예제 #1
0
 def setup(self):
     print('setup 方法执行于本类中每条用例之前')
     self.uid = tools.get_uuid()
     self.userinfo = {
         'postid': '12345',
         'uid': tools.get_uuid(),
         'user_name': 'giser'
     }
예제 #2
0
파일: user_model.py 프로젝트: vovoma/TorCMS
    def create_user(post_data):
        '''
        Create the user.
        The code used if `False`.
        11: standsfor invalid username.
        21: standsfor invalide E-mail.
        91: standsfor unkown reson.
        '''
        out_dic = {'success': False, 'code': '00'}

        if not tools.check_username_valid(post_data['user_name']):
            out_dic['code'] = '11'
            return out_dic

        if not tools.check_email_valid(post_data['user_email']):
            out_dic['code'] = '21'
            return out_dic

        try:
            TabMember.create(uid=tools.get_uuid(),
                             user_name=post_data['user_name'],
                             user_pass=tools.md5(post_data['user_pass']),
                             user_email=post_data['user_email'],
                             role=post_data.get('role', '1000'),
                             time_create=tools.timestamp(),
                             time_update=tools.timestamp(),
                             time_reset_passwd=tools.timestamp(),
                             time_login=tools.timestamp(),
                             time_email=tools.timestamp())

            out_dic['success'] = True
        except:
            out_dic['code'] = '91'
        return out_dic
예제 #3
0
    def add_record(post_id, catalog_id, order=0):
        '''
        Create the record of post 2 tag, and update the count in g_tag.
        :param post_id:
        :param catalog_id:
        :param order:
        :return:
        '''

        rec = MPost2Catalog.__get_by_info(post_id, catalog_id)
        if rec:
            entry = TabPost2Tag.update(
                order=order,
                # For migration. the value should be added when created.
                par_id=rec.tag_id[:2] + '00',
            ).where(TabPost2Tag.uid == rec.uid)
            entry.execute()
        else:
            TabPost2Tag.create(
                uid=tools.get_uuid(),
                par_id=catalog_id[:2] + '00',
                post_id=post_id,
                tag_id=catalog_id,
                order=order,
            )

        MCategory.update_count(catalog_id)
예제 #4
0
    def add_relation(app_f, app_t, weight=1):
        '''
        Adding relation between two posts.
        :return:
        '''
        recs = TabRel.select().where(
            (TabRel.post_f_id == app_f) & (TabRel.post_t_id == app_t)
        )
        if recs.count() > 1:
            for record in recs:
                MRelation.delete(record.uid)

        if recs.count() == 0:
            uid = tools.get_uuid()
            entry = TabRel.create(
                uid=uid,
                post_f_id=app_f,
                post_t_id=app_t,
                count=1,
            )
            return entry.uid
        elif recs.count() == 1:
            MRelation.update_relation(app_f, app_t, weight)
        else:
            return False
예제 #5
0
    def view_info(self, info_id):
        '''
        Render the info
        :param info_id:
        :return: Nonthing.
        '''

        rec = self.minfo.get_by_uid(info_id)

        if rec:
            pass
        else:
            kwd = {
                'info': '您要找的信息不存在。',
            }
            self.render('html/404.html',
                        kwd=kwd,
                        userinfo=self.userinfo, )
            return False

        replys = self.mreply.get_by_id(info_id)
        rel_recs = self.mrel.get_app_relations(rec.uid, 4)
        rand_recs = self.minfo.query_random(4 - rel_recs.count() + 2)
        self.chuli_cookie_relation(info_id)
        cookie_str = tools.get_uuid()

        kwd = {
            'pager': '',
            'url': self.request.uri,
            'cookie_str': cookie_str,

            'signature': info_id,
            'tdesc': '',
            'eval_0': self.mevaluation.app_evaluation_count(info_id, 0),
            'eval_1': self.mevaluation.app_evaluation_count(info_id, 1),
            'site_url': config.site_url,
            'login': 1 if self.get_current_user() else 0,
            'has_image': 0,
            'parentlist': self.mcat.get_parent_list(),
        }
        self.minfo.view_count_increase(info_id)
        if self.get_current_user():
            self.musage.add_or_update(self.userinfo.uid, info_id)
        self.set_cookie('user_pass', cookie_str)
        tmpl = self.ext_tmpl_name(rec) if self.ext_tmpl_name(rec) else self.get_tmpl_name(rec)
        catid = rec.extinfo['def_cat_uid'] if 'def_cat_uid' in rec.extinfo else None
        self.render(tmpl,
                    kwd=dict(kwd, **self.extra_kwd(rec)),
                    calc_info=rec,
                    userinfo=self.userinfo,
                    relations=rel_recs,
                    rand_recs=rand_recs,
                    unescape=tornado.escape.xhtml_unescape,
                    ad_switch=random.randint(1, 18),
                    tag_info=self.mapp2tag.get_by_id(info_id),
                    recent_apps=self.musage.query_recent(self.get_current_user(), 6)[1:],
                    post_info=rec,
                    replys=replys,
                    cat_enum = self.mcat.get_qian2(catid[:2]) if catid else [],
                    )
