Exemplo n.º 1
0
 def get_post_page_comments_by_id(self, post_id=0, min_comment_id=0, limit=EACH_PAGE_COMMENT_NUM):
     if min_comment_id == 0:
         sdb._ensure_connected()
         return comment_format(sdb.query(
             'SELECT * FROM `cms_comments` WHERE `postid`= %s ORDER BY `comment_id` DESC LIMIT %s' % (
                 str(post_id), str(limit))))
     else:
         sql = "SELECT * FROM `cms_comments` WHERE `postid`= %s AND `comment_id` < %s " \
               "ORDER BY `comment_id` DESC LIMIT %s"
         sdb._ensure_connected()
         return comment_format(sdb.query(
             sql % (
                 str(post_id), str(min_comment_id), str(limit))))
Exemplo n.º 2
0
 def get_paged(self, page=1, limit=None):
     if limit is None:
         limit = getAttr('ADMIN_LINK_NUM')
     limit = int(limit)
     sdb._ensure_connected()
     sql = "SELECT * FROM `cms_links` ORDER BY `display_order` DESC LIMIT %s,%s" % ((int(page) - 1) * limit, limit)
     return sdb.query(sql)
Exemplo n.º 3
0
 def get_paged(self, page=1, limit=None):
     if limit is None:
         limit = getAttr('ADMIN_USER_NUM')
     limit = int(limit)
     sdb._ensure_connected()
     sql = "SELECT * FROM `cms_user` ORDER BY `user_id` DESC LIMIT %s,%s" % ((int(page) - 1) * limit, limit)
     return user_format(sdb.query(sql))
Exemplo n.º 4
0
 def get_paged(self, page=1, limit=None):
     if limit is None:
         limit = getAttr('ADMIN_COMMENT_NUM')
     limit = int(limit)
     sdb._ensure_connected()
     sql = "SELECT * FROM `cms_comments` ORDER BY `id` DESC LIMIT %s,%s" % ((int(page) - 1) * limit, limit)
     return comment_format_admin(sdb.query(sql))
Exemplo n.º 5
0
 def get_posts_by_category_id(self, category_id='', page=1, limit=None):
     if limit is None:
         limit = getAttr('EACH_PAGE_POST_NUM')
     limit = int(limit)
     sql = "SELECT * FROM `cms_posts` WHERE `category_id` = %s ORDER BY `post_id` DESC LIMIT %s,%s" % (
         category_id, (int(page) - 1) * limit, limit)
     sdb._ensure_connected()
     return post_list_format(sdb.query(sql))
Exemplo n.º 6
0
 def get_post_page_comments_by_id(self,
                                  post_id=0,
                                  min_comment_id=0,
                                  limit=EACH_PAGE_COMMENT_NUM):
     if min_comment_id == 0:
         sdb._ensure_connected()
         return comment_format(
             sdb.query(
                 'SELECT * FROM `cms_comments` WHERE `postid`= %s ORDER BY `comment_id` DESC LIMIT %s'
                 % (str(post_id), str(limit))))
     else:
         sql = "SELECT * FROM `cms_comments` WHERE `postid`= %s AND `comment_id` < %s " \
               "ORDER BY `comment_id` DESC LIMIT %s"
         sdb._ensure_connected()
         return comment_format(
             sdb.query(sql %
                       (str(post_id), str(min_comment_id), str(limit))))
Exemplo n.º 7
0
 def get_recent_comments(self, limit=None):
     if limit is None:
         limit = getAttr('RECENT_COMMENT_NUM')
     sdb._ensure_connected()
     return comment_format(
         sdb.query(
             'SELECT * FROM `cms_comments` ORDER BY `comment_id` DESC LIMIT %s'
             % limit))
Exemplo n.º 8
0
 def count_all(self, category_id=None, title=None):
     sdb._ensure_connected()
     sql = "SELECT COUNT(*) AS num FROM `cms_posts` WHERE 1=1"
     if category_id:
         sql += " and category_id = \'%s\'" % category_id
     if title:
         sql += " and title like \'%s\'" % title
     return sdb.query(sql)[0]['num']
Exemplo n.º 9
0
 def get_posts_by_category_id(self, category_id='', page=1, limit=None):
     if limit is None:
         limit = getAttr('EACH_PAGE_POST_NUM')
     limit = int(limit)
     sql = "SELECT * FROM `cms_posts` WHERE `category_id` = %s ORDER BY `post_id` DESC LIMIT %s,%s" % (
         category_id, (int(page) - 1) * limit, limit)
     sdb._ensure_connected()
     return post_list_format(sdb.query(sql))
Exemplo n.º 10
0
 def get_paged(self, page=1, limit=None):
     if limit is None:
         limit = getAttr('ADMIN_COMMENT_NUM')
     limit = int(limit)
     sdb._ensure_connected()
     sql = "SELECT * FROM `cms_comments` ORDER BY `id` DESC LIMIT %s,%s" % (
         (int(page) - 1) * limit, limit)
     return comment_format_admin(sdb.query(sql))
Exemplo n.º 11
0
 def get_paged(self, page=1, limit=None):
     if limit is None:
         limit = getAttr('ADMIN_LINK_NUM')
     limit = int(limit)
     sdb._ensure_connected()
     sql = "SELECT * FROM `cms_links` ORDER BY `display_order` DESC LIMIT %s,%s" % (
         (int(page) - 1) * limit, limit)
     return sdb.query(sql)
Exemplo n.º 12
0
 def get_paged(self, page=1, limit=None):
     if limit is None:
         limit = getAttr('ADMIN_USER_NUM')
     limit = int(limit)
     sdb._ensure_connected()
     sql = "SELECT * FROM `cms_user` ORDER BY `user_id` DESC LIMIT %s,%s" % (
         (int(page) - 1) * limit, limit)
     return user_format(sdb.query(sql))
Exemplo n.º 13
0
 def get_paged(self, page=1, limit=None):
     if limit is None:
         limit = getAttr('ADMIN_CATEGORY_NUM')
     limit = int(limit)
     sql = "SELECT * FROM `cms_category` ORDER BY `father_category_id` ASC, `display_order` DESC LIMIT %s,%s" % (
         (int(page) - 1) * limit, limit)
     sdb._ensure_connected()
     return sdb.query(sql)
Exemplo n.º 14
0
 def get_paged(self, page=1, limit=None):
     if limit is None:
         limit = getAttr('ADMIN_CATEGORY_NUM')
     limit = int(limit)
     sql = "SELECT * FROM `cms_category` ORDER BY `father_category_id` ASC, `display_order` DESC LIMIT %s,%s" % (
         (int(page) - 1) * limit, limit)
     sdb._ensure_connected()
     return sdb.query(sql)
Exemplo n.º 15
0
 def get_all_kv(self, father_category_id=None):
     if father_category_id:
         sql = "SELECT `category_id`,`category_name` FROM `cms_category` WHERE `father_category_id` = 0 " \
               "ORDER BY `father_category_id` ASC, `display_order` DESC"
     else:
         sql = "SELECT `category_id`,`category_name` FROM `cms_category` WHERE `show_type` <> \'url\' " \
               "ORDER BY `father_category_id` ASC, `display_order` DESC"
     sdb._ensure_connected()
     return sdb.query(sql)
Exemplo n.º 16
0
 def get_all_kv(self, father_category_id=None):
     if father_category_id:
         sql = "SELECT `category_id`,`category_name` FROM `cms_category` WHERE `father_category_id` = 0 " \
               "ORDER BY `father_category_id` ASC, `display_order` DESC"
     else:
         sql = "SELECT `category_id`,`category_name` FROM `cms_category` WHERE `show_type` <> \'url\' " \
               "ORDER BY `father_category_id` ASC, `display_order` DESC"
     sdb._ensure_connected()
     return sdb.query(sql)
Exemplo n.º 17
0
 def get_page_posts_by_tag_name(self,
                                tag_name='',
                                page=1,
                                limit=EACH_PAGE_POST_NUM):
     page = int(page)
     sdb._ensure_connected()
     return post_list_format(
         sdb.query(
             "SELECT * FROM `cms_posts` WHERE `tags` like \'%s\' ORDER BY `views` DESC LIMIT %s,%s"
             % (tag_name, (int(page) - 1) * limit, limit)))
