Пример #1
0
    def POST(self):
        post = web.input(_method='POST')
        errors = {}
        user = users.get_user()
        mode = ''

        #Get all the stuff we want from POST
        if 'from_username' in post:
            mode = 'from'
            other_username = forms.get_or_add_error(post, '%s_username' % mode, errors, lang.NO_FIELD_SUPPLIED('username'))
        else:
            mode = 'to'
            other_username = forms.get_or_add_error(post, '%s_username' % mode, errors, lang.NO_FIELD_SUPPLIED('username'))

        value_pounds = forms.get_or_add_error(post, '%s_value_pounds' % mode, errors, lang.NO_FIELD_SUPPLIED('pounds value'))
        value_pence  = forms.get_or_add_error(post, '%s_value_pence' % mode, errors, lang.NO_FIELD_SUPPLIED('pence value'))
        reason  = forms.get_or_add_error(post, '%s_reason' % mode, errors, lang.NO_FIELD_SUPPLIED('reason'))

        #Process and validate the amount
        try:
            if value_pounds.strip() == '':
                value_pounds = 0
            if value_pence.strip() == '':
                value_pence = 0

            value_pounds = int(value_pounds)
            value_pence = int(value_pence)
            if value_pounds < 0 or value_pence < 0:
                raise Exception

            if value_pounds != None and value_pence != None:
                forms.validate(errors, '%s_value' % mode, lang.MUST_BE_GREATER_THAN_ZERO('Value'), lambda po,pe: (po+pe*100)>0, (value_pounds,value_pence))
        except:
            errors['%s_value' % mode] = lang.MUST_BE_POS_INTEGER('Pounds and pence')
            
        #Validate the reason
        forms.validate(errors, '%s_reason' % mode, lang.NO_FIELD_SUPPLIED('reason'), lambda r: bool(r), (reason,))

        #Validate and get the other user
        if other_username:
            other_user = db.users.find_one({'username':other_username})
            forms.validate(errors, '%s_username' % mode, lang.NO_CONTACT_FOUND, lambda u: bool(u), (other_user,))

        #Now do the rendering
        if not errors:
            value = round((float(value_pounds)*100 + float(value_pence)) / 100.0, 2)
            
            if mode == 'to':
                from_user, to_user = user, other_user
            else:
                from_user, to_user = other_user, user

            trans = db.transactions.save({'from_user': from_user['_id'], 'to_user': to_user['_id'], 'value':value, 'timestamp':time.time(), 'reason':reason})

            return render('transfer.html', success=True, user=self._deref_contacts(), from_user=from_user, to_user=to_user, value="%.2f" % value, mode=mode)
        else:
            return render('transfer.html', errors=errors, user=self._deref_contacts())
Пример #2
0
    def get(self):

        self.response.write(render('head', {}))

        self.response.write(render('header', { 'current': 'prices' }))

        for work in Prices.query().fetch():
            self.response.write(render('work', { 'work': work }))
            for photo in WorkPhoto.query(ancestor=ndb.Key(Work, work.key.id())).order(+WorkPhoto.priority).fetch():
                self.response.write(render('work-photo', { 'photo': photo }))

        self.response.write(render('footer', {}))
Пример #3
0
def show_more(username, topic, offset, past_album):
    results = UserProcess(username).retrieve_results_for_topic(
        int(topic), int(offset), unicode(past_album.decode("utf-8")))
    if is_XHR():
        return render("show-more-xhr",
                      username=username,
                      topic=topic,
                      results=results,
                      nextoffset=int(offset) + len(results))
    return render("show-more",
                  username=username,
                  topic=topic,
                  results=results,
                  nextoffset=int(offset) + len(results))
Пример #4
0
 def graph(self,id,**kwargs):
     cherrypy.log('graph: %s' % id)
     character = m.Character.get(id)
     if not character:
         raise e.Validation('Could not find character')
     src = render('/characters/graph.html',character=character).strip()
     return redirect(src)
