コード例 #1
0
ファイル: page_handler.py プロジェクト: isunspot/TorCMS
 def initialize(self):
     self.init()
     self.mpage = MPage()
     self.mpage_hist = MPageHist()
     self.mcat = MCategory()
     self.cats = self.mcat.query_all()
     self.kind = '2'
コード例 #2
0
def do_for_page(writer, rand=True, doc_type=''):
    mpost = MPage()
    if rand:
        recs = mpost.query_random(50, )
    else:
        recs = mpost.query_recent(50, )

    print(recs.count())
    for rec in recs:
        # sleep(0.1)
        text2 = rec.title + ',' + html2text.html2text(
            tornado.escape.xhtml_unescape(rec.cnt_html))
        # writer.update_document(path=u"/a",content="Replacement for the first document")
        writer.update_document(title=rec.title,
                               catid='0000',
                               type=doc_type,
                               link='/page/{0}'.format(rec.uid),
                               content=text2)
コード例 #3
0
def do_wiki():
    print('==============================')
    print('For Wiki ... ')
    from torcms.model.wiki_model import MWiki
    mwiki = MWiki()
    #
    from torcms.model.page_model import MPage
    mpage = MPage()

    from model_ent.wiki_model import MWiki as OldWiki
    from model_ent.page_model import MPage as OldPage
    oldwiki = OldWiki()
    oldpage = OldPage()

    print('got it')

    abc = oldwiki.query_all(limit_num=2000)

    ded = oldpage.query_all()
    for rec in oldwiki.query_all(limit_num=20000):
        post_data = {
            "uid": '_' + ''.join(rec.uid.split('-')),
            "title": rec.title,
            "date": rec.date,
            "time_create": rec.time_create,
            "user_name": rec.user_name,
            "time_update": rec.time_update,
            "view_count": rec.view_count,
            "cnt_md": unescape(rec.cnt_md),
            "cnt_html": rec.cnt_html,
            "kind": '1',
        }
        # print(rec.title)
        mwiki.insert_data(post_data)

    for rec in ded:
        print(rec.slug)
        post_data = {
            "uid": rec.slug,
            "title": rec.title,
            "date": rec.date,
            "time_create": rec.time_create,
            "user_name": '',
            "time_update": rec.time_update,
            "view_count": rec.view_count,
            "cnt_md": unescape(rec.cnt_md),
            "cnt_html": rec.cnt_html,
            "kind": '2',
        }
        # print(rec.title)
        mwiki.insert_data(post_data)

    print('QED')
コード例 #4
0
ファイル: page_handler.py プロジェクト: isunspot/TorCMS
class PageHandler(BaseHandler):
    def initialize(self):
        self.init()
        self.mpage = MPage()
        self.mpage_hist = MPageHist()
        self.mcat = MCategory()
        self.cats = self.mcat.query_all()
        self.kind = '2'


    def get(self, url_str=''):
        url_arr = self.parse_url(url_str)

        if len(url_arr) == 1 and url_str.endswith('.html'):
            self.redirect(url_str.split('.')[0])
        elif url_arr[0] in ['modify', 'edit', '_edit']:
            self.to_modify(url_arr[1])
        elif url_str == 'list':
            self.list()
        elif url_arr[0] == 'ajax_count_plus':
            self.ajax_count_plus(url_arr[1])

        elif len(url_arr) == 1:
            self.to_view(url_str)
        else:
            self.render('html/404.html', userinfo=self.userinfo, kwd={})

    def post(self, url_str=''):
        url_arr = self.parse_url(url_str)

        if url_arr[0] in ['modify', 'edit', '_add']:
            self.update(url_arr[1])
        else:
            self.add_page()

    def to_view(self, slug):

        rec_page = self.mpage.get_by_uid(slug)

        if rec_page:
            if rec_page.kind == self.kind:
                self.viewit(rec_page)
            else:
                return False
        else:

            self.to_add(slug)

    @tornado.web.authenticated
    def to_add(self, citiao):
        if self.check_post_role(self.userinfo)['ADD']:
            pass
        else:
            return False
        kwd = {
            'cats': self.cats,
            'slug': citiao,
            'pager': '',
        }
        self.render('doc/page/page_add.html',
                    kwd=kwd,
                    userinfo=self.userinfo, )

    def __could_edit(self, slug):
        page_rec = self.mpage.get_by_uid(slug)
        if not page_rec:
            return False
        if self.check_post_role(self.userinfo)['EDIT'] or page_rec.user_name == self.userinfo.user_name:
            return True
        else:
            return False

    @tornado.web.authenticated
    def update(self, slug):
        if self.__could_edit(slug):
            pass
        else:
            return False
        post_data = self.get_post_data()

        if 'slug' in post_data:
            pass
        else:
            self.set_status(400)
            return False

        self.mpage_hist.insert_data(self.mpage.get_by_uid(slug))
        self.mpage.update(slug, post_data)

        self.redirect('/page/{0}.html'.format(post_data['slug']))

    @tornado.web.authenticated
    def to_modify(self, uid):
        if self.__could_edit(uid):
            pass
        else:
            return False

        kwd = {
            'pager': '',

        }
        self.render('doc/page/page_edit.html',
                    view=self.mpage.get_by_uid(uid),  # Deprecated
                    postinfo = self.mpage.get_by_uid(uid),
                    kwd=kwd,
                    unescape=tornado.escape.xhtml_unescape,
                    cfg=config.cfg,
                    userinfo=self.userinfo,
                    )

    def viewit(self, rec):
        kwd = {
            'pager': '',
        }
        # rec.user_name = rec.user_name
        self.render('doc/page/page_view.html',
                    view=rec, # Deprecated
                    postinfo = rec,
                    unescape=tornado.escape.xhtml_unescape,
                    kwd=kwd,
                    format_date=tools.format_date,
                    userinfo=self.userinfo,
                    cfg=config.cfg
                    )

    def ajax_count_plus(self, slug):
        output = {
            'status': 1 if self.mpage.view_count_plus(slug) else 0,
        }

        return json.dump(output, self)

    def list(self):
        kwd = {
            'pager': '',
            'unescape': tornado.escape.xhtml_unescape,
            'title': '单页列表',
        }
        self.render('doc/page/page_list.html',
                    kwd=kwd,
                    view=self.mpage.query_recent(),
                    view_all=self.mpage.query_all(),
                    format_date=tools.format_date,
                    userinfo=self.userinfo,
                    cfg=config.cfg
                    )

    @tornado.web.authenticated
    def add_page(self):
        if self.check_post_role(self.userinfo)['ADD']:
            pass
        else:
            return False

        #  post_data = {}
        # for key in self.request.arguments:
        #     post_data[key] = self.get_arguments(key)

        post_data = self.get_post_data()


        post_data['user_name'] = self.userinfo.user_name

        if 'slug' in post_data:
            pass
        else:
            self.set_status(400)
            return False

        if self.mpage.get_by_uid(post_data['slug']):
            self.set_status(400)
            return False
        else:
            self.mpage.insert_data(post_data)
            self.redirect('/page/{0}.html'.format(post_data['slug']))
