def DELETE(self, arg): # Change output to JSON web.header('Content-type', 'application/json') if not arg: web.internalerror() return json.dumps(dict(error='must have code')) try: phrase = model.get_phrase(code=base36decode(arg)) seqID = phrase.get('id') except(), e: web.notfound() return json.dumps(dict(error='not found'))
def GET(self, arg=None): # Init templator tpl = web.template.render(settings.TEMPLATE_DIR, base='base', globals={'_':_}) # No argument, just return index if not arg: return tpl.index() phraseCode = base36decode(arg) # If an argument is provided then someone is trying to view a password try: phrase = model.get_phrase( code = phraseCode ) seqID = phrase.get('id') except(model.ModelError), e: web.notfound() return tpl.notfound()
try: generatedPass = generate_password( int(query.words), wordlist ) except(), e: web.internalerror(str(e)) raise web.ok() return json.dumps(dict(phrase=generatedPass)) # Request for a pre-existing phrase phraseCode = base36decode(arg) try: phrase = model.get_phrase(base36decode(phraseCode)) seqID = phrase.get('id') except(model.ModelError), e: web.notfound() return json.dumps(dict(error='not found')) except(), e: web.internalerror(str(e)) raise # Update number of views try: model.update_phrase(seqID) except(), e: web.internalerror(str(e)) raise