pytekukko 0.14.0__tar.gz → 0.16.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. {pytekukko-0.14.0 → pytekukko-0.16.0}/CHANGELOG.md +14 -0
  2. {pytekukko-0.14.0/src/pytekukko.egg-info → pytekukko-0.16.0}/PKG-INFO +6 -2
  3. {pytekukko-0.14.0 → pytekukko-0.16.0}/pyproject.toml +24 -17
  4. {pytekukko-0.14.0 → pytekukko-0.16.0}/requirements/dev-requirements.txt +2 -3
  5. {pytekukko-0.14.0 → pytekukko-0.16.0}/requirements/test-requirements.txt +1 -1
  6. {pytekukko-0.14.0 → pytekukko-0.16.0}/src/pytekukko/__init__.py +1 -1
  7. pytekukko-0.16.0/src/pytekukko/examples/print_collection_schedules.py +79 -0
  8. {pytekukko-0.14.0 → pytekukko-0.16.0}/src/pytekukko/examples/update_google_calendar.py +2 -2
  9. {pytekukko-0.14.0 → pytekukko-0.16.0/src/pytekukko.egg-info}/PKG-INFO +6 -2
  10. {pytekukko-0.14.0 → pytekukko-0.16.0}/src/pytekukko.egg-info/requires.txt +1 -0
  11. {pytekukko-0.14.0 → pytekukko-0.16.0}/tests/cassettes/test_get_collection_schedule.yaml +11 -15
  12. {pytekukko-0.14.0 → pytekukko-0.16.0}/tests/cassettes/test_get_invoice_headers.yaml +20 -26
  13. pytekukko-0.16.0/tests/cassettes/test_login_logout.yaml +234 -0
  14. pytekukko-0.16.0/tests/cassettes/test_logout.yaml +83 -0
  15. {pytekukko-0.14.0 → pytekukko-0.16.0}/tests/test_pytekukko.py +3 -19
  16. pytekukko-0.14.0/src/pytekukko/examples/print_collection_schedules.py +0 -43
  17. pytekukko-0.14.0/tests/cassettes/test_login_logout.yaml +0 -1258
  18. pytekukko-0.14.0/tests/cassettes/test_logout.yaml +0 -1104
  19. {pytekukko-0.14.0 → pytekukko-0.16.0}/LICENSE +0 -0
  20. {pytekukko-0.14.0 → pytekukko-0.16.0}/MANIFEST.in +0 -0
  21. {pytekukko-0.14.0 → pytekukko-0.16.0}/README.md +0 -0
  22. {pytekukko-0.14.0 → pytekukko-0.16.0}/setup.cfg +0 -0
  23. {pytekukko-0.14.0 → pytekukko-0.16.0}/src/pytekukko/examples/__init__.py +0 -0
  24. {pytekukko-0.14.0 → pytekukko-0.16.0}/src/pytekukko/examples/print_invoice_headers.py +0 -0
  25. {pytekukko-0.14.0 → pytekukko-0.16.0}/src/pytekukko/examples/print_next_collections.py +0 -0
  26. {pytekukko-0.14.0 → pytekukko-0.16.0}/src/pytekukko/exceptions.py +0 -0
  27. {pytekukko-0.14.0 → pytekukko-0.16.0}/src/pytekukko/models.py +0 -0
  28. {pytekukko-0.14.0 → pytekukko-0.16.0}/src/pytekukko/py.typed +0 -0
  29. {pytekukko-0.14.0 → pytekukko-0.16.0}/src/pytekukko.egg-info/SOURCES.txt +0 -0
  30. {pytekukko-0.14.0 → pytekukko-0.16.0}/src/pytekukko.egg-info/dependency_links.txt +0 -0
  31. {pytekukko-0.14.0 → pytekukko-0.16.0}/src/pytekukko.egg-info/entry_points.txt +0 -0
  32. {pytekukko-0.14.0 → pytekukko-0.16.0}/src/pytekukko.egg-info/top_level.txt +0 -0
  33. {pytekukko-0.14.0 → pytekukko-0.16.0}/tests/__init__.py +0 -0
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.16.0](https://github.com/scop/pytekukko/compare/v0.15.0...v0.16.0) (2024-01-23)
4
+
5
+
6
+ ### Features
7
+
8
+ * **examples:** more -collection-schedules icalendar metadata ([1aee758](https://github.com/scop/pytekukko/commit/1aee758181a4dd1d5e469ef0c9a782d63547fdce))
9
+
10
+ ## [0.15.0](https://github.com/scop/pytekukko/compare/v0.14.0...v0.15.0) (2024-01-22)
11
+
12
+
13
+ ### Features
14
+
15
+ * **examples:** icalendar option to --collection-schedules ([b9c51c6](https://github.com/scop/pytekukko/commit/b9c51c69b8a39489a673f9e1695899c1194ee6e8))
16
+
3
17
  ## [0.14.0](https://github.com/scop/pytekukko/compare/v0.13.0...v0.14.0) (2023-07-25)
4
18
 
5
19
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pytekukko
3
- Version: 0.14.0
3
+ Version: 0.16.0
4
4
  Summary: Jätekukko Omakukko API client
5
5
  Author-email: Ville Skyttä <ville.skytta@iki.fi>
6
6
  License:
@@ -218,8 +218,12 @@ Classifier: Programming Language :: Python :: 3 :: Only
218
218
  Classifier: Typing :: Typed
219
219
  Requires-Python: >=3.10
220
220
  Description-Content-Type: text/markdown
221
- Provides-Extra: examples
222
221
  License-File: LICENSE
222
+ Requires-Dist: aiohttp~=3.4
223
+ Provides-Extra: examples
224
+ Requires-Dist: python-dotenv<2,>=0.10; extra == "examples"
225
+ Requires-Dist: google-api-python-client>=2.0.2,~=2.0; extra == "examples"
226
+ Requires-Dist: icalendar~=5.0; extra == "examples"
223
227
 
224
228
  # pytekukko -- Jätekukko Omakukko API client
225
229
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "pytekukko"
7
- version = "0.14.0"
7
+ version = "0.16.0"
8
8
  description = "Jätekukko Omakukko API client"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -23,7 +23,7 @@ classifiers = [
23
23
  dependencies = ["aiohttp~=3.4"]
24
24
 
25
25
  [project.optional-dependencies]
26
- examples = ["python-dotenv>=0.10,<2", "google-api-python-client~=2.0,>=2.0.2"]
26
+ examples = ["python-dotenv>=0.10,<2", "google-api-python-client~=2.0,>=2.0.2", "icalendar~=5.0"]
27
27
 
28
28
  [project.scripts]
29
29
  pytekukko-collection-schedules = "pytekukko.examples.print_collection_schedules:main [examples]"
@@ -36,25 +36,28 @@ Homepage = "https://github.com/scop/pytekukko"
36
36
  Changelog = "https://github.com/scop/pytekukko/blob/main/CHANGELOG.md"
37
37
 
38
38
  [tool.ruff]
39
- select = [
40
- "ALL",
41
- # E and W rules not covered by Black
42
- "E71",
43
- "E72",
44
- "E73",
45
- "E74",
46
- "E9",
47
- "W605",
48
- ]
39
+ select = ["ALL"]
49
40
  ignore = [
50
41
  "ANN", # Maybe sometime
51
- "COM", # Black
52
- "D203", # Black, ping/pong with D211
42
+ "D203", # Ping/pong with D211
53
43
  "D213", # Ping/pong with D212
54
- "E", # Black, except ones in `select` above
55
44
  "TCH003", # Maybe sometime
56
- "W", # Black, except ones in `select` above
57
-
45
+ # https://docs.astral.sh/ruff/formatter/#conflicting-lint-rules
46
+ # (keep order of ignores here same as ^there for maintainability)
47
+ "W191",
48
+ "E111",
49
+ "E114",
50
+ "E117",
51
+ "D206",
52
+ "D300",
53
+ "Q000",
54
+ "Q001",
55
+ "Q002",
56
+ "Q003",
57
+ "COM812",
58
+ "COM819",
59
+ "ISC001",
60
+ "ISC002",
58
61
  ]
59
62
  fix = true
60
63
  unfixable = ["T20"]
@@ -71,6 +74,10 @@ strict = true
71
74
  warn_unreachable = true
72
75
  exclude = "^build/"
73
76
 
77
+ [[tool.mypy.overrides]]
78
+ module = "icalendar.*"
79
+ ignore_missing_imports = true
80
+
74
81
  [tool.pytest.ini_options]
75
82
  asyncio_mode = "auto"
76
83
  filterwarnings = [
@@ -1,7 +1,6 @@
1
1
  -e .[examples]
2
2
  -r test-requirements.txt
3
3
 
4
- black==23.7.0
5
- mypy==1.4.1
4
+ mypy==1.8.0
6
5
  nox
7
- ruff==0.0.280
6
+ ruff==0.1.14
@@ -1,5 +1,5 @@
1
1
  pytest>=6
2
2
  pytest-asyncio>=0.17
3
3
  pytest-vcr
4
- vcrpy==5.0.0
4
+ vcrpy==6.0.0
5
5
  python-dotenv>=0.10,<2
@@ -13,7 +13,7 @@ from aiohttp import ClientResponse, ClientResponseError, ClientSession
13
13
  from .exceptions import UnexpectedResponseStructureError
14
14
  from .models import CustomerData, InvoiceHeader, Service
15
15
 
16
- __version__ = "0.14.0"
16
+ __version__ = "0.16.0"
17
17
  DEFAULT_BASE_URL = "https://tilasto.jatekukko.fi/jatekukko/"
18
18
 
19
19
  SERVICE_TIMEZONE = ZoneInfo("Europe/Helsinki")
@@ -0,0 +1,79 @@
1
+ #!/usr/bin/env python3
2
+
3
+ """Print collection schedules."""
4
+
5
+ import asyncio
6
+ import json
7
+ import sys
8
+ from datetime import datetime, timedelta, timezone
9
+
10
+ import icalendar
11
+
12
+ import pytekukko
13
+ from pytekukko.examples import example_argparser, example_client
14
+
15
+
16
+ async def run_example() -> None:
17
+ """Run the example."""
18
+ argparser = example_argparser(__doc__)
19
+ argparser.add_argument(
20
+ "-i", "--icalendar", action="store_true", help="output iCalendar"
21
+ )
22
+ args = argparser.parse_args()
23
+
24
+ client, cookie_jar, cookie_jar_path = example_client(args)
25
+
26
+ async with client.session:
27
+ data = [
28
+ (service, await client.get_collection_schedule(service))
29
+ for service in await client.get_services()
30
+ if service.next_collection
31
+ ]
32
+ if not cookie_jar_path:
33
+ await client.logout()
34
+
35
+ if args.icalendar:
36
+ now = datetime.now(tz=timezone.utc)
37
+ cal = icalendar.Calendar()
38
+ cal.add("PRODID", f"pytekukko/{pytekukko.__version__}")
39
+ cal.add("VERSION", "2.0")
40
+ cal.add("NAME", "Jätekukko collections")
41
+ cal.add("X-WR-CALNAME", "Jätekukko collections")
42
+ cal.add("URL", "https://tilasto.jatekukko.fi/indexservice2.jsp")
43
+ cal.add("X-WR-TIMEZONE", "Europe/Helsinki")
44
+ cal.add("METHOD", "PUBLISH")
45
+ for service, schedule in data:
46
+ for date in schedule:
47
+ event = icalendar.Event()
48
+ event.add("UID", f"pytekukko-{service.pos}-{date}@scop.github.io")
49
+ event.add("SUMMARY", service.name)
50
+ event.add("DTSTAMP", now)
51
+ event.add("DTSTART", date)
52
+ event.add("DTEND", date + timedelta(days=1))
53
+ event.add("URL", "https://tilasto.jatekukko.fi/indexservice2.jsp")
54
+ cal.add_component(event)
55
+ sys.stdout.buffer.write(cal.to_ical())
56
+ else:
57
+ print( # noqa: T201 # intentional
58
+ json.dumps(
59
+ [
60
+ {
61
+ "name": service.name,
62
+ "collection_schedule": [date.isoformat() for date in schedule],
63
+ }
64
+ for service, schedule in data
65
+ ]
66
+ )
67
+ )
68
+
69
+ if cookie_jar_path:
70
+ cookie_jar.save(cookie_jar_path)
71
+
72
+
73
+ def main() -> None:
74
+ """Run example in event loop."""
75
+ asyncio.run(run_example())
76
+
77
+
78
+ if __name__ == "__main__":
79
+ main()
@@ -18,8 +18,8 @@ import zoneinfo
18
18
  from collections.abc import Mapping
19
19
  from typing import Any, NamedTuple, cast
20
20
 
21
- from google.oauth2 import service_account # type: ignore[import]
22
- from googleapiclient.discovery import build # type: ignore[import]
21
+ from google.oauth2 import service_account # type: ignore[import-untyped]
22
+ from googleapiclient.discovery import build # type: ignore[import-untyped]
23
23
 
24
24
  from pytekukko.examples import arg_environ_default, example_argparser, example_client
25
25
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pytekukko
3
- Version: 0.14.0
3
+ Version: 0.16.0
4
4
  Summary: Jätekukko Omakukko API client
5
5
  Author-email: Ville Skyttä <ville.skytta@iki.fi>
6
6
  License:
@@ -218,8 +218,12 @@ Classifier: Programming Language :: Python :: 3 :: Only
218
218
  Classifier: Typing :: Typed
219
219
  Requires-Python: >=3.10
220
220
  Description-Content-Type: text/markdown
221
- Provides-Extra: examples
222
221
  License-File: LICENSE
222
+ Requires-Dist: aiohttp~=3.4
223
+ Provides-Extra: examples
224
+ Requires-Dist: python-dotenv<2,>=0.10; extra == "examples"
225
+ Requires-Dist: google-api-python-client>=2.0.2,~=2.0; extra == "examples"
226
+ Requires-Dist: icalendar~=5.0; extra == "examples"
223
227
 
224
228
  # pytekukko -- Jätekukko Omakukko API client
225
229
 
@@ -3,3 +3,4 @@ aiohttp~=3.4
3
3
  [examples]
4
4
  python-dotenv<2,>=0.10
5
5
  google-api-python-client>=2.0.2,~=2.0
6
+ icalendar~=5.0
@@ -15,7 +15,7 @@ interactions:
15
15
  Host:
16
16
  - tilasto.jatekukko.fi
17
17
  User-Agent:
18
- - Python/3.8 aiohttp/3.8.1
18
+ - Python/3.12 aiohttp/3.9.0
19
19
  X-Requested-With:
20
20
  - XMLHttpRequest
21
21
  method: POST
@@ -28,7 +28,7 @@ interactions:
28
28
  Content-Length:
29
29
  - '0'
30
30
  Date:
31
- - Wed, 31 Aug 2022 19:15:10 GMT
31
+ - Mon, 22 Jan 2024 21:06:08 GMT
32
32
  Location:
33
33
  - https://tilasto.jatekukko.fi/jatekukko/secure/welcome.do
34
34
  Server:
@@ -38,11 +38,10 @@ interactions:
38
38
  X-Frame-Options:
39
39
  - SAMEORIGIN
40
40
  X-Powered-By:
41
- - 'Servlet/4.0 JSP/2.3 (Payara Server 5.2022.2 #badassfish Java/Eclipse OpenJ9/1.8)'
41
+ - 'Servlet/4.0 JSP/2.3 (Payara Server 5.2022.5 #badassfish Java/Eclipse OpenJ9/1.8)'
42
42
  status:
43
43
  code: 303
44
44
  message: See Other
45
- url: https://tilasto.jatekukko.fi/jatekukko/j_acegi_security_check?target=2
46
45
  - request:
47
46
  body: null
48
47
  headers:
@@ -53,7 +52,7 @@ interactions:
53
52
  Host:
54
53
  - tilasto.jatekukko.fi
55
54
  User-Agent:
56
- - Python/3.8 aiohttp/3.8.1
55
+ - Python/3.12 aiohttp/3.9.0
57
56
  X-Requested-With:
58
57
  - XMLHttpRequest
59
58
  method: GET
@@ -68,7 +67,7 @@ interactions:
68
67
  Content-Security-Policy:
69
68
  - frame-ancestors 'none'
70
69
  Date:
71
- - Wed, 31 Aug 2022 19:15:10 GMT
70
+ - Mon, 22 Jan 2024 21:06:08 GMT
72
71
  Location:
73
72
  - https://tilasto.jatekukko.fi/jatekukko/secure/well.do
74
73
  Server:
@@ -78,11 +77,10 @@ interactions:
78
77
  X-Frame-Options:
79
78
  - DENY
80
79
  X-Powered-By:
81
- - 'Servlet/4.0 JSP/2.3 (Payara Server 5.2022.2 #badassfish Java/Eclipse OpenJ9/1.8)'
80
+ - 'Servlet/4.0 JSP/2.3 (Payara Server 5.2022.5 #badassfish Java/Eclipse OpenJ9/1.8)'
82
81
  status:
83
82
  code: 303
84
83
  message: See Other
85
- url: https://tilasto.jatekukko.fi/jatekukko/secure/welcome.do
86
84
  - request:
87
85
  body: null
88
86
  headers:
@@ -93,7 +91,7 @@ interactions:
93
91
  Host:
94
92
  - tilasto.jatekukko.fi
95
93
  User-Agent:
96
- - Python/3.8 aiohttp/3.8.1
94
+ - Python/3.12 aiohttp/3.9.0
97
95
  X-Requested-With:
98
96
  - XMLHttpRequest
99
97
  method: GET
@@ -136,7 +134,7 @@ interactions:
136
134
  Content-Type:
137
135
  - application/json;charset=UTF-8
138
136
  Date:
139
- - Wed, 31 Aug 2022 19:15:10 GMT
137
+ - Mon, 22 Jan 2024 21:06:08 GMT
140
138
  Expires:
141
139
  - Thu, 01 Jan 1970 00:00:00 GMT
142
140
  Pragma:
@@ -148,11 +146,10 @@ interactions:
148
146
  X-Frame-Options:
149
147
  - SAMEORIGIN
150
148
  X-Powered-By:
151
- - 'Servlet/4.0 JSP/2.3 (Payara Server 5.2022.2 #badassfish Java/Eclipse OpenJ9/1.8)'
149
+ - 'Servlet/4.0 JSP/2.3 (Payara Server 5.2022.5 #badassfish Java/Eclipse OpenJ9/1.8)'
152
150
  status:
153
151
  code: 200
154
152
  message: OK
155
- url: https://tilasto.jatekukko.fi/jatekukko/secure/well.do
156
153
  - request:
157
154
  body: null
158
155
  headers: {}
@@ -169,7 +166,7 @@ interactions:
169
166
  Content-Type:
170
167
  - application/json;charset=UTF-8
171
168
  Date:
172
- - Wed, 31 Aug 2022 19:15:10 GMT
169
+ - Mon, 22 Jan 2024 21:06:08 GMT
173
170
  Expires:
174
171
  - Thu, 01 Jan 1970 00:00:00 GMT
175
172
  Pragma:
@@ -183,9 +180,8 @@ interactions:
183
180
  X-Frame-Options:
184
181
  - SAMEORIGIN
185
182
  X-Powered-By:
186
- - 'Servlet/4.0 JSP/2.3 (Payara Server 5.2022.2 #badassfish Java/Eclipse OpenJ9/1.8)'
183
+ - 'Servlet/4.0 JSP/2.3 (Payara Server 5.2022.5 #badassfish Java/Eclipse OpenJ9/1.8)'
187
184
  status:
188
185
  code: 200
189
186
  message: OK
190
- url: https://tilasto.jatekukko.fi/jatekukko/get_collection_schedule.do?customerNumber=00-0000000-00&pos=1234
191
187
  version: 1
@@ -9,7 +9,7 @@ interactions:
9
9
  Host:
10
10
  - tilasto.jatekukko.fi
11
11
  User-Agent:
12
- - Python/3.8 aiohttp/3.8.1
12
+ - Python/3.12 aiohttp/3.9.0
13
13
  method: GET
14
14
  uri: https://tilasto.jatekukko.fi/jatekukko/secure/get_invoice_headers_for_customer.do?customerId=00-0000000-00
15
15
  response:
@@ -24,7 +24,7 @@ interactions:
24
24
  Content-Type:
25
25
  - text/html;charset=UTF-8
26
26
  Date:
27
- - Wed, 31 Aug 2022 19:15:11 GMT
27
+ - Mon, 22 Jan 2024 21:06:08 GMT
28
28
  Location:
29
29
  - https://tilasto.jatekukko.fi/jatekukko/login.do
30
30
  Server:
@@ -34,11 +34,10 @@ interactions:
34
34
  X-Frame-Options:
35
35
  - SAMEORIGIN
36
36
  X-Powered-By:
37
- - 'Servlet/4.0 JSP/2.3 (Payara Server 5.2022.2 #badassfish Java/Eclipse OpenJ9/1.8)'
37
+ - 'Servlet/4.0 JSP/2.3 (Payara Server 5.2022.5 #badassfish Java/Eclipse OpenJ9/1.8)'
38
38
  status:
39
39
  code: 302
40
40
  message: Found
41
- url: https://tilasto.jatekukko.fi/jatekukko/secure/get_invoice_headers_for_customer.do?customerId=00-0000000-00
42
41
  - request:
43
42
  body: null
44
43
  headers:
@@ -49,7 +48,7 @@ interactions:
49
48
  Host:
50
49
  - tilasto.jatekukko.fi
51
50
  User-Agent:
52
- - Python/3.8 aiohttp/3.8.1
51
+ - Python/3.12 aiohttp/3.9.0
53
52
  method: GET
54
53
  uri: https://tilasto.jatekukko.fi/jatekukko/login.do
55
54
  response:
@@ -67,7 +66,7 @@ interactions:
67
66
  Content-Type:
68
67
  - text/html;charset=utf-8
69
68
  Date:
70
- - Wed, 31 Aug 2022 19:15:11 GMT
69
+ - Mon, 22 Jan 2024 21:06:08 GMT
71
70
  Server:
72
71
  - nginx
73
72
  Strict-Transport-Security:
@@ -77,11 +76,10 @@ interactions:
77
76
  X-Frame-Options:
78
77
  - DENY
79
78
  X-Powered-By:
80
- - 'Servlet/4.0 JSP/2.3 (Payara Server 5.2022.2 #badassfish Java/Eclipse OpenJ9/1.8)'
79
+ - 'Servlet/4.0 JSP/2.3 (Payara Server 5.2022.5 #badassfish Java/Eclipse OpenJ9/1.8)'
81
80
  status:
82
81
  code: 200
83
82
  message: OK
84
- url: https://tilasto.jatekukko.fi/jatekukko/login.do
85
83
  - request:
86
84
  body:
87
85
  j_password: secret
@@ -98,7 +96,7 @@ interactions:
98
96
  Host:
99
97
  - tilasto.jatekukko.fi
100
98
  User-Agent:
101
- - Python/3.8 aiohttp/3.8.1
99
+ - Python/3.12 aiohttp/3.9.0
102
100
  X-Requested-With:
103
101
  - XMLHttpRequest
104
102
  method: POST
@@ -111,7 +109,7 @@ interactions:
111
109
  Content-Length:
112
110
  - '0'
113
111
  Date:
114
- - Wed, 31 Aug 2022 19:15:11 GMT
112
+ - Mon, 22 Jan 2024 21:06:08 GMT
115
113
  Location:
116
114
  - https://tilasto.jatekukko.fi/jatekukko/secure/welcome.do
117
115
  Server:
@@ -121,11 +119,10 @@ interactions:
121
119
  X-Frame-Options:
122
120
  - SAMEORIGIN
123
121
  X-Powered-By:
124
- - 'Servlet/4.0 JSP/2.3 (Payara Server 5.2022.2 #badassfish Java/Eclipse OpenJ9/1.8)'
122
+ - 'Servlet/4.0 JSP/2.3 (Payara Server 5.2022.5 #badassfish Java/Eclipse OpenJ9/1.8)'
125
123
  status:
126
124
  code: 303
127
125
  message: See Other
128
- url: https://tilasto.jatekukko.fi/jatekukko/j_acegi_security_check?target=2
129
126
  - request:
130
127
  body: null
131
128
  headers:
@@ -136,7 +133,7 @@ interactions:
136
133
  Host:
137
134
  - tilasto.jatekukko.fi
138
135
  User-Agent:
139
- - Python/3.8 aiohttp/3.8.1
136
+ - Python/3.12 aiohttp/3.9.0
140
137
  X-Requested-With:
141
138
  - XMLHttpRequest
142
139
  method: GET
@@ -151,7 +148,7 @@ interactions:
151
148
  Content-Security-Policy:
152
149
  - frame-ancestors 'none'
153
150
  Date:
154
- - Wed, 31 Aug 2022 19:15:11 GMT
151
+ - Mon, 22 Jan 2024 21:06:09 GMT
155
152
  Location:
156
153
  - https://tilasto.jatekukko.fi/jatekukko/secure/well.do
157
154
  Server:
@@ -161,11 +158,10 @@ interactions:
161
158
  X-Frame-Options:
162
159
  - DENY
163
160
  X-Powered-By:
164
- - 'Servlet/4.0 JSP/2.3 (Payara Server 5.2022.2 #badassfish Java/Eclipse OpenJ9/1.8)'
161
+ - 'Servlet/4.0 JSP/2.3 (Payara Server 5.2022.5 #badassfish Java/Eclipse OpenJ9/1.8)'
165
162
  status:
166
163
  code: 303
167
164
  message: See Other
168
- url: https://tilasto.jatekukko.fi/jatekukko/secure/welcome.do
169
165
  - request:
170
166
  body: null
171
167
  headers:
@@ -176,7 +172,7 @@ interactions:
176
172
  Host:
177
173
  - tilasto.jatekukko.fi
178
174
  User-Agent:
179
- - Python/3.8 aiohttp/3.8.1
175
+ - Python/3.12 aiohttp/3.9.0
180
176
  X-Requested-With:
181
177
  - XMLHttpRequest
182
178
  method: GET
@@ -219,7 +215,7 @@ interactions:
219
215
  Content-Type:
220
216
  - application/json;charset=UTF-8
221
217
  Date:
222
- - Wed, 31 Aug 2022 19:15:11 GMT
218
+ - Mon, 22 Jan 2024 21:06:09 GMT
223
219
  Expires:
224
220
  - Thu, 01 Jan 1970 00:00:00 GMT
225
221
  Pragma:
@@ -231,11 +227,10 @@ interactions:
231
227
  X-Frame-Options:
232
228
  - SAMEORIGIN
233
229
  X-Powered-By:
234
- - 'Servlet/4.0 JSP/2.3 (Payara Server 5.2022.2 #badassfish Java/Eclipse OpenJ9/1.8)'
230
+ - 'Servlet/4.0 JSP/2.3 (Payara Server 5.2022.5 #badassfish Java/Eclipse OpenJ9/1.8)'
235
231
  status:
236
232
  code: 200
237
233
  message: OK
238
- url: https://tilasto.jatekukko.fi/jatekukko/secure/well.do
239
234
  - request:
240
235
  body: null
241
236
  headers: {}
@@ -243,9 +238,9 @@ interactions:
243
238
  uri: https://tilasto.jatekukko.fi/jatekukko/secure/get_invoice_headers_for_customer.do?customerId=00-0000000-00
244
239
  response:
245
240
  body:
246
- string: '[{"id":"3","parentId":null,"name":"LASKU 3","time":"2020-12-01","amount":null,"unit":null,"unitPrice":null,"vatlessSumPrice":null,"vatAmount":null,"total":32.34,"hasChildren":false,"linkId":null,"benchmark":null,"invoiceNumber":3,"referenceNumber":"33","comment":null,"orderNumber":null,"dueDate":"2020-12-31","delayInterestRate":null,"paymentRule":null,"link":"/secure/download.do?invoice=3","accomplishedPayments":0.0},{"id":"2","parentId":null,"name":"LASKU
247
- 2","time":"2020-06-01","amount":null,"unit":null,"unitPrice":null,"vatlessSumPrice":null,"vatAmount":null,"total":22.34,"hasChildren":false,"linkId":null,"benchmark":null,"invoiceNumber":2,"referenceNumber":"22","comment":null,"orderNumber":null,"dueDate":"2020-06-30","delayInterestRate":null,"paymentRule":null,"link":"/secure/download.do?invoice=2","accomplishedPayments":0.0},{"id":"1","parentId":null,"name":"LASKU
248
- 1","time":"2019-12-01","amount":null,"unit":null,"unitPrice":null,"vatlessSumPrice":null,"vatAmount":null,"total":12.34,"hasChildren":false,"linkId":null,"benchmark":null,"invoiceNumber":1,"referenceNumber":"11","comment":null,"orderNumber":null,"dueDate":"2019-12-31","delayInterestRate":null,"paymentRule":null,"link":"/secure/download.do?invoice=1","accomplishedPayments":0.0}]'
241
+ string: '[{"id":"3","parentId":null,"name":"LASKU 3","time":"2020-12-01","amount":null,"unit":null,"unitPrice":null,"vatlessSumPrice":null,"vatAmount":null,"total":32.34,"hasChildren":false,"linkId":null,"benchmark":null,"invoiceNumber":3,"referenceNumber":"33","comment":null,"orderNumber":null,"dueDate":"2020-12-31","delayInterestRate":null,"paymentRule":null,"link":"/secure/download.do?invoice=3","invoicingStatus":"0","accomplishedPayments":0.0},{"id":"2","parentId":null,"name":"LASKU
242
+ 2","time":"2020-06-01","amount":null,"unit":null,"unitPrice":null,"vatlessSumPrice":null,"vatAmount":null,"total":22.34,"hasChildren":false,"linkId":null,"benchmark":null,"invoiceNumber":2,"referenceNumber":"22","comment":null,"orderNumber":null,"dueDate":"2020-06-30","delayInterestRate":null,"paymentRule":null,"link":"/secure/download.do?invoice=2","invoicingStatus":"A","accomplishedPayments":0.0},{"id":"1","parentId":null,"name":"LASKU
243
+ 1","time":"2019-12-01","amount":null,"unit":null,"unitPrice":null,"vatlessSumPrice":null,"vatAmount":null,"total":12.34,"hasChildren":false,"linkId":null,"benchmark":null,"invoiceNumber":1,"referenceNumber":"11","comment":null,"orderNumber":null,"dueDate":"2019-12-31","delayInterestRate":null,"paymentRule":null,"link":"/secure/download.do?invoice=1","invoicingStatus":"A","accomplishedPayments":0.0}]'
249
244
  headers:
250
245
  Cache-Control:
251
246
  - no-cache, no-store, must-revalidate
@@ -254,7 +249,7 @@ interactions:
254
249
  Content-Type:
255
250
  - application/json;charset=UTF-8
256
251
  Date:
257
- - Wed, 31 Aug 2022 19:15:11 GMT
252
+ - Mon, 22 Jan 2024 21:06:09 GMT
258
253
  Expires:
259
254
  - Thu, 01 Jan 1970 00:00:00 GMT
260
255
  Pragma:
@@ -268,9 +263,8 @@ interactions:
268
263
  X-Frame-Options:
269
264
  - SAMEORIGIN
270
265
  X-Powered-By:
271
- - 'Servlet/4.0 JSP/2.3 (Payara Server 5.2022.2 #badassfish Java/Eclipse OpenJ9/1.8)'
266
+ - 'Servlet/4.0 JSP/2.3 (Payara Server 5.2022.5 #badassfish Java/Eclipse OpenJ9/1.8)'
272
267
  status:
273
268
  code: 200
274
269
  message: OK
275
- url: https://tilasto.jatekukko.fi/jatekukko/secure/get_invoice_headers_for_customer.do?customerId=00-0000000-00
276
270
  version: 1