def readConfigFile(self, cfgFile): if cfgFile == "": d = wx.FileDialog(self, "", "", "", "*.cfg", wx.FD_OPEN) if d.ShowModal() == wx.ID_OK: fname = d.GetFilename() dir = d.GetDirectory() total_name_in = os.path.join(dir, fname) self.cfgFile = total_name_in else: self.cfgFile = cfgFile try: file = open(self.cfgFile, 'r') lines = file.readlines() self.dateFormat = lines.pop(0).replace('\n', '') Date.set_global_date_format(self, self.dateFormat) self.payType = lines.pop(0).replace('\n', '') in_ref_date = lines.pop(0).replace('\n', '') ref_date = Date.parse_date(self, in_ref_date, self.dateFormat) self.ref_date = ref_date["dt"] self.netpay = lines.pop(0).replace('\n', '') self.payDepositAcct = lines.pop(0).replace('\n', '') file.close() return True except: return False
def __init__(self, parent, title="PyAsset", cfgFile="", assetFile=""): self.parent = parent self.frame = self self.assets = AssetList(self) self.bills = BillList() self.cur_asset = Asset(name=assetFile) self.edited = False self.payType = "" self.ref_date = None self.netpay = "" self.payDepositAcct = "" self.cfgFile = copy.deepcopy(cfgFile) super(AssetFrame, self).__init__(parent, title=title) if self.readConfigFile(cfgFile): valid_date_seps = ['/', '-'] for j in range(len(valid_date_seps)): date_sep = valid_date_seps[j] date_fields = self.dateFormat.split(valid_date_seps[j]) if len(date_fields) == 3: break if len(date_fields) == 3: Date.set_global_date_format(self, self.dateFormat) Date.set_global_date_sep(self, date_sep) self.curr_date = Date.set_curr_date(self) self.proj_date = Date.set_proj_date(self, "") Date.set_global_curr_date(self, self.curr_date) Date.set_global_proj_date(self, self.proj_date) Date.set_curr_paydate(self) Date.set_next_paydate(self) self.make_widgets() self.filename = assetFile if self.filename == "": d = wx.FileDialog(self, "Open", "", "", "*.qif", wx.FD_OPEN) if d.ShowModal() == wx.ID_OK: fname = d.GetFilename() dir = d.GetDirectory() self.filename = os.path.join(dir, fname) if self.filename: latest_assets = qif.load_file(self, self.filename) self.process_asset_list(latest_assets) else: error = 'Badly formatted date format sting: %s - Aborting!\n' self.DisplayMsg(error) else: error = cfgFile + ' does not exist / cannot be opened!! - Aborting\n' self.DisplayMsg(error)
def onSave(self, event): error = "" if self.payType == -1: error = "Bad pay type" else: self.payType = self.payTypes[self.payType] if self.ref_date == None: if len(error) > 0: error = "%s; " % (error) error = "%sBad reference date" % (error) if self.netpay == None: if len(error) > 0: error = "%s; " % (error) error = "%sBad net pay" % (error) if error != "": self.MsgBox(error) else: self.dateFormat = self.dateFormats[self.dateFormatChoice] Date.set_global_date_format(self, self.dateFormat) Date.set_global_date_sep(self, self.dateSep) payType = self.payType ref_date = Date.convertDateFormat(self, self.ref_date, self.dateFormat, self.dateFormat) self.ref_date = ref_date["str"] print("%s, %s, %s, %s, %s" % (self.dateFormat, payType, self.ref_date, self.netpay, self.payDepositAcct)) Date.updatePayDates(self) if self.assetFrame != None: self.assetFrame.setDateFormat(self.dateFormat) self.assetFrame.setPayType(payType) self.assetFrame.setRefDate(self.ref_date) self.assetFrame.setNetPay(self.netpay) self.assetFrame.setPayDepositAcct(self.payDepositAcct) self.assetFrame.writeConfigFile() self.assetFrame.update_all_Date_Formats( self.inDateFormat, self.dateFormat) self.assetFrame.update_date_grid_dates(self.dateFormat, self.dateFormat) self.Parent.Destroy()