The unified diff between revisions [e486b309..] and [03ca3690..] is displayed below. It can also be downloaded as a raw diff.
#
#
# add_file "LedgerRender.py"
# content [9bb5e6d1d1ca2220c3a78742fa1ddd6d8d5a41b2]
#
# patch "Chart.py"
# from [a5bd9d90d2992bfe97ff659060552c03b16a601e]
# to [f40230407c2d6613ec4ed64e4e1f7b6ed64971c5]
#
# patch "Ledger.py"
# from [0fcc36eac7feebc59f13145025da178c2651d74a]
# to [23629828fee27d5f87d85ec77e02d38c953ca73d]
#
# patch "LedgerInterface.py"
# from [c9b676e23d8228655145ecfd73656a7e6dde34a2]
# to [0439893104f2227c22efaec01960a16abd409ed1]
#
# patch "SQLTemplates.py"
# from [0a461ad0a72d4dfa518a60f9e14413741325f344]
# to [c4dadf9f30344910eb76980de1f5a9ca7f51e1ed]
#
============================================================
--- LedgerRender.py 9bb5e6d1d1ca2220c3a78742fa1ddd6d8d5a41b2
+++ LedgerRender.py 9bb5e6d1d1ca2220c3a78742fa1ddd6d8d5a41b2
@@ -0,0 +1,15 @@
+#!/usr/bin/env python
+
+# LedgerRender.py
+#
+
+class LedgerRender:
+ def __init__(self, ledger):
+ self.ledger = ledger
+
+ #def _render_single_text(self, ledger):
+ # print self.ledger.details(ledger)
+#
+# def render(self, format, ledgers):
+# for l in ledgers:
+# self._render_single_text(l)
============================================================
--- Chart.py a5bd9d90d2992bfe97ff659060552c03b16a601e
+++ Chart.py f40230407c2d6613ec4ed64e4e1f7b6ed64971c5
@@ -12,6 +12,7 @@ class Chart:
if not system.connected:
raise ConnectionStatusError
+ self.system = system
self.store = system.store
def create(self, details, debitbalance, info):
============================================================
--- Ledger.py 0fcc36eac7feebc59f13145025da178c2651d74a
+++ Ledger.py 23629828fee27d5f87d85ec77e02d38c953ca73d
@@ -3,7 +3,41 @@
# ledger.py
#
+from sqlite3 import dbapi2 as sqlite
+from SQLTemplates import *
+from Error import *
+
class Ledger:
- def __init__(self):
- pass
+ def __init__(self,chart):
+ system = chart.system
+ if not system.connected:
+ raise ConnectionStatusError
+
+ self.store = system.store
+
+ def balance(self, ledgerid):
+ db = self.store.db
+ cursor = db.cursor()
+
+
+ # FIXME for each journal affecting ledgerid
+ # retrieve and sum
+
+ #cursor.execute(chart_sql['ledgerdetails'] % (ledgerid,))
+
+ #return cursor.fetchone()
+ return ledgerid
+
+ def printledger(self, ledgerid):
+ db = self.store.db
+ cursor = db.cursor()
+
+ # FIXME for each journal affecting ledgerid
+ # print ledger line
+
+ #cursor.execute(chart_sql['ledgerdetails'] % (ledgerid,))
+
+ #return cursor.fetchone()
+
+ return ledgerid
============================================================
--- LedgerInterface.py c9b676e23d8228655145ecfd73656a7e6dde34a2
+++ LedgerInterface.py 0439893104f2227c22efaec01960a16abd409ed1
@@ -5,6 +5,10 @@ import sys
# Utilities associated with command line UI
import sys
+from Chart import Chart
+from Ledger import Ledger
+from LedgerRender import LedgerRender
+
from CLIParser import CLIParser, CLIParserError
from States import *
@@ -49,13 +53,29 @@ class LedgerInterface:
print "3 command not understood: %s" % (self.input,)
def balance(self, state, event, params, v, vstatus):
- print "status!!!!!"
+ args = self.input.split()
+ print "filename is %s" % (args[1],)
+ c = Chart(v)
+ l = Ledger(c)
+
+ r = LedgerRender(l)
+
+ print l.balance(args[1])
+
vstatus.change_state(STATE_LEDGER_IDLE, 1)
def printledger(self, state, event, params, v, vstatus):
- print "status!!!!!"
+ args = self.input.split()
+ print "filename is %s" % (args[1],)
+ c = Chart(v)
+ l = Ledger(c)
+
+ r = LedgerRender(l)
+
+ print l.printledger(args[1])
+
vstatus.change_state(STATE_LEDGER_IDLE, 1)
============================================================
--- SQLTemplates.py 0a461ad0a72d4dfa518a60f9e14413741325f344
+++ SQLTemplates.py c4dadf9f30344910eb76980de1f5a9ca7f51e1ed
@@ -6,8 +6,8 @@ create_fourstar_db['CHART'] = "CREATE TA
create_fourstar_db = {}
create_fourstar_db['CHART'] = "CREATE TABLE CHART ( accountid integer primary key autoincrement, details text, debitbalance boolean, info text)"
+create_fourstar_db['LEDGER'] = "CREATE TABLE LEDGER ( postid integer primary key autoincrement, accountid integer, date text, explanation text, journalref integer, debit float, credit float, balancedebit float, balancecredit float)"
create_fourstar_db['JOURNAL'] = "CREATE TABLE JOURNAL ( journalid integer primary key autoincrement, date text explanation text, postref integer, accountid integer, debit float, credit float)"
-create_fourstar_db['LEDGER'] = "CREATE TABLE LEDGER ( postid integer primary key autoincrement, accountid integer, date text, explanation text, journalref integer, debit float, credit float, balancedebit float, balancecredit float)"
chart_sql = {}