瀏覽代碼

Added 'summary' command.

master
Pavel Šimerda 9 年之前
父節點
當前提交
01945c4440
共有 1 個檔案被更改,包括 19 行新增2 行删除
  1. +19
    -2
      lib/invoice/cli.py

+ 19
- 2
lib/invoice/cli.py 查看文件

@@ -51,8 +51,8 @@ class Application:
help="additional help")

for list_ in "invoices", "companies":
for action in "list", "new", "edit", "show", "pdf", "delete":
if action == "pdf" and list_ != "invoices":
for action in "list", "summary", "new", "edit", "show", "pdf", "delete":
if action in ("pdf", "summary") and list_ != "invoices":
continue
suffix = ''
if list_ == "companies":
@@ -90,6 +90,23 @@ class Application:
for item in sorted(self.db.invoices):
print(item)

def do_summary(self):
"""Show invoice summary."""
total = paid = 0
for invoice in sorted(self.db.invoices):
data = invoice.data()
log.debug(data._data)
print("{number:7} {due!s:10} {paid!s:10} {sum:>6} {company_name}"
.format(**data._data))
total += data.sum
if data.paid:
paid += data.sum

print()
print("Total: {:6}".format(total))
print("Paid: {:6}".format(paid))
print("Unpaid: {:6}".format(total-paid))

def do_new(self, company_name):
"""Create and edit a new invoice."""
item = self.db.invoices.new(company_name)


Loading…
取消
儲存