Пример #5
0
    def POST(self):
        post = web.input(_method='POST')
        errors = {}
        username = forms.get_or_add_error(post, 'username', errors,
                                          lang.NO_FIELD_SUPPLIED('username'))
        password = forms.get_or_add_error(post, 'password', errors,
                                          lang.NO_FIELD_SUPPLIED('password'))
        password_again = forms.get_or_add_error(
            post, 'password_again', errors,
            lang.NO_FIELD_SUPPLIED('password again'))

        forms.validate(errors, 'password_again', lang.PASSWORDS_DONT_MATCH,
                       lambda p, p2: p == p2, (password, password_again))

        if username is not None:
            forms.validate(errors, 'username',
                           lang.FIELD_MUST_BE_LEN('Username', 3),
                           lambda u: len(u) >= 3, (username, ))
            forms.validate(
                errors, 'username', lang.USERNAME_TAKEN,
                lambda u: not bool(db.users.find_one({'username': u})),
                (username, ))
        if password is not None:
            forms.validate(errors, 'password',
                           lang.FIELD_MUST_BE_LEN('Password', 5),
                           lambda p: len(p) >= 5, (password, ))

        if errors:
            return render('register.html', errors=errors)
        else:
            users.register(username=username, password=users.pswd(password))
            web.seeother('/login/')
Пример #6
0
    def on_actionExport_triggered(self):
        log.debug('export')
        exts = ';;'.join([t[0] for t in templates])
        fname = QtGui.QFileDialog.getSaveFileName(self, u"Экспорт", ".", exts)
        if not fname:
            return
        fname = unicode(fname)
        try:
            #items = self.conn.root()['item'][:10]  #FIXME demo
            items = self.conn.root()['item']  # full

            if fname.lower().endswith('.xls'):
                self.export_xls(fname, items)
                return
            Item.BASEDIR = os.path.dirname(fname)

            fout = codecs.open(fname, 'w', 'utf8')
            c = 0
            strm = render(fname, {'items': items})
            strm.enable_buffering()
            for chunk in strm:
                fout.write(chunk)
                self.statusBar().showMessage(u'Обработка %i' % c)
                c += 1
            fout.close()
            self.statusBar().showMessage(u'Готово', 3000)
        except IOError:
            QtGui.QMessageBox.critical(self, u"Экспорт", u"Ошибка записи в файл.")
        except:
            log.exception('export error')
            QtGui.QMessageBox.critical(self, u"Экспорт", u"Все пропало, смотри логи.")
Пример #7
0
    def POST(self, username):
        post = web.input(_method='POST')
        errors = {}
        user = users.get_user()

        contact = db.users.find_one({'username':username})

        forms.validate(errors, 'username', lang.NO_CONTACT_FOUND, lambda c: bool(c), (contact,))
        if contact:
            forms.validate(errors, 'username', lang.ALREADY_CONNECTED(contact['username']), lambda u, c: ('contacts' not in u) or (c not in u['contacts']), (user, contact))
            forms.validate(errors, 'username', lang.CANT_CONNECT_TO_SELF, lambda u, c: c!=u, (user, contact))

        if contact and not errors:
            #Add to the user's contacts
            if 'contacts' not in user or not user['contacts']:
                user['contacts'] = []
            user['contacts'].append(DBRef('users',contact['_id']))
            
            #Add user to the other persons contacts
            if 'contacts' not in contact or not contact['contacts']:
                contact['contacts'] = []
            contact['contacts'].append(DBRef('users',user['_id']))
            
            #Save them both
            db.users.save(user)
            db.users.save(contact)                                       

        return render('/users/profile.html', profile=contact, errors=errors, connected=self.connected(contact))    
Пример #8
0
 def GET(self):
     u_id = users.get_user()['_id']
     print u_id
     fleet = db.player_items.find({'u_id': u_id, 'item': "Ship"})
     ship_id = []
     name = []
     health = []
     type = []
     ship_fleet = []
     list_fleet = []
     count = 0
     list = 0
     for x in fleet:
         ship_id.append(x['_id'])
         name.append(x['name'])
         type.append(x['type'])
         health.append(x['health'])
         ship_fleet.append(x['fleet'])
         if (x['fleet'] in list_fleet) == False:
             list_fleet.append(x['fleet'])
             list += 1
         count += 1
     return render('fleet.html',
                   name=name,
                   type=type,
                   health=health,
                   count=count,
                   list=list,
                   list_fleet=list_fleet,
                   ship_fleet=ship_fleet,
                   ship_id=ship_id)
Пример #9
0
def contact_view(request):
    print(routes)
    # Проверка метода запроса
    if request['method'] == 'POST':
        print(request)
        data = request['data']
        title = data['title']
        title = core.Application.decode_value(title)
        text = data['text']
        text = core.Application.decode_value(text)
        email = str(data['email'])
        print('Нам пришло сообщение от ' + email + ' с темой ' + title +
              ' и текстом ' + text)
        return '200 OK', render('contact.html')
    else:
        return '200 OK', render('contact.html')
Пример #10
0
 def moderate(self, msg):
     # For some reason, this import doesn't work at the file level.
     from control import sign
     message_id = msg['message-id']
     if not message_id:
         print(
             'Unable to moderate incoming message due to lack of Message-ID: header.'
         )
         raise ValueError('Messages must contain a Message-ID: header.')
     message_id = message_id.replace(
         ':', '_')  # Make it safe for subject-command.
     # Put the email message into the list's moderation holding space on S3.
     response = s3.put_object(
         Bucket=config.s3_bucket,
         Key=self._s3_moderation_prefix + message_id,
         Body=msg.as_string(),
     )
     # Get the moderation auto-deletion/auto-rejection interval from the S3 bucket lifecycle configuration.
     lifecycle = s3.get_bucket_lifecycle_configuration(
         Bucket=config.s3_bucket)
     from datetime import timedelta
     mod_interval = timedelta(
         days=next((r['Expiration']['Days']
                    for r in lifecycle.get('Rules', [])
                    if r['Prefix'] == config.s3_moderation_prefix), 3))
     # Wrap the moderated message for inclusion in the notification to mods.
     forward_mime = MIMEMessage(msg)
     control_address = 'lambda@{}'.format(self.host)
     for moderator in self.moderator_addresses:
         # Build up the notification email per-moderator so that we can include
         # pre-signed moderation commands specific to that moderator.
         approve_cmd = sign(
             'list {} mod approve "{}"'.format(self.address, message_id),
             moderator, mod_interval)
         reject_cmd = sign(
             'list {} mod reject "{}"'.format(self.address, message_id),
             moderator, mod_interval)
         message = MIMEMultipart()
         message['Subject'] = 'Message to {} needs approval: {}'.format(
             self.address, approve_cmd)
         message['From'] = control_address
         message['To'] = moderator
         message.attach(
             MIMEText(
                 templates.render('notify_moderators.jinja2',
                                  list_name=self.address,
                                  control_address=control_address,
                                  approve_command=approve_cmd,
                                  reject_command=reject_cmd,
                                  moderation_days=mod_interval.days)))
         message.attach(forward_mime)
         ses.send_raw_email(
             Source=control_address,
             Destinations=[
                 moderator,
             ],
             RawMessage={
                 'Data': message.as_string(),
             },
         )
Пример #11
0
    def get(self):

        if len(Exclusive.query().fetch()):
            entity = Exclusive.query().fetch(1)[0]
        else:
            entity = {'text': ''}

        self.response.write(render('exclusive', {'exclusive': entity}))
Пример #12
0
def current_data_route():
    # Read temperature, luminosity and sound intensity
    temp = board.temp.value()
    light = board.light.value()
    sound = board.sound.read() # Useless, we should capture data over a short period of time and return a mean
    return render(['p', "Temperature : %s°C" % temp],
                  ['p', "Luminosity : % Lux" % light],
                  ['p', "Sound % ?" % sound])
Пример #13
0
	def GET(self):
		user = users.get_user()['username']
		if user == "Xariec":
			site_users = []
			query = db.users.find()
			for a in query:
				site_users.append((a))
				
			return render('xariec.html', site_users = site_users)
Пример #14
0
	def GET(self):
		user = users.get_user()['username']
		access = users.get_user()['access']
		if access > 1:
			players = mongo.playerList(access)
			sizes = mongo.sectorSizes()
			hw = mongo.homeworldList()
			return render('dbstuff.html', players = players, sizes = sizes, hw = hw)
		else:
			return web.seeother('/')	
Пример #15
0
 def POST(self):
     post = web.input(_method='POST')
     name = post['list']
     cord = name.split(',')
     x = cord[0]
     y = cord[1]
     test = db.warps.find_one({'x_origin': int(x), 'y_origin': int(y)})
     query = test['player']
     # query = x
     return render('warps.html', query=query)
Пример #16
0
    def moderate(self, msg):
        # For some reason, this import doesn't work at the file level.
        from control import sign

        message_id = msg["message-id"]
        if not message_id:
            print("Unable to moderate incoming message due to lack of Message-ID: header.")
            raise ValueError("Messages must contain a Message-ID: header.")
        message_id = message_id.replace(":", "_")  # Make it safe for subject-command.
        # Put the email message into the list's moderation holding space on S3.
        response = s3.put_object(
            Bucket=config.s3_bucket, Key=self._s3_moderation_prefix + message_id, Body=msg.as_string()
        )
        # Get the moderation auto-deletion/auto-rejection interval from the S3 bucket lifecycle configuration.
        lifecycle = s3.get_bucket_lifecycle_configuration(Bucket=config.s3_bucket)
        from datetime import timedelta

        mod_interval = timedelta(
            days=next(
                (
                    r["Expiration"]["Days"]
                    for r in lifecycle.get("Rules", [])
                    if r["Prefix"] == config.s3_moderation_prefix
                ),
                3,
            )
        )
        # Wrap the moderated message for inclusion in the notification to mods.
        forward_mime = MIMEMessage(msg)
        control_address = "lambda@{}".format(self.host)
        for moderator in self.moderator_addresses:
            # Build up the notification email per-moderator so that we can include
            # pre-signed moderation commands specific to that moderator.
            approve_cmd = sign('list {} mod approve "{}"'.format(self.address, message_id), moderator, mod_interval)
            reject_cmd = sign('list {} mod reject "{}"'.format(self.address, message_id), moderator, mod_interval)
            message = MIMEMultipart()
            message["Subject"] = "Message to {} needs approval: {}".format(self.address, approve_cmd)
            message["From"] = control_address
            message["To"] = moderator
            message.attach(
                MIMEText(
                    templates.render(
                        "notify_moderators.jinja2",
                        list_name=self.address,
                        control_address=control_address,
                        approve_command=approve_cmd,
                        reject_command=reject_cmd,
                        moderation_days=mod_interval.days,
                    )
                )
            )
            message.attach(forward_mime)
            ses.send_raw_email(
                Source=control_address, Destinations=[moderator], RawMessage={"Data": message.as_string()}
            )
Пример #17
0
	def GET(self):
		user = users.get_user()['username']
		access = users.get_user()['access']
		if access >= 1:
			players = mongo.playerList(access)
			alliance = mongo.alliances(access)
			score_time = mongo.scoreTime()
			sector_time = mongo.sectorTime()
			return render('intelViewer.html', players = players, alliances = alliance, score_time = score_time, sector_time = sector_time, access = access)
		else:
			return web.seeother('/')
