コード例 #1
0
 def post(self):
     try:
         userName=get_current_user(self)
         user=getorAddUser(userName)
         groupName=self.request.get("GroupName")
         groupgonggao=self.request.get("GroupGonggao")
         groupId=self.request.get("GroupId",0)
         groupHead=self.request.get("GroupHead",0)
         type=self.request.get("GroupType")
         tagName=self.request.get("GroupTag")
         tagNameId=self.request.get("GroupTagId")
         if groupId:
             try:
                 groupId=int(groupId)
             except Exception,e:
                 logging.info(str(e))
                 self.response.out.write('1')
                 return
         if groupHead:
             try:
                 groupHead=int(groupHead)
             except Exception,e:
                 logging.info(str(e))
                 self.response.out.write('1')
                 return
コード例 #2
0
    def get(self):
        groupid=self.request.get('groupid')
        tagmap={}
        for tag in Tag.all():
            tagmap[str(tag.key().id())]=tag.name

        username=get_current_user(self)
        user=getorAddUser(username)
        if groupid:
            groupid=int(groupid)
#            group=Group.get_by_id(groupid)
            group=getGroup(groupid)
            if group.author==username:
                group.delete()
                nlist=[]
                rnlist=[]
                for n in Note.all().filter('group =',groupid):
                    nlist.append(n)
                    rnlist.append('r'+str(n.key().id()))
                db.delete(Replay.get_by_key_name(rnlist))
                db.delete(nlist)
                if groupid in user.createGroup:
                    user.createGroup.remove(groupid)
                    user.put()
                if groupid in user.createGroupAdd:
                    user.createGroupAdd.remove(groupid)
                    user.put()


        groupidlist=user.createGroup+user.createGroupAdd
        list=Group.get_by_id(groupidlist)
#        list=Group.all().filter('author =',username)
        listgroup=[]
        ischange=False
        for i,group in enumerate(list):
            if not group:
                if groupidlist[i] in user.createGroup:
                    user.createGroup.remove(groupidlist[i])
                    ischange=True
                if groupidlist[i] in user.createGroupAdd:
                    user.createGroupAdd.remove(groupidlist[i])
                    ischange=True
            else:
                group.tagname=tagmap.get(str(group.tag),'')
                listgroup.append(group)
        if ischange:
            user.put()
        self.render('templates/removegroupList.html',{'list':listgroup})
コード例 #3
0
def get_current_user(web):
    guist={}
    Cookies = {}  # tempBook Cookies
    Cookies['request_cookie_list'] = [{'key': cookie_key, 'value': cookie_value} for cookie_key, cookie_value in web.request.cookies.iteritems()]
    for c in Cookies['request_cookie_list']:
        if c['key']=='webusername':
                    guist["username"]=memcache.get('webusername'+c['value'])
        if c['key']=='webnickname':
                    guist["name"]=urllib.unquote(c['value'].encode("utf-8"))
        if c['key']=='auth':
                    guist["auth"]=c['value']
    if guist and guist.has_key('username') and guist['username']:
        user=memcache.get('userlogin'+guist['username'])
        if not user:
            user=getorAddUser(guist['username'])
            user=guist['username']
            memcache.get('userlogin'+guist['username'],user,36000)
        if user:
            return user
    return False
コード例 #4
0
ファイル: interface.py プロジェクト: wangjian2254/moguim
    def get(self):
        username=self.request.get('UserName') or ''

        contentlist=[]
#        getMapList(contentlist,APPCODE+'-s1',APPCODE,'',APPCODE,'100',u'聊天',None,'1',replayType)
        if username:
            user=getorAddUser(username)
            userdic=user2dic(user)
            getMapList(contentlist,APPCODE+'-s1-'+username,APPCODE+'-s1','0',APPCODE,'101',json.dumps(userdic),None,'1',replayType)
            for uid in user.friends:
                u=User.get_by_key_name('u'+uid)
                userdic=user2dic(u)
                getMapList(contentlist,APPCODE+'-s1-'+uid,APPCODE+'-s1','1',APPCODE,'101',json.dumps(userdic),None,'1',replayType)
            for uid in user.stranger:
                u=User.get_by_key_name('u'+uid)
                userdic=user2dic(u)
                getMapList(contentlist,APPCODE+'-s1-'+uid,APPCODE+'-s1','2',APPCODE,'101',json.dumps(userdic),None,'1',replayType)
            xml,datas=infoallxmldic(contentlist)
            datas.setAttribute('type','infoall')
            datas.setAttribute('code',APPCODE)
            datas.setAttribute('timespan',str(10*60*1*60))
            infoAllGroup(self,datas,getMapList,infoallxmldic,xml,user)
            self.response.out.write(xml.toxml('utf-8'))
コード例 #5
0
    def get(self):
        username=get_current_user(self)
        imglist=[]
        note=AdNote.get_by_key_name('u'+username)
#        note=Note.get_by_id(int(noteid))
        if note:
            imgstrlist=re.findall('(?i)templink/([^/\s\?&]*)/',note.content)
            for img in imgstrlist:
                img=int(img)
                imglist.append(img)
            imglist=Img.get_by_id(imglist)
            news, number = re.subn('[\*TempLink/([^/]*/[^\]]*]','', note.content)
            note.content=news
        msg=memcache.get(self.request.get('msgid',''))
        if not msg:
            msg=''
        self.render('templates/adNoteShow.html',{'adnote':note,'username':username,'user':getorAddUser(username),'imglist':imglist,'msg':msg})
コード例 #6
0
    def post(self):
        try:
            userName=self.request.get("TheUserName")
            user=getorAddUser(userName)
            groupId=self.request.get("GroupId")
            if groupId:
                try:
                    groupId=int(groupId)
                except Exception,e:
                    logging.info(str(e))
                    self.response.out.write('1')
                    return
            type=self.request.get("DoType")# 1:作为参与着加入 2:作为参与者退出 3:作为群主加入 4:作为群主退出 5:参与者升为群主 6:群主将为参与者
            if groupId and type:
#                group=Group.get_by_id(groupId)
                group=getGroup(groupId)
                if type=='1':
                    if userName not in group.member:
                        group.member.append(userName)
                    if group.key().id() not in user.memberGroup:
                        if group.key().id() not in user.memberGroupAdd:
                            user.memberGroupAdd.append(group.key().id())
                            if group.key().id() in user.memberGroupRemove:
                                user.memberGroupRemove.remove(group.key().id())
                if type=='2':
                    if userName in group.member:
                        group.member.remove(userName)
                    if group.key().id() in user.memberGroup:
                        gid=user.memberGroup.remove(group.key().id())
                        if group.key().id() not in user.memberGroupRemove:
                            user.memberGroupRemove.append(gid)
                            if gid in user.memberGroupAdd:
                                user.memberGroupAdd.remove(gid)

                    pass
                if type=='3':
                    if userName not in group.partner:
                        group.partner.append(userName)
                    if group.key().id() not in user.partnerGroup:
                        if group.key().id() not in user.partnerGroupAdd:
                            user.partnerGroupAdd.append(group.key().id())
                            if group.key().id() in user.partnerGroupRemove:
                                user.partnerGroupRemove.remove(group.key().id())
                if type=='4':
                    if userName in group.partner:
                        group.partner.remove(userName)
                    if group.key().id() in user.partnerGroup:
                        gid=user.partnerGroup.remove(group.key().id())
                        if group.key().id() not in user.partnerGroupRemove:
                            user.partnerGroupRemove.append(gid)
                            if gid in user.partnerGroupAdd:
                                user.partnerGroupAdd.remove(gid)
                if type=='5':
                    if userName in group.member:
                        group.member.remove(userName)
                        if userName not in group.partner:
                            group.partner.append(userName)
                    if groupId in user.memberGroup or groupId in user.memberGroupAdd or groupId in user.memberGroupRemove:
                        user.memberGroup.remove(groupId)
                        user.memberGroupAdd.remove(groupId)
                        user.memberGroupRemove.remove(groupId)
                        if groupId not in user.partnerGroup:
                            if groupId not in user.partnerGroupAdd:
                                user.partnerGroupAdd.append(groupId)
                                if groupId in user.partnerGroupRemove:
                                    user.partnerGroupRemove.remove(groupId)
                if type=='6':
                    if userName in group.partner:
                        group.partner.remove(userName)
                        if userName not in group.member:
                            group.member.append(userName)
                    if groupId in user.partnerGroup or groupId in user.partnerGroupAdd or groupId in user.partnerGroupRemove:
                        user.partnerGroup.remove(groupId)
                        user.partnerGroupAdd.remove(groupId)
                        user.partnerGroupRemove.remove(groupId)
                        if groupId not in user.memberGroup:
                            if groupId not in user.memberGroupAdd:
                                user.memberGroupAdd.append(groupId)
                                if groupId in user.memberGroupRemove:
                                    user.memberGroupRemove.remove(groupId)
                group.put()
                user.put()
