-
Notifications
You must be signed in to change notification settings - Fork 28
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
initial GUI work on importing CSV files.
- Loading branch information
0 parents
commit ce28c4b
Showing
7 changed files
with
310 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
*.bak | ||
*.pyc | ||
*.kpf | ||
*.pjd |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
#!/usr/bin/env python | ||
|
||
try: | ||
# attempt to use the installed python package | ||
import csv2ofx | ||
except: | ||
# attempt to run the package from the source directory | ||
import sys | ||
sys.path.insert (0,'src') | ||
import csv2ofx | ||
|
||
|
||
if __name__ == '__main__': | ||
a=csv2ofx.csv2ofx() | ||
a.MainLoop() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
from distutils.core import setup | ||
|
||
setup( | ||
name='csv2ofx', | ||
version='0.1', | ||
packages=['csv2ofx'], | ||
package_dir={'csv2ofx':'src/csv2ofx'} | ||
) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,142 @@ | ||
|
||
import sys, os | ||
import csv | ||
|
||
import wx | ||
from wx import xrc | ||
import wx.grid as grd | ||
|
||
|
||
class SimpleCSVGrid(grd.PyGridTableBase): | ||
""" | ||
A very basic instance that allows the csv contents to be used | ||
in a wx.Grid | ||
""" | ||
def __init__(self,csv_path): | ||
grd.PyGridTableBase.__init__(self) | ||
# delimiter, quote could come from config file perhaps | ||
csv_reader = csv.reader(open(csv_path,'r'),delimiter=',',quotechar='"') | ||
self.grid_contents = [row for row in csv_reader] | ||
|
||
# the 1st row is the column headers | ||
self.grid_cols = len(self.grid_contents[0]) | ||
self.grid_rows = len(self.grid_contents) | ||
|
||
def GetNumberRows(self): | ||
return self.grid_rows-1 | ||
|
||
def GetNumberCols(self): | ||
return self.grid_cols | ||
|
||
def IsEmptyCell(self,row,col): | ||
return len(self.grid_contents[row+1][col]) == 0 | ||
|
||
def GetValue(self,row,col): | ||
return self.grid_contents[row+1][col] | ||
|
||
def GetColLabelValue(self,col): | ||
return self.grid_contents[0][col] | ||
|
||
|
||
|
||
class csv2ofx(wx.App): | ||
""" | ||
class csv2ofx | ||
Extends wx.App | ||
Provides a data table to preview csv input. | ||
""" | ||
def __init__(self): | ||
wx.App.__init__(self,redirect=False) | ||
|
||
def OnInit(self): | ||
""" | ||
Initializes and shows frame from csv2ofx.xrc | ||
""" | ||
|
||
# load the xml resource | ||
script_dir = os.path.dirname ( __file__ ) | ||
self.res = xrc.XmlResource ( "%s/csv2ofx.xrc" % script_dir ) | ||
|
||
# load the frame from the resource | ||
self.frame = self.res.LoadFrame ( None, "ID_CSV2OFX") | ||
|
||
# associate the MenuBar | ||
self.frame.SetMenuBar ( | ||
self.res.LoadMenuBar("ID_MENUBAR") | ||
) | ||
|
||
# handle events | ||
self.Bind ( wx.EVT_MENU, self.OnClose, id=xrc.XRCID("ID_MENU_CLOSE")) | ||
self.Bind ( wx.EVT_BUTTON, self.OnClose, id=xrc.XRCID("ID_BTN_CLOSE")) | ||
self.Bind ( wx.EVT_MENU, self.OnImport, id=xrc.XRCID("ID_MENU_IMPORT")) | ||
self.Bind ( wx.EVT_BUTTON, self.OnImport, id=xrc.XRCID("ID_BTN_IMPORT")) | ||
self.Bind ( wx.EVT_MENU, self.OnExport, id=xrc.XRCID("ID_MENU_EXPORT")) | ||
self.Bind ( wx.EVT_BUTTON, self.OnExport, id=xrc.XRCID("ID_BTN_EXPORT")) | ||
|
||
# the grid | ||
#self.grid=grd.Grid(self.frame) | ||
#self.grid.EnableEditing(False) | ||
#self.res.AttachUnknownControl ( "ID_GRID", self.grid ) | ||
self.grid = xrc.XRCCTRL(self.frame,"ID_GRID") | ||
|
||
# show the frame | ||
self.SetTopWindow(self.frame) | ||
self.frame.Show() | ||
return True | ||
|
||
def OnClose(self,evt): | ||
""" | ||
Close the application. | ||
""" | ||
self.frame.Close() | ||
|
||
def OnImport(self,evt): | ||
""" | ||
Import a csv file. | ||
""" | ||
|
||
# create an open file dialog | ||
dlg = wx.FileDialog ( | ||
self.frame, | ||
message="Open CSV File", | ||
wildcard="CSV Files (*.csv)|*.csv|All Files (*.*)|*.*", | ||
style=wx.OPEN|wx.CHANGE_DIR, | ||
) | ||
if dlg.ShowModal() == wx.ID_OK: | ||
path=dlg.GetPath() | ||
self._open_file(path) | ||
dlg.Destroy() | ||
|
||
|
||
def _open_file(self,path): | ||
""" | ||
Opens a csv file and loads it's contents into the data table. | ||
path: path to the csv file. | ||
""" | ||
|
||
print "Open File %s" % path | ||
|
||
self.grid_table = SimpleCSVGrid(path) | ||
self.grid.SetTable(self.grid_table) | ||
|
||
def OnExport(self,evt): | ||
if not hasattr(self,'grid_table'): | ||
wx.MessageDialog( | ||
self.frame, | ||
"Use import to load a csv file.", | ||
"No CSV File loaded.", | ||
wx.OK|wx.ICON_ERROR | ||
).ShowModal() | ||
else: | ||
print "Export" | ||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<resource version="2.3.0.1" xmlns="http://www.wxwidgets.org/wxxrc"> | ||
<object class="wxFrame" name="ID_CSV2OFX"> | ||
<style>wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX</style> | ||
<size>400,300</size> | ||
<title>csv2ofx</title> | ||
<object class="wxBoxSizer"> | ||
<orient>wxVERTICAL</orient> | ||
<object class="sizeritem"> | ||
<flag>wxGROW|wxALL</flag> | ||
<border>5</border> | ||
<option>1</option> | ||
<object class="wxGrid" name="ID_GRID"> | ||
<size>200,150</size> | ||
</object> | ||
</object> | ||
<object class="sizeritem"> | ||
<flag>wxALIGN_RIGHT|wxALL</flag> | ||
<border>5</border> | ||
<object class="wxBoxSizer"> | ||
<orient>wxHORIZONTAL</orient> | ||
<object class="sizeritem"> | ||
<flag>wxALIGN_CENTER_VERTICAL|wxALL</flag> | ||
<border>5</border> | ||
<object class="wxButton" name="ID_BTN_IMPORT"> | ||
<label>Import</label> | ||
</object> | ||
</object> | ||
<object class="sizeritem"> | ||
<flag>wxALIGN_CENTER_VERTICAL|wxALL</flag> | ||
<border>5</border> | ||
<object class="wxButton" name="ID_BTN_EXPORT"> | ||
<label>Export</label> | ||
</object> | ||
</object> | ||
<object class="sizeritem"> | ||
<flag>wxALIGN_CENTER_VERTICAL|wxALL</flag> | ||
<border>5</border> | ||
<object class="wxButton" name="ID_BTN_CLOSE"> | ||
<label>Close</label> | ||
</object> | ||
</object> | ||
</object> | ||
</object> | ||
</object> | ||
</object> | ||
<object class="wxMenuBar" name="ID_MENUBAR"> | ||
<object class="wxMenu"> | ||
<label>File</label> | ||
<object class="wxMenuItem" name="ID_MENU_IMPORT"> | ||
<label>Import</label> | ||
</object> | ||
<object class="wxMenuItem" name="ID_MENU_EXPORT"> | ||
<label>Export</label> | ||
</object> | ||
<object class="separator"> | ||
</object> | ||
<object class="wxMenuItem" name="ID_MENU_CLOSE"> | ||
<label>Close</label> | ||
</object> | ||
</object> | ||
</object> | ||
</resource> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
"Status","Date","Original Description","Split Type","Category","Currency","Amount","User Description","Memo","Classification","Account Name","Transaction Id" | ||
"posted",01/15/09,"dorothy reynolds",,"Acme Corporation - SI Consulting","USD",99,,,"Business","PayPal - PayPal Balance ",48908122 | ||
"posted",01/14/09,"ROTO-ROOTER SVRCS10046 TAMPA FL",,"Riverside Property Management - Contracting or Repair ","USD",-1700,," Roto Rooter - Donnie 954-609-9125 for Riverside Property sewer line replacement (emergency)","Business","Discover Card - Discover",48908123 | ||
"posted",01/14/09,"IHERB.COM 8663281171 CA",,"Cost Of Goods Sold - Materials Other","USD",-125.88,,"supplements","Business","Advanta Business Card - 7603",48908124 | ||
"posted",01/14/09,"BANYAN TRADING 505-8570909 NM",,"Cost Of Goods Sold - Materials Other","USD",-138.6,,,"Personal","Capital One - Sport/Health Card",48908125 | ||
"posted",01/13/09,"MEMBERSHIP",,"MyPersonal - Service Charges Fees","USD",39,,,"Personal","Barclaycard (US) - AirTran",48908126 | ||
"posted",01/13/09,"IHERB.COM",,"Cost Of Goods Sold - Materials Other","USD",-125.88,,,"Business","Advanta Business Card - 7603",48908127 | ||
"posted",01/13/09,"Holly Meyers",,"Acme Corporation - SI Consulting","USD",99,,,"Business","PayPal - PayPal Balance ",48908128 | ||
"posted",01/12/09,"BANK OF AMERICA ONLINE PMT CO",,"Credit Card Payments","USD",-124.11,,,"Business","First Bank - CHECKING Acme Corporation",48908129 | ||
"posted",01/07/09,"CHECK CLEARED",,"Riverside Property Management - Maintenance","USD",-280,"Roger Whitcher","labor","Business","First Bank - CHECKING Riverside",48908130 | ||
"posted",01/07/09,"UCS - AUTOPAY PAYMENT CO ",,"Credit Card Payments","USD",-18.61,,,"Business","First Bank - CHECKING Acme Corporation",48908131 | ||
"posted",01/06/09,"AUTOPAY 4423RAUTOPAY AUTO-PMT",,"Credit Card Payments","USD",18.61,,,"Personal","Citibank Credit Cards - AT&T Universal Card",48908132 | ||
"posted",01/05/09,"HYPERFLITE SKYHOUNDZ ROSWELL GA",,"MyPersonal Pet Care - Toys Frisbees","USD",-122.45,,,"Business","Discover Card - Discover",48908133 | ||
"posted",01/05/09,"Jerrold Johnson",,"Acme Corporation - SI Consulting","USD",198,,"Vivian SI Consulting","Business","PayPal - PayPal Balance ",48908134 | ||
"posted",01/05/09,"CHECK CLEARED",,"Riverside Property Management - Contracting or Repair ","USD",-500,"John Andrews","Riverside roof","Business","First Bank - CHECKING Riverside",48908135 | ||
"posted",01/03/09,"RENT A CODER 813-9089029 FL",,"Consulting Expenses - Technology Outsourcing","USD",-50,,"Convert DavesBlog & JohnsBlog from Subtext to Drupal","Business","Discover Card - Discover",48908136 | ||
"posted",01/03/09,"Skype",,"Telephone Services - Skype","USD",-2.95,,,"Business","PayPal - PayPal Balance ",48908137 | ||
"posted",01/02/09,"LINODE.COM 0171 ABSECON",,"Online Services","USD",-19.95,,,"Business","American Express Cards - Rewards Card",48908138 | ||
"posted",01/02/09,"CREDIT FOR EMIGRANTDIRECT TRANSFER CO",,"Transfers","USD",38.15,,,"Personal","First Bank - CHECKING DavidSmith Personal",48908139 | ||
"posted",01/02/09,"UCS-CLICK TO PAY PAYMENT CO ",,"Credit Card Payments","USD",-51.36,,,"Business","First Bank - CHECKING Acme Corporation",48908140 | ||
"posted",12/31/08,"CLICK-TO-PAY PAYMENT, THANK YOU",,"Credit Card Payments","USD",51.36,,,"Personal","Citibank Credit Cards - AT&T Universal Card",48908141 | ||
"posted",12/31/08,"COMPUTER PAYMENT RECEIVED - THA",,"Credit Card Payments","USD",242.7,,,"Business","American Express Cards - Rewards Card",48908142 | ||
"posted",12/31/08,"BARNES&NOBLE*BOOKQUEST 866-257-7723 NJ 529446001034",,"Research and Development - SI Consulting","USD",-7.98,"BN.com (The Web That Has No Weaver)","The Web That Has No Weaver","Business","Discover Card - Discover",48908143 | ||
"posted",12/31/08,"BARNES&NOBLE*BOOKQUEST 866-257-7723 NJ 529446001034",,"Research and Development - SI Consulting","USD",-5.88,"BN.com (Vital Energy : The 7 Keys to Invigorate Body, Mind, and Soul)","Vital Energy : The 7 Keys to Invigorate Body, Mind, and Soul","Business","Discover Card - Discover",48908144 | ||
"posted",12/31/08,"BARNES&NOBLE*BOOKQUEST 866-257-7723 NJ 529446001034",,"Research and Development - SI Consulting","USD",-6.9,,"Voices of Qi-an Introductory Guide to Traditional Chinese Medicine","Business","Discover Card - Discover",48908145 | ||
"posted",12/31/08,"BARNES&NOBLE*COM 800-843-2665 NJ 529446001034",,"Research and Development - SI Consulting","USD",-27.81,"Barnes & Noble (Born on a Blue Day: Inside the Extraordinary Mind of an Autistic Savant; Embracing the Wide Sky: A Tour Across the Horizons of the Mind)","2 Daniel Tammet books","Business","Discover Card - Discover",48908146 | ||
"posted",12/29/08,"GODADDY.COM SCOTTSDALE",,"Online Services","USD",-69.21,,"domain name renewals","Business","American Express Cards - Rewards Card",48908147 | ||
"posted",12/27/08,"HEALTHYWAY CAFE (ST.TAMPA",,"Meals and Entertainment","USD",-39.17,,,"Business","American Express Cards - Rewards Card",48908148 | ||
"posted",12/27/08,"YOGABERRY TAMPA",,"Meals and Entertainment","USD",-12.73,,,"Business","American Express Cards - Rewards Card",48908149 | ||
"posted",12/23/08,"IOD INTEREST PAID",,"MyPersonal - Interest Income","USD",0.35,,,"Personal","First Bank - MONEYMRKT Old DavidSmith Personal",48908150 | ||
"posted",12/23/08,"IOD INTEREST PAID",,"MyPersonal - Interest Income","USD",0.05,,,"Personal","First Bank - CHECKING DavidSmith Personal",48908151 | ||
"posted",12/23/08,"SERVICE CHARGE",,"MyPersonal - Service Charges Fees","USD",-15,,,"Personal","First Bank - CHECKING DavidSmith Personal",48908152 | ||
"posted",12/23/08,"DEPOSIT",,"Riverside Property Management - Jax Housing Authority","USD",314,,,"Business","First Bank - CHECKING Riverside",48908153 | ||
"posted",12/23/08,"CHECK CLEARED",,"Riverside Property Management - Maintenance","USD",-475,,"tree removal for garden","Business","First Bank - CHECKING Riverside",48908154 | ||
"posted",12/23/08,"DEPOSIT",,"Riverside Property Management - Jax Housing Authority","USD",314,,,"Business","First Bank - CHECKING Riverside",48908155 | ||
"posted",12/23/08,"DEPOSIT",,"Acme Corporation - SI Consulting","USD",99,,,"Business","First Bank - CHECKING Acme Corporation",48908156 | ||
"posted",12/21/08,"LINODE.COM 0138 ABSECON",,"Online Services","USD",-7.73,,,"Business","American Express Cards - Rewards Card",48908157 | ||
"posted",12/20/08,"USPS.COM CLICK100611WASHINGTON",,"Office Expenses - Postage And Delivery","USD",-9.35,,"Henry Cohn emWavePC","Business","American Express Cards - Rewards Card",48908158 | ||
"posted",12/19/08,"RENT A CODER TAMPA FL",,"Consulting Expenses - Technology Outsourcing","USD",-115,,"convert FitEyes to Drupal from CommunityServer","Business","Bank of America (All except WA & ID) - Credit Card - Bank of America 9297 BofA Amex",48908159 | ||
"posted",12/10/08,"GODADDY.COM SCOTTSDALE",,"Online Services","USD",-107.06,,,"Business","American Express Cards - Rewards Card",48908160 | ||
"posted",12/09/08,"AMAZON.COM AMZN.COM/BILLWA",,"MyPersonal Entertainment","USD",-19.95,,,"Business","Bank of America (All except WA & ID) - Credit Card - Bank of America 9297 BofA Amex",48908161 | ||
"posted",12/07/08,"DILLARDS DEPT STORESTAMPA",,"MyPersonal - Clothing","USD",-73.02,,,"Business","American Express Cards - Rewards Card",48908162 | ||
"posted",12/07/08,"REGIS TAMPA",,"MyPersonal - Personal Care","USD",-26,,"haircut","Business","American Express Cards - Rewards Card",48908163 | ||
"posted",12/05/08,"AMAZON.COM AMZN.COM/BI",,"Professional Development - Books","USD",-91,,,"Business","American Express Cards - Rewards Plus Gold Card",48908164 | ||
"Cleared",12/05/08," Mike Hogan, Tax Collector | ||
Holly Oaks Property Taxes | ||
Withdrawal Draft #008048 | ||
",,"MyPersonal - Property Taxes","USD",-4322.83,,,"Personal","Custom Bank - xxxxFederal Checking 02 JaxFCU Checking",48908165 | ||
"Cleared",12/01/08," Deposit Dividend %% APY Earned 0.24% 11/01/08 to 11/30/08 | ||
",,"MyPersonal - Interest Income","USD",2.55,,,"Personal","Custom Bank - xxxxFederal Checking 02 JaxFCU Checking",48908166 | ||
"Cleared",12/01/08," Deposit Dividend %% APY Earned 2.25% 11/01/08 to 11/30/08%% APYE Avg Daily Bal 663.98",,"MyPersonal - Interest Income","USD",4.69,,,"Personal","Custom Bank - xxxxFederal Money Market FCU MoneyMrkt",48908167 | ||
"posted",11/28/08,"SPIRITUAL LEGACIES 0ASHLAND",,"Professional Development - Subscriptions","USD",-80,,"disputed membership","Business","American Express Cards - Rewards Plus Gold Card",48908168 | ||
"posted",11/28/08,"USPS 1144139557 TAMPA",,"Office Expenses - Postage And Delivery","USD",-1.26,,,"Business","American Express Cards - Rewards Card",48908169 | ||
"posted",11/28/08,"SPIRITUAL LEGACIES 0138",,"Professional Development - Subscriptions","USD",80,,,"Business","American Express Cards - Rewards Card",48908170 | ||
"posted",11/28/08,"MONEY MARKET INTEREST (MMDA1)",,"MyPersonal - Tax Exempt Interest Income","USD",0,,,"Personal","TD Ameritrade - W DAVID SMITH ROTH IRA TD AMERITRADE INC CUSTODIAN",48908171 | ||
"posted",11/28/08,"MONEY MARKET INTEREST (MMDA1)",,"MyPersonal - Other Income","USD",0,,,"Personal","TD Ameritrade - DAVID SMITH",48908172 | ||
"posted",10/17/08,"PAYMENT TO EVERBANK NBG-FUNDS XFER",,"Transfers","USD",-50,,,"Personal","HSBC Bank USA - ONLINE SAVINGS",48908173 | ||
"Cleared",10/17/08," Withdrawal EVERBANK NBG",,"Transfers","USD",-50,,,"Personal","Custom Bank - xxxxFederal Money Market FCU MoneyMrkt",48908174 | ||
"Cleared",10/16/08," Transfer from other FCU money market account (changed from Tiered)",,"Transfers","USD",123.32,,,"Personal","Custom Bank - xxxxFederal Money Market FCU MoneyMrkt",48908175 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
"Date","Description","Comments","Check Number","Amount","Balance" | ||
10/02/08,"Deposit Home Banking",,,$130.00,$543.41 | ||
10/03/08,"Deposit ACH EVERBANK NBG",,,$0.24,$543.65 | ||
10/03/08,"Deposit ACH EVERBANK NBG",,,$0.89,$544.54 | ||
10/03/08,"Withdrawal ACH EVERBANK NBG",,,-$0.24,$544.30 | ||
10/03/08,"Withdrawal ACH EVERBANK NBG",,,-$0.89,$543.41 | ||
10/03/08,"Withdrawal Draft #008045",,8045,-$130.00,$413.41 | ||
11/01/08,"Deposit Dividend %% APY Earned 0.12% 10/01/08 to 10/31/08",,,$0.09,$413.50 | ||
11/08/08,"Deposit From BAZUERO 0000035193 Share 02",,,$200.00,$613.50 | ||
11/17/08,"Deposit Home Banking",,,$150.00,$763.50 | ||
12/01/08,"Deposit Dividend %% APY Earned 0.24% 11/01/08 to 11/30/08",,,$0.05,$763.55 | ||
12/05/08,"Withdrawal Draft #008048",,8048,-$832.83,-$69.28 | ||
12/11/08,"Overdrawn 008046",,,-$30.00,-$99.28 | ||
12/11/08,"Deposit REV NSF FEE CHECK #8046",,,$30.00,-$69.28 | ||
12/11/08,"Deposit",,,$280.00,$210.72 | ||
12/11/08,"Withdrawal OD TRANSFER FEE",,,-$3.00,$207.72 | ||
12/11/08,"Withdrawal Draft #008046",,8046,-$250.00,-$42.28 | ||
01/01/09,"Deposit Dividend %% APY Earned 0.25% 12/01/08 to 12/31/08",,,$0.15,-$42.13 |