Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

it:krs-index [2015/02/21 00:34]
naczelnik utworzono
it:krs-index [2015/02/23 15:47] (aktualna)
naczelnik
Linia 1: Linia 1:
 {{:it:krs-index.py|}} {{:it:krs-index.py|}}
 +
 +<code>
 +import requests
 +import requests_cache
 +import sys
 +requests_cache.configure('/tmp/aaa')
 +
 +
 +def get_rows(param, url='http://api.mojepanstwo.pl/dane/dataset/krs_podmioty/search.json'):
 +    def parse(r):
 +        for x in r['search']['dataobjects']:
 +            yield x['_id']
 +
 +    r = requests.get(url, params=param).json()
 +    yield from parse(r)
 +
 +    for page in range(2, int(r['search']['pagination']['total']/20)):
 +        param['page'] = page
 +        r = requests.get(url, params=param).json()
 +        yield from parse(r)
 +
 +
 +def parse_row(url, i):
 +    # print url
 +    x = requests.get(url, params={'layers': 'reprezentacja'}).json()['object']
 +    d = x['data']
 +    print('<h3>%s. %s</h3>' % (i, d['krs_podmioty.nazwa'], ))
 +    print('<p>')
 +    if not d['krs_podmioty.email'] == '------':
 +        print('<b>Email</b>: <a href="mailto:%s">%s</a><br>' % (d['krs_podmioty.email'],
 +                                                         d['krs_podmioty.email']))
 +    print('<b>Adres</b>: %s<br>' % (d['krs_podmioty.adres'].replace(', lok. ---', ''), ))
 +    print('<b>KRS</b>: <a href="%s">%s</a><br>' % (x['_mpurl'], d['krs_podmioty.krs'], ))
 +    if not d['krs_podmioty.nip'] == '0':
 +        print('<b>NIP</b>: %s<br>' % (d['krs_podmioty.nip'], ))
 +    if not d['krs_podmioty.regon'] == '0':
 +        print('<b>REGON</b>: %s<br>' % (d['krs_podmioty.regon'], ))
 +    print('<b>Forma prawna</b>: %s<br>' % (d['krs_podmioty.forma_prawna_str'], ))
 +    if not d['krs_podmioty.www'] == '------':
 +        print('<b>WWW</b>: <a href="http://%s">%s</a><br>' % (d['krs_podmioty.www'],
 +                                                       d['krs_podmioty.www'], ))
 +    if x['layers']['reprezentacja']:
 +        print('<b>Reprezentacja</b>:</p><ul>')
 +        for osoba in x['layers']['reprezentacja']:
 +            print("\t<li>%s - %s</li>" % (osoba['nazwa'], osoba['funkcja']))
 +        print('</ul>')
 +    else:
 +        print('</p>')
 +    print('')
 +
 +print("""<!DOCTYPE html>
 +<html lang="en">
 +  <head>
 +    <meta charset="utf-8">
 +  </head>
 +<body>""")
 +
 +if sys.argv[1] == '1':
 +    param = {'conditions[gmina_id]': '1854',
 +         'conditions[rejestr]': '2'}
 +if sys.argv[1] == '2':
 +    param = {'conditions[gmina_id]': '769',
 +         'conditions[rejestr]': '2'}
 +if sys.argv[1] == '3':
 +    param = {'conditions[gmina_id]': '769'}
 +if sys.argv[1] == '4':
 +    param = {'conditions[gmina_id]': '1854'}
 +
 +# param = {'conditions[gmina_id]': '1854', }
 +for i, row in enumerate(get_rows(param)):
 +    parse_row(row, i+1)
 +print("""  </body>
 +</html>""")
 +</code>
it/krs-index.1424475281.txt.gz · ostatnio zmienione: 2015/02/21 00:34 przez naczelnik
Public Domain
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0