Example #1
0
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)
Example #2
0
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()
Example #3
0
def add_content(title, op, text):
    content = Content(title=title,
                      op=op,
                      time_of_upload=datetime.utcnow(),
                      text=text)
    session.add(content)
    session.commit()
Example #4
0
    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 
Example #5
0
 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)     
Example #6
0
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 
Example #8
0
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
Example #9
0
 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)
Example #10
0
    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
Example #11
0
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"),))