Пример #1
0
 def POST(self): 
     form = self.consolidateform() 
     if not form.validates(): 
         return render.consolidata(form, challenges.current()['image'])
     elif form['key'].value != challenges.key:
         return 'You are out of sync, please reload! ({},{})'.format(form['key'].value, challenges.key)
     else:
         savedir = path.expanduser('~/.scaleupbrazil/consolidated/')
         if form['unreadable'].checked:
             savedir = path.join(savedir, 'unreadable')
         safewrite( path.join(savedir, challenges.current()['id']), form['consolidated'].value)
         challenges.shift()
         if challenges.current():
             return render.consolidata(self.consolidateform(), challenges.current()['image'])
         else:
             return 'Congratulations, you are done!'
Пример #2
0
    def POST(self): 

        if not logged_in():
            raise web.seeother('/login')

        params = web.input(msg="")

        form = self.uploadform() 

        if not form.validates(): 

            ## TODO -- there must be a better way to add arguments to
            ##         a redirect, but i haven't been able to find it yet
            web.debug('upload form failed validation...')
            return render.uploadscans(form, quests, len(quests), params['msg'])
            #raise web.seeother('/upload?msg=That appears to be an invalid questionnaire number.')

        else:

            qnum = form['Arquivo'].name

            # this is all to get the filename (on the client side),
            # which we need to determine that it's tiff or pdf...
            # see: https://groups.google.com/forum/?fromgroups=#!topic/webpy/2k3x6ULb5t8
            # and http://epydoc.sourceforge.net/stdlib/cgi.FieldStorage-class.html
            ri = web.webapi.rawinput()
            infilename = ri['Arquivo'].filename

            if infilename.lower().endswith('pdf'):
                filetype = 'pdf'
            elif infilename.lower().endswith('tiff'):
                filetype = 'tiff'
            else:
                raise web.seeother('/upload?msg=Unrecognized file type! I know pdf and tiff.')

            ## TODO -- determine whether questionnaire is pdf or tiff...
            fn = path.expanduser(save_dir) + '/' + form['Questionario'].value + '.' + filetype
            web.debug('writing to ' + fn)

            ## TODO -- detect problems here...
            safewrite(fn, form['Arquivo'].value)

            quests.remove(form['Questionario'].value)

            raise web.seeother('/upload?msg=Upload sucessful.')