Esempio n. 1
0
    def get(self):
        groupidList=[]
        result = urlfetch.fetch(
            url =setting.WEBURL+'/NeedSyncGuPiao',
#                    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 :
            logging.info(result.content)
            groupidList.extend(result.content.split(','))
            if groupidList:
                needGuPiao=memcache.get('syncgupiao')
                if not needGuPiao:
                    needGuPiao=NeedSyncGuPiao.get_by_key_name('syncgupiao')
                if needGuPiao :
                    for groupid in groupidList:
                        gupiaoGroup=memcache.get('group'+groupid)
                        if not gupiaoGroup:
                            gupiaoGroup=GuPiaoGroup.get_by_key_name('g'+groupid)
                        if gupiaoGroup:
                            memcache.set('group'+groupid,gupiaoGroup,36000)
                            if gupiaoGroup.realNo not in needGuPiao.gpcode:
                                needGuPiao.gpcode.append(gupiaoGroup.realNo)
                                needGuPiao.memcachegroupid.append("needsyncgupiao_groupid%s"%gupiaoGroup.key().name())
                                date=datetime.datetime.utcnow()+datetime.timedelta(hours =8)
                                needGuPiao.date=date.strftime('%Y-%m-%d')
                                needGuPiao.put()
                    memcache.set('syncgupiao',needGuPiao,36000)
Esempio n. 2
0
    def get(self):
        groupid=self.request.get('groupid')
        dm=self.request.get('dm')
        type=self.request.get('type')
        realNo=self.request.get('realNo')
        gupiaoGroup=memcache.get('group'+groupid)
        if not gupiaoGroup:
            gupiaoGroup=GuPiaoGroup.get_by_key_name('g'+groupid)
            if gupiaoGroup:
                memcache.set('group'+groupid,gupiaoGroup,36000)
        if not gupiaoGroup:
            if groupid and dm and type and realNo:
                gupiaoGroup=GuPiaoGroup(key_name='g'+groupid)
                gupiaoGroup.gpcode=dm
                gupiaoGroup.realNo=realNo
                gupiaoGroup.type=type
                gupiaoGroup.put()
                memcache.set('group'+groupid,gupiaoGroup,36000)
            else:
                self.error(500)
                return
        needGuPiao=memcache.get('syncgupiao')
        if not needGuPiao:
            needGuPiao=NeedSyncGuPiao.get_by_key_name('syncgupiao')
        if needGuPiao and gupiaoGroup.realNo not in needGuPiao.gpcode:
            needGuPiao.gpcode.append(gupiaoGroup.realNo)
            needGuPiao.memcachegroupid.append("needsyncgupiao_groupid%s"%gupiaoGroup.key().name())
            needGuPiao.put()
            memcache.set('syncgupiao',needGuPiao,36000)
            baseurl='http://hq.sinajs.cn/list='
            result = urlfetch.fetch(
                url =baseurl+realNo,
                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 :
                for gupiaostr in result.content.decode('gbk').split('\n'):
                    if gupiaostr:
                        gupiao_data_arr=gupiaostr[11:].split('=')
#                        gupiao_group=memcache.get(gupiao_data_arr[0])
#                        if not gupiao_group:
#                            gupiao_group=GuPiaoGroup.all().filter('realNo =',gupiao_data_arr[0]).fetch(1)
#                            if len(gupiao_group)==1:
#                                gupiao_group=gupiao_group[0]
#                                memcache.set(gupiao_group.realNo,gupiao_group,3600*24*3)
#                            else:
#                                gupiao_group=None
#                        if gupiao_group:
#                            groupid=gupiao_group.key().name()
#                            gupiaolist.append(groupid)
            #                post_data['flag'+groupid]=gupiao_data_arr[-25:]
                        self.response.out.write("{'groupid':'%s','realNo':'%s','type':'%s','min':'[*sys/min_%s_%s/a777_1*]','daily':'[*sys/daily_%s_%s/a777_1*]','data':'%s'}"%(groupid,realNo,type,realNo,type,realNo,type,gupiao_data_arr[1][1:-2]))
Esempio n. 3
0
 def get(self):
     groupid=self.request.get('groupid')
     gupiaoGroup=memcache.get('group'+groupid)
     if not gupiaoGroup:
         gupiaoGroup=GuPiaoGroup.get_by_key_name('g'+groupid)
         if gupiaoGroup:
             memcache.set('group'+groupid,gupiaoGroup,36000)
     if gupiaoGroup:
         baseurl='http://hq.sinajs.cn/list='
         result = urlfetch.fetch(
             url =baseurl+gupiaoGroup.realNo,
             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 :
             for gupiaostr in result.content.decode('gbk').split('\n'):
                 if gupiaostr:
                     gupiao_data_arr=gupiaostr[11:].split('=')
                     self.response.out.write("{'groupid':'%s','realNo':'%s','type':'%s','min':'[*sys/min_%s_%s/a777_1*]','daily':'[*sys/daily_%s_%s/a777_1*]','data':'%s'}"%(groupid,gupiaoGroup.realNo,gupiaoGroup.type,gupiaoGroup.realNo,gupiaoGroup.type,gupiaoGroup.realNo,gupiaoGroup.type,gupiao_data_arr[1][1:-2]))
                     return
     else:
         self.error(500)