예제 #6
0
파일: user_model.py 프로젝트: zombiz/TorCMS
    def create_user(post_data):
        out_dic = {'success': False, 'code': '00'}

        if tools.check_username_valid(post_data['user_name']):
            pass
        else:
            out_dic['code'] = '11'
            return out_dic

        if tools.check_email_valid(post_data['user_email']):
            pass
        else:
            out_dic['code'] = '21'
            return out_dic

        if 'role' in post_data:
            role = post_data['role']
        else:
            role = '1000'

        TabMember.create(uid=tools.get_uuid(),
                         user_name=post_data['user_name'],
                         user_pass=tools.md5(post_data['user_pass']),
                         user_email=post_data['user_email'],
                         role=role,
                         time_create=tools.timestamp(),
                         time_update=tools.timestamp(),
                         time_reset_passwd=tools.timestamp(),
                         time_login=tools.timestamp(),
                         time_email=tools.timestamp())

        out_dic['success'] = True
        return out_dic
예제 #7
0
    def create_entity(uid='', path='', desc='', kind='1'):
        '''
        create entity record in the database.
        '''

        if path:
            pass
        else:
            return False

        if uid:
            pass
        else:
            uid = get_uuid()
        try:
            TabEntity.create(
                uid=uid,
                path=path,
                desc=desc,
                time_create=time.time(),
                kind=kind
            )
            return True
        except:
            return False
예제 #8
0
    def add_or_update(user_id, post_id, kind):
        '''
        Create the record if new, else update it.
        '''

        rec = MUsage.query_by_signature(user_id, post_id)
        cate_rec = MInfor2Catalog.get_first_category(post_id)
        if cate_rec:
            cat_id = cate_rec.tag_id
        else:
            return False

        if rec.count() > 0:
            logger.info('Usage update: {uid}'.format(uid=post_id))
            rec = rec.get()
            query = TabUsage.update(kind=kind).where(TabUsage.uid == rec.uid)
            query.execute()
            MUsage.count_increate(rec.uid, cat_id, rec.count)
        else:
            logger.info('Usage create: {uid}'.format(uid=post_id))
            TabUsage.create(
                uid=tools.get_uuid(),
                post_id=post_id,
                user_id=user_id,
                count=1,
                tag_id=cat_id,
                timestamp=int(time.time()),
                kind=kind,
            )
예제 #9
0
파일: muser.py 프로젝트: Sijiu/TorCMS
    def insert_data(self, post_data):
        if '/' in post_data['user_name'][0]:
            return False
        if ':' in post_data['user_name'][0]:
            return False
        if len(post_data['user_name'][0]) < 5 or len(post_data['user_name'][0]) > 20:
            return False
        if '\\' in post_data['user_name'][0]:
            return False
        if '#' in post_data['user_name'][0]:
            return False
        if '+' in post_data['user_name'][0]:
            return False
        if "'" in post_data['user_name'][0]:
            return False
        if '"' in post_data['user_name'][0]:
            return False
        if '(' in post_data['user_name'][0]:
            return False
        if ')' in post_data['user_name'][0]:
            return False
        if ' ' in post_data['user_name'][0]:
            return False

        try:
            CabMember.create(uid=tools.get_uuid(),
                             user_name=post_data['user_name'][0],
                             user_pass=tools.md5(post_data['user_pass'][0]),
                             user_email=post_data['user_email'][0],
                             privilege='10000',
                             reset_passwd_timestamp=0, )
            return True
        except:
            return False
예제 #10
0
 def create_replyid(pid, rid):
     uid = tools.get_uuid()
     TabReplyid.create(
         uid=uid,
         reply0=pid,
         reply1=rid,
         time_create=tools.timestamp(),
     )
예제 #11
0
 def create_wiki_history(raw_data, user_info):
     entry = TabWikiHist.create(uid=tools.get_uuid(),
                                title=raw_data.title,
                                wiki_id=raw_data.uid,
                                user_name=user_info.user_name,
                                cnt_md=raw_data.cnt_md,
                                time_update=tools.timestamp())
     return entry.uid
예제 #12
0
    def setup(self):
        print('setup 方法执行于本类中每条用例之前')

        self.uid = tools.get_uuid()
        self.post_id='1q2w'
        self.username='******'
        self.user_id=''
        self.reply_uid=''
        self.reply_id_uid=''
예제 #13
0
    def setup(self):
        print('setup 方法执行于本类中每条用例之前')

        self.postid = '12345'
        self.userid = tools.get_uuid()
        self.uid = ''
        self.tag_id = '87hy'
        self.slug = 'qwqqq'
        self.postid2 = 'qqqew'
        self.uu = MPost()
예제 #14
0
    def add_or_update(json_uid, user_id, app_id, geojson):
        current_count = e_Json.select().where(e_Json.uid == json_uid).count()
        MJson.add_or_update_json(json_uid, user_id, geojson)

        if current_count:
            pass
        else:
            e_Post2Json.create(uid=tools.get_uuid(),
                               post_id=app_id,
                               json=json_uid)
예제 #15
0
 def insert_data(self, raw_data):
     entry = g_WikiHist.create(
         uid=tools.get_uuid(),
         title=raw_data.title,
         wiki_id=raw_data.uid,
         user_name=raw_data.user_name,
         cnt_md=raw_data.cnt_md,
         time_update=raw_data.time_update,
     )
     return (entry.uid)
예제 #16
0
    def create_entity2user(enti_uid, user_id, user_ip):
        '''
        create entity2user record in the database.
        '''

        TabEntity2User.create(uid=tools.get_uuid(),
                              entity_id=enti_uid,
                              user_id=user_id,
                              user_ip=user_ip,
                              timestamp=time.time())
예제 #17
0
 def __insert_data(self, postid, userid, rating):
     uid = tools.get_uuid()
     self.tab.create(
         uid=uid,
         post_id=postid,
         user_id=userid,
         rating=rating,
         timestamp=tools.timestamp(),
     )
     return (uid)
예제 #18
0
 def __insert_data(postid, userid, rating):
     uid = tools.get_uuid()
     g_Rating.create(
         uid=uid,
         post_id=postid,
         user_id=userid,
         rating=rating,
         timestamp=tools.timestamp(),
     )
     return uid
예제 #19
0
 def create_wiki_history(raw_data):
     entry = g_WikiHist.create(
         uid=tools.get_uuid(),
         title=raw_data.title,
         wiki_id=raw_data.uid,
         user_name=raw_data.user_name,
         cnt_md=raw_data.cnt_md,
         time_update=raw_data.time_update,
     )
     return entry.uid
예제 #20
0
 def insert_data(userid, postid, kind):
     '''
     Inert new record.
     '''
     uid = tools.get_uuid()
     TabLog.create(uid=uid,
                   post_id=postid,
                   user_id=userid,
                   kind=kind,
                   time_create=tools.timestamp())
     return uid
예제 #21
0
파일: mwiki_hist.py 프로젝트: Sijiu/TorCMS
 def insert_data(self, raw_data):
     entry = CabWikiHist.create(
         uid=tools.get_uuid(),
         title=raw_data.title,
         date=raw_data.date,
         wiki_id=raw_data.uid,
         time_create=raw_data.time_create,
         user_name=raw_data.user_name,
         cnt_md=raw_data.cnt_md,
         time_update=raw_data.time_update,
     )
     return (entry.uid)
예제 #22
0
파일: mpost2reply.py 프로젝트: Sijiu/TorCMS
 def insert_data(self, id_post, id_reply):
     uid = tools.get_uuid()
     try:
         self.tab.create(
             uid=uid,
             post_id=id_post,
             reply_id=id_reply,
             timestamp=time.time(),
         )
         return (uid)
     except:
         return False
예제 #23
0
 def setup(self):
     print('setup 方法执行于本类中每条用例之前')
     self.wiki_uid = ''
     self.userinfo = {
         'postid': '12345',
         'uid': tools.get_uuid(),
         'user_name': 'giser'
     }
     self.username = '******'
     self.title = 'bibo'
     self.uid = ''
     self.user_uid = ''
예제 #24
0
    def add_or_update(self, json_uid, user_id, app_id, geojson):
        current_count = TabJson.select().where(TabJson.uid == json_uid).count()
        self.add_json(json_uid, user_id, geojson)

        if current_count:
            pass
        else:
            entry = TabApp2Json.create(
                uid=tools.get_uuid(),
                app=app_id,
                json=json_uid,
            )
예제 #25
0
 def insert_data(self, id_post, id_reply):
     uid = tools.get_uuid()
     try:
         self.tab.create(
             uid=uid,
             post_id=id_post,
             reply_id=id_reply,
             timestamp=time.time(),
         )
         return (uid)
     except:
         return False
예제 #26
0
파일: json_model.py 프로젝트: bukun/maplet
    def add_or_update(self, json_uid, user_id, app_id, geojson):
        current_count = e_Json.select().where(e_Json.uid == json_uid).count()
        self.add_json(json_uid, user_id, geojson)

        if current_count:
            pass
        else:
            entry = e_Post2Json.create(
                uid = tools.get_uuid(),
                post_id = app_id,
                json = json_uid,
            )
예제 #27
0
    def create_user(post_data, extinfo=None):
        '''
        Create the user.
        The code used if `False`.
        11: invalid username.
        21: invalide E-mail.
        31: E-mail exists..
        91: unkown reason.
        '''
        out_dic = {'success': False, 'code': '00'}

        if post_data['user_name'].startswith('_'):
            '''
            the user_name startwith with ``_``, ONLY used for inner, not for login.
            '''
            pass
        elif not tools.check_username_valid(post_data['user_name']):

            out_dic['code'] = '11'
            return out_dic

        if not tools.check_email_valid(post_data['user_email']):
            out_dic['code'] = '21'
            return out_dic

        if MUser.get_by_email(post_data['user_email']):
            out_dic['code'] = '31'
            return out_dic

        if extinfo is None:
            extinfo = {}

        try:
            TabMember.create(
                uid=tools.get_uuid(),
                user_name=post_data['user_name'],
                user_pass=tools.md5(post_data['user_pass']),
                user_email=post_data['user_email'],
                role='1000',  # ‘1000' as default role.
                time_create=tools.timestamp(),
                time_update=tools.timestamp(),
                time_reset_passwd=tools.timestamp(),
                time_login=tools.timestamp(),
                time_email=tools.timestamp(),
                extinfo=extinfo,
            )

            out_dic['success'] = True
        except Exception as err:
            print(repr(err))
            out_dic['code'] = '91'
        return out_dic
예제 #28
0
 def add(data_dic):
     '''
     Insert new record.
     '''
     uid = tools.get_uuid()
     TabLog.create(uid=uid,
                   current_url=data_dic['url'],
                   refer_url=data_dic['refer'],
                   user_id=data_dic['user_id'],
                   time_create=data_dic['timein'],
                   time_out=data_dic['timeOut'],
                   time=data_dic['timeon'])
     return uid
예제 #29
0
    def create_post_history(raw_data):
        uid = tools.get_uuid()
        g_PostHist.create(
            uid=uid,
            title=raw_data.title,
            post_id=raw_data.uid,
            user_name=raw_data.user_name,
            cnt_md=raw_data.cnt_md,
            time_update=raw_data.time_update,
            logo=raw_data.logo,
        )

        return True
예제 #30
0
 def __insert_data(postid, userid, rating):
     '''
     Inert new record.
     '''
     uid = tools.get_uuid()
     TabRating.create(
         uid=uid,
         post_id=postid,
         user_id=userid,
         rating=rating,
         timestamp=tools.timestamp(),
     )
     return uid
