def QueStats(): print >>logfile,Date(),'%11s %s ' % ("****Message**** The Runtime Thread Stats of",svr) thread = getMBean('domainRuntime:/ServerRuntimes/'+svr+'/ThreadPoolRuntime/ThreadPoolRuntime') print ' ' try: #for thread in tlist: ithreads = thread.getExecuteThreadIdleCount() tthreads = thread.getExecuteThreadTotalCount() pthreads = thread.getPendingUserRequestCount() qlength = thread.getQueueLength() sthreads = thread.getStandbyThreadCount() health = thread.getHealthState() if (ithreads <= threadIdle): print >>logfile,Date(),'%17s %s %s %9s %9s ' % ('****Warning**** ',domainName,'.',svr,'JVM is running low on Idle Threads.') if (pthreads >= pendingRequests): print >>logfile,Date(),'%17s %s %s %9s %9s ' % ('****Warning**** ',domainName,'.',svr,'has more than 100 requests pending') else: print >>logfile,Date(),'%16s %9s %s %9s %9s %s' % ('****Info**** ',domainName,'.',svr,'.ThreadIdleCount=',ithreads) print >>logfile,Date(),'%16s %9s %s %9s %9s %s' % ('****Info**** ',domainName,'.',svr,'.TotalCount=',tthreads) print >>logfile,Date(),'%16s %9s %s %9s %9s %s' % ('****Info**** ',domainName,'.',svr,'.PendingRequestCount=',pthreads) print >>logfile,Date(),'%16s %9s %s %9s %9s %s' % ('****Info**** ',domainName,'.',svr,'.QueueLength=',qlength) print >>logfile,Date(),'%16s %9s %s %9s %9s %s' % ('****Info**** ',domainName,'.',svr,'.StandbyThreadCount=',sthreads) print >>logfile,Date(),'%16s %9s %s %9s %9s %s' % ('****Info**** ',domainName,'.',svr,'.ThreadState=',health) print ' ' except: print >>logfile,Date(),'%17s %9s %s %9s %9s ' % ('****ERROR**** No Runtime Threads found for ',domainName,'.',svr ,' Please Check the status manually')
def processCertInfo(): certInfo = {} dtFormat = SimpleDateFormat("E MMM dd HH:mm:ss yyyy") logFile = open("logs/cert.log", "w") for line in open('logs/expiringCerts.txt'): if 'App Stripe' in line: certInfo['appStripe'] = line.split('=')[1].strip() if 'Keystore' in line: certInfo['keystore'] = line.split('=')[1].strip() if 'Alias' in line: certInfo['alias'] = line.split('=')[1].strip() if 'Certificate status' in line: certInfo['status'] = line.split('=')[1].strip() if 'Expiration Date' in line: #Expiration Date record marks the end of certificate info. Below block processes currrent cert. certInfo['expiryDt'] = line.split('=')[1].strip() expiryDtFmtd = str(certInfo['expiryDt']).replace( "UTC ", "") # Removes UTC from date string to build date object. expiryDtObj = dtFormat.parse(expiryDtFmtd) currDtObj = Date() #Get current date. timeDiff = expiryDtObj.getTime() - currDtObj.getTime() daysBetween = (timeDiff / (1000 * 60 * 60 * 24)) if daysBetween >= 0 and daysBetween <= int( alertDays ) and certInfo['keystore'] in keystoresList and certInfo[ 'alias'] not in certAliasExcptList: #Only concerned about keystores mentioned in the properties file. logFile.write("Certificate in app stripe \"" + certInfo['appStripe'] + "\" and keystore \"" + certInfo['keystore'] + "\" with alias name \"" + certInfo['alias'] + "\" is expiring on " + certInfo['expiryDt'] + "\n") logFile.write("\n") certInfo = {} logFile.close()
def saveOrUpdatePrepareCourse(self): memberId = self.params.safeGetIntValues("memberId") for id in memberId: user = self.user_svc.getUserById(id) # 判断用户是否真实存在,并是有效的用户。 user = self.user_svc.getUserById(id) if user == None: self.printer.addMessage(u"您输入的用户不存在。") return self.printer.printMessage( "manage/course/createPreCourse2.py?prepareCourseId=" + str(self.prepareCourseId), "") # 判断该用户是否已经在此备课中 if self.pc_svc.checkUserInPreCourse(self.prepareCourseId, user.userId): self.printer.addMessage(u"该用户已经存在。") return self.printer.printMessage( "manage/course/createPreCourse2.py?prepareCourseId=" + str(self.prepareCourseId), "") # 将用户加入到用户表中 pcm = PrepareCourseMember() pcm.setPrepareCourseId(self.prepareCourseId) pcm.setUserId(user.userId) pcm.setJoinDate(Date()) pcm.setReplyCount(0) pcm.setContentLastupdated(Date()) self.pc_svc.addPrepareCourseMember(pcm) self.printer.hasError = False self.printer.addMessage(u"添加完毕。") return self.printer.printMessage( "manage/course/createPreCourse2.py?prepareCourseId=" + str(self.prepareCourseId), "")
def __init__(self): dataDir = Settings.dataDir + 'ProgrammingOutlook/WorkingWithOutlookPersonalStorage/AddMapiTaskToPST/' task = MapiTask("To Do", "Just click and type to add task", Date(), Date()) task.setPercentComplete(20) task.setEstimatedEffort(2000) task.setActualEffort(20) mapiTaskHistory = MapiTaskHistory() task.setHistory(mapiTaskHistory.Assigned) task.setLastUpdate(Date()) task.getUsers().setOwner("Darius") task.getUsers().setLastAssigner("Harkness") task.getUsers().setLastDelegate("Harkness") mapiTaskOwnership = MapiTaskOwnership() task.getUsers().setOwnership(mapiTaskOwnership.AssignersCopy) personalStorage = PersonalStorage() fileFormatVersion = FileFormatVersion pst = personalStorage.create(dataDir + "TaskPST.pst", fileFormatVersion.Unicode) standardIpmFolder = StandardIpmFolder task_folder = pst.createPredefinedFolder("Tasks", standardIpmFolder.Tasks) task_folder.addMapiMessageItem(task) print "Added MapiTask Successfully.".PHP_EOL
def __init__(self): '''@RETURN: ''' dt = Date() self.m_temp_file = File.createTempFile(str(dt.getTime()), '.ood') self.m_temp_file.deleteOnExit() self.m_temp_file_writer = FileWriter(self.m_temp_file) self.m_line_count = 1
def test(): from java.util import Date transform = GeocodeTransform() datos = ( { "FECHA_ACCIDENTE": Date("22/12/2018"), "CARRETERA": "CV-95", "KM": 181 }, { "FECHA_ACCIDENTE": Date("12/12/2018"), "CARRETERA": "CV-921", "KM": 23 }, { "FECHA_ACCIDENTE": Date("21/12/2018"), "CARRETERA": "CV-84", "KM": 145 }, { "FECHA_ACCIDENTE": Date("21/12/2018"), "CARRETERA": "N-332", "KM": 908 }, ) for dato in datos: transform.apply(dato) print dato.get("MAPA", None)
def __init__(self): """@RETURN: """ dt = Date() self.m_temp_file = File.createTempFile(str(dt.getTime()), ".ood") self.m_temp_file.deleteOnExit() self.m_temp_file_writer = FileWriter(self.m_temp_file) self.m_line_count = 1
def test(self): expectedHwm = Date() #inject syncfile info for user um = self.mc.getUserManager() user = um.getUser('*****@*****.**') uid = user.getUserID() syncfile = SyncFile() syncfile.setCustomerId(user.getCustomerID()) syncfile.setUserId(uid) syncfile.setFileName("dummy.xml") syncfile.setFileSize(200) syncfile.setFhsSuccesses(1) syncfile.setFinishedDate(expectedHwm) syncfile.setFisSuccesses(1) syncfile.setProcessingTime(1) syncfile.setReceivedDate(expectedHwm) syncfile.setRootFolderId("rootfolderid") syncfile.setSequenceId(1) syncfile.setState(SyncFileState.Finished) sfToken = self.fsm.createSyncFileToken(syncfile) syncfile.setToken(sfToken) self.fsm.saveSyncFile(syncfile) #query service and see if the value matches status, outHeaders, outContent = hwmCall(self.url, self.authToken) assertEqual('wrong rc', "0", outHeaders["x-m1-ems-error-code"]) assertEqual('wrong msg', "Success", outHeaders["x-m1-ems-error-message"]) assertEqual('wrong msg', str(expectedHwm.getTime()), outContent)
def save_post(self): st = self.params.safeGetStringParam("st") if st == "": self.addActionError(u"请输入专题标题。") return ActionResult.ERROR so = self.params.safeGetStringParam("so") sd = self.params.safeGetStringParam("sd") se = self.params.safeGetStringParam("se") expire_date = Date() try: expire_date = SimpleDateFormat("yyyy-MM-dd").parse(se) except: actionErrors = [u"输入的日期格式不正确,应当是: '年年年年-月月-日日' 格式"] request.setAttribute("actionErrors", actionErrors) return self.ERROR specialSubject = SpecialSubject() specialSubject.setTitle(st) if so != "": specialSubject.setLogo(so) if sd != "": specialSubject.setDescription(sd) specialSubject.setObjectType("system") specialSubject.setObjectId(0) specialSubject.setCreateDate(Date()) specialSubject.setCreateUserId(self.loginUser.userId) specialSubject.setExpiresDate(expire_date) self.specialSubject_svc.saveOrUpdateSpecialSubject(specialSubject) return ActionResult.SUCCESS
def setState( self, data ): self.last = None self.next = None if data.has( "last" ): self.last = Date( data.getInt( "last" ) * 1000 ) if data.has( "next" ): self.next = Date( data.getInt( "next" ) * 1000 )
def saveOrUpdatePrepareCourse(self): if self.prepareCourse == None: self.prepareCourse = PrepareCourse() self.prepareCourse.setPrepareCoursePlanId(self.prepareCoursePlan.prepareCoursePlanId) else: # 只有admin 和 主备人进行修改 if not(self.accessControlService.isSystemAdmin(self.loginUser) or self.loginUser.userId == self.prepareCourse.createUserId ): self.printer.msg = u"只有 admin 或者创建人、主备人才能进行修改。<br/><br/><a href='createPreCourse.py'>返回</a>" return self.printer.printError() pcTitle = self.params.safeGetStringParam("pcTitle") pcStartDate = self.params.safeGetStringParam("pcStartDate") pcEndDate = self.params.safeGetStringParam("pcEndDate") pcGradeId = self.params.getIntParamZeroAsNull("pcGrade") pcMetaSubjectId = self.params.getIntParamZeroAsNull("pcMetaSubject") pcDescription = self.params.safeGetStringParam("pcDescription") pcLeader = self.params.safeGetIntParam("pcLeader") pcTags = self.params.safeGetStringParam("pcTags") if pcLeader == 0: user_leader = self.loginUser else: user_leader = self.user_svc.getUserById(pcLeader) if user_leader == None: self.printer.msg = u"该用户不存在。<br/><br/><a href='createPreCourse.py'>返回</a>" return self.printer.printError() if pcGradeId == None or pcGradeId == 0: self.printer.msg = u"你必须选择一个学段。" return self.printer.printError() if pcMetaSubjectId == None or pcMetaSubjectId == 0: self.printer.msg = u"你必须选择一个学科。" return self.printer.printError() pcStartDateTime = SimpleDateFormat("yyyy-MM-dd").parse(pcStartDate) pcEndDateTime = SimpleDateFormat("yyyy-MM-dd").parse(pcEndDate) self.prepareCourse.setTitle(pcTitle) self.prepareCourse.setStartDate(pcStartDateTime) self.prepareCourse.setEndDate(pcEndDateTime) self.prepareCourse.setDescription(pcDescription) self.prepareCourse.setMetaSubjectId(int(pcMetaSubjectId)) self.prepareCourse.setGradeId(int(pcGradeId)) self.prepareCourse.setCreateUserId(self.loginUser.userId) self.prepareCourse.setCreateDate(Date()) self.prepareCourse.setLockedDate(Date()) self.prepareCourse.setLeaderId(user_leader.getUserId()) self.prepareCourse.setLockedUserId(0) self.prepareCourse.setPrepareCourseEditId(0) self.prepareCourse.setTags(pcTags) if self.prepareCourseId > 0: self.pc_svc.updatePrepareCourse(self.prepareCourse) self.printer.msg = u"您的 <span style='color:#f00'>" + pcTitle + u"</span> 修改成功。<br/><br/><a href='showPrepareCourse.py?prepareCourseId=" + str(self.prepareCourse.prepareCourseId) + "'>返回</a>" return self.printer.printError() else: self.pc_svc.createPrepareCourse(self.prepareCourse) self.printer.msg = u"您的 <span style='color:#f00'>" + pcTitle + u"</span> 创建成功。<br/><br/><a href='showPrepareCourse.py?prepareCourseId=" + str(self.prepareCourse.prepareCourseId) + "'>返回</a>" return self.printer.printError()
def expiration_in_days(self): """ Return the number of days until the certificate expires. If the certificate is already expired a negative number is returned. """ now = Date() diff = self.__not_after.getTime() - now.getTime() return TimeUnit.DAYS.convert(diff, TimeUnit.MILLISECONDS)
def checkHealth(): svrName = server.getName() slBean = getSLCRT(svrName) status = slBean.getState() if status != "RUNNING": print >>logfile,Date(),'%16s %9s %s %9s %9s ' % ('****ERROR**** ',domainName,'.',svrName,'is down') else: print >>logfile,Date(),'%11s %9s %s %9s %9s %9s' % ('****Info***** ',domainName,'.',svrName,'. Status=',status)
def JVMStats(): svr= server.getName() print >>logfile,Date(),'%13s %s ' % ("****Message**** The Runtime JVM Stats of",svr) jvmRT=getMBean('domainRuntime:/ServerRuntimes/'+svr+'/JVMRuntime/'+svr) print ' ' try: GCStart = jvmRT.getLastGCStart() GCEnd = jvmRT.getLastGCEnd() GCTime = jvmRT.getTotalGarbageCollectionTime() GCCount = jvmRT.getTotalGarbageCollectionCount() freejvm = jvmRT.getHeapFreeCurrent() totaljvm = jvmRT.getHeapSizeCurrent() freepercent = jvmRT.getHeapFreePercent() usedjvm = (totaljvm - freejvm) print >>logfile,Date(),'%16s %9s %s %9s %9s %s' % ("****Info**** ",domainName,".",svr,".GCStart=",GCStart) print >>logfile,Date(),'%16s %9s %s %9s %9s %s' % ("****Info**** ",domainName,".",svr,".GCEnd=",GCEnd) print >>logfile,Date(),'%16s %9s %s %9s %9s %s' % ("****Info**** ",domainName,".",svr,".GCTime=",GCTime) print >>logfile,Date(),'%16s %9s %s %9s %9s %s' % ("****Info**** ",domainName,".",svr,".GCCount=",GCCount) print >>logfile,Date(),'%16s %9s %s %9s %9s %s' % ("****Info**** ",domainName,".",svr,".TotalJVM=",totaljvm) print >>logfile,Date(),'%16s %9s %s %9s %9s %s' % ("****Info**** ",domainName,".",svr,".UsedJVM=",usedjvm) print >>logfile,Date(),'%16s %9s %s %9s %9s %s' % ("****Info**** ",domainName,".",svr,".FreeJVM=",int(freejvm)) print ' ' except: print >>logfile,Date(),'%16s %9s %9s %9s ' % ('****ERROR**** Server ',svr,' Not Running in domain ',domainName)
def execute(self): # 权限:只要是组员都可以进行生成。 if self.loginUser == None: actionErrors = [u"请先登录。"] request.setAttribute("actionErrors", actionErrors) return self.ERROR self.groupId = self.params.safeGetIntParam("groupId") self.group = self.groupService.getGroup(self.groupId) if self.group == None: actionErrors = [u"未能成功加载协作组。"] request.setAttribute("actionErrors", actionErrors) return self.ERROR self.prepareCoursePlanId = self.params.safeGetIntParam( "prepareCoursePlanId") self.prepareCoursePlan = self.prepareCourseService.getPrepareCoursePlan( self.prepareCoursePlanId) if self.prepareCoursePlan == None: actionErrors = [u"未能成功加载备课计划对象。"] request.setAttribute("actionErrors", actionErrors) return self.ERROR self.prepareCourseId = self.params.safeGetIntParam("prepareCourseId") # print "self.prepareCourseId,", self.prepareCourseId self.prepareCourse = self.prepareCourseService.getPrepareCourse( self.prepareCourseId) if self.prepareCourse == None: actionErrors = [u"未能成功加载集体备课对象。"] request.setAttribute("actionErrors", actionErrors) return self.ERROR # 得到成员,加入成员表中 qry = GroupMemberQuery("gm.userId") qry.groupId = self.groupId user_list = qry.query_map() for u in user_list: if self.prepareCourseService.checkUserExistsInPrepareCourse( self.prepareCourseId, u["userId"]) == False: m = PrepareCourseMember() m.setPrepareCourseId(self.prepareCourseId) m.setUserId(u["userId"]) m.setJoinDate(Date()) m.setStatus(0) m.setReplyCount(0) m.setContentLastupdated(Date()) self.prepareCourseService.addPrepareCourseMember(m) # 更新统计信息 self.prepareCourse.setPrepareCourseGenerated(True) self.prepareCourseService.updatePrepareCourse(self.prepareCourse) self.prepareCourseService.countPrepareCourseData( self.prepareCourse.prepareCourseId) response.sendRedirect("group_course_plan_edit.py?groupId=" + str(self.groupId) + "&prepareCoursePlanId=" + str(self.prepareCoursePlanId))
def __setitem__(self, key, value): if key == 'vtecstr': self.atr.setVtecstr(value) elif key == 'etn': self.atr.setEtn(str(value)) elif key == 'sig': self.atr.setSig(value) elif key == 'phen': self.atr.setPhen(value) elif key == 'segText': self.atr.setSegText(value) elif key == 'overviewText': self.atr.setOverviewText(value) elif key == 'phensig': self.atr.setPhensig(value) elif key == 'act': self.atr.setAct(value) elif key =='seg': self.atr.setSeg(value) elif key == 'startTime': start = Date(long(value * 1000)) self.atr.setStartTime(start) elif key == 'endTime': end = Date(long(value * 1000)) self.atr.setEndTime(end) elif key == 'purgeTime': purge = Date(long(value * 1000)) self.atr.setPurgeTime(purge) elif key == 'issueTime': issue = Date(long(value * 1000)) self.atr.setIssueTime(issue) elif key == 'ufn': self.atr.setUfn(value) elif key == 'officeid': self.atr.setOfficeid(value) elif key == 'state': self.state = value elif key == 'xxxid': self.atr.setXxxid(value) elif key == 'pil': self.atr.setPil(value) self.pil = value elif key == 'productClass': self.atr.setProductClass(value) elif key == 'id': self.id = value if type(value) == str: self.atr.setUgcZone(value) elif key == 'rawMessage': self.atr.setRawmessage(value) else: raise KeyError
def create_blank_template(self, template_name): template = Release() template.title = template_name template.status = ReleaseStatus.TEMPLATE template.scheduledStartDate = Date() template.dueDate = Date(template.scheduledStartDate.getTime() + 3600000) template = self.templateApi.createTemplate(template) # Delete unnecessary "New Phase" self.phaseApi.deletePhase(template['phases'][0].id) return template
def handleBankTip(owner, window, eventType, returnList): core = NGECore.getInstance() chatSvc = core.chatService actorGlobal = core.objectService.getObject(actorID) targetGlobal = core.objectService.getObject(targetID) actorFunds = actorGlobal.getBankCredits() totalLost = int(tipAmountBank) + bankSurcharge if eventType == 0: if int(totalLost) > actorFunds: actorGlobal.sendSystemMessage('You do not have ' + str(totalLost) + ' credits (surcharge included) to tip the desired amount to ' + targetGlobal.getCustomName() + '.', 0) return if int(tipAmount) > 0 and int(actorFunds) >= int(totalLost): date = Date() targetName = targetGlobal.getCustomName() targetMail = Mail() targetMail.setMailId(chatSvc.generateMailId()) targetMail.setTimeStamp((int) (date.getTime() / 1000)) targetMail.setRecieverId(targetID) targetMail.setStatus(Mail.NEW) targetMail.setMessage(tipAmount + ' credits from ' + actorGlobal.getCustomName() + ' have been successfully delivered from escrow to your bank account') targetMail.setSubject('@base_player:wire_mail_subject') targetMail.setSenderName('bank') actorMail = Mail() actorMail.setMailId(chatSvc.generateMailId()) actorMail.setRecieverId(actorID) actorMail.setStatus(Mail.NEW) actorMail.setTimeStamp((int) (date.getTime() / 1000)) actorMail.setMessage('An amount of ' + tipAmount + ' credits have been transfered from your bank to escrow. It will be delivered to ' + targetGlobal.getCustomName() + ' as soon as possible.') actorMail.setSubject('@base_player:wire_mail_subject') actorMail.setSenderName('bank') targetGlobal.setBankCredits(int(tipAmount) + int(targetGlobal.getBankCredits())) actorGlobal.setBankCredits(int(actorFunds) - int(totalLost)) actorGlobal.sendSystemMessage('You have successfully sent ' + tipAmount + ' bank credits to ' + targetGlobal.getCustomName(), 0) targetGlobal.sendSystemMessage('You have successfully received ' + tipAmount + ' bank credits from ' + actorGlobal.getCustomName(), 0) chatSvc.storePersistentMessage(actorMail) chatSvc.storePersistentMessage(targetMail) chatSvc.sendPersistentMessageHeader(actorGlobal.getClient(), actorMail) chatSvc.sendPersistentMessageHeader(targetGlobal.getClient(), targetMail) return else: actorGlobal.sendSystemMessage('You lack the bank funds to wire ' + tipAmount + ' bank funds to ' + targetGlobal.getCustomName() + '.', 0) return return
def execute(self): import herschel, os obsCont = fa.load(self.filename + '_ObsCont.fits') hk = fa.load(self.filename + '_HPPHK.fits')['hk'] pointing = fa.load(self.filename + '_Pointing.fits') orbitEphem = fa.load(self.filename + '_OrbitEphem.fits') timeCorr = fa.load(self.filename + '_TimeCorr.fits') calTree = getCalTree("FM") for band in ('blue', 'green', 'red'): try: frames = fa.load(self.filename + '_' + band + '_level0Frames.fits') except java.io.IOException: continue print "running findBlocks", Date() frames = findBlocks(frames) print "photFlagBadPixels", Date() frames = photFlagBadPixels(frames, calTree=calTree) myMask = _mkMyMask(band) badPix = frames.getMask('BADPIXELS') dims = badPix.dimensions for ipix in range(dims[0]): for jpix in range(dims[1]): if (myMask[ipix,jpix] == True): badPix[ipix,jpix,:] = True frames.setMask('BADPIXELS',badPix) # This checks for ADC & CL saturation print "photFlagSaturation", Date() frames = photFlagSaturation(frames, calTree=calTree, hkdata=hk, check='full') print "photConvDigit2Volts", Date() frames = photConvDigit2Volts(frames, calTree=calTree) print "Convert chopper position to angle", Date() frames = convertChopper2Angle(frames,calTree=calTree) System.gc() print "Add pointing", Date() frames = photAddInstantPointing(frames, pointing, calTree=calTree, orbitEphem = orbitEphem) System.gc() # we shall never use the pointing and ephemris data again print "cleanPlateauFrames ; " , Date() frames = cleanPlateauFrames(frames, calTree=calTree) System.gc() # now save the file print 'Write prepared frames to disk', Date() prepared_filename = os.path.join(self.path, os.path.basename(self.filename)) fa.save(prepared_filename + '_' + band + '_PreparedFrames.fits', frames) print
def handleBankTip(core, owner, eventType, returnList): bankSurcharge = int(math.ceil(0.05 * float(transferTotal))) core = NGECore.getInstance() chatSvc = core.chatService actorGlobal = tipFrom targetGlobal = tipTo actorFunds = actorGlobal.getBankCredits() totalLost = int(transferTotal) + bankSurcharge if eventType == 0: if int(totalLost) > actorFunds: actorGlobal.sendSystemMessage('You do not have ' + str(totalLost) + ' credits (surcharge included) to tip the desired amount to ' + targetGlobal.getCustomName() + '.', 0) return if int(transferTotal) > 0 and int(actorFunds) >= int(totalLost): date = Date() targetName = targetGlobal.getCustomName() targetMail = Mail() targetMail.setMailId(chatSvc.generateMailId()) targetMail.setTimeStamp((int) (date.getTime() / 1000)) targetMail.setRecieverId(targetGlobal.getObjectId()) targetMail.setStatus(Mail.NEW) targetMail.setMessage(`transferTotal` + ' credits from ' + actorGlobal.getCustomName() + ' have been successfully delivered from escrow to your bank account') targetMail.setSubject('@base_player:wire_mail_subject') targetMail.setSenderName('bank') actorMail = Mail() actorMail.setMailId(chatSvc.generateMailId()) actorMail.setRecieverId(actorGlobal.getObjectId()) actorMail.setStatus(Mail.NEW) actorMail.setTimeStamp((int) (date.getTime() / 1000)) actorMail.setMessage('An amount of ' + `transferTotal` + ' credits have been transfered from your bank to escrow. It will be delivered to ' + targetGlobal.getCustomName() + ' as soon as possible.') actorMail.setSubject('@base_player:wire_mail_subject') actorMail.setSenderName('bank') targetGlobal.addBankCredits(int(transferTotal)) actorGlobal.deductBankCredits(int(totalLost)) actorGlobal.sendSystemMessage('You have successfully sent ' + `transferTotal` + ' bank credits to ' + targetGlobal.getCustomName(), 0) targetGlobal.sendSystemMessage('You have successfully received ' + `transferTotal` + ' bank credits from ' + actorGlobal.getCustomName(), 0) chatSvc.storePersistentMessage(actorMail) chatSvc.storePersistentMessage(targetMail) chatSvc.sendPersistentMessageHeader(actorGlobal.getClient(), actorMail) chatSvc.sendPersistentMessageHeader(targetGlobal.getClient(), targetMail) return else: actorGlobal.sendSystemMessage('You lack the bank funds to wire ' + `transferTotal` + ' bank funds to ' + targetGlobal.getCustomName() + '.', 0) return return
def runTests(): print "Configuring tests" # propsFile = File("ALSBTest.properties") # props=getProps(propsFile) # print "Running tests agains this URL: " , props.get("alsb.url") testsCreated=0 testSuite = TestSuite() aggregator= PerfTestResultsAggregator("c:/temp/ALSBTestErrors/perf.csv"); aggregator.initialize() for test in tests : validatorList = ArrayList() for v in test[3]: validatorList.add(validators[v]) testsCreated = testsCreated +1 testCase = ALSBTestCase(test[0],test[1], test[2], validatorList,testsCreated); testCase.setAggregator(aggregator) testSuite.addTest(testCase) print testsCreated, ' tests were configured to run' testResult = TestResult() print 'running test suite' print 'test cases: ', testSuite.countTestCases() startTime = Date(); testSuite.run(testResult) aggregator.dispose() endTime = Date(); seconds = (endTime.getTime()/1000) - (startTime.getTime() / 1000); averageInvTime = seconds / testSuite.countTestCases(); minutes = seconds / 60 seconds = seconds % 60 print 'test suite run in ', minutes,':',seconds, '(',averageInvTime,' secs / test)' if testResult.wasSuccessful() : print '######################### OKAY! :-) ############################\n' print testResult.runCount(), 'tests were run' else: print '######################### FAIL! :-( ############################\n' print 'failures (',testResult.failureCount(),')' print '___________________________________________\n' for failure in testResult.failures(): print failure print '\nerrors (',testResult.errorCount(),')' print '___________________________________________\n' for error in testResult.errors(): print error
def save_reply(self): if self.loginUser == None: self.addActionError(u"请先登录参与。") return self.LOGIN t = self.params.safeGetStringParam("commentTitle") c = self.params.safeGetStringParam("content") if t == "" or c == "": self.addActionError(u"请输入必要的内容。") return self.ERROR plugInTopicReply = PlugInTopicReply() plugInTopicReply.setPlugInTopicId(self.plugInTopicId) plugInTopicReply.setTitle(t) plugInTopicReply.setCreateDate(Date()) plugInTopicReply.setCreateUserId(self.loginUser.userId) plugInTopicReply.setCreateUserName(self.loginUser.trueName) plugInTopicReply.setReplyContent(c) plugInTopicReply.setAddIp(self.get_client_ip()) self.topic_svc.addPlugInTopicReply(plugInTopicReply) refUrl = request.getHeader("Referer") if refUrl == None or refUrl == "": return "" else: response.sendRedirect(refUrl)
def _toJavaDate(val): ''' Turns a Python datetime to a Java Date ''' epoch = datetime.datetime.utcfromtimestamp(0) delta = val - epoch return Date(long(delta.total_seconds()) * 1000)
def execute(self): user = self.loginUser if user == None: return ActionResult.LOGIN accessControlService = __spring__.getBean("accessControlService") if accessControlService.isSystemAdmin(user) == False: self.addActionError(u"没有管理权限,只有超级管理员才可以使用此功能。") return ActionResult.ERROR if self.contentSpaceService == None: self.addActionError(u"无法获得 contentSpaceService 服务,检查配置文件。") return ActionResult.ERROR contentSpaceId = self.params.safeGetIntParam("id") print "contentSpaceId", contentSpaceId if contentSpaceId > 0: contentSpace = self.contentSpaceService.getContentSpaceById( contentSpaceId) if contentSpace == None: self.addActionError(u"不能加载所指定的自定义分类对象,该对象可能被删除。") return ActionResult.ERROR else: contentSpace = ContentSpace() contentSpace.setCreateDate(Date()) contentSpace.setCreateUserId(self.loginUser.userId) contentSpace.setOwnerType( ContentSpace.CONTENTSPACE_OWNERTYPE_DEFAULT) contentSpace.setOwnerId(0) if request.getMethod() == "POST": spaceName = self.params.safeGetStringParam("space_name") if spaceName == "": self.addActionError(u"请输入自定义分类的名称。") return ActionResult.ERROR parentId = self.params.safeGetIntParam("parentId") if contentSpaceId > 0: if self.contentSpaceService.isInChildPath( contentSpaceId, parentId) == True: self.addActionError(u"不允许将父分类设置在子分类下面") return ActionResult.ERROR if contentSpaceId == parentId: self.addActionError(u"不允许将父分类设置成自己") return ActionResult.ERROR contentSpace.setSpaceName(spaceName) contentSpace.setParentId(parentId) self.contentSpaceService.saveOrUpdateContentSpace(contentSpace) if contentSpaceId > 0: self.addActionMessage(u"您成功修改了一个自定义文章分类: " + spaceName + u"。") else: self.addActionMessage(u"您成功增加了一个自定义文章分类: " + spaceName + u"。") self.addActionLink(u"返回", "usercate.py") return ActionResult.SUCCESS request.setAttribute("contentSpace", contentSpace) #得到了categoryList categoryList = self.contentSpaceService.getContentSpaceTreeList( ContentSpace.CONTENTSPACE_OWNERTYPE_DEFAULT, 0) #需要把categoryList转换为CategoryTreeModel category_tree = self.categoryService.getCategoryTree(categoryList) request.setAttribute("category_tree", category_tree) return "/WEB-INF/ftl/admin/content_space_edit.ftl"
def minDiff(date): now = Date() cal = Calendar.getInstance() now = cal.getTime() dbDataTime = date.getTime() #in ms nowTime = now.getTime() #in ms diff = nowTime - dbDataTime min = ((diff / (1000 * 60)) % 60) hr = ((diff / (1000 * 60 * 60)) % 24) days = (diff / (1000 * 60 * 60 * 24)) tot_min = (days * 24) * 60 + hr * 60 + min return min
def setup_train_scheduler(self): global tListener global timebase if self.logLevel > 0: print "Setting up Time Scheduler" # timebase = jmri.InstanceManager.getDefault(jmri.Timebase) # time = timebase.getTime() # if self.logLevel > 0: print "time = " , time # TimeListener().process_operations_trains() # instanceList.append(TimeListener) # #attach a listener to the timebase. # timebase.addMinuteChangeListener(TimeListener()) # self.init = True timebase = jmri.InstanceManager.getDefault(jmri.Timebase) from java.util import Date date = Date(2020,10,21) if self.logLevel > 0: print "date = ", date timebase.userSetTime(date) ## set to 00:00 21/10/2020 (want the time to be 00:00) # run fast clock 10 times as fast as normal timebase.setRate(fast_clock_rate) time = timebase.getTime() if self.logLevel > 0: print "time = " , time #TimeListener().process_operations_trains() tListener = TimeListener() # attach a listener to the timebase. timebase.addMinuteChangeListener(tListener) self.init = True
def monitorDomains(): print 'starting the script for ', adminServerAddress, '....' username = adminUser password = adminPassword url = adminServerAddress try: connect(username,password,url) domainRuntime() serverNames = domainRuntimeService.getServerRuntimes() domainName = cmo.getName() print 'Getting data from domain ' , domainName fileToWrite = scriptHome + "/" + domainName + "/" + monitorDomain w = open(fileToWrite,"a") for s in serverNames: socketsOpenedTotalCount = s.getSocketsOpenedTotalCount() heap_details(s.getName()) thread_details(s.getName()) # Assign performance data # write monitor data for this instance jvm to monitorDomain timeStamping = Date() timeToShow = DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT).format(timeStamping); infoLineMonitorData = domainName + "," + timeToShow + "," + s.getName() + "," + str(hfree) + "," + str(hsize)+ "," + str(hpercent) + "," + str(utime) + "," + str(socketsOpenedTotalCount) + "," + str(completedRequestCount) + "," + str(executeThreadIdleCount) + "," + str(executeThreadTotalCount) + "," + str(hoggingThreadCount) + "," + str(pendingUserRequestCount) + "," + str(queueLength) + "," + str(standbyThreadCount) + "," + str(throughput) +"\n" w.write(infoLineMonitorData) w.close() disconnect() except Exception, e: disconnect()
def __init__(self, program): self.saveBoolean = (1 == 1) self.CurrentBuffer = StringBuffer() self.CurrentBuffer.append("<file_created time=\"") self.CurrentBuffer.append( (Date(System.currentTimeMillis())).toString()) self.CurrentBuffer.append("\">\n")
def addMenuOption(self, newString): self.CurrentBuffer.append("<menu_button time=\"") self.CurrentBuffer.append( (Date(System.currentTimeMillis())).toString()) self.CurrentBuffer.append("\">") self.CurrentBuffer.append(newString) self.CurrentBuffer.append("</menu_button>\n")
def main(): assert len(sys.argv) == 2 strategy_module = sys.argv[1] path_manager = FilePathManager.getInstance() path_manager.setStrategiesFolderPath(STRATEGY_PATH) client = TesterFactory.getDefaultInstance() client.setSystemListener(SystemListener()) client.connect('file://' + JNLP, LOGIN, PASSWORD) client.setSubscribedInstruments({Instrument.EURUSD}) client.setInitialDeposit(Instrument.EURUSD.getSecondaryCurrency(), 5000) client.setDataInterval(ITesterClient.DataLoadingMethod.ALL_TICKS, Date(*STARTDATE).getTime(), Date(*ENDDATE).getTime()) client.downloadData(DownloadListener()) Thread.sleep(5000) while 1: strategy_class = load_strategy_from_module(strategy_module) if strategy_class: strategy = strategy_class() client.startStrategy(strategy, ProgressListener()) watch_file_for_changes(strategy_module)
def JmsStat(): d = Date() # now print d print 'Instance ConCur ConHi ConTot High MsgCur MsgPnd' print 'Name Count Count Count Count Count Count' print '===========**=======**==================================' Ks = urldict.keys() Ks.sort() for key in Ks: try: connect(userConfigFile=ucf, userKeyFile=ukf,url=urldict[key]) serverRuntime() cd('JMSRuntime/'+key+'.jms/JMSServers') curCnt= get('ConnectionsCurrentCount') cHiCnt=get('ConnectionsHighCount') cTotCnt=get('ConnectionsTotalCount') myJmsls=ls(returnMap='true') x=myJmsls[0] cd(x) hiCnt= get('MessagesHighCount') currCnt= get('MessagesCurrentCount') pendCnt= get('MessagesPendingCount') print '%14s %4d %4d %4d %4d %4d %4d' % (key, curCnt, cHiCnt, cTotCnt, hiCnt, currCnt, pendCnt) except: print 'Exception...in server:', key pass quit()
def createClient(self, context): registerRequest = context.getRegisterRequest() configurationAttributes = context.getConfigurationAttibutes() client = context.getClient() print "Casa client registration. CreateClient method" redirectUris = client.getRedirectUris() print "Casa client registration. Redirect Uris: %s" % redirectUris credManagerClient = False for redirectUri in redirectUris: if self.clientRedirectUrisSet.contains(redirectUri): credManagerClient = True break if not credManagerClient: return True print "Casa client registration. Client is Janssen Casa" self.setClientScopes(client, configurationAttributes.get("scopes")) #Extend client lifetime for one year cal=GregorianCalendar() cal.add(1,10) client.setClientSecretExpiresAt(Date(cal.getTimeInMillis())) client.setTrustedClient(True) return True
def upgradeScannerExecutable(scannerPlatformConfig, Framework, shell): logger.debug('Installing scanner') #copying local scanner executable and config file to the remove machine BASEDIR = Framework.getProperty(InventoryUtils.STATE_PROPERTY_RESOLVED_BASEDIR) #scanner local executable file scannerExecutable = scannerPlatformConfig.getScannerExecutable() logger.debug('Scanner executable to be used:', scannerExecutable) #scanner remote executable file scannerRemoteExecutable = scannerPlatformConfig.getScannerRemoteExecutableName() #local location of scanner and config file scannerExecutableLocalPath = CollectorsParameters.PROBE_MGR_RESOURCES_DIR + 'ud_scanners' + str(File.separator) + scannerExecutable logger.debug('Scanner executable local path:', scannerExecutableLocalPath) if not checkResourceExists(Framework, scannerExecutableLocalPath): return 0 scannerExecutableRemotePath = BASEDIR + scannerRemoteExecutable if not InventoryUtils.copyLocalFileToRemote(Framework, scannerExecutableLocalPath, scannerExecutableRemotePath): Framework.setStepExecutionStatus(WorkflowStepStatus.FAILURE) # Try to terminate scanner, if scanner process is stopping the upload logger.debug('Upload cannot proceed due to scanner process, terminate it.') terminateScanner(Framework, shell, scannerRemoteExecutable) return 0 # OK, now scanner file has already upgrade successful Framework.setProperty(InventoryUtils.SCANNER_UPGRADE_DATE, Date()) Framework.setProperty(InventoryUtils.SCANNER_UPGRADE_STATE, '1') Framework.setProperty(InventoryUtils.SCANNER_EXECUTABLE_REMOTE_PATH, scannerExecutableRemotePath) return 1
def pubComment(self): commentReply = self.params.safeGetStringParam("comment") if commentReply == "": return refId = self.params.safeGetIntParam("id") if refId > 0: refComment = self.commentService.getComment(refId) content = "" if refComment != None: content = refComment.getContent() if content == None: content = "" content += "<div class='commentReply'>" + u"<div>以下为 " + self.loginUser.trueName + u" 的回复:</div><div>" + commentReply + "</div></div>" refComment.setContent(content) self.commentService.saveComment(refComment) else: comment = Comment() comment.setObjType( ObjectType.OBJECT_TYPE_PREPARECOURSE.getTypeId()) comment.setObjId(self.prepareCourse.prepareCourseId) comment.setTitle(self.prepareCourse.title + u"的评论") comment.setContent(commentReply) comment.setAudit(True) comment.setStar(0) comment.setCreateDate(Date()) comment.setUserId(self.loginUser.userId) comment.setUserName(self.loginUser.trueName) comment.setIp(self.getUserIp()) self.commentService.saveComment(comment)
def getListOfAvailableFLVs(self): """Return list of .flv files that can be streamed.""" scope = Red5.getConnectionLocal().getScope() serverRoot = System.getProperty('red5.root') filesMap = HashMap() try: print 'Getting the FLV files' flvs = scope.getResources("streams/*.flv") for file in flvs: fso = File(serverRoot + '/webapps/oflaDemo' + file.path) flvName = fso.getName() flvBytes = 0 if hasattr(fso, 'length'): flvBytes = fso.length() else: print 'Length not found' lastMod = '0' if hasattr(fso, 'lastModified'): lastMod = self.formatDate(Date(fso.lastModified())) else: log.debug('Last modified not found') print 'FLV Name:', flvName print 'Last modified date:', lastMod print 'Size:', flvBytes print '-------' fileInfo = HashMap(3) fileInfo["name"] = flvName fileInfo["lastModified"] = lastMod fileInfo["size"] = flvBytes filesMap[flvName] = fileInfo except Exception, e: print 'Error in getListOfAvailableFLVs:', e
def getDateString(self, widget): if widget.getStyle() & swt.SWT.TIME: widgetDate = Date() widgetDate.setHours(widget.getHours()) widgetDate.setMinutes(widget.getMinutes()) widgetDate.setSeconds(widget.getSeconds()) return util.getDateFormat(swt.SWT.TIME).format(widgetDate) else: widgetDate = Date(widget.getYear() - 1900, widget.getMonth(), widget.getDay()) return util.getDateFormat(swt.SWT.DATE).format(widgetDate)
def _map_omeka_item_element_itm_donation_date(self, object_builder, text): earliest_date = self._parse_date(text) object_builder.dates.append( Date.builder() .setEarliestDate(earliest_date) .setLatestDate(earliest_date) .setType(DateType.DONATION) .build() )
def parse_certain_date(date_bound_builder, text): parsed_date_time = None parsed_date_time_granularity = None try: year = int(text) parsed_date_time = Date(year - 1900, 1, 1) parsed_date_time_granularity = DateTimeGranularity.YEAR except ValueError: pass if parsed_date_time is None: if dateparser is not None: parser = dateparser.date.DateDataParser(languages=('en',)) date_data = parser.get_date_data(text) parsed_date_time = date_data['date_obj'] if parsed_date_time is not None: period = date_data['period'] if period == 'day': parsed_date_time = parsed_date_time.replace(hour=0, minute=0, second=0, microsecond=0) parsed_date_time_granularity = DateTimeGranularity.DAY elif period == 'month': parsed_date_time = parsed_date_time.replace(day=1, hour=0, minute=0, second=0, microsecond=0) parsed_date_time_granularity = DateTimeGranularity.MONTH elif period == 'year': parsed_date_time = parsed_date_time.replace(day=1, month=1, hour=0, minute=0, second=0, microsecond=0) parsed_date_time_granularity = DateTimeGranularity.YEAR else: raise NotImplementedError(period) if parsed_date_time is not None: # parsed_date_time = parsed_date_time.replace(tzinfo=pytz.utc) if parsed_date_time.year > datetime.now().year or parsed_date_time.year < 1000: # self._logger.debug("parsed date time has year out of range: '%s' from '%s'", parsed_date_time, text) return date_bound_builder.setParsedDateTime(Date((parsed_date_time - datetime.utcfromtimestamp(0)).total_seconds() * 1000.0)) if parsed_date_time_granularity is not None: date_bound_builder.setParsedDateTimeGranularity(parsed_date_time_granularity)
def __init__(self, matchId, previewClock, startClock, playClock, theGame): """ generated source for method __init__ """ self.matchId = matchId self.previewClock = previewClock self.startClock = startClock self.playClock = playClock self.theGame = theGame self.startTime = Date() self.randomToken = getRandomString(32) self.spectatorAuthToken = getRandomString(12) self.isCompleted = False self.isAborted = False self.numRoles = Role.computeRoles(theGame.getRules()).size() self.moveHistory = ArrayList() self.stateHistory = ArrayList() self.stateTimeHistory = ArrayList() self.errorHistory = ArrayList() self.goalValues = ArrayList()
def _map_omeka_item_element_itm_accession_year(self, object_builder, text): try: year = int(text) except ValueError: self._logger.warn("unable to parse Accession Year '%s'", text) return earliest_date = \ DateBound.builder()\ .setParsedDateTime(java.util.Date(year - 1900, 0, 1))\ .setParsedDateTimeGranularity(DateTimeGranularity.YEAR)\ .setText(text)\ .build() object_builder.dates.append( Date.builder() .setEarliestDate(earliest_date) .setLatestDate(earliest_date) .setType(DateType.ACCESSION) .build() )
def after(self, when, flag=0): "@sig public boolean before(java.util.Date when2, boolean flag)" return Date.after(self, when)
#!/usr/bin/python import sys import importlib json = importlib.import_module(sys.argv[1]) try: from java.util import Date start = Date() jython = True except ImportError: from datetime import datetime start = datetime.now() jython = False f = sys.stdin bytes_read = 0 while True: oline = f.readline() l = len(oline) if l == 0: break bytes_read += l json.loads(oline) if jython: ms = (Date().getTime() - start.getTime()) else: delta = (datetime.now() - start) ms = delta.seconds * 1000 + delta.microseconds/1000
class Job: def __init__( self, desc, tz = TimeZone.getDefault() ): self.id = desc.getString( "id" ) self.tz = tz self.last = None self.next = None self.scheds = [] a = desc.getJSONArray( "scheds" ) for i in range( a.length() ): self.scheds.append( Sched( a.getJSONObject( i ) ) ) self.cmd = desc.getString( "cmd" ) def dump( self, prefix = "", headprefix = "" ): print headprefix + "id: \t" + self.id print headprefix + "tz: \t" + self.tz.getID() if self.last != None: print headprefix + "last: \t" + self.last.toString() if self.next != None: print headprefix + "next: \t" + self.next.toString() for i in self.scheds: print headprefix + "sched:\t+" i.dump( prefix + " \t|- " ) print headprefix + "cmd: \t" + self.cmd def setState( self, data ): self.last = None self.next = None if data.has( "last" ): self.last = Date( data.getInt( "last" ) * 1000 ) if data.has( "next" ): self.next = Date( data.getInt( "next" ) * 1000 ) def getState( self ): res = JSONObject() if self.last != None: res.put( "last", self.last.getTime() / 1000 ) if self.next != None: res.put( "next", self.next.getTime() / 1000 ) return res def pending( self ): if self.next == None: return False else: return not Date().before( self.next ) def start( self ): self.next = Date() def stop( self ): self.next = None def resume( self ): if self.last == None: return next = None for i in self.scheds: tmp = i.next( self.last, self.tz ) if tmp != None: if next == None: next = tmp elif tmp.before( next ): next = tmp self.next = next def done( self ): self.last = Date() self.resume()
# update an existing index (adding a new document). from java.net import URL from java.util import Date # from de.nava.informa.impl.basic import ChannelBuilder # from de.nava.informa.utils import ChannelRegistry from de.nava.informa.impl.basic import Item from de.nava.informa.search import ItemDocument from org.apache.lucene.analysis.standard import StandardAnalyzer from org.apache.lucene.index import IndexWriter # update (3rd arg) index writer in directory (first arg) start_time = Date() writer = IndexWriter("index", StandardAnalyzer(), 0) # create new (dummy) item item = Item("Informa released", "blubb", URL("http://nava.de/news/2002/06/25")) item.setFound(Date()) # add new item to index writer.addDocument(ItemDocument.makeDocument(item)) writer.optimize() writer.close() end_time = Date() print "updating the index took %d milliseconds in total." \
def getContacts(self, userAccounts): self.contactsLoadProgress = 0 try: self.M.recent() except: self.getUserAccounts() contactAccounts = {} convNums = self.data[0].split() for num in convNums: if self.isAborted(): self.M.close() self.M.logout() return None typ, data = self.M.fetch(num, '(RFC822)') if typ <> 'OK': e = Exception(typ+'') e.message = 'Message '+num+' not found.' raise e email_message = email.message_from_string(data[0][1]) # parse head fromField = decode_header(email_message['From']) if len(fromField) == 2: name = unicode(fromField[0][0], 'utf-8') uid = unicode(fromField[1][0], 'utf-8')[1:-1].lower() else: nameUid = fromField[0][0] if fromField[0][1] <> None and fromField[0][1] <> 'utf-8': nameUid = unicode(nameUid, 'iso-8859-2') m = re.search(r'(?P<name>.*)\s+\<(?P<uid>.*)\>', nameUid) name = m.group('name') uid = m.group('uid').lower() # create contact account if uid in contactAccounts: contactAccount = contactAccounts[uid] else: contactAccount = ContactAccount(0, name, uid, None, None, self.protocol) contactAccounts[contactAccount.uid] = contactAccount # parse body data = self.get_first_text_block(email_message).replace('=\r\n', '') pattern = re.compile('\<con\:conversation(.*)\<\/con\:conversation\>', re.DOTALL) m = pattern.search(data) if m == None: e = Exception() e.message = 'Conversation parsing error [conversation not found].' raise e try: root = ElementTree.XML(m.group(0)) except ExpatError, ex: e = Exception(m.group(0)) e.message = 'Conversation parsing error. ' + ex raise e # create conversation time = Date() time.setTime(long(root[0].find('{google:timestamp}time').get('ms'))) conversation = Conversation(0, time, root[0].find('{jabber:client}body').text, len(root), contactAccount, userAccounts[0]) time.setTime(long(root[-1].find('{google:timestamp}time').get('ms'))) conversation.endTime = time contactAccount.conversations.add(conversation) # parse messages for msg in root: time = Date() time.setTime(long(msg.find('{google:timestamp}time').get('ms'))) if msg.find('{jabber:client}body') == None: txt = "" else: txt = msg.find('{jabber:client}body').text message = Message(0, conversation, txt, time, msg.attrib['to'].find(uid) == -1) conversation.addMessage(message) self.messagesCount += len(root) # set progress self.contactsLoadProgress = int(num) * 100 / len(convNums)
def __init___0(self, theJSON, theGame, authToken): """ generated source for method __init___0 """ theMatchObject = JSONObject(theJSON) self.matchId = theMatchObject.getString("matchId") self.startClock = theMatchObject.getInt("startClock") self.playClock = theMatchObject.getInt("playClock") if theGame == None: self.theGame = RemoteGameRepository.loadSingleGame(theMatchObject.getString("gameMetaURL")) if self.theGame == None: raise RuntimeException("Could not find metadata for game referenced in Match object: " + theMatchObject.getString("gameMetaURL")) else: self.theGame = theGame if theMatchObject.has("previewClock"): self.previewClock = theMatchObject.getInt("previewClock") else: self.previewClock = -1 self.startTime = Date(theMatchObject.getLong("startTime")) self.randomToken = theMatchObject.getString("randomToken") self.spectatorAuthToken = authToken self.isCompleted = theMatchObject.getBoolean("isCompleted") if theMatchObject.has("isAborted"): self.isAborted = theMatchObject.getBoolean("isAborted") else: self.isAborted = False self.numRoles = Role.computeRoles(self.theGame.getRules()).size() self.moveHistory = ArrayList() self.stateHistory = ArrayList() self.stateTimeHistory = ArrayList() self.errorHistory = ArrayList() theMoves = theMatchObject.getJSONArray("moves") i = 0 while i < len(theMoves): while j < len(moveElements): theMove.add(GdlFactory.createTerm(moveElements.getString(j))) j += 1 self.moveHistory.add(theMove) i += 1 theStates = theMatchObject.getJSONArray("states") i = 0 while i < len(theStates): while j < len(stateElements): theState.add(GdlFactory.create("( true " + stateElements.get(j).__str__() + " )")) j += 1 self.stateHistory.add(theState) i += 1 theStateTimes = theMatchObject.getJSONArray("stateTimes") i = 0 while i < len(theStateTimes): self.stateTimeHistory.add(Date(theStateTimes.getLong(i))) i += 1 if theMatchObject.has("errors"): while i < len(theErrors): while j < len(errorElements): theMoveErrors.add(errorElements.getString(j)) j += 1 self.errorHistory.add(theMoveErrors) i += 1 self.goalValues = ArrayList() try: while i < len(theGoalValues): self.goalValues.add(theGoalValues.getInt(i)) i += 1 except JSONException as e: pass # TODO: Add a way to recover cryptographic public keys and signatures. # Or, perhaps loading a match into memory for editing should strip those? if theMatchObject.has("playerNamesFromHost"): self.thePlayerNamesFromHost = ArrayList() while i < len(thePlayerNames): self.thePlayerNamesFromHost.add(thePlayerNames.getString(i)) i += 1 if theMatchObject.has("isPlayerHuman"): self.isPlayerHuman = ArrayList() while i < len(isPlayerHumanArray): self.isPlayerHuman.add(isPlayerHumanArray.getBoolean(i)) i += 1
class Match(object): """ generated source for class Match """ matchId = str() randomToken = str() spectatorAuthToken = str() playClock = int() startClock = int() previewClock = int() startTime = Date() theGame = Game() moveHistory = List() stateHistory = List() errorHistory = List() stateTimeHistory = List() isCompleted = bool() isAborted = bool() goalValues = List() numRoles = int() theCryptographicKeys = EncodedKeyPair() thePlayerNamesFromHost = List() isPlayerHuman = List() theGdlScrambler = NoOpGdlScrambler() @overloaded def __init__(self, matchId, previewClock, startClock, playClock, theGame): """ generated source for method __init__ """ self.matchId = matchId self.previewClock = previewClock self.startClock = startClock self.playClock = playClock self.theGame = theGame self.startTime = Date() self.randomToken = getRandomString(32) self.spectatorAuthToken = getRandomString(12) self.isCompleted = False self.isAborted = False self.numRoles = Role.computeRoles(theGame.getRules()).size() self.moveHistory = ArrayList() self.stateHistory = ArrayList() self.stateTimeHistory = ArrayList() self.errorHistory = ArrayList() self.goalValues = ArrayList() @__init__.register(object, str, Game, str) def __init___0(self, theJSON, theGame, authToken): """ generated source for method __init___0 """ theMatchObject = JSONObject(theJSON) self.matchId = theMatchObject.getString("matchId") self.startClock = theMatchObject.getInt("startClock") self.playClock = theMatchObject.getInt("playClock") if theGame == None: self.theGame = RemoteGameRepository.loadSingleGame(theMatchObject.getString("gameMetaURL")) if self.theGame == None: raise RuntimeException("Could not find metadata for game referenced in Match object: " + theMatchObject.getString("gameMetaURL")) else: self.theGame = theGame if theMatchObject.has("previewClock"): self.previewClock = theMatchObject.getInt("previewClock") else: self.previewClock = -1 self.startTime = Date(theMatchObject.getLong("startTime")) self.randomToken = theMatchObject.getString("randomToken") self.spectatorAuthToken = authToken self.isCompleted = theMatchObject.getBoolean("isCompleted") if theMatchObject.has("isAborted"): self.isAborted = theMatchObject.getBoolean("isAborted") else: self.isAborted = False self.numRoles = Role.computeRoles(self.theGame.getRules()).size() self.moveHistory = ArrayList() self.stateHistory = ArrayList() self.stateTimeHistory = ArrayList() self.errorHistory = ArrayList() theMoves = theMatchObject.getJSONArray("moves") i = 0 while i < len(theMoves): while j < len(moveElements): theMove.add(GdlFactory.createTerm(moveElements.getString(j))) j += 1 self.moveHistory.add(theMove) i += 1 theStates = theMatchObject.getJSONArray("states") i = 0 while i < len(theStates): while j < len(stateElements): theState.add(GdlFactory.create("( true " + stateElements.get(j).__str__() + " )")) j += 1 self.stateHistory.add(theState) i += 1 theStateTimes = theMatchObject.getJSONArray("stateTimes") i = 0 while i < len(theStateTimes): self.stateTimeHistory.add(Date(theStateTimes.getLong(i))) i += 1 if theMatchObject.has("errors"): while i < len(theErrors): while j < len(errorElements): theMoveErrors.add(errorElements.getString(j)) j += 1 self.errorHistory.add(theMoveErrors) i += 1 self.goalValues = ArrayList() try: while i < len(theGoalValues): self.goalValues.add(theGoalValues.getInt(i)) i += 1 except JSONException as e: pass # TODO: Add a way to recover cryptographic public keys and signatures. # Or, perhaps loading a match into memory for editing should strip those? if theMatchObject.has("playerNamesFromHost"): self.thePlayerNamesFromHost = ArrayList() while i < len(thePlayerNames): self.thePlayerNamesFromHost.add(thePlayerNames.getString(i)) i += 1 if theMatchObject.has("isPlayerHuman"): self.isPlayerHuman = ArrayList() while i < len(isPlayerHumanArray): self.isPlayerHuman.add(isPlayerHumanArray.getBoolean(i)) i += 1 # Mutators def setCryptographicKeys(self, k): """ generated source for method setCryptographicKeys """ self.theCryptographicKeys = k def enableScrambling(self): """ generated source for method enableScrambling """ self.theGdlScrambler = MappingGdlScrambler(Random(self.startTime.getTime())) for rule in theGame.getRules(): self.theGdlScrambler.scramble(rule) def setPlayerNamesFromHost(self, thePlayerNames): """ generated source for method setPlayerNamesFromHost """ self.thePlayerNamesFromHost = thePlayerNames def getPlayerNamesFromHost(self): """ generated source for method getPlayerNamesFromHost """ return self.thePlayerNamesFromHost def setWhichPlayersAreHuman(self, isPlayerHuman): """ generated source for method setWhichPlayersAreHuman """ self.isPlayerHuman = isPlayerHuman def appendMoves(self, moves): """ generated source for method appendMoves """ self.moveHistory.add(moves) def appendMoves2(self, moves): """ generated source for method appendMoves2 """ # NOTE: This is appendMoves2 because it Java can't handle two # appendMove methods that both take List objects with different # templatized parameters. theMoves = ArrayList() for m in moves: theMoves.add(m.getContents()) self.appendMoves(theMoves) def appendState(self, state): """ generated source for method appendState """ self.stateHistory.add(state) self.stateTimeHistory.add(Date()) def appendErrors(self, errors): """ generated source for method appendErrors """ self.errorHistory.add(errors) def appendNoErrors(self): """ generated source for method appendNoErrors """ theNoErrors = ArrayList() i = 0 while i < self.numRoles: theNoErrors.add("") i += 1 self.errorHistory.add(theNoErrors) def markCompleted(self, theGoalValues): """ generated source for method markCompleted """ self.isCompleted = True if theGoalValues != None: self.goalValues.addAll(theGoalValues) def markAborted(self): """ generated source for method markAborted """ self.isAborted = True # Complex accessors def toJSON(self): """ generated source for method toJSON """ theJSON = JSONObject() try: theJSON.put("matchId", self.matchId) theJSON.put("randomToken", self.randomToken) theJSON.put("startTime", self.startTime.getTime()) theJSON.put("gameMetaURL", getGameRepositoryURL()) theJSON.put("isCompleted", self.isCompleted) theJSON.put("isAborted", self.isAborted) theJSON.put("states", JSONArray(renderArrayAsJSON(renderStateHistory(self.stateHistory), True))) theJSON.put("moves", JSONArray(renderArrayAsJSON(renderMoveHistory(self.moveHistory), False))) theJSON.put("stateTimes", JSONArray(renderArrayAsJSON(self.stateTimeHistory, False))) if len(self.errorHistory) > 0: theJSON.put("errors", JSONArray(renderArrayAsJSON(renderErrorHistory(self.errorHistory), False))) if len(self.goalValues) > 0: theJSON.put("goalValues", self.goalValues) theJSON.put("previewClock", self.previewClock) theJSON.put("startClock", self.startClock) theJSON.put("playClock", self.playClock) if self.thePlayerNamesFromHost != None: theJSON.put("playerNamesFromHost", self.thePlayerNamesFromHost) if self.isPlayerHuman != None: theJSON.put("isPlayerHuman", self.isPlayerHuman) theJSON.put("scrambled", self.theGdlScrambler.scrambles() if self.theGdlScrambler != None else False) except JSONException as e: return None if self.theCryptographicKeys != None: try: SignableJSON.signJSON(theJSON, self.theCryptographicKeys.thePublicKey, self.theCryptographicKeys.thePrivateKey) if not SignableJSON.isSignedJSON(theJSON): raise Exception("Could not recognize signed match: " + theJSON) if not SignableJSON.verifySignedJSON(theJSON): raise Exception("Could not verify signed match: " + theJSON) except Exception as e: System.err.println(e) theJSON.remove("matchHostPK") theJSON.remove("matchHostSignature") return theJSON.__str__() def toXML(self): """ generated source for method toXML """ try: theXML.append("<match>") for key in JSONObject.getNames(theJSON): if isinstance(value, (JSONObject, )): raise RuntimeException("Unexpected embedded JSONObject in match JSON with tag " + key + "; could not convert to XML.") elif not (isinstance(value, (JSONArray, ))): theXML.append(renderLeafXML(key, theJSON.get(key))) elif key == "states": theXML.append(renderStateHistoryXML(self.stateHistory)) elif key == "moves": theXML.append(renderMoveHistoryXML(self.moveHistory)) elif key == "errors": theXML.append(renderErrorHistoryXML(self.errorHistory)) else: theXML.append(renderArrayXML(key, value)) theXML.append("</match>") return theXML.__str__() except JSONException as je: return None def getMostRecentMoves(self): """ generated source for method getMostRecentMoves """ if len(self.moveHistory) == 0: return None return self.moveHistory.get(len(self.moveHistory) - 1) def getMostRecentState(self): """ generated source for method getMostRecentState """ if len(self.stateHistory) == 0: return None return self.stateHistory.get(len(self.stateHistory) - 1) def getGameRepositoryURL(self): """ generated source for method getGameRepositoryURL """ return getGame().getRepositoryURL() def __str__(self): """ generated source for method toString """ return self.toJSON() # Simple accessors def getMatchId(self): """ generated source for method getMatchId """ return self.matchId def getRandomToken(self): """ generated source for method getRandomToken """ return self.randomToken def getSpectatorAuthToken(self): """ generated source for method getSpectatorAuthToken """ return self.spectatorAuthToken def getGame(self): """ generated source for method getGame """ return self.theGame def getMoveHistory(self): """ generated source for method getMoveHistory """ return self.moveHistory def getStateHistory(self): """ generated source for method getStateHistory """ return self.stateHistory def getStateTimeHistory(self): """ generated source for method getStateTimeHistory """ return self.stateTimeHistory def getErrorHistory(self): """ generated source for method getErrorHistory """ return self.errorHistory def getPreviewClock(self): """ generated source for method getPreviewClock """ return self.previewClock def getPlayClock(self): """ generated source for method getPlayClock """ return self.playClock def getStartClock(self): """ generated source for method getStartClock """ return self.startClock def getStartTime(self): """ generated source for method getStartTime """ return self.startTime def isCompleted(self): """ generated source for method isCompleted """ return self.isCompleted def isAborted(self): """ generated source for method isAborted """ return self.isAborted def getGoalValues(self): """ generated source for method getGoalValues """ return self.goalValues def getGdlScrambler(self): """ generated source for method getGdlScrambler """ return self.theGdlScrambler # Static methods @classmethod def getRandomString(cls, nLength): """ generated source for method getRandomString """ theGenerator = Random() theString = "" i = 0 while i < nLength: if nVal < 26: theString += str(('a' + nVal)) elif nVal < 52: theString += str(('A' + (nVal - 26))) elif nVal < 62: theString += str(('0' + (nVal - 52))) i += 1 return theString # JSON rendering methods @classmethod def renderArrayAsJSON(cls, theList, useQuotes): """ generated source for method renderArrayAsJSON """ s = "[" i = 0 while i < len(theList): # AppEngine-specific, not needed yet: if (o instanceof Text) o = ((Text)o).getValue(); if isinstance(o, (Date, )): o = (o).getTime() if useQuotes: s += "\"" s += o.__str__() if useQuotes: s += "\"" if i < len(theList) - 1: s += ", " i += 1 return s + "]" @classmethod def renderStateHistory(cls, stateHistory): """ generated source for method renderStateHistory """ renderedStates = ArrayList() for aState in stateHistory: renderedStates.add(renderStateAsSymbolList(aState)) return renderedStates @classmethod def renderMoveHistory(cls, moveHistory): """ generated source for method renderMoveHistory """ renderedMoves = ArrayList() for aMove in moveHistory: renderedMoves.add(cls.renderArrayAsJSON(aMove, True)) return renderedMoves @classmethod def renderErrorHistory(cls, errorHistory): """ generated source for method renderErrorHistory """ renderedErrors = ArrayList() for anError in errorHistory: renderedErrors.add(cls.renderArrayAsJSON(anError, True)) return renderedErrors @classmethod def renderStateAsSymbolList(cls, theState): """ generated source for method renderStateAsSymbolList """ # Strip out the TRUE proposition, since those are implied for states. s = "( " for sent in theState: s += sentString.substring(6, 2 - len(sentString)).trim() + " " return s + ")" # XML Rendering methods -- these are horribly inefficient and are included only for legacy/standards compatibility @classmethod def renderLeafXML(cls, tagName, value): """ generated source for method renderLeafXML """ return "<" + tagName + ">" + value.__str__() + "</" + tagName + ">" @classmethod def renderMoveHistoryXML(cls, moveHistory): """ generated source for method renderMoveHistoryXML """ theXML = StringBuilder() theXML.append("<history>") for move in moveHistory: theXML.append("<move>") for action in move: theXML.append(cls.renderLeafXML("action", renderGdlToXML(action))) theXML.append("</move>") theXML.append("</history>") return theXML.__str__() @classmethod def renderErrorHistoryXML(cls, errorHistory): """ generated source for method renderErrorHistoryXML """ theXML = StringBuilder() theXML.append("<errorHistory>") for errors in errorHistory: theXML.append("<errors>") for error in errors: theXML.append(cls.renderLeafXML("error", error)) theXML.append("</errors>") theXML.append("</errorHistory>") return theXML.__str__() @classmethod def renderStateHistoryXML(cls, stateHistory): """ generated source for method renderStateHistoryXML """ theXML = StringBuilder() theXML.append("<herstory>") for state in stateHistory: theXML.append(renderStateXML(state)) theXML.append("</herstory>") return theXML.__str__() @classmethod def renderStateXML(cls, state): """ generated source for method renderStateXML """ theXML = StringBuilder() theXML.append("<state>") for sentence in state: theXML.append(renderGdlToXML(sentence)) theXML.append("</state>") return theXML.__str__() @classmethod def renderArrayXML(cls, tag, arr): """ generated source for method renderArrayXML """ theXML = StringBuilder() i = 0 while i < len(arr): theXML.append(cls.renderLeafXML(tag, arr.get(i))) i += 1 return theXML.__str__() @classmethod def renderGdlToXML(cls, gdl): """ generated source for method renderGdlToXML """ rval = "" if isinstance(gdl, (GdlConstant, )): return c.getValue() elif isinstance(gdl, (GdlFunction, )): if f.__name__.__str__() == "true": return "<fact>" + cls.renderGdlToXML(f.get(0)) + "</fact>" else: rval += "<relation>" + f.__name__ + "</relation>" while i < f.arity(): pass i += 1 return rval elif isinstance(gdl, (GdlRelation, )): if relation.__name__.__str__() == "true": while i < relation.arity(): pass i += 1 return rval else: rval += "<relation>" + relation.__name__ + "</relation>" while i < relation.arity(): pass i += 1 return rval else: System.err.println("gdlToXML Error: could not handle " + gdl.__str__()) return None
def done( self ): self.last = Date() self.resume()
def toString(self): s = Date.toString(self) return 'SubDate -> Date'
def start( self ): self.next = Date()
def __init__(self, time, flag=0): "@sig public SubDate(java.lang.String time, boolean flag)" Date.__init__(self, 0)