Exemplo n.º 18
0
 def get_paged(self, page=1, limit=None, category_id=None, title=None):
     if limit is None:
         limit = getAttr('EACH_PAGE_POST_NUM')
     limit = int(limit)
     sql = "SELECT p.*,c.category_name FROM `cms_posts` as p inner join `cms_category` as c on p.category_id=c.category_id where 1=1"
     if category_id:
         sql += " and category_id = \'%s\'" % category_id
     if title:
         sql += " and title like \'%s\'" % title
     sql += " ORDER BY `post_id` DESC LIMIT %s,%s" % ((int(page) - 1) * limit, limit)
     sdb._ensure_connected()
     return sdb.query(sql)
Exemplo n.º 19
0
 def get_page_posts_by_archive_name(self,
                                    archive_name='',
                                    page=1,
                                    limit=''):
     if limit is None:
         limit = getAttr('EACH_PAGE_POST_NUM')
     sql = "SELECT p.* FROM `cms_posts` p " \
           "inner join `cms_archive_post` ap on p.`post_id` = ap.post_id " \
           "inner join `cms_archive` a on ap.`archive_id` = a.archive_id and a.archive_name = \'%s\''" \
           "ORDER BY `id` DESC LIMIT %s,%s"
     sdb._ensure_connected()
     return post_list_format(
         sdb.query(sql, archive_name, (int(page) - 1) * limit, limit))
Exemplo n.º 20
0
 def get_all(self):
     sdb._ensure_connected()
     return post_list_format(sdb.query("SELECT * FROM `cms_posts` ORDER BY `post_id` DESC"))
Exemplo n.º 21
0
 def get_hot_tag(self, limit=HOT_TAGS_NUM):
     #for sider
     sdb._ensure_connected()
     return sdb.query(
         'SELECT * FROM `cms_tags` ORDER BY `tag_hot` DESC LIMIT %d' %
         limit)
Exemplo n.º 22
0
 def get_all(self):
     sdb._ensure_connected()
     return sdb.query('SELECT * FROM `cms_user`')
Exemplo n.º 23
0
 def count_all(self):
     sdb._ensure_connected()
     return sdb.query('SELECT COUNT(*) AS num FROM `cms_user`')[0]['num']
Exemplo n.º 24
0
def post_detail_formate(obj):
    if obj:
        slug = slugfy(obj.title)
        obj.slug = slug
        obj.absolute_url = '%s/topic/%d/%s' % (BASE_URL, obj.id, slug)
        obj.shorten_url = '%s/t/%s' % (BASE_URL, obj.id)
        if '[/code]' in obj.content:
            obj.highlight = True
        else:
            obj.highlight = False
        obj.content = tran_content(obj.content, obj.highlight)
        obj.taglist = ', '.join(
            ["""<a href="%s/tag/%s/" rel="tag">%s</a>""" % (BASE_URL, tag, tag) for tag in obj.tags.split(',')])
        obj.add_time_fn = time_from_now(int(obj.add_time))
        obj.last_modified = timestamp_to_datetime(obj.edit_time)
        obj.keywords = obj.tags
        obj.description = HTML_REG.sub('', obj.content[:DESCRIPTION_CUT_WORDS])
        #get prev and next obj
        obj.prev_obj = sdb.get('SELECT `id`,`title` FROM `cms_posts` WHERE `id` > %s LIMIT 1' % str(obj.id))
        if obj.prev_obj:
            obj.prev_obj.slug = slugfy(obj.prev_obj.title)
        obj.next_obj = sdb.get(
            'SELECT `id`,`title` FROM `cms_posts` WHERE `id` < %s ORDER BY `id` DESC LIMIT 1' % str(obj.id))
        if obj.next_obj:
            obj.next_obj.slug = slugfy(obj.next_obj.title)
        #get relative obj base tags
        obj.relative = []
        if obj.tags:
            idlist = []
            getit = False
            for tag in obj.tags.split(','):
                from model.tags import Tags

                tagobj = Tags.get_tag_by_name(tag)
                if tagobj and tagobj.content:
                    pids = tagobj.content.split(',')
                    for pid in pids:
                        if pid != str(obj.id) and pid not in idlist:
                            idlist.append(pid)
                            if len(idlist) >= RELATIVE_POST_NUM:
                                getit = True
                                break
                if getit:
                    break
                #
            if idlist:
                obj.relative = sdb.query('SELECT `id`,`title` FROM `cms_posts` WHERE `id` in(%s) LIMIT %s' % (
                ','.join(idlist), str(len(idlist))))
                if obj.relative:
                    for robj in obj.relative:
                        robj.slug = slugfy(robj.title)
                    #get comment
        obj.coms = []
        if obj.comment_num > 0:
            if obj.comment_num >= EACH_PAGE_COMMENT_NUM:
                first_limit = EACH_PAGE_COMMENT_NUM
            else:
                first_limit = obj.comment_num
            from model.comments import Comments

            obj.coms = Comments.get_post_page_comments_by_id(obj.id, 0, first_limit)
    return obj