コード例 #5
0
ファイル: index.py プロジェクト: isunspot/TorCMS
 def initialize(self):
     self.init()
     self.mpost = MPost()
     self.mcat = MCategory()
     self.mpage = MPage()
     self.mlink = MLink()
コード例 #6
0
ファイル: widget_modules.py プロジェクト: daodaoliang/TorCMS
import tornado.web
from torcms.model.post_model import MPost
from torcms.model.link_model import MLink
from torcms.model.post2catalog_model import MPost2Catalog
import config
import tornado.web
from torcms.model.category_model import MCategory
from torcms.core.tools import constant
from torcms.model.info_model import MInfor as  MInfor
from torcms.model.label_model import MPost2Label

from torcms.model.reply_model import MReply
from torcms.model.page_model import MPage

mreply = MReply()
mpage = MPage()


class reply_panel(tornado.web.UIModule):
    def render(self, uid, userinfo):
        return self.render_string('modules/widget/reply_panel.html',
                                  uid=uid,
                                  replys= mreply.query_by_post(uid),
                                  userinfo=userinfo,
                                  unescape=tornado.escape.xhtml_unescape,
                                  linkify=tornado.escape.linkify,
                                  )

class userinfo_widget(tornado.web.UIModule, tornado.web.RequestHandler):
    def render(self, signature):
        if self.get_secure_cookie("user"):
コード例 #7
0
 def setup(self):
     print('setup 方法执行于本类中每条用例之前')
     self.uu = MPage()
     self.raw_count = self.uu.get_counts()
     self.page_slug = 'aaa'
コード例 #8
0
class TestPage():
    def setup(self):
        print('setup 方法执行于本类中每条用例之前')
        self.uu = MPage()
        self.raw_count = self.uu.get_counts()
        self.page_slug = 'aaa'

    def test_insert(self):
        raw_count = self.uu.get_counts()
        post_data = {
            'title': 'title',
            'slug': 'sadfsadf',
            'id_user': '******',
            'cnt_md': '## adslkfjasdf\n lasdfkjsadf',
            'view_count': 1,
        }
        self.uu.insert_data(post_data)
        new_count = self.uu.get_counts()

        tt = self.uu.get_by_uid(self.page_slug)

        #assert tt.title == post_data['title'][0]
        #assert tt.cnt_md == tornado.escape.xhtml_unescape(post_data['cnt_md'][0])
        #assert raw_count + 1 == new_count

    def test_insert_2(self):
        '''Wiki insert: Test invalid title'''
        post_data = {
            'title': '',
            'id_user': '******',
            'cnt_md': '## adslkfjasdf\n lasdfkjsadf',
            'view_count': 1,
        }
        uu = self.uu.insert_data(post_data)
        assert uu == False

        post_data = {
            'title': '1',
            'id_user': '******',
            'cnt_md': '## adslkfjasdf\n lasdfkjsadf',
            'view_count': 1,
        }
        uu = self.uu.insert_data(post_data)
        assert uu == False

        post_data = {
            'title': '天',
            'id_user': '******',
            'cnt_md': '## adslkfjasdf\n lasdfkjsadf',
            'view_count': 1,
        }
        uu = self.uu.insert_data(post_data)
        assert uu == False

    def test_query_all(self):
        self.uu.query_all()
        assert True

    def test_get_by_slug(self):
        self.uu.get_by_uid('aa')
        assert True

    def test_upate(self):
        assert True

    def tearDown(self):
        print("function teardown")
        tt = self.uu.get_by_uid(self.page_slug)
        if tt:
            self.uu.delete(tt.uid)