瀏覽代碼

Fix integer selectors for invoices on commandline.

master
Pavel Šimerda 9 年之前
父節點
當前提交
3f8728b831
共有 2 個檔案被更改,包括 9 行新增5 行删除
  1. +1
    -1
      lib/invoice/db/base.py
  2. +8
    -4
      lib/invoice/db/invoices.py

+ 1
- 1
lib/invoice/db/base.py 查看文件

@@ -72,7 +72,7 @@ class List:
if isinstance(selector, str):
selector = {"name": selector}
if isinstance(selector, int):
selector = {"number": number}
selector = {"number": selector}
log.debug("Selecting: {}".format(selector))
assert isinstance(selector, dict)
return [item for item in self if all(getattr(item, key) == selector[key] for key in selector)]


+ 8
- 4
lib/invoice/db/invoices.py 查看文件

@@ -30,10 +30,14 @@ Item: 0000: Item summary
def _select(self, selector):
if isinstance(selector, str):
match = self._regex.match(selector)
if not match:
raise ItemNotFoundError("Item not found: {}".format(selector))
selector = match.groupdict()
selector["number"] = int(selector["number"])
if match:
selector = match.groupdict()
selector["number"] = int(selector["number"])
else:
try:
selector = int(selector)
except TypeError:
raise ItemNotFoundError("Item not found: {}".format(selector))
return super(Invoices, self)._select(selector)

def new(self, company_name):


Loading…
取消
儲存