Пример #18
0
	def GET(self):
		st = time_stamp()
		user = users.get_user()['username']
		access = users.get_user()['access']
		if access >= 3:
			info = ""
			db.users.update({'username' : user},{"$push" :{'updates' : {'time' : st, 'action' : "View Users in Admin", 'info' : info}}})
			uws_users = mongo.userControl()
			return render('admin.html', access = uws_users)
		else:
			return web.seeother('/')
Пример #19
0
def copy_course(request):
    request_params = request['request_params']
    # print(request_params)
    name = request_params['name']
    old_course = site.get_course(name)
    if old_course:
        new_name = 'copy_' + name
        new_course = old_course.clone()
        new_course.name = new_name
        site.courses.append(new_course)

    return '200 OK', render('course_list.html', objects_list=site.courses)
Пример #20
0
Файл: html.py Проект: FND/sivoc
def list_concepts(concepts):

    def template_data(concept):
        return {
            'uri': 'concepts/%s' % concept._id, # XXX: URI hardcoded; breaks encapsulation
            'label': concept.label()
        }

    concepts_data = (template_data(concept) for concept in concepts) # XXX: unnecessarily complex?

    return render('list_concepts.html', title='Concepts',
            concepts=concepts_data, root_uri='/') # XXX: root_uri hardcoded; breaks encapsulation
Пример #21
0
	def GET(self):
		user = users.get_user()['username']
		access = users.get_user()['access']
		if access > 2:
			map = db.map_time.find().sort('utime', -1).limit(1)
			for a in map:
				last_map = a['utime']
				
				print last_map
			return render('upload.html', last_map = last_map)
		else:
			return web.seeother('/')
Пример #22
0
 def POST(self):
     post = web.input(_method='POST')
     errors = {}
     username = forms.get_or_add_error(post, 'username', errors, lang.NO_FIELD_SUPPLIED('username'))
     
     if not errors:
         result = db.users.find_one({'username':username})
         forms.validate(errors, 'username', lang.NO_CONTACT_FOUND, lambda c: bool(c), (result,))
         
     if result:
         return web.seeother('/users/%s/' % result['username'])
     else:
         return render('/users/search.html', errors=errors)
Пример #23
0
	def GET(self):
		sectors = []
		count = 0
		collection = db.sector_map.find({'pname' : { "$in" : ["Corax", "Crazybonkers", "Deaths Advisor the Angry", "DEMENTED", "Fraya", "Henchman 21", "Lieutenant Xience", "pwnyxpress", "Sniffles", "Zapper"]}}).sort('last_update', -1).limit(50)
		for a in collection:
			if len(sectors) < 2000:
				if a['last_update'] != "":
					count +=1
					sectors.append((a))
				else:
					continue
			
		return render('collection.html', sectors = sectors, count = count)	
Пример #24
0
 def POST(self):
     u_id = users.get_user()['_id']
     post = web.input(_method='POST')
     try:
         button = post['button']
     except:
         print post
     if button:
         people = web_actions.Population()
         single = people.getOnePersonnel(button, u_id)
         button = people.getAllPersonnel(u_id)[1]
         print single
         return render('personnel.html', button=button, single=single)
Пример #25
0
def tag(bot, update, args):
    '''Charlas etiquetadas con un deterinado.
    '''
    tag = args[0].strip().lower()
    if tag in E.tags:
        return True, templates.render(
            'templates/tag.txt',
            talks=E.tags[tag],
            tag=tag,
        )
    else:
        return False, "No reconozco ese tag. El comando `/tags` te "  \
                      " mostrará las etiquetas disponibles."
Пример #26
0
def create_course(request):
    if request['method'] == 'POST':
        # метод пост
        data = request['data']
        name = data['name']
        name = Application.decode_value(name)
        category_id = data.get('category_id')
        category = None
        if category_id:
            category = site.find_category_by_id(int(category_id))

            course = site.create_course('record', name, category)
            # Добавляем наблюдателей на курс
            course.observers.append(email_notifier)
            course.observers.append(sms_notifier)
            site.courses.append(course)
        # редирект?
        # return '302 Moved Temporarily', render('create_course.html')
        # Для начала можно без него
        return '200 OK', render('create_course.html')
    else:
        categories = site.categories
        return '200 OK', render('create_course.html', categories=categories)
Пример #27
0
	def POST(self):
		st = time_stamp()
		user = users.get_user()['username']
		access = users.get_user()['access']
		if access >= 3:
			uws_users = mongo.userControl()
			post = web.input(_method='POST')
			new_access_level = int(post['lvl'])
			update_user = post['user']
			user_updated = db.users.find_one({'_id' : ObjectId(post['user'])})['username']
			info = "%s updated to lvl %d" %(user_updated, new_access_level)
			db.users.update({'username' : user},{"$push" :{'updates' : {'time' : st, 'action' : "Update Users in Admin", 'info' : info}}})
			new_access = mongo.updateAccess(update_user, new_access_level)
			return render('admin.html', access = uws_users)
Пример #28
0
	def post(self, poll_id):
		ch = self.request.POST.get('choice')
		poll = get_or_404(self, poll_id)
		selected_choice = None
		for c in poll.choices:
			if c.id == ch:
				selected_choice = c
		if not selected_choice:
			error = 'Invalid choice or no choice'
			self.response.write(render('poll.html', { 'poll':poll, 'error_message':error }))
			return
		selected_choice.votes += 1
		poll.total_votes += 1
		poll.put()
		return webapp2.redirect('/results/' + poll_id)
Пример #29
0
    def GET(self, username):
        contact = db.users.find_one({'username':username})
        if not contact:
            raise web.notfound()

        trans, balance, people_owe_you, you_owe_people = transactions.get_transaction_details(db, users.get_user())

        owes_you = False
        you_owe = False
        if contact['username'] in people_owe_you:
            owes_you = people_owe_you[contact['username']][1]
        elif contact['username'] in you_owe_people:
            you_owe = you_owe_people[contact['username']][1]

        return render('/users/profile.html', profile=contact, connected=self.connected(contact), owes_you = owes_you, you_owe = you_owe)
Пример #30
0
    def getAll(self):
        content = templates.render({
                "base_url": ctx.base_url
            },"doc.json")
        api = json.loads(content)
        api["supportedClass"] += [obj.toJSON() for obj in hydra.get_classes()]


        for classObj in hydra.get_entrypoint_classes():
            for apiClass in api["supportedClass"]:
                if apiClass["@id"] == "vocab:EntryPoint":
                    apiClass["supportedProperty"].append(classObj.getEntryPointDoc())
                    break

        api = json.loads(json.dumps(api, default=dumper, indent=2))
        return ctx.success(api, 200, headers = hydra.LINK_HEADER)
Пример #31
0
    def POST(self):
        post = web.input(_method='POST')
        errors = {}
        try:
            user = users.authenticate(post['username'], post['password'])
            if user:
                users.login(user)
            else:
                errors['__all__'] = lang.AUTH_FAILURE
        except KeyError:
            errors['__all__'] = lang.AUTH_FAILURE

        if errors:
            return render('login.html', errors=errors, next=post.get('next'))
        else:
            return web.seeother(post.get('next','/summary/'))
Пример #32
0
def doRender( handler, tname = 'index.htm', values = {} ):
    logging.error( 'tname = ' + tname )
    temp = os.path.join( os.path.dirname( __file__ ), 'templates', tname )
    logging.error( temp )
    if not os.path.isfile( temp ):
        temp = os.path.join( os.path.dirname( __file__ ), 'templates', 'index.htm' )
        logging.error( 'got here' )
    newval = dict( values )
    newval['path'] = handler.request.path
    handler.session = Session()
    if 'username' in handler.session:
       newval['username'] = handler.session['username']
    logging.error( 'jack tracing' + temp )
    outstr = template.render( temp, newval, True, ( 'templates/', ) )
    handler.response.out.write( outstr )
    return True
Пример #33
0
def track(bot, update, args):
    '''Listado de charlas de un track.
    '''
    is_valid, num_track = utils.as_integer(args[0])
    print('is_valid: {}, num_track: {}'.format(is_valid, num_track))
    if is_valid and E.is_valid_track(num_track):
        track = E.tracks[num_track - 1]
        text = templates.render(
            'templates/track.txt',
            num_track=num_track,
            track=track,
            talks=track.talks,
        )
        return True, str(text)
    else:
        return False, "Necesito un número entre 1 y {}".format(E.num_tracks)
Пример #34
0
def list_concepts(concepts):
    def template_data(concept):
        return {
            'uri': 'concepts/%s' %
            concept._id,  # XXX: URI hardcoded; breaks encapsulation
            'label': concept.label()
        }

    concepts_data = (template_data(concept)
                     for concept in concepts)  # XXX: unnecessarily complex?

    return render(
        'list_concepts.html',
        title='Concepts',
        concepts=concepts_data,
        root_uri='/')  # XXX: root_uri hardcoded; breaks encapsulation
Пример #35
0
    def POST(self):
        post = web.input(_method='POST')
        errors = {}
        try:
            user = users.authenticate(post['username'], post['password'])
            if user:
                users.login(user)
            else:
                errors['__all__'] = lang.AUTH_FAILURE
        except KeyError:
            errors['__all__'] = lang.AUTH_FAILURE

        if errors:
            return render('login.html', errors=errors, next=post.get('next'))
        else:
            # current_user = user
            return web.seeother(post.get('next', '/default/'))
Пример #36
0
 def render_item(self, item):
     context = {}
     count = str(self.count)
     index = str(self.items.index(item) + 1)
     index = '%s%s' % ('0' * (len(count) - len(index)), index)
     context['item_index'] = index
     context['item_count'] = count
     context['is_playing'] = self.auto
     context['is_paused'] = not self.auto
     context['POPUP_WIDTH'] = settings.POPUP_WIDTH
     context['COMMAND_CLOSE'] = COMMAND_CLOSE
     context['COMMAND_NEXT'] = COMMAND_NEXT
     context['COMMAND_PREVIOUS'] = COMMAND_PREVIOUS
     context['COMMAND_FIRST'] = COMMAND_FIRST
     context['COMMAND_LAST'] = COMMAND_LAST
     context['COMMAND_PLAY'] = COMMAND_PLAY
     context['COMMAND_PAUSE'] = COMMAND_PAUSE
     html = templates.render(settings.POPUP_THEME, item, context)
     return html
Пример #37
0
	def POST(self):
		st = time_stamp()
		post = web.input(_method='POST')
		errors = {}
		try:
			user = users.authenticate(post['username'], post['password'])
			if user:
				users.login(user)
				db.users.update({'username' : post['username']},{"$push" :{'updates' : {'time' : st, 'action' : "Login", 'info' : ""}}})
			else:
				errors['__all__'] = lang.AUTH_FAILURE
		except KeyError:
			errors['__all__'] = lang.AUTH_FAILURE
			
		if errors:
			return render('login.html', errors=errors, next=post.get('next'))
		else:
			# current_user = user
			return web.seeother(post.get('next' , '/' ))
Пример #38
0
    def POST(self):
        post = web.input(_method='POST')
        errors = {}
        username = forms.get_or_add_error(post, 'username', errors, lang.NO_FIELD_SUPPLIED('username'))
        password = forms.get_or_add_error(post, 'password', errors, lang.NO_FIELD_SUPPLIED('password'))
        password_again = forms.get_or_add_error(post, 'password_again', errors, lang.NO_FIELD_SUPPLIED('password again'))

        forms.validate(errors, 'password_again', lang.PASSWORDS_DONT_MATCH, lambda p,p2: p == p2, (password, password_again))

        if username is not None:
            forms.validate(errors, 'username', lang.FIELD_MUST_BE_LEN('Username', 3), lambda u: len(u) >= 3, (username,))
            forms.validate(errors, 'username', lang.USERNAME_TAKEN, lambda u: not bool(db.users.find_one({'username':u})), (username,))
        if password is not None:
            forms.validate(errors, 'password', lang.FIELD_MUST_BE_LEN('Password', 5), lambda p: len(p) >= 5, (password,))            
            
        if errors:
			return render('register.html', errors=errors)
        else:
            users.register(username=username, password=users.pswd(password), access=0)
            web.seeother('/login/')            
Пример #39
0
 def get(self):
     self.response.write(render(
         'works',
         { 'works': Work.get_root()['children'] }))
Пример #40
0
def show_concept(concept):  # TODO: i18n
    return render('show_concept.html',
                  title=concept.label(),
                  concept=concept,
                  concepts_uri='/concepts'
                  )  # XXX: concepts_uri hardcoded; breaks encapsulation
Пример #41
0
def list_labels(labels):
    return render(
        'list_labels.html', title='Labels', labels=labels,
        root_uri='/')  # XXX: root_uri hardcoded; breaks encapsulation
Пример #42
0
def home_route():
    return render(['p', ['a', {'href' : "/beeps"}, "Do some beeps"]],
                  ['p', ['a', {'href' : "/room_data"}, "Display room data"]],
                  ['p', ['a', {'href' : "/redbutton"}, "Red Button !"]])
Пример #43
0
 def GET(self):
     return render("register.html")
Пример #44
0
 def get(self, serivce, user):
   """
   Gets a feed for a given user and
   """
   self.response.out.write(templates.render(""))
Пример #45
0
Файл: html.py Проект: FND/sivoc
def show_concept(concept): # TODO: i18n
    return render('show_concept.html', title=concept.label(), concept=concept,
            concepts_uri='/concepts') # XXX: concepts_uri hardcoded; breaks encapsulation
Пример #46
0
 def get(self):
     template_variables = {
         'message': "Hello World"
     }
     templates.render('home', template_variables, self)
Пример #47
0
def tags(bot, update):
    '''Listado de tags.
    '''
    return True, templates.render('templates/tags.txt',
                                  tags=sorted(E.tags.keys()))
Пример #48
0
 def GET(self):
     next = web.input(_method='GET').get(' next', '/default/')
     return render('login.html', next=next)
Пример #49
0
 def GET(self):
     query = "Unknown"
     return render('warps.html', query=query)
Пример #50
0
def main_view(request):
    logger.log('Список курсов')
    return '200 OK', render('course_list.html', objects_list=site.courses)
Пример #51
0
 def GET(self):
     return render('home.html')
Пример #52
0
def about_view(request):
    result = {"secret": request.get('secret_key'), "key": request.get('key')}
    return '200 OK', render('about.html', secret=result)
Пример #53
0
def category_list(request):
    print(routes)
    logger.log('Список категорий')
    return '200 OK', render('category_list.html', objects_list=site.categories)
Пример #54
0
 def GET(self):
     print web.input()
     return render("locked.html")
Пример #55
0
 def GET(self):
     return render("landing.html")
Пример #56
0
Файл: html.py Проект: FND/sivoc
def list_labels(labels):
    return render('list_labels.html', title='Labels', labels=labels,
            root_uri='/') # XXX: root_uri hardcoded; breaks encapsulation
Пример #57
0
 def GET(self):
     return render("index.html")
Пример #58
0
async def hello_world(request):
    return render("home.html", nombre="pepe")
Пример #59
0
 def GET(self):
     return render('register.html')