Esempio n. 1
0
 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
Esempio n. 2
0
    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)
Esempio n. 3
0
 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()