- commit
- ef1a14c5cabeb7943497bbbb1cd4f4e6b3164f32
- parent
- 8b1b0892d447ddceb61ebc78db767bd27a01196f
- Author
- Tobias Bengfort <tobias.bengfort@posteo.de>
- Date
- 2025-12-07 20:57
cli: add list command
Diffstat
| M | handelsregister.py | 28 | +++++++++++++++++++++++++++- |
1 files changed, 27 insertions, 1 deletions
diff --git a/handelsregister.py b/handelsregister.py
@@ -72,11 +72,21 @@ def get_context(session): 72 72 73 73 return { 74 74 'view_state': soup.select_one('input[name="javax.faces.ViewState"]')['value'], -1 75 'courts': { -1 76 option['value']: option.text.strip() -1 77 for option in soup.select(r'#form\:registergericht_input option') -1 78 if option['value'] -1 79 }, 75 80 'rev_courts': { 76 81 option.text.strip(): option['value'] 77 82 for option in soup.select(r'#form\:registergericht_input option') 78 83 if option['value'] 79 84 }, -1 85 'types': { -1 86 option['value']: option.text.strip() -1 87 for option in soup.select(r'#form\:rechtsform_input option') -1 88 if option['value'] -1 89 }, 80 90 } 81 91 82 92 @@ -133,6 +143,15 @@ def get_xml(register, id): 133 143 return r.text 134 144 135 145 -1 146 def get_list(key): -1 147 if key == 'registers': -1 148 return REGISTERS -1 149 else: -1 150 with Session() as session: -1 151 ctx = get_context(session) -1 152 return ctx[key] -1 153 -1 154 136 155 def get_parser(): 137 156 parser = argparse.ArgumentParser() 138 157 subparsers = parser.add_subparsers(required=True) @@ -146,6 +165,10 @@ def get_parser(): 146 165 parser_xml.add_argument('id') 147 166 parser_xml.set_defaults(action='xml') 148 167 -1 168 parser_list = subparsers.add_parser('list', help='get data for a specific ID') -1 169 parser_list.add_argument('key', choices=['registers', 'courts', 'types']) -1 170 parser_list.set_defaults(action='list') -1 171 149 172 return parser 150 173 151 174 @@ -155,5 +178,8 @@ if __name__ == '__main__': 155 178 for item in search(args.terms): 156 179 print(item['title']) 157 180 print('\t', item['court'], item['reg'], item['id'])158 -1 else:-1 181 elif args.action == 'xml': 159 182 print(get_xml(args.register, args.id)) -1 183 else: -1 184 for key, value in get_list(args.key).items(): -1 185 print(f'{key}\t{value}')