Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @staticmethod
- def make_unique_nickname(nickname, n):
- print "n:", n, ", Entering", nickname, ", Current db", User.query.all()
- if User.query.filter_by(nickname=nickname).first() is None:
- print "returning", nickname
- return nickname
- version = 2
- while True:
- new_nickname = nickname + str(version)
- if User.query.filter_by(nickname=new_nickname).first() is None:
- break
- version += 1
- print "returning", new_nickname
- return new_nickname
- def test_make_unique_nickname(self):
- u = User(nickname='john', email='john@example.com')
- db.session.add(u)
- db.session.commit()
- nickname = User.make_unique_nickname('susan', 1)
- assert nickname == 'susan'
- nickname = User.make_unique_nickname('john', 2)
- assert nickname != 'john'
- u = User(nickname=nickname, email='susan@example.com')
- db.session.add(u)
- db.session.commit()
- nickname2 = User.make_unique_nickname('john', 3)
- #assert nickname2 != 'john'
- #assert nickname2 != nickname
- ### Output ###
- n: 3 , Entering john , Current db []
- returning john
- .n: 1 , Entering susan , Current db [<User u'john'>]
- returning susan
- n: 2 , Entering john , Current db [<User u'john'>]
- returning john2
- .
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement