Last active
March 4, 2017 17:08
-
-
Save jangaraj/870c735867d9d4c3aa4f336810f6cb77 to your computer and use it in GitHub Desktop.
metais.py
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/bin/env python | |
| import json, requests | |
| debug = 0 | |
| ''' | |
| Examples: | |
| # time ./metais.py > /tmp/metais.stats | |
| real 16m57.925s | |
| user 6m4.204s | |
| sys 0m5.232s | |
| # wc -l /tmp/metais.stats | |
| 5228 /tmp/metais.stats2 | |
| # grep ^0 /tmp/metais.stats | wc -l | |
| 1627 | |
| # cat /tmp/metais.stats | awk -F'::' '{SUM +=$1} END {print SUM}' | |
| 26702 | |
| # cat /tmp/metais.stats | sort -rn | head | |
| 152::Zápis správy na centrálnu elektronickú úradnú tabuľu::Počet elektronických volaní služby za merané obdobie - 1 mesiac.::74230052-2b51-421c-9ac2-ae0a5cc087dc::sluzba_is_165::Úrad vlády Slovenskej republiky | |
| 152::Prijatie správy s elektronickým dokumentom alebo elektronickým dokumentom podpísaným elektronickým podpisom::Počet elektronických volaní služby za merané obdobie - 1 mesiac.::07de6dfa-955e-4b1d-80b5-6c220191ba49::sluzba_is_1369::Úrad vlády Slovenskej republiky | |
| 152::Odoslanie elektronického dokumentu::Počet elektronických volaní služby za merané obdobie - 1 mesiac.::dc9f493d-d7cf-4aaa-ba0e-5553b48aa57e::sluzba_is_34004::Úrad vlády Slovenskej republiky | |
| # cat /tmp/metais.stats | awk -F'::' '{map[$6] += $1} END { for (i in map) { print map[i], i } }' | sort -rn | |
| 4862 Mesto Košice | |
| 4259 DataCentrum elektronizácie územnej samosprávy Slovenska | |
| 3516 Generálna prokuratúra Slovenskej republiky | |
| 3323 Úrad vlády Slovenskej republiky | |
| 2875 Ministerstvo financií Slovenskej republiky | |
| 1909 Ministerstvo práce, sociálnych vecí a rodiny Slovenskej republiky | |
| 1680 Úrad geodézie, kartografie a katastra Slovenskej republiky | |
| 1090 Ministerstvo spravodlivosti Slovenskej republiky | |
| 997 Ministerstvo vnútra Slovenskej republiky | |
| 716 Najvyšší kontrolný úrad Slovenskej republiky | |
| 426 Ministerstvo školstva, vedy, výskumu a športu Slovenskej republiky | |
| 305 Ministerstvo zahraničných vecí a európskych záležitostí Slovenskej republiky | |
| 296 Štatistický úrad Slovenskej republiky | |
| 278 Kancelária Ústavného súdu Slovenskej republiky | |
| 170 Úrad podpredsedu vlády Slovenskej republiky pre investície a informatizáciu | |
| # application services list | |
| # https://metais.finance.gov.sk/monitoring/param-value/overview/list?page=1&perPageSize=10000&serviceType=AS | |
| # end services list | |
| # https://metais.finance.gov.sk/monitoring/param-value/overview/list?page=1&perPageSize=10000&serviceType=KS | |
| # datapoint url | |
| # https://metais.finance.gov.sk/monitoring/param-value/list?entityRef=d6ce4942-58cf-4044-86fd-63a177720665¶meterTypeId=7&intervalStart=2016-03-31&intervalEnd=2016-07-31&sortAttr=intervalStart&sortAsc=true&perPageSize=100000 | |
| ''' | |
| resp = requests.get(url="https://metais.finance.gov.sk/monitoring/param-value/overview/list?page=1&perPageSize=10000&serviceType=AS") | |
| as_data = json.loads(resp.text) | |
| if debug: | |
| print("%i aplikacnych sluzieb" % len(as_data['results'])) | |
| resp = requests.get(url="https://metais.finance.gov.sk/monitoring/param-value/overview/list?page=1&perPageSize=10000&serviceType=KS") | |
| ks_data = json.loads(resp.text) | |
| if debug: | |
| print("%i koncovych sluzieb" % len(ks_data['results'])) | |
| services = as_data['results'] + ks_data['results'] | |
| if debug: | |
| print("%i sluzieb celkovo" % len(services)) | |
| cache = {} | |
| for service in services: | |
| if debug: | |
| print service["name"].encode('utf-8') | |
| if service["type"] == "AS": | |
| category = "c_typ_parametra_kategoria.1" | |
| else: | |
| category = "c_typ_parametra_kategoria.2" | |
| if category not in cache: | |
| params_url = "https://metais.finance.gov.sk/monitoring/paramtypes?category=" + category | |
| resp = requests.get(url=params_url) | |
| cache[category] = json.loads(resp.text)["results"] | |
| for param in cache[category]: | |
| if debug: | |
| print param["description"].encode('utf-8') | |
| data_url = "https://metais.finance.gov.sk/monitoring/param-value/list?entityRef=" + service["uuid"] + "¶meterTypeId=" + str(param["id"]) + "&intervalStart=2016-01-01&intervalEnd=2018-07-31&sortAttr=intervalStart&sortAsc=true&perPageSize=100000" | |
| resp = requests.get(url=data_url) | |
| data = json.loads(resp.text) | |
| print("%i::%s::%s::%s::%s::%s" % (len(data["results"]), service["name"].encode('utf-8'), param["description"].encode('utf-8'), service["uuid"].encode('utf-8'), service["code"].encode('utf-8'), service["poName"].encode('utf-8'))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment