Code:
class NewPassword(webapp.RequestHandler):
def get(self, key):
add = db.get(db.Key(key))
if not add:
self.error(404)
return
self.response.out.write(utils.render_to_mako('market/market_ad_newpasswd.html', {'ad':add}) )
def post(self, key):
add = db.get(db.Key(key))
if not add or not add.published:
self.error(404)
return
email = self.request.POST['email']
if add.email == email or add.user.email() == email:
size = 9
vowels='aeiou'
consonants='bcdfghjklmnpqrstvwxyz'
password=''
from random import randint
from random import choice
import random
minpairs = 4
maxpairs = 6
for x in range(1,random.randint(int(minpairs),int(maxpairs))):
consonant = consonants[random.randint(1,len(consonants)-1)]
if random.choice([1,0]):
consonant=string.upper(consonant)
password=password + consonant
vowel = vowels[random.randint(1,len(vowels)-1)]
if random.choice([1,0]):
vowel=string.upper(vowel)
password=password + vowel
newpasswd = password
add.set_password(newpasswd)
add.save()
if os.environ.get('HTTP_HOST'):
url = os.environ['HTTP_HOST']
else:
url = os.environ['SERVER_NAME']
message = mail.EmailMessage(sender="niklas", subject="New password")
if add.user:
message.to = add.user.email()
else:
message.to = add.email
msg = 'The new password is '+newpasswd
if isinstance(msg, unicode):
msg = msg.encode('utf-8')
message.body = "%s %s/market/%s/vi" % (msg, url, key)
message.send()
self.response.out.write("emailed %s" % (add.email))
else:
self.response.out.write("wrong email ")