diff --git a/README.md b/README.md
index 1d7b609..d6e3b60 100644
--- a/README.md
+++ b/README.md
@@ -1,20 +1,89 @@
-# tauron-elicznik-scraper
-Simple python3 script that outputs JSON with energy meter data from Tauron eLicznik service
+# Tauron eLicznik Scraper
-1. Add login info and energy meter ID into script
-2. Run with ```python3 elicznik.py```
-3. Get JSON output with energy meter data from last day
+This Python 3 package allows to read electric energy meter reading history from the
+[Tauron eLicznik](https://elicznik.tauron-dystrybucja.pl/) website.
-Energy meter ID can be obtained from https://elicznik.tauron-dystrybucja.pl/ website under "Punkt poboru:" field.
-Script is currently tested only with G11 tariff.
+## Command line usage
-Optionally you can save JSON as file - just uncomment 2 last lines.
+With the package installed readings can be retrieved by simply running the `elicznik` command:
+```
+usage: elicznik [-h] [--format {raw,table,csv}] username password [date]
-You can change dane[chartDay] to get data from another day (not only the last one).
+positional arguments:
+ username tauron-dystrybucja.pl user name
+ password tauron-dystrybucja.pl password
+ date Date of data to be retrieved
-If JSON **should not** contain energy produced from solar panels, please comment the "dane[checkOZE]": "on".
+optional arguments:
+ -h, --help show this help message and exit
+ --format {raw,table,csv}
+ Specify the output format
+```
-Enjoy :)
+Example
+```
+$ elicznik freddy@example.com secretpassword 10.7.2021
+timestamp consumed produced
+------------------- ---------- ----------
+2021-07-03 01:00:00 0.116 0
+2021-07-03 02:00:00 0.105 0
+2021-07-03 03:00:00 0.117 0
+2021-07-03 04:00:00 0.108 0
+2021-07-03 05:00:00 0.125 0
+2021-07-03 06:00:00 0.11 0
+2021-07-03 07:00:00 0.025 0.107
+2021-07-03 08:00:00 0 1.058
+2021-07-03 09:00:00 0.26 0.846
+2021-07-03 10:00:00 0.034 1.326
+2021-07-03 11:00:00 0 1.523
+2021-07-03 12:00:00 0 1.166
+2021-07-03 13:00:00 0 0.637
+2021-07-03 14:00:00 0.677 0.482
+2021-07-03 15:00:00 0.741 0.46
+2021-07-03 16:00:00 0.031 0.284
+2021-07-03 17:00:00 0 0.393
+2021-07-03 18:00:00 0.051 0.058
+2021-07-03 19:00:00 0.347 0.02
+2021-07-03 20:00:00 0.378 0.021
+2021-07-03 21:00:00 0.246 0
+2021-07-03 22:00:00 0.213 0
+2021-07-03 23:00:00 0.269 0
+2021-07-04 00:00:00 0.138 0
+```
-
+
+## API usage
+
+```
+import datetime
+import elicznik
+
+m = elicznik.ELicznik("freddy@example.com", "secretpassword")
+m.login()
+
+readings = m.get_readings(datetime.date(2021, 7, 10))
+
+for timestamp, consumed, produced in readings:
+ print(timestamp, consumed, produced)
+```
+
+
+## TODO & bugs
+
+* Add support for accounts with multiple meters
+* Convert the dates to UTC and handle switches from and to DST properly
+* Allow reading a date range instead of just one day
+* Make the dependency on tabulate optional
+
+
+## Similar projects
+
+This project is based on the excellent
+[tauron-elicznik-scrapper](https://github.com/MichalZaniewicz/tauron-elicznik-scraper) project by
+[@Michał Zaniewicz](https://github.com/MichalZaniewicz), but there are several other available out there.
+
+Among the other [similar eLicznik projects on GitHub](https://github.com/search?q=elicznik) there's one especially
+worth checking out:
+the [Tauron AMIplus sensor](https://github.com/PiotrMachowski/Home-Assistant-custom-components-Tauron-AMIplus) -- it's
+an eLicznik Home Assistant integration.
diff --git a/example_output.json b/example_output.json
deleted file mode 100644
index cb567d4..0000000
--- a/example_output.json
+++ /dev/null
@@ -1,440 +0,0 @@
-{
- "name": {
- "chart": "Pob\u00f3r 04.03.2020",
- "OZE": "Generacja 04.03.2020"
- },
- "dane": {
- "chart": [{
- "EC": "0.089",
- "Date": "2020-03-04",
- "Hour": "1",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- }, {
- "EC": "0.083",
- "Date": "2020-03-04",
- "Hour": "2",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- }, {
- "EC": "0.081",
- "Date": "2020-03-04",
- "Hour": "3",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- }, {
- "EC": "0.078",
- "Date": "2020-03-04",
- "Hour": "4",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- }, {
- "EC": "0.084",
- "Date": "2020-03-04",
- "Hour": "5",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- }, {
- "EC": "0.088",
- "Date": "2020-03-04",
- "Hour": "6",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- }, {
- "EC": "0.358",
- "Date": "2020-03-04",
- "Hour": "7",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- }, {
- "EC": "0.075",
- "Date": "2020-03-04",
- "Hour": "8",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- }, {
- "EC": "0.151",
- "Date": "2020-03-04",
- "Hour": "9",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- }, {
- "EC": "0.14",
- "Date": "2020-03-04",
- "Hour": "10",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- }, {
- "EC": "0.236",
- "Date": "2020-03-04",
- "Hour": "11",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- }, {
- "EC": "0.091",
- "Date": "2020-03-04",
- "Hour": "12",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- }, {
- "EC": "0.09",
- "Date": "2020-03-04",
- "Hour": "13",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- }, {
- "EC": "0.091",
- "Date": "2020-03-04",
- "Hour": "14",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- }, {
- "EC": "0.634",
- "Date": "2020-03-04",
- "Hour": "15",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- }, {
- "EC": "0.216",
- "Date": "2020-03-04",
- "Hour": "16",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- }, {
- "EC": "0.132",
- "Date": "2020-03-04",
- "Hour": "17",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- }, {
- "EC": "1.32",
- "Date": "2020-03-04",
- "Hour": "18",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- }, {
- "EC": "1.221",
- "Date": "2020-03-04",
- "Hour": "19",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- }, {
- "EC": "0.447",
- "Date": "2020-03-04",
- "Hour": "20",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- }, {
- "EC": "0.388",
- "Date": "2020-03-04",
- "Hour": "21",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- }, {
- "EC": "0.154",
- "Date": "2020-03-04",
- "Hour": "22",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- }, {
- "EC": "0.119",
- "Date": "2020-03-04",
- "Hour": "23",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- }, {
- "EC": "0.101",
- "Date": "2020-03-04",
- "Hour": "24",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- }],
- "zone": [],
- "zoneN": 0,
- "other": [],
- "OZE": {
- "1": {
- "EC": "0",
- "Date": "2020-03-04",
- "Hour": "1",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- },
- "2": {
- "EC": "0",
- "Date": "2020-03-04",
- "Hour": "2",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- },
- "3": {
- "EC": "0",
- "Date": "2020-03-04",
- "Hour": "3",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- },
- "4": {
- "EC": "0",
- "Date": "2020-03-04",
- "Hour": "4",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- },
- "5": {
- "EC": "0",
- "Date": "2020-03-04",
- "Hour": "5",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- },
- "6": {
- "EC": "0",
- "Date": "2020-03-04",
- "Hour": "6",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- },
- "7": {
- "EC": "0",
- "Date": "2020-03-04",
- "Hour": "7",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- },
- "8": {
- "EC": "0",
- "Date": "2020-03-04",
- "Hour": "8",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- },
- "9": {
- "EC": "0",
- "Date": "2020-03-04",
- "Hour": "9",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- },
- "10": {
- "EC": "0",
- "Date": "2020-03-04",
- "Hour": "10",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- },
- "11": {
- "EC": "0",
- "Date": "2020-03-04",
- "Hour": "11",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- },
- "12": {
- "EC": "0",
- "Date": "2020-03-04",
- "Hour": "12",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- },
- "13": {
- "EC": "0",
- "Date": "2020-03-04",
- "Hour": "13",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- },
- "14": {
- "EC": "0",
- "Date": "2020-03-04",
- "Hour": "14",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- },
- "15": {
- "EC": "0",
- "Date": "2020-03-04",
- "Hour": "15",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- },
- "16": {
- "EC": "0",
- "Date": "2020-03-04",
- "Hour": "16",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- },
- "17": {
- "EC": "0",
- "Date": "2020-03-04",
- "Hour": "17",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- },
- "18": {
- "EC": "0",
- "Date": "2020-03-04",
- "Hour": "18",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- },
- "19": {
- "EC": "0",
- "Date": "2020-03-04",
- "Hour": "19",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- },
- "20": {
- "EC": "0",
- "Date": "2020-03-04",
- "Hour": "20",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- },
- "21": {
- "EC": "0",
- "Date": "2020-03-04",
- "Hour": "21",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- },
- "22": {
- "EC": "0",
- "Date": "2020-03-04",
- "Hour": "22",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- },
- "23": {
- "EC": "0",
- "Date": "2020-03-04",
- "Hour": "23",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- },
- "24": {
- "EC": "0",
- "Date": "2020-03-04",
- "Hour": "24",
- "Status": "0",
- "Extra": "0",
- "Zone": "1",
- "Taryfa": "G11"
- }
- },
- "myAverage": [],
- "weather": [],
- "cloudiness": []
- },
- "sum": 6.467,
- "sumOther": 0,
- "sumMyAverage": 0,
- "OZEValue": 0,
- "sLastReadOZE": "Stan licznika:
Strefa T1000001<\/dd><\/span>",
- "sumTarget": 0,
- "pie": [],
- "TargetValue": 0,
- "TargetRange": 0,
- "legend": "",
- "countTarif": 1,
- "sCompareTable": "",
- "isFull": true,
- "isFullOther": true,
- "ok": 1
-}
\ No newline at end of file
diff --git a/output.json b/output.json
deleted file mode 100644
index d100f9f..0000000
--- a/output.json
+++ /dev/null
@@ -1,495 +0,0 @@
-{
- "name": {
- "chart": "Pob\u00f3r 10.07.2021",
- "OZE": "Oddanie 10.07.2021"
- },
- "dane": {
- "chart": {
- "1": {
- "EC": "0.105",
- "Date": "2021-07-10",
- "Hour": "1",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba",
- "Taryfa": "G11"
- },
- "2": {
- "EC": "0.105",
- "Date": "2021-07-10",
- "Hour": "2",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba",
- "Taryfa": "G11"
- },
- "3": {
- "EC": "0.096",
- "Date": "2021-07-10",
- "Hour": "3",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba",
- "Taryfa": "G11"
- },
- "4": {
- "EC": "0.108",
- "Date": "2021-07-10",
- "Hour": "4",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba",
- "Taryfa": "G11"
- },
- "5": {
- "EC": "0.119",
- "Date": "2021-07-10",
- "Hour": "5",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba",
- "Taryfa": "G11"
- },
- "6": {
- "EC": "0.09",
- "Date": "2021-07-10",
- "Hour": "6",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba",
- "Taryfa": "G11"
- },
- "7": {
- "EC": "0.026",
- "Date": "2021-07-10",
- "Hour": "7",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba",
- "Taryfa": "G11"
- },
- "8": {
- "EC": "0",
- "Date": "2021-07-10",
- "Hour": "8",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba",
- "Taryfa": "G11"
- },
- "9": {
- "EC": "0.094",
- "Date": "2021-07-10",
- "Hour": "9",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba",
- "Taryfa": "G11"
- },
- "10": {
- "EC": "0.013",
- "Date": "2021-07-10",
- "Hour": "10",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba",
- "Taryfa": "G11"
- },
- "11": {
- "EC": "0",
- "Date": "2021-07-10",
- "Hour": "11",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba",
- "Taryfa": "G11"
- },
- "12": {
- "EC": "0",
- "Date": "2021-07-10",
- "Hour": "12",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba",
- "Taryfa": "G11"
- },
- "13": {
- "EC": "0",
- "Date": "2021-07-10",
- "Hour": "13",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba",
- "Taryfa": "G11"
- },
- "14": {
- "EC": "0",
- "Date": "2021-07-10",
- "Hour": "14",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba",
- "Taryfa": "G11"
- },
- "15": {
- "EC": "0",
- "Date": "2021-07-10",
- "Hour": "15",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba",
- "Taryfa": "G11"
- },
- "16": {
- "EC": "0.036",
- "Date": "2021-07-10",
- "Hour": "16",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba",
- "Taryfa": "G11"
- },
- "17": {
- "EC": "0.596",
- "Date": "2021-07-10",
- "Hour": "17",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba",
- "Taryfa": "G11"
- },
- "18": {
- "EC": "0.008",
- "Date": "2021-07-10",
- "Hour": "18",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba",
- "Taryfa": "G11"
- },
- "19": {
- "EC": "0.125",
- "Date": "2021-07-10",
- "Hour": "19",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba",
- "Taryfa": "G11"
- },
- "20": {
- "EC": "0.088",
- "Date": "2021-07-10",
- "Hour": "20",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba",
- "Taryfa": "G11"
- },
- "21": {
- "EC": "0.177",
- "Date": "2021-07-10",
- "Hour": "21",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba",
- "Taryfa": "G11"
- },
- "22": {
- "EC": "0.212",
- "Date": "2021-07-10",
- "Hour": "22",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba",
- "Taryfa": "G11"
- },
- "23": {
- "EC": "0.193",
- "Date": "2021-07-10",
- "Hour": "23",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba",
- "Taryfa": "G11"
- },
- "24": {
- "EC": "0.102",
- "Date": "2021-07-10",
- "Hour": "24",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba",
- "Taryfa": "G11"
- }
- },
- "zone": [],
- "zoneN": 0,
- "other": [],
- "OZE": {
- "1": {
- "EC": "0",
- "Date": "2021-07-10",
- "Hour": "1",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba"
- },
- "2": {
- "EC": "0",
- "Date": "2021-07-10",
- "Hour": "2",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba"
- },
- "3": {
- "EC": "0",
- "Date": "2021-07-10",
- "Hour": "3",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba"
- },
- "4": {
- "EC": "0",
- "Date": "2021-07-10",
- "Hour": "4",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba"
- },
- "5": {
- "EC": "0",
- "Date": "2021-07-10",
- "Hour": "5",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba"
- },
- "6": {
- "EC": "0",
- "Date": "2021-07-10",
- "Hour": "6",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba"
- },
- "7": {
- "EC": "0.066",
- "Date": "2021-07-10",
- "Hour": "7",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba"
- },
- "8": {
- "EC": "0.599",
- "Date": "2021-07-10",
- "Hour": "8",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba"
- },
- "9": {
- "EC": "1.513",
- "Date": "2021-07-10",
- "Hour": "9",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba"
- },
- "10": {
- "EC": "1.729",
- "Date": "2021-07-10",
- "Hour": "10",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba"
- },
- "11": {
- "EC": "2.362",
- "Date": "2021-07-10",
- "Hour": "11",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba"
- },
- "12": {
- "EC": "2.226",
- "Date": "2021-07-10",
- "Hour": "12",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba"
- },
- "13": {
- "EC": "2.711",
- "Date": "2021-07-10",
- "Hour": "13",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba"
- },
- "14": {
- "EC": "2.213",
- "Date": "2021-07-10",
- "Hour": "14",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba"
- },
- "15": {
- "EC": "2.652",
- "Date": "2021-07-10",
- "Hour": "15",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba"
- },
- "16": {
- "EC": "1.668",
- "Date": "2021-07-10",
- "Hour": "16",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba"
- },
- "17": {
- "EC": "1.406",
- "Date": "2021-07-10",
- "Hour": "17",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba"
- },
- "18": {
- "EC": "0.673",
- "Date": "2021-07-10",
- "Hour": "18",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba"
- },
- "19": {
- "EC": "0.644",
- "Date": "2021-07-10",
- "Hour": "19",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba"
- },
- "20": {
- "EC": "0.55",
- "Date": "2021-07-10",
- "Hour": "20",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba"
- },
- "21": {
- "EC": "0.024",
- "Date": "2021-07-10",
- "Hour": "21",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba"
- },
- "22": {
- "EC": "0",
- "Date": "2021-07-10",
- "Hour": "22",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba"
- },
- "23": {
- "EC": "0",
- "Date": "2021-07-10",
- "Hour": "23",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba"
- },
- "24": {
- "EC": "0",
- "Date": "2021-07-10",
- "Hour": "24",
- "Status": "0",
- "Extra": "N",
- "Zone": "1",
- "ZoneName": "Ca\u0142a doba"
- }
- },
- "myAverage": [],
- "weather": [],
- "cloudiness": []
- },
- "sum": 2.2929999999999997,
- "sumOther": 0,
- "sumMyAverage": 0,
- "avgMyAverageValue": 0,
- "OZEValue": 21.035999999999998,
- "sLastReadOZE": "Stan licznika na dzie\u0144: 2021-07-10
Strefa T1
000499
",
- "sumTarget": 0,
- "pie": [],
- "TargetValue": 0,
- "TargetRange": 0,
- "legend": "",
- "countTarif": 1,
- "sCompareTable": "",
- "isFull": true,
- "isFullOther": true,
- "average": 0.096,
- "predict": 0,
- "averageOther": 0,
- "averageOZE": 0.877,
- "predictOZE": 0,
- "ok": 1
-}
diff --git a/setup.cfg b/setup.cfg
new file mode 100644
index 0000000..8183238
--- /dev/null
+++ b/setup.cfg
@@ -0,0 +1,2 @@
+[metadata]
+license_files = LICENSE
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000..931db2f
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,36 @@
+from setuptools import setup, find_packages
+import pathlib
+
+here = pathlib.Path(__file__).parent.resolve()
+
+long_description = (here / 'README.md').read_text(encoding='utf-8')
+
+setup(
+ name='elicznik',
+ version='1.0',
+ description='Tauron eLicznik scrapper',
+ long_description=long_description,
+ long_description_content_type='text/markdown',
+ url='https://github.com/mlesniew/elicznik',
+ author='Michał Leśniewski',
+ author_email='mlesniew@gmail.com',
+ classifiers=[
+ 'Development Status :: 3 - Alpha',
+ 'Intended Audience :: Developers',
+ 'Intended Audience :: End Users/Desktop',
+ 'Topic :: Software Development :: Build Tools',
+ 'License :: OSI Approved :: MIT License',
+ 'Programming Language :: Python :: 3',
+ 'Programming Language :: Python :: 3 :: Only',
+ ],
+ keywords='elicznik, tauron, scrapper',
+ package_dir={'': 'src'},
+ packages=find_packages(where='src'),
+ python_requires='>=3.6, <4',
+ install_requires=['requests', 'tabulate'],
+ entry_points={
+ 'console_scripts': [
+ 'elicznik=elicznik.__main__:main',
+ ],
+ },
+)
diff --git a/elicznik/__init__.py b/src/elicznik/__init__.py
similarity index 100%
rename from elicznik/__init__.py
rename to src/elicznik/__init__.py
diff --git a/elicznik/__main__.py b/src/elicznik/__main__.py
similarity index 93%
rename from elicznik/__main__.py
rename to src/elicznik/__main__.py
index d5e5705..e1079cf 100644
--- a/elicznik/__main__.py
+++ b/src/elicznik/__main__.py
@@ -1,6 +1,7 @@
import argparse
import csv
import datetime
+import json
import sys
import tabulate
@@ -32,7 +33,7 @@ def main():
elicznik.login()
if args.format == "raw":
- print(elicznik.get_raw_readings(args.date))
+ print(json.dumps(elicznik.get_raw_readings(args.date), indent=4))
return
result = elicznik.get_readings(args.date)
diff --git a/elicznik/elicznik.py b/src/elicznik/elicznik.py
similarity index 100%
rename from elicznik/elicznik.py
rename to src/elicznik/elicznik.py
diff --git a/elicznik/session.py b/src/elicznik/session.py
similarity index 100%
rename from elicznik/session.py
rename to src/elicznik/session.py