#                self.response.out.write('0')
                self.response.out.write(setting.WEBURL[7:]+'/InfoUpdate')
            else:
                self.response.out.write('2')
コード例 #7
0
 def get(self):
     username=get_current_user(self)
     self.render('templates/topnav.html',{'username':username,'user':getorAddUser(username),'userpoint':getorAddUserPoint(username)})
コード例 #8
0
    def post(self):
        try:
            userName=self.request.get("UserName")
            user=getorAddUser(userName)
            dm=self.request.get("dm")
            dmall=self.request.get("dmall")
            type_n=self.request.get("type_n")
            name=self.request.get("name")
            ###操作类型
            do=self.request.get('DoType')# '1'为加入 '2'为退订
            groupId=self.request.get('GroupId')
            if do=='1':
                #### 下面是加入群
                realNo=dmall
                if dmall=='sh000001':
                    dm=dmall
                if type_n in ['11','12']:
                    pass
#                    dm=dmall
                elif type_n == '31':
                    realNo='hk'+dm
                    #dm=realNo

                elif type_n=='41':
                    realNo='gb_'+dm
                    #dm=realNo
                else:
                    self.response.out.write(resultStr%('fail',u'只能订阅A股、B股、港股、美股',''))
                    return
                gupiaoToGroup=memcache.get('gupiaodm'+dm)
                if not gupiaoToGroup:
                    gupiaoToGroup=GupiaoToGroup.get_by_key_name(key_names='g'+dm)
                    if gupiaoToGroup:
                        memcache.set('gupiaodm'+dm,gupiaoToGroup,36000)
                if not gupiaoToGroup:
                    group=Group()
                    group.name=name
#                    if type_n =='11':
#                        group.gonggao=u'A股'
#                    if type_n =='12':
#                        group.gonggao=u'B股'
                    if type_n =='31':
                        group.gonggao=u'[港]'
                    if type_n =='41':
                        group.gonggao=u'[美]'
                    group.type=4
                    group.apptype='4'
                    group.author='000'
                    group.head=int(type_n)
                    group.notecount=1
                    group.put()
                    guPiaoNote=GuPiaoNote(key_name='g'+str(group.key().id()))
                    guPiaoNote.imagestr='_%s_%s'%(realNo,type_n)
                    guPiaoNote.updateTime=datetime.datetime.utcnow()+timezone
                    guPiaoNote.put()
                    gupiaoToGroup=GupiaoToGroup(key_name='g'+dm)
                    gupiaoToGroup.group=group.key().id()
                    gupiaoToGroup.name=name
                    gupiaoToGroup.dmall=dmall
                    gupiaoToGroup.type=type_n
                    gupiaoToGroup.put()
                    #######
                    ###同步给股票同步应用
                    result = urlfetch.fetch(
                        url =setting.GUPIAOURL+'/markGroup?groupid=%s&dm=%s&type=%s&realNo=%s'%(group.key().id(),dm,type_n,realNo),
        #                    payload = login_data,
                        method = urlfetch.GET,
                        headers = {'Content-Type':'application/x-www-form-urlencoded',
                                   'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6'},
                        follow_redirects = False,deadline=20)
                    if result.status_code != 200 :
                        group.delete()
                        gupiaoToGroup.delete()
                        guPiaoNote.delete()
                        self.response.out.write(resultStr%('fail',u'订阅股票失败,请稍后再试',''))
                        return
                    else:
                        memcache.set('gupiaodm'+dm,gupiaoToGroup,36000)
                        logging.info(result.content)
                        logging.info(guPiaoNote.content)
                        if result.content!=guPiaoNote.content:
                            guPiaoNote.content=result.content.decode('utf-8')
                            guPiaoNote.updateTime=datetime.datetime.utcnow()+timezone
                            guPiaoNote.put()


                else:
                    group=memacheGroup(gupiaoToGroup.group)
                if group:
                    if userName not in group.member:
                        group.member.append(userName)
                        group.put()
                    if group.key().id() not in user.memberGroup:
                        if group.key().id() not in user.memberGroupAdd:
                            user.memberGroupAdd.append(group.key().id())
                            user.put()
                        if group.key().id() in user.memberGroupRemove:
                            user.memberGroupRemove.remove(group.key().id())
                            user.put()
                else:
                    self.response.out.write(resultStr%('fail',u'订阅股票失败,股票已被删除',''))
                    return


            elif do=='2':
                ##### 下面是退出群 退订股票
                if groupId:
                    try:
                        groupId=int(groupId)
                    except Exception,e:
                        logging.info(str(e))
                        self.response.out.write('1')
                        return
                    group=memacheGroup(groupId)
                    if userName in group.member:
                        group.member.remove(userName)
                    if group.key().id() in user.memberGroup:
                        user.memberGroup.remove(group.key().id())
                        if group.key().id() not in user.memberGroupRemove:
                            user.memberGroupRemove.append(group.key().id())
                            if group.key().id() in user.memberGroupAdd:
                                user.memberGroupAdd.remove(group.key().id())
            self.response.out.write(resultStr%('success','',setting.WEBURL[7:]+'/InfoUpdate'))
コード例 #9
0
ファイル: interface.py プロジェクト: wangjian2254/moguim
    def get(self):
        d1 = datetime.datetime.utcnow()+timezone
        username=self.request.get('UserName') or ''
        saylist=memcache.get(username) or []
        contentlist=[]
        usermap={}
        usersaymap={}
        hasSay=False
        person=getorAddUser(username)
        if person:
            for uid,date,say in saylist:
                title='2'
                if uid in person.friends:
                    title='1'
                if not usermap.has_key(uid):
                    user=getuser(usermap,uid)
                    usersaymap[uid]=0
                    if not user:
                        continue
                    userdic=user2dic(user,True)
                    getMapList(contentlist,APPCODE+'-s1-'+uid,APPCODE+'-s1',title,APPCODE,'101',json.dumps(userdic),d1,'1',replayType)
                getMapList(contentlist,APPCODE+'-s1-'+uid+'-'+getUUID(),APPCODE+'-s1-'+uid,title,APPCODE,'102',say,date,'1',replayType)
                usersaymap[uid]+=1
            if contentlist:
                memcache.set(username+'InfoUpdate',{'num':0},12000)
            memcache.set(username,[],1000)
            xml,datas=infoallxmldic(contentlist)
            datas.setAttribute('type','infoupdate')
            datas.setAttribute('code',APPCODE)

#            noticenotenum=infoUpdateGroup(self,datas,getMapList,infoallxmldic,xml,person)
            infoUpdateGroup(self,datas,getMapList,infoallxmldic,xml,person)

            timespan=memcache.get(username+'InfoUpdate')
    #        logging.info(str(timespan))
            if not timespan :
                timespan={'num':0}

            if datas.hasChildNodes():#
                timespan['num']+=1
            if timespan['num']>4 :
                datas.setAttribute('timespan','120')
            else:
                datas.setAttribute('timespan','30')
            memcache.set(username+'InfoUpdate',timespan,12000)
    #        logging.info(str(timespan))
#            if contentlist or noticenotenum:
            if contentlist :
#                datas.setAttribute('noticetitle',u'收到新消息')
#                datas.setAttribute('noticecode',APPCODE)
                noticecontent=u'收到 '
                for uid in usermap.keys():
                    noticecontent+=(usermap[uid].nickname or str(uid)) +' :'+str(usersaymap[uid])+u'条新消息;'
#                datas.setAttribute('noticecontent',noticecontent[:-1])

                msg=xml.createElement('notice')
                msg.setAttribute('id','%s1'%(setting.APPCODE[1:],))
                msg.setAttribute('title',u'收到新消息')
                msg.setAttribute('content',noticecontent[:-1])
                msg.setAttribute('code','%s-s1'%(APPCODE,))
                datas.appendChild(msg)
            strxml=xml.toxml('utf-8')
            self.response.out.write(strxml)