Пример #1
0
	def GET(self):
		i = web.input(uid=None, sha=None, full=0)
		if i.uid == None:
			return render.base(view.listing())
		else:
			results = config.DB.select('items', dict(n=str(i.uid)), where="id=$n")
			rows = results.list()
			print ("Row count: " + str(len(rows)))
			if len(rows) > 0:
				row = rows[0]

				results = config.DB.query("SELECT * FROM scores WHERE id='"  + str(i.uid) + "'")
				if i.full == 0:
					for r in results.list():
						print ("Updating: " + r['commitsha'])
						outdir = os.getcwd() + '/static/' + r['commitsha'] + '/'
						score, pagecount, all_scores = document_compare.compare_pdf_using_images(row['id'], outdir)
						config.DB.update('scores', where='id="' + str(i.uid) + '" AND commitsha="' + str(r['commitsha']) + '"', olscore=score[0],ollscore=score[1], olwscore=score[2], details=str(all_scores).strip('[]'))
				else:
					shutil.copy(os.getcwd() + '/static/originals/' + str(i.uid) + row['extension'], '/tmp/')
					
					if results[0].total_version == len(lo):
						config.DB.delete('scores', where='id = "' + str(i.uid) + '"')
						a = threading.Thread(target=worker, args=('/tmp/' + str(i.uid) + row['extension'], False, ))
						a.start()
					else:
						a = threading.Thread(target=worker, args=('/tmp/' + str(i.uid) + row['extension'], True, ))
						a.start()
			
			return render.base(view.listing())
Пример #2
0
    def GET(self, cart_id):
        """Display the badges associated with a Cart ID"""
        try:
            bson.objectid.ObjectId(cart_id)
        except bson.errors.InvalidId:
            return render.base(render.validate(None, ("bad", "Invalid ObjectId")), "Pickup", True)

        return render.base(render.pickup(view.badgeListing(cart_id)), "Pickup", True)
Пример #3
0
    def GET(self):
        i = web.input(uid=None, sha=None, full=0)
        if i.uid == None:
            return render.base(view.listing())
        else:
            results = config.DB.select('items',
                                       dict(n=str(i.uid)),
                                       where="id=$n")
            rows = results.list()
            print("Row count: " + str(len(rows)))
            if len(rows) > 0:
                row = rows[0]

                results = config.DB.query("SELECT * FROM scores WHERE id='" +
                                          str(i.uid) + "'")
                if i.full == 0:
                    for r in results.list():
                        print("Updating: " + r['commitsha'])
                        outdir = os.getcwd(
                        ) + '/static/' + r['commitsha'] + '/'
                        score, pagecount, all_scores = document_compare.compare_pdf_using_images(
                            row['id'], outdir)
                        config.DB.update('scores',
                                         where='id="' + str(i.uid) +
                                         '" AND commitsha="' +
                                         str(r['commitsha']) + '"',
                                         olscore=score[0],
                                         ollscore=score[1],
                                         olwscore=score[2],
                                         details=str(all_scores).strip('[]'))
                else:
                    shutil.copy(
                        os.getcwd() + '/static/originals/' + str(i.uid) +
                        row['extension'], '/tmp/')

                    if results[0].total_version == len(lo):
                        config.DB.delete('scores',
                                         where='id = "' + str(i.uid) + '"')
                        a = threading.Thread(target=worker,
                                             args=(
                                                 '/tmp/' + str(i.uid) +
                                                 row['extension'],
                                                 False,
                                             ))
                        a.start()
                    else:
                        a = threading.Thread(target=worker,
                                             args=(
                                                 '/tmp/' + str(i.uid) +
                                                 row['extension'],
                                                 True,
                                             ))
                        a.start()

            return render.base(view.listing())
Пример #4
0
 def POST(self):
     x = web.input(querytag='')
     gm=Global_Mod()
     gm.tag=x.querytag
     gm.results=Search.searchbytag(gm.tag)
     gm.results=[item.replace('\\','/') for item in gm.results]
     print gm.results
     if gm.results==[]:
         return render.base(view.noresult())
     else:
         return render.base(view.tagresult(gm.tag,gm.results))
