diff options
-rw-r--r-- | justice_main.py | 89 | ||||
-rw-r--r-- | main.py | 2 | ||||
-rw-r--r-- | models.py | 55 | ||||
-rw-r--r-- | templates/extract-actual.html | 19 | ||||
-rw-r--r-- | templates/extract.html | 81 |
5 files changed, 190 insertions, 56 deletions
diff --git a/justice_main.py b/justice_main.py index ab96098..4fe5dcd 100644 --- a/justice_main.py +++ b/justice_main.py @@ -33,27 +33,34 @@ def parse_to_DB(file): conn.close()
return 0
-def purge_DB(c):
- conn = sqlite3.connect('justice.db')
- c = conn.cursor()
- c.execute("DELETE FROM companies")
- c.execute("DELETE FROM obce")
- c.execute("DELETE FROM ulice")
- c.execute("DELETE FROM ulice_relation")
- c.execute("DELETE FROM osoby")
- c.execute("DELETE FROM obce_relation")
- c.execute("DELETE FROM sqlite_sequence")
- c.execute("DELETE FROM pravni_formy")
- c.execute("DELETE FROM pravni_formy_relation")
- c.execute("DELETE FROM insolvency_events")
- c.execute("DELETE FROM predmety_podnikani")
- c.execute("DELETE FROM predmety_podnikani_relation")
- c.execute("DELETE FROM predmety_cinnosti")
- c.execute("DELETE FROM predmety_cinnosti_relation")
- c.execute("DELETE FROM zakladni_kapital")
- c.execute("DELETE FROM ostatni_skutecnosti")
- c.execute("DELETE FROM akcie")
- return 0
+def purge_DB():
+ try:
+ conn = sqlite3.connect('justice.db')
+ c = conn.cursor()
+ c.execute("DELETE FROM companies")
+ c.execute("DELETE FROM obce")
+ c.execute("DELETE FROM ulice")
+ c.execute("DELETE FROM ulice_relation")
+ c.execute("DELETE FROM osoby")
+ c.execute("DELETE FROM obce_relation")
+ c.execute("DELETE FROM sqlite_sequence")
+ c.execute("DELETE FROM pravni_formy")
+ c.execute("DELETE FROM pravni_formy_relation")
+ c.execute("DELETE FROM insolvency_events")
+ c.execute("DELETE FROM predmety_podnikani")
+ c.execute("DELETE FROM predmety_podnikani_relation")
+ c.execute("DELETE FROM predmety_cinnosti")
+ c.execute("DELETE FROM predmety_cinnosti_relation")
+ c.execute("DELETE FROM zakladni_kapital")
+ c.execute("DELETE FROM ostatni_skutecnosti")
+ c.execute("DELETE FROM akcie")
+ c.execute("DELETE FROM zapis_soudy")
+ c.execute("DELETE FROM nazvy")
+ conn.commit()
+ conn.close()
+ return 0
+ except Exception as f:
+ print(f)
def find_other_properties(c, ICO, element, conn, primary_sql_key):
try:
@@ -77,8 +84,12 @@ def find_other_properties(c, ICO, element, conn, primary_sql_key): find_ostatni_skutecnosti(c, ICO, elem2, conn, primary_sql_key, element)
elif str(get_prop(elem2, ".//udajTyp/kod")) == "AKCIE_SEKCE":
find_akcie(c, ICO, elem2, conn, primary_sql_key, element)
- except:
- pass
+ elif str(get_prop(elem2, ".//udajTyp/kod")) == "SPIS_ZN":
+ find_sp_zn(c, ICO, elem2, conn, primary_sql_key, element)
+ elif str(get_prop(elem2, ".//udajTyp/kod")) == "NAZEV":
+ find_nazev(c, ICO, elem2, conn, primary_sql_key, element)
+ except Exception as f:
+ print (f)
def find_predmet_podnikani(c, ICO, predmet_podnikani_elem, conn, primary_sql_key, element):
try:
@@ -116,6 +127,27 @@ def find_predmet_cinnosti(c, ICO, predmet_cinnosti_elem, conn, primary_sql_key, except:
pass
+def find_sp_zn(c, ICO, elem2, conn, primary_sql_key, element):
+ try:
+ zapis_datum = str(get_prop(elem2, ".//zapisDatum"))
+ vymaz_datum = str(get_prop(elem2, ".//vymazDatum"))
+ soud = str(get_prop(elem2, ".//spisZn/soud/kod"))
+ oddil = str(get_prop(elem2, ".//spisZn/oddil"))
+ vlozka = str(get_prop(elem2, ".//spisZn/vlozka"))
+ c.execute("INSERT INTO zapis_soudy (company_id, zapis_datum, vymaz_datum, oddil, vlozka, soud) VALUES(?, ?, ?, ?, ?, ?)", (primary_sql_key, zapis_datum, vymaz_datum, oddil, vlozka, soud,))
+ except:
+ pass
+
+def find_nazev(c, ICO, elem2, conn, primary_sql_key, element):
+ try:
+ zapis_datum = str(get_prop(elem2, ".//zapisDatum"))
+ vymaz_datum = str(get_prop(elem2, ".//vymazDatum"))
+ nazev = str(get_prop(elem2, ".//hodnotaText"))
+ print(ICO, zapis_datum, vymaz_datum, nazev)
+ c.execute("INSERT INTO nazvy (company_id, zapis_datum, vymaz_datum, nazev_text) VALUES(?, ?, ?, ?)", (primary_sql_key, zapis_datum, vymaz_datum, nazev,))
+ except Exception as f:
+ print(f)
+
def find_zakladni_kapital(c, ICO, elem2, conn, primary_sql_key, element):
try:
zapis_datum = str(get_prop(elem2, ".//zapisDatum"))
@@ -624,17 +656,18 @@ def unzip_file(filename, temp_file): def delete_archive(file):
send2trash.send2trash(file)
+purge_DB()
-# parse_to_DB("as-full-ostrava-2021.xml")
+parse_to_DB("as-full-ostrava-2021.xml")
# parse_to_DB("ks-actual-ostrava-2021.xml")
# parse_to_DB("sro-actual-praha-2020.xml")
-def do_both():
- # general_update("down")
- general_update("db_update")
+# def do_both():
+# # general_update("down")
+# general_update("db_update")
-do_both()
+# do_both()
# cProfile.run('do_both()')
\ No newline at end of file @@ -4,7 +4,7 @@ from db_setup import init_db, db_session from forms import JusticeSearchForm, CompanyForm from flask import flash, render_template, request, redirect # from models import Company, Soud -from models import Company, Obce, Ulice, Pravni_Forma, Insolvency_Events, Predmet_Podnikani, Predmety_Podnikani_Association, Predmet_Cinnosti, Predmety_Cinnosti_Association, Zakladni_Kapital, Akcie +from models import Company, Obce, Ulice, Pravni_Forma, Insolvency_Events, Predmet_Podnikani, Predmety_Podnikani_Association, Predmet_Cinnosti, Predmety_Cinnosti_Association, Zakladni_Kapital, Akcie, Nazvy from tables import Results init_db() @@ -53,10 +53,25 @@ def convert_month_to_string(my_month): else: return "podivného měsíce" +def convert_soud_to_string(my_soud): + if my_soud == "MSPH": + return "Městského soudu v Praze" + elif my_soud == "KSCB": + return "Krajského soudu v Českých Budějovicích" + elif my_soud == "KSPL": + return "Krajského soudu v Plzni" + elif my_soud == "KSUL": + return "Krajského soudu v Ústí nad Labem" + elif my_soud == "KSHK": + return "Krajského soudu v Hradci Králové" + elif my_soud == "KSBR": + return "Krajského soudu v Brně" + elif my_soud == "KSOS": + return "Krajského soudu v Ostravě" + else: + return "podivného soudu" + class MyType(types.TypeDecorator): - '''Prefixes Unicode values with "PREFIX:" on the way in and - strips it off on the way out. - ''' impl = types.Unicode @@ -70,6 +85,20 @@ class MyType(types.TypeDecorator): def copy(self, **kw): return MyType(self.impl.length) +class MySoud(types.TypeDecorator): + + impl = types.Unicode + + # def process_bind_param(self, value, dialect): + # return convert_soud_to_string(value) + + def process_result_value(self, value, dialect): + # return "PREFIX:" + value + return convert_soud_to_string(value) + + def copy(self, **kw): + return MySoud(self.impl.length) + association_table = db.Table("obce_relation", db.Column("company_id", db.Integer, db.ForeignKey("companies.id"), primary_key=True, nullable=False), @@ -134,6 +163,8 @@ class Company(db.Model): zakladni_kapital = db.relationship("Zakladni_Kapital", backref="companies") ostatni_skutecnosti = db.relationship("Ostatni_Skutecnosti", backref="companies") akcie = db.relationship("Akcie", backref="companies") + obchodni_firma = db.relationship("Nazvy", backref="companies") + soudni_zapis = db.relationship("Soudni_Zapisy", backref="companies") class Obce(db.Model): @@ -204,3 +235,21 @@ class Akcie(db.Model): akcie_hodnota_typ = db.Column(db.String) akcie_hodnota_value = db.Column(db.String) akcie_text = db.Column(db.String) + +class Nazvy(db.Model): + __tablename__ = "nazvy" + id = db.Column(db.Integer, primary_key=True) + company_id = db.Column(db.String, db.ForeignKey("companies.id")) + zapis_datum = db.Column(MyType) + vymaz_datum = db.Column(MyType) + nazev_text = db.Column(db.String) + +class Soudni_Zapisy(db.Model): + __tablename__ = "zapis_soudy" + id = db.Column(db.Integer, primary_key=True) + company_id = db.Column(db.String, db.ForeignKey("companies.id")) + zapis_datum = db.Column(MyType) + vymaz_datum = db.Column(MyType) + oddil = db.Column(db.String) + vlozka = db.Column(db.String) + soud = db.Column(MySoud)
\ No newline at end of file diff --git a/templates/extract-actual.html b/templates/extract-actual.html index f42a9b8..bccf13c 100644 --- a/templates/extract-actual.html +++ b/templates/extract-actual.html @@ -36,6 +36,7 @@ {% endfor %} + {% set zapis_split = row.zapis.split("-") %} {% if zapis_split[1] == "01" %} {% set mesic = "ledna" %} @@ -104,7 +105,11 @@ {% endif %} <h1>Výpis z obchodního rejstříku</h1> -<h2>{{ row.nazev }}, {{ row.oddil }} {{ row.vlozka }} vedená u {{ soud }}</h2> +{% for i in range (row.soudni_zapis|length) %} + {% if row.soudni_zapis[i].vymaz_datum == 0 %} +<h2>{{ row.nazev }}, {{ row.soudni_zapis[i].oddil }} {{ row.soudni_zapis[i].vlozka }} vedená u {{ row.soudni_zapis[i].soud }}</h2> +{% endif %} +{% endfor %} <p><a href="/">Zpět na vyhledání.</a></p> <table class= "table" style="width: 100%"> @@ -114,11 +119,19 @@ </tr> <tr> <td>Spisová značka:</td> - <td>{{ row.oddil }} {{ row.vlozka }} vedená u {{ soud }}</td> + {% for i in range (row.soudni_zapis|length) %} + {% if row.soudni_zapis[i].vymaz_datum == 0 %} + <td>{{ row.soudni_zapis[i].oddil }} {{ row.soudni_zapis[i].vlozka }} vedená u {{ row.soudni_zapis[i].soud }}</td> + {% endif %} + {% endfor %} </tr> <tr> <td>Obchodní firma:</td> - <td>{{ row.nazev }}</td> + {% for i in range (row.obchodni_firma|length) %} + {% if row.obchodni_firma[i].vymaz_datum == 0 %} + <td>{{ row.obchodni_firma[i].nazev_text }}</td> + {% endif %} + {% endfor %} </tr> <tr> <td>Sídlo:</td> diff --git a/templates/extract.html b/templates/extract.html index 4623bc0..3738ce9 100644 --- a/templates/extract.html +++ b/templates/extract.html @@ -40,22 +40,6 @@ {% set den = zapis_split[2] %} {% endif %} -{% if row.soud == "MSPH" %} - {% set soud = "Městského soudu v Praze" %} -{% elif row.soud == "KSCB" %} - {% set soud = "Krajského soudu v Českých Budějovicích" %} -{% elif row.soud == "KSOS" %} - {% set soud = "Krajského soudu v Ostravě" %} -{% elif row.soud == "KSPL" %} - {% set soud = "Krajského soudu v Plzni" %} -{% elif row.soud == "KSBR" %} - {% set soud = "Krajského soudu v Brně" %} -{% elif row.soud == "KSHK" %} - {% set soud = "Krajského soudu v Hradci Králové" %} -{% elif row.soud == "KSUL" %} - {% set soud = "Krajského soudu v Ústí nad Labem" %} -{% endif %} - {% if insolvency_notes|length > 0 %} {% set table_style = "table table-danger" %} {% elif loop.index % 2 == 0 %} @@ -74,11 +58,18 @@ {% set ico_buffer = "" %} {% endif %} + + {% set undedrline_open_deleted = "<u>" %} {% set undedrline_closed_deleted = "</u>" %} <h1>Výpis z obchodního rejstříku</h1> -<h2>{{ row.nazev }}, {{ row.oddil }} {{ row.vlozka }} vedená u {{ soud }}</h2> +{% for i in range (row.soudni_zapis|length) %} + {% if row.soudni_zapis[i].vymaz_datum == 0 %} +<h2>{{ row.nazev }}, {{ row.soudni_zapis[i].oddil }} {{ row.soudni_zapis[i].vlozka }} vedená u {{ row.soudni_zapis[i].soud }}</h2> +{% endif %} +{% endfor %} + <p><a href="/">Zpět na vyhledání.</a></p> <table class= "table" style="width: 100%"> @@ -87,16 +78,64 @@ <td style="width:60%">{{den}}. {{mesic}} {{zapis_split[0]}}</td> <td style="width:25%"></td> </tr> + {% if row.soudni_zapis|length > 0 %} <tr> <td>Spisová značka:</td> - <td>{{ row.oddil }} {{ row.vlozka }} vedená u {{ soud }}</td> - <td></td> + {% if row.soudni_zapis[0].vymaz_datum != 0 %} + {% set underlne_style_open = undedrline_open_deleted %} + {% set underlne_style_close = undedrline_closed_deleted %} + {% else %} + {% set underlne_style_open = "" %} + {% set underlne_style_close = "" %} + {% endif %} + <td>{{ underlne_style_open|safe }} {{ row.soudni_zapis[0].oddil }} {{ row.soudni_zapis[0].vlozka }} vedená u {{ row.soudni_zapis[0].soud }} {{ underlne_style_close|safe }}</td> + <td>{{ underlne_style_open|safe }} Zapsáno: {{ row.soudni_zapis[0].zapis_datum }} {% if row.soudni_zapis[0].vymaz_datum != 0 %} <br> Vymazáno: {{ row.soudni_zapis[0].vymaz_datum }} {% endif %} {{ underlne_style_close|safe }}</td> </tr> + + {% for i in range (1, row.soudni_zapis|length) %} <tr> - <td>Obchodní firma:</td> - <td>{{ row.nazev }}</td> <td></td> + {% if row.soudni_zapis[i].vymaz_datum != 0 %} + {% set underlne_style_open = undedrline_open_deleted %} + {% set underlne_style_close = undedrline_closed_deleted %} + {% else %} + {% set underlne_style_open = "" %} + {% set underlne_style_close = "" %} + {% endif %} + <td>{{ underlne_style_open|safe }} {{ row.soudni_zapis[i].oddil }} {{ row.soudni_zapis[i].vlozka }} vedená u {{ row.soudni_zapis[i].soud }} {{ underlne_style_close|safe }}</td> + <td>{{ underlne_style_open|safe }} Zapsáno: {{ row.soudni_zapis[i].zapis_datum }} {% if row.soudni_zapis[i].vymaz_datum != 0 %} <br> Vymazáno: {{ row.soudni_zapis[i].vymaz_datum }} {% endif %} {{ underlne_style_close|safe }}</td> + </tr> + {% endfor %} + {% endif %} + + {% if row.obchodni_firma|length > 0 %} + <tr> + <td>Obchodní firma:</td> + {% if row.obchodni_firma[0].vymaz_datum != 0 %} + {% set underlne_style_open = undedrline_open_deleted %} + {% set underlne_style_close = undedrline_closed_deleted %} + {% else %} + {% set underlne_style_open = "" %} + {% set underlne_style_close = "" %} + {% endif %} + <td>{{ underlne_style_open|safe }} {{ row.obchodni_firma[0].nazev_text }} {{ underlne_style_close|safe }}</td> + <td>{{ underlne_style_open|safe }} Zapsáno: {{ row.obchodni_firma[0].zapis_datum }} {% if row.obchodni_firma[0].vymaz_datum != 0 %} <br> Vymazáno: {{ row.obchodni_firma[0].vymaz_datum }} {% endif %} {{ underlne_style_close|safe }}</td> </tr> + {% for i in range (1, row.obchodni_firma|length) %} + <tr> + <td></td> + {% if row.obchodni_firma[i].vymaz_datum != 0 %} + {% set underlne_style_open = undedrline_open_deleted %} + {% set underlne_style_close = undedrline_closed_deleted %} + {% else %} + {% set underlne_style_open = "" %} + {% set underlne_style_close = "" %} + {% endif %} + <td>{{ underlne_style_open|safe }} {{ row.obchodni_firma[i].nazev_text }} {{ underlne_style_close|safe }}</td> + <td>{{ underlne_style_open|safe }} Zapsáno: {{ row.obchodni_firma[i].zapis_datum }} {% if row.obchodni_firma[i].vymaz_datum != 0 %} <br> Vymazáno: {{ row.obchodni_firma[i].vymaz_datum }} {% endif %} {{ underlne_style_close|safe }}</td> + </tr> + {% endfor %} + {% endif %} <tr> <td>Sídlo:</td> <td>{{ row.sidlo }}</td> |