Exemplo n.º 25
0
 def get_last_post(self, limit=None):
     if limit is None:
         limit = getAttr('EACH_PAGE_POST_NUM')
     sdb._ensure_connected()
     return post_list_format(
         sdb.query("SELECT * FROM `cms_posts` ORDER BY `post_id` DESC LIMIT %s" % limit))
Exemplo n.º 26
0
 def get_recent_comments(self, limit=None):
     if limit is None:
         limit = getAttr('RECENT_COMMENT_NUM')
     sdb._ensure_connected()
     return comment_format(sdb.query('SELECT * FROM `cms_comments` ORDER BY `comment_id` DESC LIMIT %s' % limit))
Exemplo n.º 27
0
 def get_all(self, limit=HOT_TAGS_NUM):
     sdb._ensure_connected()
     return sdb.query(
         'SELECT * FROM `cms_tags` ORDER BY `tag_id` DESC LIMIT %d' % limit)
Exemplo n.º 28
0
 def get_all(self):
     sdb._ensure_connected()
     return sdb.query('SELECT * FROM `cms_category` ORDER BY `father_category_id` ASC, `display_order` DESC')
Exemplo n.º 29
0
 def get_post_num_by_category_id(self, category_id=''):
     sql = "SELECT count(*) FROM `cms_posts` WHERE `category_id` = %s" % category_id
     sdb._ensure_connected()
     return sdb.query(sql)
Exemplo n.º 30
0
 def get_all_tag_name(self, limit=HOT_TAGS_NUM):
     #for add/edit post
     sdb._ensure_connected()
     return sdb.query(
         'SELECT `tag_name` FROM `cms_tags` ORDER BY `tag_id` DESC LIMIT %d'
         % limit)
Exemplo n.º 31
0
 def get_all_category_name(self):
     sdb._ensure_connected()
     return sdb.query(
         'SELECT `category_id`, `category_name` FROM `cms_category`')
Exemplo n.º 32
0
 def get_post_by_author(self, user_id):
     sql = "SELECT * FROM `cms_posts` where `user_id` = '%s'" % user_id
     sdb._ensure_connected()
     return sdb.query(sql)
Exemplo n.º 33
0
 def get_posts_num_by_tag_name(self, tag_name=''):
     sdb._ensure_connected()
     return sdb.query(
         "SELECT count(*) FROM `cms_posts` WHERE `tags` like \'%s\'" %
         tag_name)
Exemplo n.º 34
0
 def get_post_for_sitemap(self, ids=[]):
     sdb._ensure_connected()
     return sdb.query("SELECT `post_id`,`last_modified_date` FROM `cms_posts` "
                      "WHERE `post_id` in(%s) ORDER BY `post_id` DESC LIMIT %s" % (','.join(ids), str(len(ids))))
Exemplo n.º 35
0
 def get_role(self, user_id):
     sql = "SELECT role_name FROM `cms_role` left join `cms_user_role` " \
           "on `cms_role`.role_id = `cms_user_role`.role_id and user_id = %s"
     sdb._ensure_connected()
     return sdb.query(sql, user_id)