예제 #31
0
    def add_or_update(self, json_uid, user_id, app_id, geojson):
        print('create geojson: app_id,', app_id, '; json_uid,', json_uid)
        current_count = e_Json.select().where(e_Json.uid == json_uid).count()
        self.add_or_update_json(json_uid, user_id, geojson)

        if current_count:
            pass
        else:
            entry = e_Post2Json.create(
                uid=tools.get_uuid(),
                post_id=app_id,
                json=json_uid,
            )
예제 #32
0
 def add_relation(postid, relid, kind, order):
     '''
     Adding relation between two posts.
     '''
     uid = tools.get_uuid()
     entry = TabCorrelation.create(
         uid=uid,
         post_id=postid,
         rel_id=relid,
         kind=kind,
         order=order,
     )
     return entry.uid
예제 #33
0
 def add_record(self, post_id, catalog_id, order=0):
     tt = self.__get_by_info(post_id, catalog_id)
     if tt:
         entry = self.tab_post2catalog.update(
             order=order, ).where(self.tab_post2catalog.uid == tt.uid)
         entry.execute()
     else:
         self.tab_post2catalog.create(
             uid=tools.get_uuid(),
             post=post_id,
             tag=catalog_id,
             order=order,
         )
예제 #34
0
    def add_or_update(self, user_id, app_id):

        if self.get_by_signature(user_id, app_id):
            tt = self.get_by_signature(user_id, app_id)
            entry = self.tab.update(timestamp=int(time.time())).where(
                self.tab.uid == tt.uid)
            entry.execute()
        else:
            entry = self.tab.create(
                uid=tools.get_uuid(),
                user=user_id,
                app=app_id,
                timestamp=int(time.time()),
            )
예제 #35
0
파일: index.py 프로젝트: isunspot/TorCMS
 def index(self):
     cstr = tools.get_uuid()
     self.set_cookie('user_pass', cstr)
     kwd = {'cookie_str': cstr}
     self.render(
         'index/index.html',
         userinfo=self.userinfo,
         catalog_info=self.mcat.query_all(by_order=True),
         link=self.mlink.query_all(),
         unescape=tornado.escape.xhtml_unescape,
         cfg=config.cfg,
         view=self.mpost.query_most_pic(20),
         kwd=kwd,
     )
예제 #36
0
파일: index.py 프로젝트: Sijiu/TorCMS
 def index(self):
     cstr = tools.get_uuid()
     self.set_cookie('user_pass', cstr)
     kwd = {
         'cookie_str': cstr
     }
     self.render('index/index.html',
                 userinfo=self.userinfo,
                 catalog_info=self.mcat.query_all(by_order=True),
                 link=self.mlink.query_all(),
                 unescape=tornado.escape.xhtml_unescape,
                 cfg=config.cfg,
                 view=self.mpost.query_most_pic(20),
                 kwd=kwd, )
예제 #37
0
 def add_or_update(self, user_id, app_id, value):
     if self.get_by_signature(user_id, app_id):
         tt = self.get_by_signature(user_id, app_id)
         entry = self.tab.update(
             value = value,
         ).where(self.tab.uid == tt.uid)
         entry.execute()
     else:
         entry = self.tab.create(
             uid = tools.get_uuid(),
             user = user_id,
             app  = app_id,
             value=value,
         )
예제 #38
0
    def add_or_update(self, user_id, app_id):

        if self.get_by_signature(user_id, app_id):
            tt = self.get_by_signature(user_id, app_id)
            entry = self.tab.update(
                timestamp = int(time.time())
            ).where(self.tab.uid == tt.uid)
            entry.execute()
        else:
            entry = self.tab.create(
                uid = tools.get_uuid(),
                user = user_id,
                app  = app_id,
                timestamp = int(time.time()),
            )
예제 #39
0
 def add_record(self, post_id, tag_name, order=1):
     tag_id = self.mtag.get_id_by_name(tag_name)
     tt = self.get_by_info(post_id, tag_id)
     if tt:
         entry = self.tab.update(
             order=order,
         ).where(self.tab.uid == tt.uid)
         entry.execute()
     else:
         entry = self.tab.create(
             uid=tools.get_uuid(),
             app=post_id,
             tag=tag_id,
             order=order,
         )
