示例#1
0
                },
            }
        }
        #rv["options"]["nodes"]["scaling"]["customScalingFunction"]="""function (min,max,total,value) {return value/%f};""" % self.nodemaxvalue
        return rv


############## MAIN #####################

depth = 3
#depth = None
print("running hledger (apply filters), getting balances ...",
      end="",
      flush=True)
accounts_ = ledger.queryHledgerForAccountListWithBalance(hledger_ledgerpath_,
                                                         depth=depth,
                                                         args=sys.argv[1:])
print("done")

#need to convert filter-generator to actual list or we can only read it once
print(
    "getting journal from hledger (apply filters) and parsing it into python objects ...",
    end="",
    flush=True)
transactions = list(
    filter(
        lambda t: len(t.postings) > 0,
        ledger.parseJournal(
            ledger.getHLedger(hledger_ledgerpath_, ["--cost"] + sys.argv[1:],
                              depth=None))))
print("done")
示例#2
0
        self.graph.append('"%s" -> "%s" [label="%s" weight=%f]' % (n1.replace("\"","\\\""), n2.replace("\"","\\\""), description.replace("\"","\\\""), weight))

    def addLabel(self, label):
        self.graph.append('labelloc="t"')
        if self.html:
            self.graph.append('label=<<u><b>%s</b></u>>' % cgi.escape(label))
        else:
            self.graph.append('label="%s"' % label.replace("\"","\\\""))

    def mkGraph(self, name):
        return "digraph %s {\n" % (name,) + "".join(map(lambda s: "\t%s;\n" % s ,self.graph)) + "}\n"


depth = 3
#depth = None
accounts = ledger.queryHledgerForAccountListWithBalance(hledger_ledgerpath_, depth=depth)
transactions = filter(lambda t: len(t.postings) > 0, ledger.parseJournal(ledger.getHLedger(hledger_ledgerpath_, ["--cost"],depth=None)))
#transactions_all = ledger.parseJournal(ledger.getHLedger(hledger_ledgerpath_, ["--cost"],depth=None))
transactions_dict = {}
for t in transactions:
    if t.name in transactions_dict:
        try:
            transactions_dict[t.name].mergeInPostingsFrom(t)
        except ledger.DifferentCurrency:
            print("Transaction Currencies Differ:", file=sys.stderr)
            print(transactions_dict[t.name], file=sys.stderr)
            print(t, file=sys.stderr)
    else:
        transactions_dict[t.name] = t.reduceDepth(None) # make sure each posting has an unique account

for t in transactions_dict.values():
示例#3
0
    def addLabel(self, label):
        self.graph.append('labelloc="t"')
        if self.html:
            self.graph.append('label=<<u><b>%s</b></u>>' % cgi.escape(label))
        else:
            self.graph.append('label="%s"' % label.replace("\"", "\\\""))

    def mkGraph(self, name):
        return "digraph %s {\n" % (name, ) + "".join(
            map(lambda s: "\t%s;\n" % s, self.graph)) + "}\n"


depth = 3
#depth = None
accounts = ledger.queryHledgerForAccountListWithBalance(hledger_ledgerpath_,
                                                        depth=depth)
transactions = filter(
    lambda t: len(t.postings) > 0,
    ledger.parseJournal(
        ledger.getHLedger(hledger_ledgerpath_, ["--cost"], depth=None)))
#transactions_all = ledger.parseJournal(ledger.getHLedger(hledger_ledgerpath_, ["--cost"],depth=None))
transactions_dict = {}
for t in transactions:
    if t.name in transactions_dict:
        try:
            transactions_dict[t.name].mergeInPostingsFrom(t)
        except ledger.DifferentCurrency:
            print("Transaction Currencies Differ:", file=sys.stderr)
            print(transactions_dict[t.name], file=sys.stderr)
            print(t, file=sys.stderr)
    else:
示例#4
0
        {"equity":{"color":{"background":"DeepPink","border":"black"},"borderWidth":3},
         "balancesheet":{"color":{"background":"LawnGreen","border":"black"},"borderWidth":3},
         "incomestatement":{"color":{"background":"SkyBlue","border":"black"},"borderWidth":3},
        },
        }}
        #rv["options"]["nodes"]["scaling"]["customScalingFunction"]="""function (min,max,total,value) {return value/%f};""" % self.nodemaxvalue
        return rv



############## MAIN #####################

depth = 3
#depth = None
print("running hledger (apply filters), getting balances ...", end="", flush=True)
accounts_ = ledger.queryHledgerForAccountListWithBalance(hledger_ledgerpath_, depth=depth, args=sys.argv[1:])
print("done")

#need to convert filter-generator to actual list or we can only read it once
print("getting journal from hledger (apply filters) and parsing it into python objects ...", end="", flush=True)
transactions = list(
                filter(
                    lambda t: len(t.postings) > 0, ledger.parseJournal(
                        ledger.getHLedger(hledger_ledgerpath_, ["--cost"] + sys.argv[1:],depth=None)
                        )
                    )
                )
print("done")

print("depth limiting transactions ...", end="", flush=True)
for t in transactions: