def updateReservationList(self): import re cmdRegex = self.siteConfig.listReservations (stdout, stderr) = utilityFunctions.run_command( cmdRegex.getCmd(self.jobParams), ignore_errors=True, callback=lambda: wx.CallAfter(self.failureDialog), startupinfo=self.startupinfo, creationflags=self.creationflags) print "running command %s" % cmdRegex.getCmd(self.jobParams) print stdout print stderr self.reservations = [] for line in stdout.splitlines(): for regex in cmdRegex.regex: match = re.search(regex, line) #match = re.search(regex.format(**self.jobParams).encode('ascii'),line) print "didn't find a reservation on that line" print print if (match): r = reservation(match.groupdict()['name'], match.groupdict()['desc']) self.reservations.append(r) print "found a reservation %s" % line print print print "updateReservationList %s" % line wx.CallAfter(self.tryEndBusy) self.updateReservationsGUI()
def createReservation(self,resname,startdate,duration): print "in create reservation, name is %s"%resname if resname=="" or resname==None: resname = self.jobParams['username'] cmdRegex=self.siteConfig.createReservation formatdict=self.jobParams.copy() res={} print formatdict try: import dateutil import dateutil.tz sitetz=dateutil.tz.gettz(self.siteConfig.sitetz) offset=startdate.utcoffset() if offset==None: offset=0 utc = (startdate - startdate.utcoffset()).replace(tzinfo=sitetz) startdate=sitetz.fromutc(utc) print "converted startdate to correc tz" print "startdate is now %s"%startdate except Exception as e: import traceback print "failed to convert tz" print traceback.format_exc() print e pass startdatestring=startdate.strftime("%Y-%m-%dT%H:%M:%S") print startdate print startdatestring formatdict.update({"starttime":startdatestring,"duration":duration,"resname":resname}) (stdout, stderr) = utilityFunctions.run_command(cmdRegex.getCmd(formatdict),ignore_errors=True, callback=lambda: wx.CallAfter(self.failureDialog), startupinfo=self.startupinfo, creationflags=self.creationflags) if stderr!="" and stderr !=None: q=Queue.Queue() wx.CallAfter(self.showDialog,stderr,q) q.get() self.updateReservationList()
def deleteReservation(self, reservation): cmdRegex = self.siteConfig.deleteReservation params = self.jobParams.copy() params['resname'] = reservation.name (stdout, stderr) = utilityFunctions.run_command( cmdRegex.getCmd(params), ignore_errors=True, callback=lambda: wx.CallAfter(self.failureDialog), startupinfo=self.startupinfo, creationflags=self.creationflags) self.updateReservationList()
def createReservation(self, resname, startdate, duration): print "in create reservation, name is %s" % resname if resname == "" or resname == None: resname = self.jobParams['username'] cmdRegex = self.siteConfig.createReservation formatdict = self.jobParams.copy() res = {} print formatdict try: import dateutil import dateutil.tz sitetz = dateutil.tz.gettz(self.siteConfig.sitetz) offset = startdate.utcoffset() if offset == None: offset = 0 utc = (startdate - startdate.utcoffset()).replace(tzinfo=sitetz) startdate = sitetz.fromutc(utc) print "converted startdate to correc tz" print "startdate is now %s" % startdate except Exception as e: import traceback print "failed to convert tz" print traceback.format_exc() print e pass startdatestring = startdate.strftime("%Y-%m-%dT%H:%M:%S") print startdate print startdatestring formatdict.update({ "starttime": startdatestring, "duration": duration, "resname": resname }) (stdout, stderr) = utilityFunctions.run_command( cmdRegex.getCmd(formatdict), ignore_errors=True, callback=lambda: wx.CallAfter(self.failureDialog), startupinfo=self.startupinfo, creationflags=self.creationflags) if stderr != "" and stderr != None: q = Queue.Queue() wx.CallAfter(self.showDialog, stderr, q) q.get() self.updateReservationList()
def updateReservationList(self): import re cmdRegex = self.siteConfig.listReservations (stdout, stderr) = utilityFunctions.run_command(cmdRegex.getCmd(self.jobParams),ignore_errors=True, callback=lambda: wx.CallAfter(self.failureDialog), startupinfo=self.startupinfo, creationflags=self.creationflags) print "running command %s"%cmdRegex.getCmd(self.jobParams) print stdout print stderr self.reservations=[] for line in stdout.splitlines(): for regex in cmdRegex.regex: match = re.search(regex,line) #match = re.search(regex.format(**self.jobParams).encode('ascii'),line) print "didn't find a reservation on that line" print print if (match): r=reservation(match.groupdict()['name'],match.groupdict()['desc']) self.reservations.append(r) print "found a reservation %s"%line print print print "updateReservationList %s"%line wx.CallAfter(self.tryEndBusy) self.updateReservationsGUI()
def deleteReservation(self,reservation): cmdRegex = self.siteConfig.deleteReservation params=self.jobParams.copy() params['resname']=reservation.name (stdout, stderr) = utilityFunctions.run_command(cmdRegex.getCmd(params),ignore_errors=True, callback=lambda: wx.CallAfter(self.failureDialog), startupinfo=self.startupinfo, creationflags=self.creationflags) self.updateReservationList()