def insertTag(self,content): if content=='': self.render('admin/addtag.html',info='') elif self.checkTag(content): self.render('admin/addtag.html',info='已存在') else: tag=Tag() tag.content=content tag.tagid=uuid.uuid1().hex self.db.add(tag) self.db.commit() self.db.close() self.render('admin/addtag.html',info='成功')
def tagInsert(self, content): if self.checkTag(content): self.status = 201 jsonStr = self.getJsonResult() self.write(jsonStr) else: tag = Tag() tag.content = content tag.tagid = uuid.uuid1().hex self.db.add(tag) self.db.commit() self.db.close() self.status = 200 self.message = "tag添加成功" jsonStr = self.getJsonResult() self.write(jsonStr)
def tagInsert(self, content): if self.checkTag(content): self.status = 201 jsonStr = self.getJsonResult() self.write(jsonStr) else: tag = Tag() tag.content = content tag.tagid = uuid.uuid1().hex self.db.add(tag) self.db.commit() self.db.close() self.status = 200 self.message = 'tag添加成功' jsonStr = self.getJsonResult() self.write(jsonStr)
def insert_tag(): try: params = request.json tag_services.insert_tag(Tag(None, params["name"], params["order"])) return ResultResp(20000, "添加成功", None).to_resp() except Exception as e: print(e) return ResultResp(50001, "添加失败", None).to_resp()
def update_tag(id): try: params = request.json tag_services.update_tag(Tag(id, params["name"], params["order"])) return ResultResp(20000, "修改成功", None).to_resp() except Exception as e: print(e) return ResultResp(50001, "修改失败", None).to_resp()
def get(tag=None): try: tag_id = Tag.objects(tag='#' + tag.lower())[0].id posts = Post.objects(tag=tag_id) for post in posts: post.views += 1 post.save() return PostSchema(many=True).dump(posts) except IndexError: return []
def insert_documents_and_tags(self): ''' pass self.url to XmlParse object three dictionaries are returned from get_details_from_undl_url method: symbols_links, symbols_tags, symbols_text add data to ORM Document and Tag objects ''' for u in self.paginate_undl_results(): self.url = u parser = XmlParse(self.url) symbols_links, symbols_tags, symbols_text = parser.get_details_from_undl_url( ) logger.debug(symbols_links) for symbol, document_url in symbols_links.items(): logger.debug(symbol) query = self.session.query(Document).filter_by(symbol=symbol) if query.count() > 0: # seen this document before continue # create new Document object doc = Document(symbol=symbol, url=document_url, raw_text=symbols_text[symbol]) self.session.add(doc) self.session.commit() for new_tag in symbols_tags[symbol]: query = self.session.query(Tag).filter_by(tag=new_tag) if query.count() > 0: # tag is already in DB # update doc doc.tags.append(query.scalar()) self.session.commit() else: # tag is new # insert tag and update doc tag = Tag(tag=new_tag) self.session.add(tag) doc.tags.append(tag) self.session.commit()
def create_database(): for nick_name in NICK_NAMES: author = Author() author.nick_name = nick_name author.first_name = choice(NAMES) author.last_name = f'{choice(NAMES)}ченко' author.posts = 0 author.save() for post_text in POSTS: post_words = post_text.split(' ') post_words = list(filter(None, post_words)) post_tags = [word for word in post_words if word[0] == '#'] tags_ids = [] for tag_text in post_tags: try: tag = Tag.objects(tag=tag_text.lower())[0] except IndexError: tag = Tag() tag.tag = tag_text.lower() tag.save() tags_ids.append(tag.id) print(tags_ids) post = Post() post.name = f'{post_words[0]}_{post_words[1]}' post.content = post_text author = Author.objects(nick_name=choice(NICK_NAMES))[0] author.posts += 1 author.save() post.author = author.id post.datetime = datetime.now() post.views = 0 post.tag = tags_ids post.save()
from models.models import Tag, Author, Post from random import choice tag = [] author = [] for i in range(1, 6): tag_ex = Tag(**{'title': f'#tag{i}'}).save() tag.append(tag_ex) for i in range(1, 3): author_ex = Author(**{ 'first_name': f'First Name {i}', 'last_name': f'Last Name {i}' }).save() author.append(author_ex) for i in range(1, 11): post_ex = { 'title': f'title by post number {i}', 'content': f'content by post number {i}', 'author': choice(author), 'tag': [choice(tag), choice(tag)] } Post(**post_ex).save()
def get(self, id=None): if not id: objects = Tag.objects() return TagSchema().dump(objects, many=True) return TagSchema().dump(Tag.objects(id=id).get())
def delete(self, id=None): if not id: abort(404, message='ID incorrect') TagSchema().dump(Tag.objects(id=id).delete())
def put(self, id): obj = Tag.objects(id=id).get() obj.update(**request.json) return TagSchema().dump(obj.reload())
def post(self): validity = TagSchema().validate(request.json) if validity: return validity obj = Tag(**request.json).save() return TagSchema().dump(obj)
from models.models import Details from models.models import Logs import requests import labio from bs4 import BeautifulSoup labio.db.init() svcs = Services_List.query.all() # varre a tabela de serviços, acessa cada url para extrair informações for item in svcs: response = requests.get(item.url) # utiliza o soup para encontrar no html as tags ondem ficam os tags e similares soup = BeautifulSoup(response.text, 'html.parser') # Popular a tabela de Tags dos Serviços tag_list = soup.find_all(class_='tag_cloud') for tag in tag_list: tag_lis = tag.find_all('a') for tag_li in tag_lis: tag_record = Tag() tag_record.service_id = item.id tag_record.name = tag_li.get_text() tag_record.merge() detail = Details() detail.detail_id = detail.query.count() + 1 detail.detail_name = 'added service' + svc_record.name Tag.session.commit() Tag.session.commit()