Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

43 řádky
992B

  1. #!/usr/bin/python3
  2. import os, sys, re, time, datetime
  3. import logging
  4. log = logging.getLogger()
  5. from invoice.db.base import *
  6. class Companies(List):
  7. """Company list.
  8. When editing data files, you can use the following directives:
  9. Name -- full company name
  10. Address -- company address, repeat to get multiple lines
  11. Number -- identification number
  12. Comment -- additional information that you want to see on the invoice
  13. """
  14. _directory = "companies"
  15. _regex = re.compile("^(?P<name>[a-z0-9-]+)$")
  16. _template = "{name}"
  17. _data_template = """\
  18. Name:
  19. Address:
  20. Address:
  21. Number:
  22. """
  23. def _item_class(self):
  24. return Company
  25. class Company(Item):
  26. def _data_class(self):
  27. return CompanyData
  28. class CompanyData(Data):
  29. _fields = ["name", "number", "ic", "bank_account"]
  30. _multivalue_fields = ["address", "comment"]
  31. def _postprocess(self):
  32. self.rename_key("ic", "number")
  33. self.rename_key("comment", "comments")