Пример #5
0
	def GET(self):
		i = web.input(uid=None, sha=None)
		if i.uid == None or i.sha == None:
			return render.base(view.listing())
		else:
			results = config.DB.query("SELECT * FROM items JOIN scores WHERE scores.id = items.id AND scores.id = '" + str(i.uid) + "' AND scores.commitsha='" + i.sha + "'")
			rows = results.list()
			print ("Row count: " + str(len(rows)))
			if len(rows) == 0:
				return render.base(view.listing())
			row = rows[0]
			return render.details(row)
Пример #6
0
 def GET(self):
     i = web.input(uid=None, sha=None)
     if i.uid == None or i.sha == None:
         return render.base(view.listing())
     else:
         results = config.DB.query(
             "SELECT * FROM items JOIN scores WHERE scores.id = items.id AND scores.id = '"
             + str(i.uid) + "' AND scores.commitsha='" + i.sha + "'")
         rows = results.list()
         print("Row count: " + str(len(rows)))
         if len(rows) == 0:
             return render.base(view.listing())
         row = rows[0]
         return render.details(row)
Пример #7
0
 def GET(self, source, feed_type=None):
     if not feed_type:
         events = db.get_events(order='time_start, name',  
             where="not cancelled and time_start >= date_sub(current_timestamp, interval 5 hour) and taken_from= '%s'" % (source))
         web.debug(len(events))
         #add source specific feed
         print render.base(render.show_events( events, admin=False), feeds=["""
             <link rel="alternate"
             type="application/atom+xml" title="%s calendar - Atom"
             href="http://%s/from/%s/feed.atom" />
         """ % (source, config.server_root_url, source),])
     else:
         events = [e for e in db.get_events(limit='100', order='time_taken desc', where ="taken_from= '%s'" % (source))]
         render_cached_feed(events, feed_type)
Пример #8
0
 def GET(self):
     """"""
     view.destroyCookie()
     return render.base(
         """<p>Votre session est maintenant terminé. Vérifier vos courriels pour votre confirmation d'inscription.</p>
     <p>Pour toutes questions, contactez <a href="mailto:[email protected]">[email protected]</a>"""
     )
Пример #9
0
 def GET(self):
     cart_id = web.cookies().get(config.cookieName)
     if cart_id:
         f = badgeForm()
         return render.base(render.badge(f), "Nouvel insigne ~ New badge", True)
     else:
          raise web.seeother(config.make_url('/error'))
Пример #10
0
 def GET(self):
     imglist=[]
     ext=['png','bmp']
     for file in os.listdir('static'):
         if file.split('.')[-1] in ext:
             imglist.append('static/'+file)
     return render.base(view.allimg(imglist))
Пример #11
0
    def GET (self):
        #return render.base("Contact Us", "Contáctenos")
        #print web.ctx.path
        #return render.base(menu(), render.contact("Contáctenos"), "Contáctenos")

        #return render.base(menu, web.ctx.path, render.contact("Contáctenos"), "Contáctenos")
        return render.base(menu, web.ctx.path, render.contact(view.listCountries()))
Пример #12
0
 def GET(self):
     i = web.input(id=None, p='1', q=None)
     # Detail Page
     if i.id:
         _id = i.id
         page = None
         try:
             body = view.detail(_id)
         except:
             print
             return render.error()
             # Search results page
     elif i.q:
         qs = i.q.split(' ')
         qs = ['content like \'%' + x + '%\'' for x in qs]
         _filter = ' and '.join(qs)
         arg = '/?q=' + i.q + '&p'
         page = view.pagecontrol(i.p, db.search(_filter, i.p)[1], arg)
         body = view.search(_filter, i.p)
     # Summary page for page number, default is home page
     else:
         pagenumber = int(i.p)
         if pagenumber > db.maxx():
             return render.error()
         body = view.summary(pagenumber)
         arg = '/?p'
         page = view.pagecontrol(i.p, db.maxx(), arg)
     s = banner()
     return render.base([body, page, i.q, s])
Пример #13
0
 def GET(self):
     query_data = web.input(contact='', req_id='')
     print query_data.contact
     print query_data.req_id
     
     confirm.notify_confirmation(query_data.contact, str(query_data.req_id))
     return render.base(render.doconfirm(query_data.contact, query_data.req_id), 'SearchParty')
Пример #14
0
    def POST(self):
        form = web.input(doc={})

        basename = form['doc'].filename.replace(' ', '_')
        tempfile = '/tmp/' + basename
        with open(tempfile, 'wb') as saved:
            shutil.copyfileobj(form['doc'].file, saved)

        uid = document_compare.compute_uid(tempfile)

        # Remove old entries
        config.DB.delete('scores', where='id = "' + uid + '"')
        config.DB.delete('items', where='id = "' + uid + '"')

        b, ext = os.path.splitext(form['doc'].filename)
        # Insert
        config.DB.insert('items', id=uid, name=b, pagecount=-1, extension=ext)

        # Start bg thread
        a = threading.Thread(target=worker, args=(
            tempfile,
            False,
        ))
        a.start()

        return render.base(view.listing())
Пример #15
0
    def GET(self):
        #return render.base("Contact Us", "Contáctenos")
        #print web.ctx.path
        #return render.base(menu(), render.contact("Contáctenos"), "Contáctenos")

        #return render.base(menu, web.ctx.path, render.contact("Contáctenos"), "Contáctenos")
        return render.base(menu, web.ctx.path,
                           render.contact(view.listCountries()))
Пример #16
0
 def GET(self):
     cart_id = web.cookies().get(config.cookieName)
     if cart_id:
         f = badgeForm()
         return render.base(render.badge(f), "Nouvel insigne ~ New badge",
                            True)
     else:
         raise web.seeother(config.make_url('/error'))
Пример #17
0
 def GET(self):
     """Display the cart listing"""
     cart_id = web.cookies().get(config.cookieName)
     if not cart_id:
         cart_number = view.generateCartNumber()
         cart_id = db.newCart(cart_number)
         view.saveCookie(cart_id)
     return render.base(view.cartListing(cart_id))
Пример #18
0
 def GET(self):
     """Display the cart listing"""
     cart_id = web.cookies().get(config.cookieName)
     if not cart_id:
         cart_number = view.generateCartNumber()
         cart_id = db.newCart(cart_number)
         view.saveCookie(cart_id)
     return render.base(view.cartListing(cart_id))
Пример #19
0
    def GET(self, action, badge_id):
        cart_id = view.getCookie()
        if not cart_id:
            raise web.seeother(config.make_url("/"))
        elif "status" in db.getCart(cart_id):
            view.destroyCookie()
            raise web.seeother(config.make_url("/"))

        return render.base(view.cartListing(cart_id, (action, badge_id)))
Пример #20
0
    def GET(self, action, badge_id):
        cart_id = view.getCookie()
        if not cart_id:
            raise web.seeother(config.make_url("/"))
        elif "status" in db.getCart(cart_id):
            view.destroyCookie()
            raise web.seeother(config.make_url("/"))

        return render.base(view.cartListing(cart_id, (action, badge_id)))
Пример #21
0
    def GET(self, cart_id, hash):
        """Validate an email and forward to the pickup page"""
        try:
            bson.objectid.ObjectId(cart_id)
        except bson.errors.InvalidId:
            return render.base(render.validate(None, ("bad", "Invalid ObjectId")), "Confirmation", True)

        cart = db.getCart(cart_id)
        if not cart:
            return render.base("""<h2>Ce courriel est invalide</h2>""", "Confirmation", True)

        vEmail = hashlib.sha1()
        vEmail.update(cart["email"])
        vEmail.update(config.salt)
        if vEmail.hexdigest() == hash:
            db.cartValidEmail(cart_id)
            raise web.seeother(config.make_url("/pickup/%s" % (cart_id, )))
        else:
           return  render.base("""<h2>Ce courriel est invalide</h2>""", "Confirmation", True)
