Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

companies.py 991B

9 anos atrás
123456789101112131415161718192021222324252627282930313233343536373839404142
  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")