In [1]:
cordex_dir = "/home/stephan/tmp/CORDEX/"
print cordex_dir
/home/stephan/tmp/CORDEX/
In [2]:
from tinydb import TinyDB,Query
#from os import listdir, walk
import glob
import json
In [3]:
json_files = glob.glob(cordex_dir+"*.json")
print json_files
['/home/stephan/tmp/CORDEX/Kindermann_tst2.json', '/home/stephan/tmp/CORDEX/stasi_s@freenet.de.ipynb.json', '/home/stephan/tmp/CORDEX/ki_stk1.ipynb.json', '/home/stephan/tmp/CORDEX/stasi_snkinder@freenet.de.ipynb.json', '/home/stephan/tmp/CORDEX/ki_sk1.ipynb.json', '/home/stephan/tmp/CORDEX/Kindermann_tst2.ipynb.json']
In [6]:
json_dicts = []
for json_file in json_files:
with open(json_file) as j_file:
json_dicts.append(json.load(j_file))
#print json_dicts
In [4]:
db = TinyDB("/home/stephan/tmp/db.json")
In [7]:
for my_dict in json_dicts:
db.insert(my_dict)
In [9]:
#db.all()
In [8]:
Test = Query()
results = db.search(Test.sub.last_name == 'Kindermann')
results = db.all()
print results
[{u'model_id': u'MPI-M', u'last_name': u'', u'experiment_id': u'', u'data_qc_status': u'', u'variable_list_mon': [u'clt', u'evspsbl', u'hfls', u'hfss', u'hurs', u'huss', u'hus850', u'mrfso', u'mrro', u'mrros', u'mrso', u'pr', u'psl', u'rlds', u'rlus', u'rlut', u'rsds', u'rsdt', u'rsus', u'rsut', u'sfcWind', u'sfcWindmax', u'sic', u'snc', u'snd', u'snm', u'snw', u'sund', u'tas', u'tasmax', u'tasmin', u'ta200', u'ta500', u'ta850', u'uas', u'ua200', u'ua500', u'ua850', u'vas', u'va200', u'va500', u'va850', u'zg200', u'zg500'], u'data_path': u'', u'uniqueness_of_tracking_id': u'yes', u'directory_structure': u'', u'exclude_variables_list': u'', u'example_file_name': u'tas_AFR-44_MPI-M-MPI-ESM-LR_rcp26_r1i1p1_MPI-CSC-REMO2009_v1_mon_yyyymm-yyyymm.nc', u'time_period': u'', u'ing': {u'responsible_person': u'pl', u'target_directory': u'', u'ticket_id': u''}, u'grid_as_specified_if_rotated_pole': u'', u'institution': u'DKRZ', u'sub': {u'status': u'stored', u'last_name': u'Kindermann', u'package_name': u'Kindermann_tst2.json', u'keyword': u'tst2', u'timestamp': u'2016-04-26 15:51:41.445454', u'form_path': u'/home/stephan/tmp/CORDEX/Kindermann_tst2.ipynb', u'email': u'stephan.kindermann@gmail.com', u'repo': u'/home/stephan/tmp/CORDEX', u'status_flag_validity': 0, u'ticket_id': u'', u'package_path': u'/home/stephan/tmp/CORDEX/Kindermann_tst2.json', u'form_name': u'Kindermann_tst2', u'check_status': u'not checked', u'responsible_person': u'pl', u'id': u'416b048a-0bae-11e6-8bdc-080027f178b4'}, u'variable_list_day': [u'clh', u'clivi', u'cll', u'clm', u'clt', u'clwvi', u'evspsbl', u'evspsblpot', u'hfls', u'hfss', u'hurs', u'huss', u'hus850', u'mrfso', u'mrro', u'mrros', u'mrso', u'pr', u'prc', u'prhmax', u'prsn', u'prw', u'ps', u'psl', u'rlds', u'rlus', u'rlut', u'rsds', u'rsdt', u'rsus', u'rsut', u'sfcWind', u'sfcWindmax', u'sic', u'snc', u'snd', u'snm', u'snw', u'sund', u'tas', u'tasmax', u'tasmin', u'tauu', u'tauv', u'ta200', u'ta500', u'ta850', u'ts', u'uas', u'ua200', u'ua500', u'ua850', u'vas', u'va200', u'va500', u'va850', u'wsgsmax', u'zg200', u'zg500', u'zmla'], u'first_name': u'', u'che': {u'report_dir': u'', u'status': u'', u'responsible_person': u'hdh', u'ticket_id': u''}, u'data_qc_comment': u'', u'pup': {u'status': u'', u'responsible_person': u'kb', u'ticket_id': u'', u'facet_search_string': u''}, u'variable_list_sem': [u'clt', u'evspsbl', u'hfls', u'hfss', u'hurs', u'huss', u'hus850', u'mrfso', u'mrro', u'mrros', u'mrso', u'pr', u'psl', u'rlds', u'rlus', u'rlut', u'rsds', u'rsdt', u'rsus', u'rsut', u'sfcWind', u'sfcWindmax', u'sic', u'snc', u'snd', u'snm', u'snw', u'sund', u'tas', u'tasmax', u'tasmin', u'ta200', u'ta500', u'ta850', u'uas', u'ua200', u'ua500', u'ua850', u'vas', u'va200', u'va500', u'va850', u'zg200', u'zg500'], u'terms_of_use': u'', u'project': u'CORDEX', u'variable_list_fx': [u'areacella', u'mrsofc', u'orog', u'rootd', u'sftgif', u'sftlf'], u'grid_mapping_name': u'', u'data_information': u'', u'submission_type': u'initial_version', u'email': u'', u'institute_id': u'DKRZ'}, {u'model_id': u'', u'last_name': u'stasi', u'experiment_id': u'', u'data_qc_status': u'', u'variable_list_mon': u'', u'data_path': u'', u'uniqueness_of_tracking_id': u'', u'directory_structure': u'', u'exclude_variables_list': u'', u'example_file_name': u'', u'time_period': u'', u'ing': {u'responsible_person': u'pl', u'target_directory': u'', u'ticket_id': u''}, u'grid_as_specified_if_rotated_pole': u'', u'institution': u'', u'sub': {u'status': [u'stored'], u'package_name': u'stasi_s@freenet.de.ipynb.json', u'keyword': u's@freenet.de', u'timestamp': u'2016-04-26 13:20:32.817468', u'source_path': u'/home/stephan/Repos/ENES-EUDAT/submission_forms/dkrz_forms/Templates/CORDEX_submission_form.ipynb', u'form_path': u'/home/stephan/tmp/CORDEX/stasi_s@freenet.de.ipynb', u'repo': u'/home/stephan/tmp/CORDEX', u'commit_hash': u'bc94260d8e396a22f9f34f5e956ed35e9f0b5361', u'package_path': u'/home/stephan/tmp/CORDEX/stasi_s@freenet.de.ipynb.json', u'check_status': u'not checked', u'form_name': u'stasi_s@freenet.de.ipynb', u'responsible_person': u'pl', u'id': u'e3deec4e-0ba0-11e6-ab96-080027f178b4', u'ticket_id': u''}, u'variable_list_day': u'', u'first_name': u'', u'che': {u'report_dir': u'', u'status': u'', u'responsible_person': u'hdh', u'ticket_id': u''}, u'data_qc_comment': u'', u'pup': {u'status': u'', u'responsible_person': u'kb', u'ticket_id': u'', u'facet_search_string': u''}, u'variable_list_sem': u'', u'terms_of_use': u'', u'project': u'CORDEX', u'variable_list_fx': u'', u'grid_mapping_name': u'', u'data_information': u'', u'submission_type': u'', u'email': u'ki', u'institute_id': u''}, {u'model_id': u'', u'last_name': u'ki', u'experiment_id': u'', u'data_qc_status': u'', u'variable_list_mon': u'', u'data_path': u'', u'uniqueness_of_tracking_id': u'', u'directory_structure': u'', u'exclude_variables_list': u'', u'example_file_name': u'', u'time_period': u'', u'ing': {u'responsible_person': u'pl', u'target_directory': u'', u'ticket_id': u''}, u'grid_as_specified_if_rotated_pole': u'', u'institution': u'', u'sub': {u'status': [u'stored'], u'package_name': u'ki_stk1.ipynb.json', u'keyword': u'stk1', u'timestamp': u'2016-04-26 12:55:50.944793', u'source_path': u'/home/stephan/Repos/ENES-EUDAT/submission_forms/dkrz_forms/Templates/CORDEX_submission_form.ipynb', u'form_path': u'/home/stephan/tmp/CORDEX/ki_stk1.ipynb', u'repo': u'/home/stephan/tmp/CORDEX', u'commit_hash': u'03fca98d5d7f8cad2a77a8bd158c7c18b58c7daa', u'package_path': u'/home/stephan/tmp/CORDEX/ki_stk1.ipynb.json', u'form_name': u'ki_stk1.ipynb', u'check_status': u'not checked', u'responsible_person': u'pl', u'id': u'70a02822-0b9d-11e6-96e1-080027f178b4', u'ticket_id': u''}, u'variable_list_day': u'', u'first_name': u'', u'che': {u'report_dir': u'', u'status': u'', u'responsible_person': u'hdh', u'ticket_id': u''}, u'data_qc_comment': u'', u'pup': {u'status': u'', u'responsible_person': u'kb', u'ticket_id': u'', u'facet_search_string': u''}, u'variable_list_sem': u'', u'terms_of_use': u'', u'project': u'CORDEX', u'variable_list_fx': u'', u'grid_mapping_name': u'', u'data_information': u'', u'submission_type': u'', u'email': u'st@freenet.de', u'institute_id': u''}, {u'model_id': u'', u'last_name': u'stasi', u'experiment_id': u'', u'data_qc_status': u'', u'variable_list_mon': u'', u'data_path': u'', u'uniqueness_of_tracking_id': u'', u'directory_structure': u'', u'exclude_variables_list': u'', u'example_file_name': u'', u'time_period': u'', u'ing': {u'responsible_person': u'pl', u'target_directory': u'', u'ticket_id': u''}, u'grid_as_specified_if_rotated_pole': u'', u'institution': u'', u'sub': {u'status': [u'stored'], u'package_name': u'stasi_snkinder@freenet.de.ipynb.json', u'keyword': u'snkinder@freenet.de', u'timestamp': u'2016-04-26 13:11:02.865114', u'source_path': u'/home/stephan/Repos/ENES-EUDAT/submission_forms/dkrz_forms/Templates/CORDEX_submission_form.ipynb', u'form_path': u'/home/stephan/tmp/CORDEX/stasi_snkinder@freenet.de.ipynb', u'repo': u'/home/stephan/tmp/CORDEX', u'commit_hash': u'f2f0341531738567207a70f7851e56f29aca6d59', u'package_path': u'/home/stephan/tmp/CORDEX/stasi_snkinder@freenet.de.ipynb.json', u'check_status': u'not checked', u'form_name': u'stasi_snkinder@freenet.de.ipynb', u'responsible_person': u'pl', u'id': u'902cf3da-0b9f-11e6-a1b0-080027f178b4', u'ticket_id': u''}, u'variable_list_day': u'', u'first_name': u'', u'che': {u'report_dir': u'', u'status': u'', u'responsible_person': u'hdh', u'ticket_id': u''}, u'data_qc_comment': u'', u'pup': {u'status': u'', u'responsible_person': u'kb', u'ticket_id': u'', u'facet_search_string': u''}, u'variable_list_sem': u'', u'terms_of_use': u'', u'project': u'CORDEX', u'variable_list_fx': u'', u'grid_mapping_name': u'', u'data_information': u'', u'submission_type': u'', u'email': u'ki', u'institute_id': u''}, {u'model_id': u'', u'last_name': u'ki', u'experiment_id': u'', u'data_qc_status': u'', u'variable_list_mon': u'', u'data_path': u'', u'uniqueness_of_tracking_id': u'', u'directory_structure': u'', u'exclude_variables_list': u'', u'example_file_name': u'', u'time_period': u'', u'ing': {u'responsible_person': u'pl', u'target_directory': u'', u'ticket_id': u''}, u'grid_as_specified_if_rotated_pole': u'', u'institution': u'', u'sub': {u'status': [u'stored'], u'package_name': u'ki_sk1.ipynb.json', u'keyword': u'sk1', u'timestamp': u'2016-04-26 13:24:41.238144', u'source_path': u'/home/stephan/Repos/ENES-EUDAT/submission_forms/dkrz_forms/Templates/CORDEX_submission_form.ipynb', u'form_path': u'/home/stephan/tmp/CORDEX/ki_sk1.ipynb', u'repo': u'/home/stephan/tmp/CORDEX', u'commit_hash': u'c58cdf81a9175a0987d2dc1dd214125f3b2dedbe', u'package_path': u'/home/stephan/tmp/CORDEX/ki_sk1.ipynb.json', u'form_name': u'ki_sk1.ipynb', u'check_status': u'not checked', u'responsible_person': u'pl', u'id': u'77f77cde-0ba1-11e6-8709-080027f178b4', u'ticket_id': u''}, u'variable_list_day': u'', u'first_name': u'', u'che': {u'report_dir': u'', u'status': u'', u'responsible_person': u'hdh', u'ticket_id': u''}, u'data_qc_comment': u'', u'pup': {u'status': u'', u'responsible_person': u'kb', u'ticket_id': u'', u'facet_search_string': u''}, u'variable_list_sem': u'', u'terms_of_use': u'', u'project': u'CORDEX', u'variable_list_fx': u'', u'grid_mapping_name': u'', u'data_information': u'', u'submission_type': u'', u'email': u's@freenet.de', u'institute_id': u''}, {u'model_id': u'', u'last_name': u'', u'experiment_id': u'', u'data_qc_status': u'', u'variable_list_mon': [u'clt', u'evspsbl', u'hfls', u'hfss', u'hurs', u'huss', u'hus850', u'mrfso', u'mrro', u'mrros', u'mrso', u'pr', u'psl', u'rlds', u'rlus', u'rlut', u'rsds', u'rsdt', u'rsus', u'rsut', u'sfcWind', u'sfcWindmax', u'sic', u'snc', u'snd', u'snm', u'snw', u'sund', u'tas', u'tasmax', u'tasmin', u'ta200', u'ta500', u'ta850', u'uas', u'ua200', u'ua500', u'ua850', u'vas', u'va200', u'va500', u'va850', u'zg200', u'zg500'], u'data_path': u'', u'uniqueness_of_tracking_id': u'', u'directory_structure': u'', u'exclude_variables_list': u'', u'example_file_name': u'', u'time_period': u'', u'ing': {u'responsible_person': u'pl', u'target_directory': u'', u'ticket_id': u''}, u'grid_as_specified_if_rotated_pole': u'', u'institution': u'', u'sub': {u'status': [u'stored'], u'last_name': u'Kindermann', u'package_name': u'', u'keyword': u'tst2', u'timestamp': u'2016-04-26 14:44:23.696508', u'form_path': u'/home/stephan/tmp/CORDEX/Kindermann_tst2.ipynb', u'id': u'85360ce8-0bac-11e6-9fa7-080027f178b4', u'repo': u'/home/stephan/tmp/CORDEX', u'ticket_id': u'', u'package_path': u'', u'check_status': u'not checked', u'form_name': u'Kindermann_tst2.ipynb', u'responsible_person': u'pl', u'email': u'stephan.kindermann@gmail.com'}, u'variable_list_day': [u'clh', u'clivi', u'cll', u'clm', u'clt', u'clwvi', u'evspsbl', u'evspsblpot', u'hfls', u'hfss', u'hurs', u'huss', u'hus850', u'mrfso', u'mrro', u'mrros', u'mrso', u'pr', u'prc', u'prhmax', u'prsn', u'prw', u'ps', u'psl', u'rlds', u'rlus', u'rlut', u'rsds', u'rsdt', u'rsus', u'rsut', u'sfcWind', u'sfcWindmax', u'sic', u'snc', u'snd', u'snm', u'snw', u'sund', u'tas', u'tasmax', u'tasmin', u'tauu', u'tauv', u'ta200', u'ta500', u'ta850', u'ts', u'uas', u'ua200', u'ua500', u'ua850', u'vas', u'va200', u'va500', u'va850', u'wsgsmax', u'zg200', u'zg500', u'zmla'], u'first_name': u'', u'che': {u'report_dir': u'', u'status': u'', u'responsible_person': u'hdh', u'ticket_id': u''}, u'data_qc_comment': u'', u'pup': {u'status': u'', u'responsible_person': u'kb', u'ticket_id': u'', u'facet_search_string': u''}, u'variable_list_sem': [u'clt', u'evspsbl', u'hfls', u'hfss', u'hurs', u'huss', u'hus850', u'mrfso', u'mrro', u'mrros', u'mrso', u'pr', u'psl', u'rlds', u'rlus', u'rlut', u'rsds', u'rsdt', u'rsus', u'rsut', u'sfcWind', u'sfcWindmax', u'sic', u'snc', u'snd', u'snm', u'snw', u'sund', u'tas', u'tasmax', u'tasmin', u'ta200', u'ta500', u'ta850', u'uas', u'ua200', u'ua500', u'ua850', u'vas', u'va200', u'va500', u'va850', u'zg200', u'zg500'], u'terms_of_use': u'', u'project': u'CORDEX', u'variable_list_fx': [u'areacella', u'mrsofc', u'orog', u'rootd', u'sftgif', u'sftlf'], u'grid_mapping_name': u'', u'data_information': u'', u'submission_type': u'', u'email': u'', u'institute_id': u''}]
In [26]:
from IPython.display import HTML
def summary_html(mylist):
html = []
html.append("<table width=100%>")
html.append("<tr>")
html.append("<td><b>form name<b></td>")
html.append("<td><b>keyword<b></td>")
html.append("<td><b>timestamp<b></td>")
html.append("<td><b>model / exp<b></td>")
html.append("<td><b>status</td>")
html.append("</tr>")
for entry in mylist:
#print entry['sub']
html.append("<tr>")
html.append("<td>{0}</td>".format(entry['sub']['form_name']))
html.append("<td>{0}</td>".format(entry['sub']['keyword']))
html.append("<td>{0}</td>".format(entry['sub']['timestamp']))
html.append("<td>{0}</td>".format(entry['model_id']))
html.append("<td>{0}</td>".format(entry['sub']['status']))
html.append("</tr>")
html.append("</table>")
return ''.join(html)
HTML(summary_html(results))
Out[26]:
form name keyword timestamp model / exp status Kindermann_tst2 tst2 2016-04-26 15:51:41.445454 MPI-M stored stasi_s@freenet.de.ipynb s@freenet.de 2016-04-26 13:20:32.817468 [u'stored'] ki_stk1.ipynb stk1 2016-04-26 12:55:50.944793 [u'stored'] stasi_snkinder@freenet.de.ipynb snkinder@freenet.de 2016-04-26 13:11:02.865114 [u'stored'] ki_sk1.ipynb sk1 2016-04-26 13:24:41.238144 [u'stored'] Kindermann_tst2.ipynb tst2 2016-04-26 14:44:23.696508 [u'stored']
In [28]:
#from IPython.display import FileLink, FileLinks
#FileLinks("/home/stephan/tmp/CORDEX")
In [ ]:
Content source: IS-ENES-Data/submission_forms
Similar notebooks: