예제 #1
0
파일: main.py 프로젝트: searchmodel/OBlog
def addComment(postRequest):

    if not re.match(
            r'^[A-Za-z0-9\u4e00-\u9fa5]+@[A-Za-z0-9_-]+(\.[a-zA-Z0-9_-]+)+$',
            postRequest['email']):
        return [1, '']
    if not contain_zh(postRequest['raw']):
        return [2, '']

    postRequest['id'] = str(getLastID() + 1)
    postRequest['html'] = renderMarkdown(postRequest['raw'], allowHtml=False)
    postRequest['time'] = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
    postRequest['username'] = postRequest['email'][0:2] + \
        '******' + postRequest['email'][-2:]
    postRequest['show'] = 'true'
    postRequest['ad'] = 'false'

    keyList = [
        'id', 'raw', 'html', 'time', 'username', 'email', 'sendemail', 'show',
        'ad', 'url', 'ip'
    ]
    postRequest = dict((key, postRequest[key] if key in postRequest else "")
                       for key in keyList)

    db.insert_db("comments", postRequest)

    mail(postRequest['url'], postRequest['raw'], postRequest['email'])
    return [0, postRequest]
예제 #2
0
def addFriends(postRequest):
    if not re.match(r'^[0-9]+$', postRequest['idx']):
        return 1
    if db.exist_db("friends", {'name': postRequest['name']}) == True:
        return 2

    keyList = ['url', 'name', 'idx']
    postRequest = dict((key, postRequest[key] if key in postRequest else "")
                       for key in keyList)

    db.insert_db("friends", postRequest)
    return 0
예제 #3
0
파일: main.py 프로젝트: forkpool/OBlog
def addPost(postRequest):
    current_app.logger.debug(postRequest)

    pattern = [
        r'^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}$',
        r'^[0-9]+$', r'^[\w\-\.,@?^=%&:~\+#]+(?:\/[\w\-\.,@?^=%&:~\+#]+)*$'
    ]
    if not (re.match(pattern[0], postRequest["time"])
            and re.match(pattern[0], postRequest["updatetime"])
            and re.match(pattern[1], postRequest["view"])
            and re.match(pattern[2], postRequest["url"])):
        return 1
    if db.exist_db("posts", {'url': postRequest["url"]}) == True:
        return 2

    if postRequest['tags'] == '':
        postRequest['tags'] = '无标签'

    from OBlog.markdown import render_markdown
    import json
    from ..search.main import getKeywords

    postRequest['html'] = render_markdown(postRequest['raw'])
    postRequest['keywords'] = postRequest['tags'] + \
        getKeywords(postRequest['title'] + postRequest['raw'])
    # postRequest['searchdict1'] = json.dumps(
    #    getCntDict(postRequest["title"] + " " + postRequest['tags']))
    # postRequest['searchdict2'] = json.dumps(
    #    getCntDict(postRequest['abstruct'] + " " + postRequest["raw"]))
    postRequest['searchdict1'] = postRequest['searchdict2'] = ""

    # 新的标签计数加1
    from ..tags.main import tagSplit, addTag
    tags = tagSplit(postRequest['tags'])
    for tag in tags:
        addTag(tag)

    # 去除前导零
    postRequest["view"] = str(int(postRequest["view"]))

    # 删除前端传入的其他参数
    keyList = [
        'url', 'title', 'time', 'updatetime', 'view', 'tags', 'abstruct',
        'raw', 'html', 'keywords', 'searchdict1', 'searchdict2', 'published',
        'img'
    ]
    postRequest = dict((key, postRequest[key] if key in postRequest else "")
                       for key in keyList)

    db.insert_db("posts", postRequest)
    return 0
예제 #4
0
def addPages(postRequest):
    current_app.logger.debug(postRequest)
    if db.exist_db('pages', {'url': postRequest['url']}):
        # 已经存在
        return 1
    if not (re.match(r'^[0-9]+$', postRequest["idx"])):
        return 2

    keyList = ['url', 'title', 'idx']
    postRequest = dict((key, postRequest[key] if key in postRequest else "")
                       for key in keyList)
    postRequest['show'] = 'true'

    db.insert_db('pages', postRequest)
    return 0
예제 #5
0
def addGood(postRequest):

     # 后端验证
    pattern = [r'^[0-9]{4}-[0-9]{2}-[0-9]{2}$', r'^[0-9]+$']
    if not (re.match(pattern[0], postRequest["time"]) and
            re.match(pattern[1], postRequest['value1'])):
        return 1

    postRequest['gid'] = str(getLastID() + 1)
    postRequest['show'] = "true"

    keyList = ["gid", "name", "abstruct", "time", "img",
               "value1", "value2", "value3", "value4", "value5", "show"]
    postRequest = dict(
        (key, postRequest[key] if key in postRequest else "")for key in keyList)

    db.insert_db("goods", postRequest)
    return 0
예제 #6
0
파일: main.py 프로젝트: searchmodel/OBlog
def addTag(chinese):
    '''
    description:    tag num plus 1
    input:          tag id(chinese)
    output:         0
    '''
    if db.exist_db("tags", {"chinese": chinese}) == True:
        cnt = db.query_db('select cnt from tags where chinese="{}"',
                          chinese,
                          one=True)['cnt']
        cnt = str(int(cnt) + 1)
        db.update_db("tags", {'cnt': cnt}, {'chinese': chinese})
    else:
        db.insert_db(
            "tags", {
                "chinese": chinese,
                "english": encode(chinese),
                "cnt": "1",
                "img": "",
                "class": ""
            })
    return 0