Advertisement
Guest User

Untitled

a guest
Oct 24th, 2014
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.20 KB | None | 0 0
  1. @staticmethod
  2.     def make_unique_nickname(nickname, n):
  3.         print "n:", n, ", Entering", nickname, ", Current db", User.query.all()
  4.         if User.query.filter_by(nickname=nickname).first() is None:
  5.             print "returning", nickname
  6.             return nickname
  7.         version = 2
  8.         while True:
  9.             new_nickname = nickname + str(version)
  10.             if User.query.filter_by(nickname=new_nickname).first() is None:
  11.                 break
  12.             version += 1
  13.         print "returning", new_nickname
  14.         return new_nickname
  15.  
  16. def test_make_unique_nickname(self):
  17.         u = User(nickname='john', email='john@example.com')
  18.         db.session.add(u)
  19.         db.session.commit()
  20.         nickname = User.make_unique_nickname('susan', 1)
  21.         assert nickname == 'susan'
  22.         nickname = User.make_unique_nickname('john', 2)
  23.         assert nickname != 'john'
  24.         u = User(nickname=nickname, email='susan@example.com')
  25.         db.session.add(u)
  26.         db.session.commit()
  27.             nickname2 = User.make_unique_nickname('john', 3)
  28.             #assert nickname2 != 'john'
  29.             #assert nickname2 != nickname
  30.  
  31. ### Output ###
  32. n: 3 , Entering john , Current db []
  33. returning john
  34. .n: 1 , Entering susan , Current db [<User u'john'>]
  35. returning susan
  36. n: 2 , Entering john , Current db [<User u'john'>]
  37. returning john2
  38. .
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement