예제 #1
0
파일: maincity.py 프로젝트: jacksyen/pyastd
 def run(self):
     self.request.include.logger.info(u"兵力不足10000")
     '''
     # 请求征兵操作
     url = "http://s%d.as.yaowan.com/root/mainCity!preDraught.action?%d" %(self.serverid,int(time.time()*1000))
     reqinfo = self.request.request(url)
     res = zlib.decompress(reqinfo.read())
     print 'preDraught res:',res
     '''
     
     '''
     补充兵力
     '''
     url = "http://s%d.as.yaowan.com/root/mainCity!draught.action?%d" %(self.serverid,int(time.time()*1000))
     data = {"forceNum":10000}
     reqinfo = self.request.request(url,data)
     res = zlib.decompress(reqinfo.read())
     if res:
         res = res[res.find("<?xml"):]
         infoXML = etree.XML(res)
         updateinfo = PlayerUpdateInfo()
         for child in infoXML.getchildren():
             if child.tag=="playerupdateinfo":
                 food = child.find("food").text
                 forces = child.find("forces").text
                 kfzonestate = child.find("kfzonestate").text
                 updateinfo.food = food
                 updateinfo.forces = forces
                 updateinfo.kfzonestate =kfzonestate
                 if updateinfo.forces:
                     self.request.include.logger.info(u"补充10000兵力成功")
                 else:
                     self.request.include.logger.info(u"补充10000兵力失败")
예제 #2
0
파일: maincity.py 프로젝트: jacksyen/pyastd
 def getPreFoodBandC(self):
     url = "http://s%d.as.yaowan.com/root/mainCity!preFoodBandC.action?%d" %(self.serverid,int(time.time()*1000))
     reqinfo = self.request.request(url)
     res = zlib.decompress(reqinfo.read())
     #print 'preFoodBandC res:',res
     if res:
         if res.find("<?xml")<0:
             self.request.include.logger.warning(u"获取粮食买卖信息失败,重新请求...")
             time.sleep(2)
             return self.getPreFoodBandC()
         res = res[res.find("<?xml"):]
         infoXML = etree.XML(res)
         foodbandc = FoodBandC()
         for child in infoXML.getchildren():
             if child.tag=="state":
                 foodbandc.state = child.text
             if child.tag=="buyprice":
                 foodbandc.buyprice = float(child.text)
             if child.tag=="price":
                 foodbandc.price = float(child.text)
             if child.tag=="isup":
                 foodbandc.isup = bool(child.text)
             if child.tag=="bsmax":
                 foodbandc.bsmax = int(child.text)
             if child.tag=="crutrade":
                 foodbandc.crutrade = int(child.text)
             if child.tag=="maxtrade":
                 foodbandc.maxtrade = int(child.text)
             if child.tag=="playerupdateinfo":
                 updateinfo = PlayerUpdateInfo()
                 updateinfo.food = child.findtext("food")
                 updateinfo.kfzonestate = child.findtext("kfzonestate")
                 foodbandc.playerupdateinfo = updateinfo        
         return foodbandc
     return None
예제 #3
0
파일: refine.py 프로젝트: jacksyen/pyastd
 def getRefineInfo(self):
     url = "http://s%d.as.yaowan.com/root/refine!getRefineInfo.action?%d" %(self.serverid,int(time.time()*1000))
     reqinfo = self.request.request(url)
     res = zlib.decompress(reqinfo.read())
     if res:
         if res.find("<?xml")<0:
             self.request.include.logger.warning(u"获取精炼信息失败,重新请求...")
             time.sleep(2)
             return self.getRefineInfo()
         res = res[res.find("<?xml"):]
         print 'refine res:',res
         infoXML = etree.XML(res)
         refineInfo = RefineInfo()
         refinergrouplist = []
         refinerlist = []
         for child in infoXML.getchildren():
             if child.tag=="state":
                 refineInfo.state = child.text
             if child.tag=="refinenum":
                 refineInfo.refinenum = int(child.text)
             if child.tag=="maxrefinenum":
                 refineInfo.maxrefinenum = child.text
             if child.tag=="surplursleft":
                 refineInfo.surplursleft = child.text
             if child.tag=="copper":
                 refineInfo.copper = child.text
             if child.tag=="percost":
                 refineInfo.percost = child.text
             if child.tag=="allcost":
                 refineInfo.allcost = child.text
             if child.tag=="refinergroup":
                 refinergroup        = RefinerGroup()
                 refinergroup.time   = int(child.findtext("time"))
                 refinergroup.id     = child.findtext("id")
                 refinergroup.cdflag = int(child.findtext("cdflag"))
                 refinergrouplist.append(refinergroup)
             if child.tag=="refiner":
                 refiner = Refiner()
                 refiner.id    = child.findtext("id")
                 refiner.color = child.findtext("color")
                 refiner.name  = child.findtext("name")
                 refiner.stone = child.findtext("stone")
                 refiner.order = child.findtext("order")
                 refiner.desc  = child.findtext("desc")
                 refinerlist.append(refiner)
             if child.tag=="playerupdateinfo":
                 updateinfo = PlayerUpdateInfo()
                 updateinfo.kfzonestate = child.findtext("kfzonestate")
                 refineInfo.playerupdateinfo = updateinfo
         refineInfo.refinergrouplist = refinergrouplist
         refineInfo.refinerList = refinerlist
         return refineInfo
     return None
예제 #4
0
파일: general.py 프로젝트: jacksyen/pyastd
 def getTrainGeneralInfo(self):
     url = "http://s%d.as.yaowan.com/root/general!getTrainGeneralInfo.action?%d" %(self.serverid,int(time.time()*1000))
     reqinfo = self.request.request(url)
     res = zlib.decompress(reqinfo.read())
     if res:
         if res.find("<?xml")<0:
             self.request.include.logger.warning(u"获取武将训练信息失败,重新请求...")
             time.sleep(2)
             return self.getTrainGeneralInfo()
         res = res[res.find("<?xml"):]
         infoXML = etree.XML(res)
         generalinfo = GeneralInfo()
         generallist    = []
         timemodellist  = []
         trainmodellist = []
         for child in infoXML.getchildren():
             if child.tag=="state":
                 generalinfo.state = child.text
             if child.tag=="general":
                 general = General()
                 general.generalid    = child.findtext("generalid")
                 general.generallevel = int(child.findtext("generallevel"))
                 general.trainflag    = child.findtext("trainflag")
                 general.generalexp   = int(child.findtext("generalexp"))
                 general.autogrow     = int(child.findtext("autogrow"))
                 general.nextlevelexp = child.findtext("nextlevelexp")
                 general.generalname  = child.findtext("generalname")
                 general.pic          = child.findtext("pic")
                 general.shiftlv      = int(child.findtext("shiftlv"))
                 general.trainmodel   = child.findtext("trainmodel")
                 general.exppermin    = child.findtext("exppermin")
                 general.jyungong     = child.findtext("jyungong")
                 general.jyungongexp  = child.findtext("jyungongexp")
                 generallist.append(general)
             if child.tag=="timemodel":
                 timemodel = TimeModel()
                 timemodel.time = child.findtext("time")
                 timemodel.cost = child.findtext("cost")
                 timemodellist.append(timemodel)
             if child.tag=="trainmodel":
                 trainmodel = TrainModel()
                 trainmodel.times = child.findtext("times")
                 trainmodel.name  = child.findtext("name")
                 trainmodel.cost  = child.findtext("cost")
                 trainmodellist.append(trainmodel)
             if child.tag=="currentnum":
                 generalinfo.currentnum = child.text
             if child.tag=="maxnum":
                 generalinfo.maxnum = child.text
             if child.tag=="cost":
                 generalinfo.cost = child.text
             if child.tag=="cd":
                 generalinfo.cd = int(child.text)
             if child.tag=="cdflag":
                 generalinfo.cdflag = int(child.text)
             if child.tag=="goldguide":
                 generalinfo.goldguide = child.text
             if child.tag=="tfnum":
                 generalinfo.tfnum = child.text
             if child.tag=="generaldto":
                 generaldto = GeneraldTo()
                 generaldto.generalid           = child.findtext("generalid")
                 generaldto.generalname         = child.findtext("generalname")
                 generaldto.leader              = child.findtext("leader")
                 generaldto.forces              = child.findtext("forces")
                 generaldto.intelligence        = child.findtext("intelligence")
                 generaldto.enchantleader       = child.findtext("enchantleader")
                 generaldto.enchantforces       = child.findtext("enchantforces")
                 generaldto.enchantintelligence = child.findtext("enchantintelligence")
                 generaldto.skillname           = child.findtext("skillname")
                 generaldto.skillintro          = child.findtext("skillintro")
                 generaldto.solidernum          = child.findtext("solidernum")
                 generaldto.maxsolidernum       = child.findtext("maxsolidernum")
                 generaldto.generalexp          = child.findtext("generalexp")
                 generaldto.generallevel        = child.findtext("generallevel")
                 generaldto.intro               = child.findtext("intro")
                 generaldto.nextlevelexp        = child.findtext("nextlevelexp")
                 generaldto.troopid             = child.findtext("troopid")
                 generaldto.trooptype           = child.findtext("trooptype")
                 generaldto.trooplevel          = child.findtext("trooplevel")
                 generaldto.troopstagename      = child.findtext("troopstagtename")
                 generaldto.trooptypename       = child.findtext("trooptypename")
                 generaldto.troopname           = child.findtext("troopname")
                 generaldto.troopintro          = child.findtext("troopintro")
                 generaldto.pic                 = child.findtext("pic")
                 generaldto.online              = child.findtext("online")
                 generaldto.trainflag           = child.findtext("trainflag")
                 generalinfo.generaldto = generaldto
             if child.tag=="trainers":                    
                 trainers = Trainers()
                 trainerlist = []
                 for cchild in child.getchildren():
                     if cchild.tag=="wuhun":
                         trainers.wuhun = int(cchild.text)
                     if cchild.tag=="totalcost":
                         trainers.totalcost = child.text
                     if cchild.tag=="totalgoldcost":
                         trainers.totalgoldcost = child.text
                     if cchild.tag=="gold":
                         trainers.gold = child.text
                     if cchild.tag=="trainer":
                         trainer = Trainer()
                         trainer.trainerid   = cchild.findtext("trainerid")
                         trainer.name        = cchild.findtext("name")
                         trainer.whnum       = int(cchild.findtext("whnum"))
                         trainer.basictimes  = cchild.findtext("basistimes")
                         trainer.times       = int(cchild.findtext("times"))
                         trainer.lvlimit     = cchild.findtext("lvlimit")
                         trainer.effectintro = cchild.findtext("effectintro")
                         trainer.intro       = cchild.findtext("intro")
                         trainer.pic         = cchild.findtext("pic")
                         trainerlist.append(trainer)
                     trainers.trainerlist = trainerlist
                 generalinfo.trainers = trainers
             if child.tag=="playerupdateinfo":
                 updateinfo = PlayerUpdateInfo()
                 updateinfo.traincurrentnum = child.findtext("traincurrentnum")
                 updateinfo.maxtrainnum = child.findtext("maxtrainnum")
                 updateinfo.kfzonestate = child.findtext("kfzonestate")                    
                 generalinfo.playerupdateinfo = updateinfo
         generalinfo.generallist = generallist
         generalinfo.timemodellist  = timemodellist
         generalinfo.trainmodelist = trainmodellist
         return generalinfo
     return None
예제 #5
0
 def getSecretary(self):
     url = "http://s%d.as.yaowan.com/root/secretary.action?%d" %(self.serverid,int(time.time()*1000))
     reqinfo = self.request.request(url)
     res = zlib.decompress(reqinfo.read())
     #print 'secreatary res:',res
     if res:
         if res.find("<?xml")<0:
             self.request.include.logger.warning(u"获取秘书信息失败,重新请求...")
             time.sleep(2)
             return self.getSecretary()
         res = res[res.find("<?xml"):]
         #print 'secr res xml:',res
         infoXML = etree.XML(res)
         secretary = Secretary()
         for child in infoXML.getchildren():
             if child.tag=="state":
                 secretary.state = child.text
             if child.tag=="liid":
                 secretary.liid = child.text
             if child.tag=="lin":
                 secretary.lin = int(child.text)
             if child.tag=="ss":
                 secretary.ss = int(child.text)
             if child.tag=="fp":
                 secretary.fp = child.text
             if child.tag=="name":
                 secretary.name = child.text
             if child.tag=="lv":
                 secretary.lv = child.text
             if child.tag=="pic":
                 secretary.pic = child.text
             if child.tag=="fun":
                 secretary.fun = child.text
             if child.tag=="tasknum":
                 secretary.tasknum = child.text
             if child.tag=="maxtokennum":
                 secretary.maxtokennum = child.text
             if child.tag=="cd":
                 secretary.cd = child.text
             if child.tag=="tokennum":
                 secretary.tokennum = child.text
             if child.tag=="makenum":
                 secretary.makenum = child.text
             if child.tag=="freer":
                 secretary.freer = child.text
             if child.tag=="task":
                 tasklist = []
                 for cchild in child.getchildren():
                     task = Task()
                     if cchild.tag=="tid":
                         task.tid = cchild.text
                     if cchild.tag=="tname":
                         task.tname = cchild.text
                     if cchild.tag=="tstate":
                         task.tstaet = cchild.text
                     if cchild.tag=="cd":
                         task.cd = cchild.text
                     if cchild.tag=="num":
                         task.num = cchild.text
                     if cchild.tag=="name":
                         task.name = cchild.text
                     tasklist.append(task)
                 secretary.tasklist = tasklist
             if child.tag=="playerupdateinfo":
                 updateinfo = PlayerUpdateInfo()
                 updateinfo.kfzonestate = child.findtext("kfzonestate")
                 secretary.playerupdateinfo = updateinfo
         return secretary
     return None