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
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})
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
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'))
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})
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')
def get(self): username=get_current_user(self) self.render('templates/topnav.html',{'username':username,'user':getorAddUser(username),'userpoint':getorAddUserPoint(username)})
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'))
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)