Пример #22
0
    def POST(self):
        x = web.input(myfile={})

        print x['myfile'].filename
        gm=Global_Mod()
        gm.img = cv2.imdecode(numpy.fromstring(x['myfile'].file.read(), numpy.uint8), cv2.IMREAD_UNCHANGED)
        resultslist=Search.search(gm.img)
        for row in resultslist:
            temp=list(row)
            gm.results.append(temp[1].replace('\\','/'))
        print gm.results        
        return render.base(view.imgresult(gm.img,gm.results))
Пример #23
0
 def GET(self,page=1):
     page = int(page)
     limit=config.perpage
     offset = (page -1)*limit
     counting = db.counting()
     pages = counting / limit
     if counting % limit > 0:
         pages += 1
     if page > pages:
         raise web.seeother('/')
     else:
         return render.base(view.listing(offset=offset,limit=limit), 
                 pages=pages, curpage=page)
Пример #24
0
 def GET(self):
     fill_seedwords()
     category = None
     category_list = {}
     user_data = web.input()
     if user_data.has_key('category'):
       category = user_data.get('category')
       k = {}
       k['what'] = 'rank, name'
       k['where'] = 'category = "%s"' % category
       entities = db.listing(**k)
       category_list['category'] = category
       category_list['words'] = seedwords[category]
     return render.base(view.listing(), category_list = category_list)
Пример #25
0
 def GET(self):
     entity = None
     entity_list = {}
     user_data = web.input()
     if user_data.has_key('entity'):
       entity = user_data.get('entity')
       k = {}
       k['what'] = 'entity2'
       k['where'] = 'entity1 = "%s"' % entity
       k['order'] = 'rank desc'
       k['limit'] = 10
       entities = db.entity_listing(**k)
       entity_list['entity'] = entity
       entity_list['entities'] = entities
     return render.base(view.listing(), entity_list = entity_list)
Пример #26
0
 def GET(self):
     x=web.input()
     imgpath=x.imgpath
     taglist=[]
     print imgpath
     with open('tag.csv') as f:
         reader=csv.reader(f)
         for row in reader:
             temppath=row[0].replace('\\','/')
             print temppath
             if imgpath==temppath:
                 taglist=row[1:]
                 break
         f.close()
     return render.base(view.addtag(imgpath,taglist))
Пример #27
0
    def GET(self, badge_id):
        cart_id = web.cookies().get(config.cookieName)
        if cart_id:
            f = badgeForm()
            if not db.validObjectId(badge_id):
                raise web.seeother('/error')

            badge = db.getBadge(badge_id)
            badge["adresse_1"] = badge["adresse"]["ligne_1"]
            badge["adresse_2"] = badge["adresse"]["ligne_2"]
            badge["ville"] = badge["adresse"]["ville"]
            badge["province"] = badge["adresse"]["province"]
            badge["code_postal"] = badge["adresse"]["code_postal"]
            badge["noiz"] = badge["extra"]["noiz"]
            badge["tshirt"] = badge["extra"]["tshirt"]
            badge["dvd"] = badge["extra"]["dvd"]
            f.fill(badge)
            return render.base(render.badge(f), "Editer une insigne ~ Edit a badge", True)
        else:
            raise web.seeother(config.make_url('/error'))
Пример #28
0
 def GET(self):
     i = web.input(id=None, p='1')
     # Detail Page
     if i.id:
         _id = i.id
         page = None
         try:
             body = view.detail_s(_id)
         except:
             return render.error()
             # Summary page for page number, default is home page
     else:
         pagenumber = int(i.p)
         if pagenumber > DBs.maxx():
             return render.error()
         body = view.summary_s(pagenumber)
         arg = '/singtao/?p'
         page = view.pagecontrol(i.p, DBs.maxx(), arg)
     s = banner()
     return render.base([body, page, None, s])
Пример #29
0
 def GET(self, comparison_name):
     """show a form to create a location"""
     if comparison_name == 'nomap':
         #showing a list of all locations withour a map
         events = web.select(tables='events', what='*', group='place', order='time_start', where='not cancelled and duplicateof is null and id_location is null' )
         print render.base(render.show_locations( events))
     elif comparison_name:
         #updating a specific location
         location = [l for l in web.select(tables='locations', where="comparison_name = '%s'" % comparison_name)]
         if len(location):
             print render.base(render.manage_location(location[0].longitude,location[0].latitude, location[0].originalmapurl, location[0].id, comparison_name))
         else:
             print render.base(render.manage_location(None, None, None, None, comparison_name))
     else:
         print "not implemented yet"
Пример #30
0
    def GET(self, badge_id):
        cart_id = web.cookies().get(config.cookieName)
        if cart_id:
            f = badgeForm()
            if not db.validObjectId(badge_id):
                raise web.seeother('/error')

            badge = db.getBadge(badge_id)
            badge["adresse_1"] = badge["adresse"]["ligne_1"]
            badge["adresse_2"] = badge["adresse"]["ligne_2"]
            badge["ville"] = badge["adresse"]["ville"]
            badge["province"] = badge["adresse"]["province"]
            badge["code_postal"] = badge["adresse"]["code_postal"]
            badge["noiz"] = badge["extra"]["noiz"]
            badge["tshirt"] = badge["extra"]["tshirt"]
            badge["dvd"] = badge["extra"]["dvd"]
            f.fill(badge)
            return render.base(render.badge(f),
                               "Editer une insigne ~ Edit a badge", True)
        else:
            raise web.seeother(config.make_url('/error'))
Пример #31
0
    def POST(self):
        cart_id = web.cookies().get(config.cookieName)
        if cart_id:
            # We have a cart, proceed
            f = badgeForm()
            if not f.validates():
                return render.base(render.badge(f),
                                   "Nouvel insigne ~ New badge", True)
            else:
                # Everything is valid, let's build the query
                badge = {
                    "prenom": f.d.prenom,
                    "nom": f.d.nom,
                    "texte_insigne": f.d.texte_insigne,
                    "courriel": f.d.courriel,
                    "adresse": {
                        "ligne_1": f.d.adresse_1,
                        "ligne_2": f.d.adresse_2,
                        "ville": f.d.ville,
                        "province": f.d.province,
                        "code_postal": f.d.code_postal
                    },
                    "type": f.d.type,
                    "telephone_urgence": f.d.telephone_urgence,
                    "extra": {
                        "noiz": f.d.noiz,
                        "tshirt": f.d.tshirt,
                        "dvd": f.d.dvd
                    },
                    "instructions_speciales": f.d.instructions_speciales,
                    "status": "IN_CART",
                    "date": datetime.datetime.utcnow()
                }

                # Adding to DB
                badge_id = db.addBadge(badge, cart_id)

                raise web.seeother(config.make_url("/cart/add/%s" % badge_id))
        else:
            raise web.seeother(config.make_url('/error'))
    def GET(self):
        redact = {}
        schema = db.wikischema()
        block_list = db.get_redact_list()

        for tcol in block_list:
            redaction = db.get_redaction(tcol)
            table, col = tcol.split('.')
            if table not in redact:
                redact[table] = {}
            redact[table][col] = {}
            redact[table][col]['type'] = schema[table][col]
            redact[table][col]['redaction'] = redaction

            m = re.search('\d+', schema[table][col])
            if m and m.group(0):
                redact[table][col]['size'] = m.group(0)
            else:
                redact[table][col]['size'] = 64

        print redact
        return render.base(view.menu('redacted'), view.redacted(redact))
