def resetSysCamps(): camps=YaCampany.all() mycacher.set("camps",camps) tcamps={} for camp in camps: tcamps[camp.camp_id]=camp mycacher.set("syscamps",tcamps)
def getSysCamps(): tcamps=mycacher.get("syscamps") if tcamps is None: camps=YaCampany.all() mycacher.set("camps",camps) tcamps={} for camp in camps: tcamps[camp.camp_id]=camp mycacher.set("syscamps",tcamps) return tcamps
def getCampByID(camp_id): tcamps=mycacher.get("syscamps") if tcamps is None: camps=YaCampany.all() mycacher.set("camps",camps) tcamps={} for camp in camps: tcamps[camp.camp_id]=camp mycacher.set("syscamps",tcamps) logging.debug('failed cache tcamps') else: logging.debug('hit cache tcamps') return tcamps.get(str(camp_id),None)
def post(self): cid=self.request.form.get('camp_id') sum=int(self.request.form.get('change_control')) yacamps = getCampByID(cid) if yacamps is None: yacamps = YaCampany(camp_id=str(cid),amount=sum,key_name=str(cid)) yacamps.put() resetSysCamps() else: yacamps.amount=sum yacamps.put() resetSysCamps() return Response(str(cid)+'_'+str(sum))
def post(self): cid=int(self.request.form.get('get_invoice')) amn=round(float(self.request.form.get('amount'))/30,4) td=datetime.today()+_timezone opnum=td.year*365*60*60+td.month*30*60*60+td.day*60*60+td.hour*60+td.minute yacamps = getCampByID(cid) if yacamps is None: yacamps = YaCampany(camp_id=str(cid),amount=0,key_name=str(cid)) yacamps.put() resetSysCamps() # logging.debug('create invoice '+str(cid)+' amount '+str(amn)) yacamps.last_invoice=int(amn*30) yacamps.put() obj=mycacher.get("obj") if obj is None: obj=YaObject(ya_login,ya_pass,ya_token,ya_stoken) mycacher.set("obj",obj) logging.debug('create invoice '+str(cid)+', amount '+str(amn)) ret=obj.CreateInvoice(cid,amn,opnum) logging.debug('invoice url '+ret) memcache.delete("ams") return Response(ret)