Pricing is not going back to what it was before July 1st, 2020
but there are significant price increases - and some products
that were discontinued. This update covers "ppl_v480_PARTER.CSV"
as received from DPAG on December 1st, 2020.
Since commit f469a9b9fc we support
automatically selecting the price list of the current date - but
we still only packaged pricelist.json and not those with more current
dates.
i.e. VAT temporarily changes from 19% to 16% as part of the Corona
related economy stimulus package. Deutsche Post thus adjusts the prices
for a subset of their products.
i.e. some added/removed products and some price changes
The package now supports multiple price lists and selects the right
one based on the effective date suffix (if present).
This allows the user to re-generate (update) the price list in
products.json using ProdWS API, which is a separate API provided by DPAG
to obtain the product catalogue including pricing information.
Without this patch, python 2.x would abort with a famous
'ascii' codec can't decode byte ...
error. This is why I kept the file free of special characters
so far, but commit 6d2ee85a7e
unfortunately broke that assumption.
I'm sure there's a proper solution, but I really don't feel like
investing time into researching and testing that now.
When using the build_comp_addr() method 'person' argument, we need
to pass in a PersonName object, and not a string name of the contact.
Add a public build_pers_name() method to produce that PersonName object,
and use it from the example code.
- since multiple vouchers yield one PDF, storing it directly in the
result object makes more sense
- the manifest is also available when buying PDFs, thus retrieve it as
well
Otherwise, you can't have multiple connections with different
authentications and basket contents. Also, re-constructing the
object didn't clear the positions which isn't very intuitive.
the result still is compatible with Python 2 (tested with 2.7)
- use relative import in `__init__.py` such that the import of `inema`
also works with `PYTHONPATH` set to the repository
- use another method to load the json file, i.e. one that also works
when the package isn't installed
- replace some deprecated imports (that aren't available in Python 3)
with their sucessors
- replace some Python 2 specific constructs (e.g. `map` that implicitly
converts to a list in Python 2 but just returns a map object in Python 3)