Пример #33
0
    def POST(self):
        cart_id = web.cookies().get(config.cookieName)
        if cart_id:
            # We have a cart, proceed
            f = badgeForm()
            if not f.validates():
                return render.base(render.badge(f), "Nouvel insigne ~ New badge", True)
            else:
                # Everything is valid, let's build the query
                badge = {
                    "prenom": f.d.prenom,
                    "nom": f.d.nom,
                    "texte_insigne": f.d.texte_insigne,
                    "courriel": f.d.courriel,
                    "adresse": {
                        "ligne_1": f.d.adresse_1,
                        "ligne_2": f.d.adresse_2,
                        "ville": f.d.ville,
                        "province": f.d.province,
                        "code_postal": f.d.code_postal
                        },
                    "type": f.d.type,
                    "telephone_urgence": f.d.telephone_urgence,
                    "extra": {
                        "noiz": f.d.noiz,
                        "tshirt": f.d.tshirt,
                        "dvd": f.d.dvd
                        },
                    "instructions_speciales": f.d.instructions_speciales,
                    "status": "IN_CART",
                    "date": datetime.datetime.utcnow()}

                # Adding to DB
                badge_id = db.addBadge(badge, cart_id)

                raise web.seeother(config.make_url("/cart/add/%s" % badge_id))
        else:
             raise web.seeother(config.make_url('/error'))
Пример #34
0
	def POST(self):
		form = web.input(doc={})

		basename = form['doc'].filename.replace(' ', '_')
		tempfile = '/tmp/' + basename
		with open(tempfile, 'wb') as saved:
			shutil.copyfileobj(form['doc'].file, saved)

		uid = document_compare.compute_uid (tempfile)

		# Remove old entries
		config.DB.delete('scores', where='id = "' + uid + '"')
		config.DB.delete('items', where='id = "' + uid + '"')

		b, ext = os.path.splitext(form['doc'].filename)
		# Insert 
		config.DB.insert('items', id=uid, name=b, pagecount=-1, extension=ext)

		# Start bg thread		
		a = threading.Thread(target=worker, args=(tempfile, False, ))
		a.start()

		return render.base(view.listing())
Пример #35
0
 def GET(self):
     #print web.ctx.path
     #return render.base(render.index())
     #return render.base(menu(iweb.ctx.path), render.index())
     return render.base(menu, web.ctx.path, render.index())
Пример #36
0
	def GET(self):
		return render.base(view.listing())
Пример #37
0
 def GET(self):
     return render.base(view.accounts())
Пример #38
0
 def GET(self):
     return render.base(view.upload())
Пример #39
0
 def GET(self):
     return render.base(view.home(), title='WhatsApp Chat Analyzer')
Пример #40
0
def notfound():
    return web.notfound(
        render.base(
            """<span id="message" class="bad">404: Not Found.</span>""", "404",
            True))
Пример #41
0
 def GET(self):
   return render.base('hello world')
Пример #42
0
 def GET(self):
     return render.base(view.tools())
Пример #43
0
 def GET(self):
     return render.base(view.listing(), title='域名列表')
Пример #44
0
 def GET(self):
     """"""
     view.destroyCookie()
     return render.base("""<p>Votre session est maintenant terminé. Vérifier vos courriels pour votre confirmation d'inscription.</p>
     <p>Pour toutes questions, contactez <a href="mailto:[email protected]">[email protected]</a>""")
Пример #45
0
    def GET(self, action, badge_id):
        cart_id = view.getCookie()
        if not cart_id:
            raise web.seeother(config.make_url("/"))

        return render.base(view.cartListing(cart_id, (action, badge_id)))
Пример #46
0
 def GET(self):
     return render.base(view.words(session))
Пример #47
0
 def GET(self):
     print render.base(view.listing())
Пример #48
0
 def GET(self):
     return render.base(view.addurl())
Пример #49
0
    def GET(self, action, badge_id):
        cart_id = view.getCookie()
        if not cart_id:
            raise web.seeother(config.make_url("/"))

        return render.base(view.cartListing(cart_id, (action, badge_id)))
Пример #50
0
 def GET(self):
     return render.base(view.checkurl())
Пример #51
0
def internalerror():
    return web.internalerror(
        render.base(
            """<span id="message" class="bad">500: Server Error.</span>""",
            "500", True))
Пример #52
0
 def GET(self):
     return render.base(view.listing())
Пример #53
0
 def GET(self):
     return render.base(view.upload(), title='Upload Chat File')
Пример #54
0
 def GET(self):
     return render.base(view.results(session))