Commit Graph

66 Commits

Author SHA1 Message Date
Harald Welte df04434e5d wpint: be more specific about what we're logging 2021-03-07 10:24:03 +01:00
Harald Welte 6e37ff6574 wpint: Address various pylint-reported issues 2021-03-07 10:10:52 +01:00
Harald Welte c812926610 Add 'wpint' module for Warenpost International ReST-API
This is a new module conforming to revision 1.03 of the
above-mentioned ReST-API.
2021-03-07 00:15:18 +01:00
Georg Sauthoff 640baf1dbc Allow users to supply customer specific prices
fixes https://github.com/gsauthof/frank/issues/3
2021-02-02 21:13:06 +01:00
Georg Sauthoff 6c1f9bb1f5 Avoid rounding issues with float 2021-01-23 16:38:10 +01:00
Georg Sauthoff 4e3818723c fix price comparision and latest column reordering
i.e. latest Deutsche Post update inserted some columns, thus using the
headers is more robust.
2020-12-05 13:44:35 +01:00
Harald Welte 2589eb30d2 bump version to 0.8.3. for price changes from Jan 1st, 2021 2020-12-03 11:37:11 +01:00
Harald Welte b71d9484fd update products.json with prices from January 1st, 2021
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.
2020-12-03 11:28:43 +01:00
Harald Welte 2d3111f52e bump version to 0.8.2 2020-07-06 12:26:38 +02:00
Harald Welte 0e08930f08 setup.py: Make sure the new price lists are actually packaged
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.
2020-07-06 12:24:30 +02:00
Georg Sauthoff 9b22103c04 Update prices for temporary VAT discount
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.
2020-06-20 18:07:09 +02:00
Georg Sauthoff 410b0ac833 Use more appropriate function for version query 2019-12-05 21:23:42 +01:00
Georg Sauthoff 5cc7591415 Handle version string in setup.py
This fixes the issue with importing the package in setup.py which fails
when the dependencies aren't already available.

Reported by Carsten Tschense.
2019-12-05 20:56:21 +01:00
Georg Sauthoff 3e6e671f0d Add example: convert ppl_vXXX.csv to products.json 2019-11-22 18:33:34 +01:00
Georg Sauthoff f469a9b9fc Add product changes that are effective 2020-01-01
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).
2019-11-22 18:27:43 +01:00
Georg Sauthoff e72514697c Print inema version 2019-11-22 18:27:03 +01:00
Georg Sauthoff 824ed58d03 Remove trailing whitespace 2019-11-22 18:26:35 +01:00
Georg Sauthoff 6ad0d4dadd Fix json UTF8 dumping in Python 2 2019-07-15 19:41:49 +02:00
Harald Welte 77d55b4f48 update products.json with sorted keys / defined ordering
This will avoid lots of unwanted diffs on future updates
2019-07-15 07:50:28 +08:00
Georg Sauthoff ed139e5b59 Port to Python3, canonicalize JSON, retain Umlauts 2019-07-14 15:31:03 +02:00
Georg Sauthoff fe0e30f173 We don't require lxml - zeep does
and has it as a requirement in its setup.py
2019-07-14 13:41:45 +02:00
Harald Welte fdc295653b bump version to 0.8 2019-07-11 23:59:54 +08:00
Harald Welte 39c519f147 Update products.json with current dump of 20190711
This was extracted from ProdWS using 'examples/products.py | json_pp'
2019-07-11 23:59:42 +08:00
Henrik Genssen 896ac2abc0 Add ProductInformation() class and examples/products.py
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.
2019-07-11 23:59:42 +08:00
Henrik Genssen 114b6c036b make gen_1c4a_hdr() and get_product_price_by_id() class methods 2019-07-11 23:59:42 +08:00
Harald Welte 999c0b713b Fix utf-8 parsing of json data files 2019-07-11 23:59:42 +08:00
Henrik Genssen 103c0f4059 Add coding/utf8 annotations to fix special characters for python 2.7 2019-07-11 23:59:42 +08:00
Harald Welte 2646fdc889 bump version to 0.7 2019-07-11 23:59:42 +08:00
Harald Welte 3cb30f5137 products.json: Update some prices to 2019-07-01
Deutshce Post changed pricing, let's update this for some products. A
proper fix for all products will follow as separate patch.
2019-07-11 23:22:28 +08:00
Harald Welte bef18ffa51 setup.py: Add install_requires for pytz
From commit 36120fbd7d onwards, we
introduced a dependency to pytz for timezone conversion.  This
dependency was not reflected in setup.py.
2019-06-03 09:38:18 +02:00
Harald Welte 9ec7af1df4 products.json: Avoid "Umlauts" for python 2.x compatibility
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.
2019-06-03 07:34:09 +00:00
Georg Sauthoff 539148021e bump to version 0.6 2019-03-25 14:29:45 +01:00
Georg Sauthoff 7e141341a2 Fix deprecation warning 2019-03-25 14:27:55 +01:00
Georg Sauthoff 6d2ee85a7e Add some new Warenpost products
reported by Remi Bergsma
2019-03-25 14:24:50 +01:00
Georg Sauthoff 68e58a42e2 Fix name-key typo in products.json
reported by Remi Bergsma
2019-03-25 14:20:59 +01:00
Harald Welte fc2365d3d7 Add PEP-0396 compatible __version__ to the module and bump to 0.5 2019-01-16 16:08:32 +01:00
Harald Welte 7e1493ee09 products.json: Warenpost "L" is up to 2kg, not 1kg 2019-01-09 00:34:19 +01:00
Harald Welte a4950a0e0b products.json: Update to 20190101
* add new "Warenpost International" prices
* update pricing
* order document in logical groups + ascending order
2019-01-09 00:14:35 +01:00
Georg Sauthoff 72b46e97b0 bump version to 0.4 2018-12-09 11:18:32 +01:00
Georg Sauthoff db0e33d420 Update prices of Waren-/Büchersendung products
cf. https://web.archive.org/web/20180810155706/https://shop.deutschepost.de/briefversand/spezielle-versandformen/buechersendung-und-warensendung
2018-08-10 18:01:27 +02:00
Harald Welte 34efc61d9c move development status to production/stable 2018-05-14 10:26:49 +02:00
Georg Sauthoff 23502e15f1 Add --print option. 2018-05-10 15:30:41 +02:00
Georg Sauthoff 1d4bf4813c Add command line frontend 'frank' 2017-06-24 13:06:03 +02:00
Harald Welte a88240dea5 bump version to 0.2 2016-12-13 14:15:08 +01:00
Harald Welte e464545a89 Fix company addresses with contact person
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.
2016-12-13 14:08:29 +01:00
Matthias Bilger 04cdf054c4 Allow no sender and receiver 2016-11-30 17:49:11 +01:00
Matthias Bilger 4061765f48 Added formats.json to setup 2016-11-30 17:48:13 +01:00
Harald Welte 325d2efa08 use round() to avoid truncation errros when doing int(5.1 * 100) = 5.09
Before this commit, a postage of 5.10 EUR would actually be reported as
postage of 5.09 EUR and subsequently rejected by DPAG.
2016-10-25 14:56:02 +02:00
Georg Sauthoff 2f0f298075 add preview pdf call 2016-09-26 20:26:15 +02:00
Georg Sauthoff a013f6c4c6 Store pdf in result, also store manifest
- 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
2016-09-26 16:02:01 +02:00