Переглянути джерело

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):


Завантаження…
Відмінити
Зберегти