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)
Beispiel #3
0
    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)
Beispiel #4
0
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()
Beispiel #5
0
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()
Beispiel #6
0
 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()
Beispiel #8
0
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()
Beispiel #9
0
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()
Beispiel #10
0
 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())
Beispiel #11
0
 def delete(self, id=None):
     if not id:
         abort(404, message='ID incorrect')
     TagSchema().dump(Tag.objects(id=id).delete())
Beispiel #12
0
 def put(self, id):
     obj = Tag.objects(id=id).get()
     obj.update(**request.json)
     return TagSchema().dump(obj.reload())
Beispiel #13
0
 def post(self):
     validity = TagSchema().validate(request.json)
     if validity:
         return validity
     obj = Tag(**request.json).save()
     return TagSchema().dump(obj)
Beispiel #14
0
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()