def del_old_strkat(): #print "Loesche alten Strassenkatalog" try: sql_query = "DELETE FROM strassenkat" sql.execute(sql_query) #print "Strassenkatalog geloescht" except: #print "Konnte alten Strassenkatalog nicht entfernen!" pass
def read_strkat(file_name, opendb=False): dyn_pos = 0 gesamt_pos = 0 if opendb: sql.opendb() line = None neuliste = [] if file_name.lower().endswith('.gz'): import gzip f = gzip.GzipFile(file_name) else: f = open(file_name) del_old_strkat() while line != '': line = f.readline() line = re.sub(r'\'', '\\\'', line) line = re.sub(r'\"', '\'', line) if line != '': neuliste = schreibe_daten(line) str_nr = neuliste[0] str_name = neuliste[1] hsnr = neuliste[2] if hsnr == '': hsnr = '\'---\'' bez = neuliste[4] plz = neuliste[9] planungsr = neuliste[20] write_strassen_to_db(str_nr, str_name, hsnr, bez, plz, planungsr) dyn_pos = dyn_pos + 1 if dyn_pos == 10000: gesamt_pos = gesamt_pos + 10000 print " Status: " + str(gesamt_pos) + " von ca. 385000 Datensaetzen fertig importiert." dyn_pos = 0 #print "Strassenkatalog wurde erfolgreich importiert." ##************************************************************************* ## Anlegen eines Indexes für die schnellere Suche im Strassenkat ## Index wird über 10 Zeichen des Strassennamens angelegt. Wunsch von Huber. ## brehmea 15.08.2002 ##************************************************************************* #print "Lege Index fuer Strassenkatalog an." sql_query = "ALTER TABLE strassenkat ADD INDEX (str_name(10))" sql.execute(sql_query) #print "Index fuer Strassenkatalog wurde erfolgreich angelegt." f.close() if opendb: sql.closedb()
def get_max_id(self): try: # cache return self.maxid except: res = execute("SELECT max(nr) FROM protokoll") self.maxid = res[0][0] or 0 return self.maxid
def read_hsnr(stra, plz): res = [] res.append("<br>") for el in plz: res.append("<br><b>Plz. " + str(el[0]) + " : </b><br>") sql_query = "SELECT DISTINCT hausnr FROM strassenkat WHERE str_name = '%s' and plz = '%s'" % (stra,str(el[0])) hsnr = sql.execute(sql_query) n=0 g=0 for el in hsnr: if n == 11: res.append("<br>") n = 0 res.append(str(el[0])) if g != (len(hsnr)-1): res.append(", ") n = n + 1 g = g + 1 res.append("<br>") return string.join(res, '')
def read_plz(stra): sql_query = "SELECT DISTINCT plz FROM strassenkat WHERE str_name = '%s'" % stra Plz = sql.execute(sql_query) return Plz
def write_strassen_to_db(str_nr, str_name, hsnr, bez, plz, planungsr): sql_query = "INSERT INTO strassenkat (str_nummer,str_name,hausnr,bezirk,plz,plraum) VALUES (" \ + str_nr + "," + str_name + "," + hsnr + "," + bez + "," + plz + "," + planungsr + ")" #print sql_query sql.execute(sql_query)