Exemplo n.º 36
0
 def get_all(self):
     sdb._ensure_connected()
     return sdb.query(
         'SELECT * FROM `cms_archive` ORDER BY `archive_name` DESC')
Exemplo n.º 37
0
 def get_all(self):
     sdb._ensure_connected()
     return sdb.query(
         'SELECT * FROM `cms_category` ORDER BY `father_category_id` ASC, `display_order` DESC'
     )
Exemplo n.º 38
0
 def get_post_num_by_category_id(self, category_id=''):
     sql = "SELECT count(*) FROM `cms_posts` WHERE `category_id` = %s" % category_id
     sdb._ensure_connected()
     return sdb.query(sql)
Exemplo n.º 39
0
 def get_all(self, limit=LINK_NUM):
     sdb._ensure_connected()
     return sdb.query('SELECT * FROM `cms_links` ORDER BY `display_order` DESC LIMIT %s' % str(limit))
Exemplo n.º 40
0
 def count_all(self):
     sdb._ensure_connected()
     return sdb.query('SELECT COUNT(*) AS num FROM `cms_links`')[0]['num']
Exemplo n.º 41
0
 def get_all(self, limit=LINK_NUM):
     sdb._ensure_connected()
     return sdb.query('SELECT * FROM `cms_show_types` LIMIT %s' % str(limit))
Exemplo n.º 42
0
 def get_all_category_name(self):
     sdb._ensure_connected()
     return sdb.query('SELECT `category_id`, `category_name` FROM `cms_category`')
Exemplo n.º 43
0
 def get_hot_tag(self, limit=HOT_TAGS_NUM):
     #for sider
     sdb._ensure_connected()
     return sdb.query('SELECT * FROM `cms_tags` ORDER BY `tag_hot` DESC LIMIT %d' % limit)
Exemplo n.º 44
0
 def get_page_posts_by_tag_name(self, tag_name='', page=1, limit=EACH_PAGE_POST_NUM):
     page = int(page)
     sdb._ensure_connected()
     return post_list_format(sdb.query(
         "SELECT * FROM `cms_posts` WHERE `tags` like \'%s\' ORDER BY `views` DESC LIMIT %s,%s" % (
             tag_name, (int(page) - 1) * limit, limit)))
Exemplo n.º 45
0
 def get_all(self, limit=LINK_NUM):
     sdb._ensure_connected()
     return sdb.query(
         'SELECT * FROM `cms_links` ORDER BY `display_order` DESC LIMIT %s'
         % str(limit))
Exemplo n.º 46
0
 def get_all(self, limit=HOT_TAGS_NUM):
     sdb._ensure_connected()
     return sdb.query('SELECT * FROM `cms_tags` ORDER BY `tag_id` DESC LIMIT %d' % limit)
Exemplo n.º 47
0
 def get_role(self, user_id):
     sql = "SELECT role_name FROM `cms_role` left join `cms_user_role` " \
           "on `cms_role`.role_id = `cms_user_role`.role_id and user_id = %s"
     sdb._ensure_connected()
     return sdb.query(sql, user_id)
Exemplo n.º 48
0
 def get_posts_num_by_tag_name(self, tag_name=''):
     sdb._ensure_connected()
     return sdb.query("SELECT count(*) FROM `cms_posts` WHERE `tags` like \'%s\'" % tag_name)
Exemplo n.º 49
0
 def get_all(self):
     sdb._ensure_connected()
     return sdb.query('SELECT * FROM `cms_user`')
Exemplo n.º 50
0
 def get_all_tag_name(self, limit=HOT_TAGS_NUM):
     #for add/edit post
     sdb._ensure_connected()
     return sdb.query('SELECT `tag_name` FROM `cms_tags` ORDER BY `tag_id` DESC LIMIT %d' % limit)
Exemplo n.º 51
0
 def get_top_n(self, n=8):
     sdb._ensure_connected()
     return sdb.query('SELECT * FROM `cms_archive` limit %s' % n)