html = '''
{data_html}
F A M Z element name origin of name J decay mode % branch excitation energy [MeV] Q [MeV] abundance atomic mass [MeV] uncertain in mass [MeV] S date T½ [s]
''' # WSGI-klient def application(environ, start_response): # zpracování (případného) dotazu form = parse_qs(environ['QUERY_STRING']) # vrací dict # získání dat z databáze a jejich převod do podoby HTML-tabulky if 'name' in form: print('name =', form) data_name = form['name'][0] cursor.execute(f''' SELECT * FROM izotopy,symboly WHERE izotopy.element = symboly.symbol AND symboly.name LIKE '%{data_name}%'; ''') else: data_name = '' cursor.execute(f''' SELECT * FROM izotopy,symboly WHERE izotopy.element = symboly.symbol; ''') data = '' for záznam in cursor: F, A, M, Z, element, J, decay_mode, branch_pct, excitation_energy, Q, T12, abundance, atomic_mass, uncertain_in_mass, S, date, T12s, Z2, symbol, name, origin = záznam data += f''' {F} {A} {M} {Z} {element} {name} {origin} {J} {decay_mode} {branch_pct} {excitation_energy} {Q} {T12} {abundance} {atomic_mass} {uncertain_in_mass} {S} {date} {T12s} ''' # vykreslení vyrobené HTML-tabulky body = bytes(html.format(data_html=data, value_name=data_name), encoding='utf-8') response_headers = [ ("Content-type", "text/html; charset=utf-8"), ("Content-length", str(len(body)) ), ] start_response("200 OK", response_headers) return (body,) # WSGI-server (spuštěn pro jednu odpověď) if __name__ == '__main__': # spojení na databázi import sqlite3 connection = sqlite3.connect('izotopy.db') cursor = connection.cursor() # webový server from wsgiref.simple_server import make_server from urllib.parse import parse_qs server = make_server('localhost', 8080, application) server.serve_forever()