예제 #40
0
파일: mreply.py 프로젝트: Sijiu/TorCMS
    def insert_data(self, post_data):

        uid = tools.get_uuid()
        try:
            CabReply.create(
                uid=uid,
                user_name=post_data['user_name'],
                create_user_id=post_data['user_id'],
                timestamp=tools.timestamp(),
                date=datetime.datetime.now(),
                cnt_md=post_data['cnt_md'][0],
                cnt_html=tools.markdown2html(post_data['cnt_md'][0]),
                vote=0,
            )
            return (uid)
        except:
            return False
예제 #41
0
 def add_or_update(self, user_id, sig):
     tt =self.get_by_signature(user_id, sig)
     uu = self.mapp2catalog.get_entry_catalog(sig)
     if uu == False:
         return False
     cat_id = uu.catalog.uid
     if  tt.count() > 0:
         rec = tt.get()
         self.count_increate(rec.uid, cat_id, rec.count)
     else:
         entry = self.tab.create(
             uid=tools.get_uuid(),
             signature=sig,
             user= user_id,
             count=1,
             catalog_id =cat_id,
             timestamp=int(time.time()),
         )
예제 #42
0
    def add_or_update(self, user_id, app_id,title,  order ):

        if self.get_by_signature(user_id, app_id):
            tt = self.get_by_signature(user_id, app_id)
            entry = TabToolbox.update(
                order=order,
            ).where(TabToolbox.uid == tt.uid)
            entry.execute()

        else:
            entry = TabToolbox.create(
                uid = tools.get_uuid(),
                user = user_id,
                cnt = title,
                title = title,
                app  = app_id,
                order = order,
            )
예제 #43
0
    def add_record(self, post_id, catalog_id, order=1):
        tt = self.__get_by_info(post_id, catalog_id)
        if tt:
            entry = self.tab_post2catalog.update(
                order=order,
            ).where(self.tab_post2catalog.uid == tt.uid)
            entry.execute()
        else:

            try:
                self.tab_post2catalog.create(
                    uid=tools.get_uuid(),
                    post=post_id,
                    catalog=catalog_id,
                    order=order,
                )
                return True
            except:
                return False
예제 #44
0
    def insert_data(self, user_id, reply_id):

        record = CabVoter2Reply.select().where(
            (CabVoter2Reply.reply_id == reply_id) & (CabVoter2Reply.voter_id == user_id))

        if record.count() > 0:
            return (False)

        try:
            CabVoter2Reply.create(
                uid=tools.get_uuid(),
                reply_id=reply_id,
                voter_id=user_id,
                timestamp=time.time(),
            )
            return CabVoter2Reply.select().where(CabVoter2Reply.reply_id == reply_id).count()

        except:
            return False
예제 #45
0
파일: mrelation.py 프로젝트: Sijiu/TorCMS
    def add_relation(self, app_f, app_t, weight = 1):
        cur = self.tab_relation.select().where((self.tab_relation.app_f == app_f) & (self.tab_relation.app_t == app_t))
        if cur.count() > 1:
            for x in cur:
                self.delete(x.uid)

        if cur.count() == 0:
            uid = tools.get_uuid()
            entry = self.tab_relation.create(
                uid=uid,
                app_f=app_f,
                app_t=app_t,
                count=1,
            )
            return entry.uid
        elif cur.count() == 1:
            self.update_relation(app_f, app_t, weight)
        else:
            return False
예제 #46
0
파일: mpost_hist.py 프로젝트: Sijiu/TorCMS
    def insert_data(self, raw_data):

        uid = tools.get_uuid()
        try:
            CabPostHist.create(
                uid=uid,
                title=raw_data.title,
                date=raw_data.date,
                post_id=raw_data.uid,
                time_create=raw_data.time_create,
                user_name=raw_data.user_name,
                cnt_md=raw_data.cnt_md,
                time_update=raw_data.time_update,
                id_spec=raw_data.id_spec,
                logo=raw_data.logo,
            )
            return (uid)
        except:
            return False