def run_decode(): logging.debug('decode your input by our pretrained model') try: source = request.get_json()['source'] # GET request with String from frontend directly logging.debug('input: {}'.format(source)) # GET String-type context from the backend try: logging.debug('using the pretrained model.') sentNums, summary = summarizationModel.decode.run_(source) except Exception as e: logging.error(e) else: logging.debug('The number of sentences is {}'.format(sentNums)) logging.debug('The abstract is that {}'.format(summary)) results = {'sent_no': sentNums, 'final': summary} try: article = Content(text=source) abstract = Summary(text=summary) pair = Article(article=article.id, abstract=abstract.id) article.save() abstract.save() pair.save() except Exception as e: logging.error(e) return json.dumps(results) except: message = {'message' : 'Fail to catch the data from client.'} return json.dumps(message)
def pub(ctx,request:YuHeLg.Request): payload = request.json post = Post() try: post.title = payload.get("title") post.author_id = request.user.id post.postdate = datetime.datetime.now() cont = Content() cont.content = payload.get("content") post.content = cont tags = payload["tags"] except Exception as e: print(e) raise exc.HTTPBadRequest() taglist = re.split('[\s,]',tags) for tag in taglist: t = session.query(Tag).filter(Tag.tag == tag).first() if t is None: t = Tag() t.tag = tag session.add(t) pt = Post_tag() pt.tag = t pt.post = post session.add(pt) session.add(post) try: session.commit() return jsonify(post_id=post.id) except: session.rollback() raise exc.HTTPInternalServerError()
def add_content(title, op, text): content = Content(title=title, op=op, time_of_upload=datetime.utcnow(), text=text) session.add(content) session.commit()
def parse_content_page(self, url): self.driver.get(url) cards = self.driver.find_elements_by_class_name("catalog-list-item__container") #articles-selector js-catalog-item") alkogol = [] for card in cards: content = Content() try: content_category_elm = self.driver.find_element_by_tag_name("h1") content.category = content_category_elm.text except NoSuchElementException: print("product category missing") try: content_name_elm = card.find_element_by_class_name("catalog-list-item__title") content.name = content_name_elm.text except NoSuchElementException: print("product name missing") try: content_link_elm = card.find_element_by_class_name("catalog-list-item__title").get_attribute("href") content.link = content_link_elm except NoSuchElementException: print("product link missing") try: content_price_elm = card.find_element_by_class_name("middle_price") content.price = content_price_elm.text except NoSuchElementException: pass try: content_sale_elm = card.find_element_by_class_name("baseoldprice") content.sale = content_sale_elm.text except NoSuchElementException: content.sale = "Нет скидки" item = str(content) row = item.split(",") alkogol.append({ 'type' : row[0], 'title' : row[-5], 'link': row[-4], 'price': row[-3], 'sale' : row[-2], 'availability': row[-1] }) return alkogol
def get(self): try: content = Content.all() new_list_content = [] out_url = users.create_logout_url("/") for c in content: c.img = Photo.all().filter("content =", c.key()) new_list_content.append(c) path = os.path.join(os.path.dirname(__file__), 'templates/admin.html') self.response.out.write(template.render(path, {"content" : new_list_content, "url" : out_url})) except Exception: self.error(404)
def add_music(link=None, title=None, artist=None): cover_art = get_cover_art(title, artist) music = get_music_file(link, True) music_content = music[0] if music else None type = music[1] if music else None content_key = Content.add_music(origin=link, artist=artist, title=title, data=music_content, image=cover_art, user=UserData.add_or_get_user(), type=type if type else 'music') return content_key
def parse_content_page(self, url): self.driver.get(url) cards = self.driver.find_elements_by_class_name("catalog_product_item_cont") alkogol = [] for card in cards: content = Content() try: content_category_elm = self.driver.find_element_by_class_name("cont_right_col").find_element_by_tag_name("h1") content.category = content_category_elm.text except NoSuchElementException: print("product category missing") try: content_name_elm = card.find_element_by_class_name("product_item_name").find_element_by_tag_name("a") content.name = content_name_elm.text except NoSuchElementException: print("product name missing") try: content_link_elm = card.find_element_by_class_name("product_item_name").find_element_by_tag_name("a").get_attribute('href') content.link = content_link_elm except NoSuchElementException: print("product link missing") try: content_price_elm = card.find_element_by_class_name("i_price").find_element_by_tag_name("div") content.price = content_price_elm.text except NoSuchElementException: content.availability = "not avilable" item = str(content) row = item.split(",") print(row) alkogol.append({ 'type' : row[0], 'title' : row[-5], 'link': row[-4], 'price': row[-3], 'sale' : " ", 'availability': row[-1] }) return alkogol
def add_image(link=None, data=None): if not link and not data: raise FieldNotFoundException('no link or data found when adding image') image_content = None if not data: result = urlfetch.fetch(link) if result.status_code != 200: raise ImageNotFoundException('image %s not found' % str(link)) image_content = result.content image_type = get_image_type(link) else: image_content = decode_base64_image(data) image_type = get_image_type(data) link = 'binary data' if image_content: content_key = Content.add_image(origin=link, data=image_content, type=image_type, user=UserData.add_or_get_user()) return content_key return None
def post(self): try: action = self.request.get("action") if action == "new": if "image" in self.request.arguments(): img_req = db.Blob(self.request.get("image")) content_id = db.Key(self.request.get("content")) image = Photo(content=content_id, image=img_req, tumb_img=images.resize(img_req, 300, 300)) image.put() else: content = Content(menu=self.request.get("menu"), title=self.request.get("title"), text=self.request.get("text"),) content.put() if action == "edit": if "content" in self.request.arguments(): content_id = db.Key(self.request.get("content")) content = Content.get(content_id) content.menu = self.request.get("menu") content.title = self.request.get("title") content.text = self.request.get("text") content.put() if action == "del": if "id" in self.request.arguments(): id = db.Key(self.request.get("id")) photo = Photo.get(id) photo.delete() if "content" in self.request.arguments(): content_id = db.Key(self.request.get("content")) content = Content.get(content_id) content.delete() self.redirect("/admin/") except Exception: self.error(404)
def parse_content_page(self, url): self.driver.get(url) time.sleep(5) cards = self.driver.find_elements_by_class_name("cl_info") print(cards) alkogol = [] for card in cards: content = Content() try: content_category_elm = self.driver.find_element_by_tag_name( "h1") content.category = content_category_elm.text print(content.category) except NoSuchElementException: print("product category missing") try: content_name_elm = card.find_element_by_class_name( "goods_name").find_element_by_tag_name("a") content.name = content_name_elm.text print(content.name) except NoSuchElementException: print("product name missing") try: content_link_elm = card.find_element_by_class_name( "goods_name").find_element_by_tag_name("a").get_attribute( "href") content.link = content_link_elm print(content.link) except NoSuchElementException: print("product link missing") try: content_price_elm = card.find_element_by_class_name( "cl_price").find_element_by_tag_name("span") content.price = content_price_elm.text print(content.price) except NoSuchElementException: pass try: content_sale_elm = card.find_element_by_class_name( "cl_price_action").find_element_by_tag_name("span") content.sale = content_sale_elm.text print(content.sale) except NoSuchElementException: content.sale = "Нет скидки" item = str(content) row = item.split(",") print(row) alkogol.append({ 'type': row[0], 'title': row[-5], 'link': row[-4], 'price': row[-3], 'sale': row[-2], 'availability': row[-1] }) return alkogol
def response(): action = cgi_get("action", choices=["view", "pay", "service", "commitment", "request", "invite", "expense", "verify", "unverify", "apply", "join", "pod", "membership", "person", "enroll", "manage", "confcode", "mint", "balance", "responsibilities"]) if action == "view": ip = local("response").ip user = cgi_get("user", required=False) # key if user: user = db.get(user) else: user = Person.query(Person.ip == ip).get() if not user: user = Person() user.ip = ip user.put() views(user) elif action == "mint": user = db.get(cgi_get("user")) amount = cgi_get("amount") user.wallet.get().mint(amount) elif action == "balance": user = db.get(cgi_get("user")) succeed(user.wallet.get().balance()) elif action == "pay": payer = db.get(cgi_get("payer")) memship = db.get(cgi_get("membership")) person = memship.person.get() pod = memship.pod.get() pment = Payment() pment.membership = memship.key pment.payer = payer.key pment.amount = cgi_get("amount") pment.notes = cgi_get("notes") if payer.key.urlsafe() == person.key.urlsafe(): fail("pay yourself?") if payer.wallet.get().outstanding < pment.amount: fail("you don't have enough in your account!") pment.put() pkey = pment.key.urlsafe() pment.notify("confirm payment", lambda signer : PAYMENT%(pment.amount, person.firstName, pod.name, pment.notes, pkey, signer.urlsafe())) succeed(pkey) elif action == "service": succeed(reg_act(cgi_get("membership"), cgi_get("service"), cgi_get("workers"), cgi_get("beneficiaries"), cgi_get("notes"))) elif action == "commitment": comm = Commitment() comm.membership = cgi_get("membership") comm.service = cgi_get("service") comm.estimate = cgi_get("estimate") comm.notes = cgi_get("notes") comm.put() comm.verify(comm.membership.get().person) # (submitter already agrees) ckey = comm.key.urlsafe() service = comm.service.get() memship = comm.membership.get() person = memship.person.get() pod = memship.pod.get() comm.notify("affirm commitment", lambda signer : COMMITMENT%(person.email, pod.name, comm.estimate, service.name, comm.notes, ckey, signer.urlsafe())) succeed(ckey) elif action == "request": req = Request() req.membership = cgi_get("membership") req.change = cgi_get("change") req.person = cgi_get("person", required=False) req.notes = cgi_get("notes") req.put() req.remind() succeed(req.key.urlsafe()) elif action == "invite": inv = Invitation() inv.membership = cgi_get("membership") inv.email = cgi_get("email").lower() inv.notes = cgi_get("notes") inv.put() inv.invite() elif action == "expense": exp = Expense() exp.membership = cgi_get("membership") exp.executor = cgi_get("executor", required=False) exp.variety = cgi_get("variety", choices=["dividend", "reimbursement"]) exp.amount = cgi_get("amount") exp.recurring = cgi_get("recurring") exp.notes = cgi_get("notes") exp.put() memship = exp.membership.get() mpmail = memship.person.get().email pod = memship.pod.get() variety = exp.variety amount = exp.amount if exp.executor: variety = "%s - executor: %s"%(variety, exp.executor.get().email) else: amount = "%s%%"%(amount * 100,) exp.notify("approve expense", lambda signer: EXPENSE%(mpmail, pod.name, variety, amount, exp.recurring, exp.notes, signer.urlsafe())) succeed(exp.key.urlsafe()) elif action == "verify": verifiable = db.get(cgi_get("verifiable")) # act/request/commitment/expense/appointment verifiable.verify(db.KeyWrapper(cgi_get("person"))) redirect("/comp/pods.html", "you did it!") elif action == "unverify": # commitment only!!!!??! vkey = cgi_get("verifiable") verifiable = db.get(vkey) verifiable.unverify() service = verifiable.service.get() memship = verifiable.membership.get() person = memship.person.get() pod = memship.pod.get() for signer in pod.members(): send_mail(to=signer.get().email, subject="affirm commitment - estimate adjustment", body=COMMITMENT%(person.email, pod.name, verifiable.estimate, service.name, vkey, signer.urlsafe())) elif action == "apply": db.get(cgi_get("request")).apply() redirect("/comp/pods.html", "you did it!") elif action == "join": # support only pod = db.get(cgi_get("pod")) if pod.variety != "support": fail() person = db.get(cgi_get("person")) succeed(person.enroll(pod).urlsafe()) elif action == "pod": pod = db.get(cgi_get("pod")) succeed({ "services": [a.data() for a in pod.acts()], "requests": [r.data() for r in pod.requests()], "proposals": [p.data() for p in db.get_multi(pod.proposals())], "commitments": [c.data() for c in pod.commitments()], "memberships": [m.data() for m in pod.members(True)], "people": [p.data() for p in db.get_multi(pod.members())], "codebases": [c.data() for c in pod.codebases()], "expenses": [e.data() for e in pod.expenses()] }) elif action == "membership": memship = db.get(cgi_get("membership")) succeed({ "content": [c.data() for c in Content.query(Content.membership == memship.key).fetch()], "products": [p.data() for p in db.get_multi(memship.products)] }) elif action == "person": person = db.get(cgi_get("person")) succeed({ "services": len(person.acts()), # more efficient way? "memberships": [m.data() for m in person.memberships()], "commitments": sum([c.estimate for c in person.commitments()]) }) elif action == "responsibilities": person = db.get(cgi_get("person")) succeed([t.data() for t in person.tasks()]) elif action == "enroll": succeed(enroll(cgi_get("agent"), cgi_get("pod"), cgi_get("person")).urlsafe()) elif action == "manage": succeed(manage(cgi_get("agent"), cgi_get("membership"), cgi_get("content")).key.urlsafe()) elif action == "confcode": send_mail(to=cgi_get("email"), subject="carecoin confirmation code", body=CONFCODE%(cgi_get("code"),))