- commit
- 8b1b0892d447ddceb61ebc78db767bd27a01196f
- parent
- 40434181556a588fe168cd74607d806889319d07
- Author
- Tobias Bengfort <tobias.bengfort@posteo.de>
- Date
- 2025-12-07 21:09
search: map court ID
Diffstat
| M | handelsregister.py | 15 | ++++++++++----- |
1 files changed, 10 insertions, 5 deletions
diff --git a/handelsregister.py b/handelsregister.py
@@ -15,7 +15,7 @@ REGISTERS = {
15 15 }
16 16
17 17
18 -1 def parse_id(s):
-1 18 def parse_id(s, ctx):
19 19 parts = s.strip().split()
20 20 for i in range(len(parts) - 2, 0, -1):
21 21 reg = parts[i]
@@ -24,7 +24,7 @@ def parse_id(s):
24 24 if 'früher' in tail:
25 25 tail = tail[:tail.index('früher')]
26 26 return {
27 -1 'court': ' '.join(parts[1:i]),
-1 27 'court': ctx['rev_courts'][' '.join(parts[1:i])],
28 28 'reg': reg,
29 29 'id': ' '.join(tail),
30 30 }
@@ -42,11 +42,11 @@ def parse_si_field(item):
42 42 return m[0]
43 43
44 44
45 -1 def parse_item(item):
-1 45 def parse_item(item, ctx):
46 46 return {
47 47 'title': item.select_one('.marginLeft20').text,
48 48 'si_field': parse_si_field(item),
49 -1 **parse_id(item.select_one('.fontWeightBold').text)
-1 49 **parse_id(item.select_one('.fontWeightBold').text, ctx)
50 50 }
51 51
52 52
@@ -72,6 +72,11 @@ def get_context(session):
72 72
73 73 return {
74 74 'view_state': soup.select_one('input[name="javax.faces.ViewState"]')['value'],
-1 75 'rev_courts': {
-1 76 option.text.strip(): option['value']
-1 77 for option in soup.select(r'#form\:registergericht_input option')
-1 78 if option['value']
-1 79 },
75 80 }
76 81
77 82
@@ -94,7 +99,7 @@ def _search(session, query):
94 99 'action': soup.select_one('[action]')['action'],
95 100 'view_state': soup.select_one('input[name="javax.faces.ViewState"]')['value'],
96 101 'truncated': bool(soup.select_one(r'#ergebnissForm\:ergebnisseAnzahl_label')),
97 -1 'items': [parse_item(item) for item in soup.select('[data-ri]')],
-1 102 'items': [parse_item(item, ctx) for item in soup.select('[data-ri]')],
98 103 }
99 104
100 105