def buildGIDsTable(): logger.info("Building table ac_gids") logger.info("------------------------") connection = psycopg2.connect(host=config.databaseHost, database=config.databaseName, port=config.databasePort, user=config.databaseUserName, password=config.databasePassword) try: createTempTable(connection) cursor = getAddressRows(connection) try: if cursor == None: return logger.info("Inserting rows") logger.info("----------------------") insertCursor = connection.cursor() builder = HTTPShared.MimeBuilder("texttoonerow") row_count = 0 gaugecount = 0 for row in cursor: row_count += 1 gaugecount += 1 try: street, houseNumber, locality, zipCode, orientationNumber, orientationNumberCharacter, localityPart, typ_so, nazev_mop, gid = row houseNumber, recordNumber = HTTPShared.analyseRow( typ_so, houseNumber) districtNumber = HTTPShared.extractDictrictNumber( nazev_mop) rowLabel = compileaddress.compileAddress( builder, street, houseNumber, recordNumber, orientationNumber, orientationNumberCharacter, zipCode, locality, localityPart, districtNumber) insertSQL = "INSERT INTO ac_gids (gid, address) VALUES (%s, '%s')" % ( gid, rowLabel) insertCursor.execute(insertSQL) connection.commit() if gaugecount >= 1000: gaugecount = 0 logger.info(str(row_count) + " rows") except psycopg2.Error as e: logPsycopg2Error(e) logger.error( str(row_count) + " " + insertSQL + " failed. ") exitApp() pass logger.info("Done - %d rows inserted." % row_count) finally: cursor.close() #renameTempTable(connection) logger.info("Building table ac_gids done.") finally: connection.close() pass
houseNumber = "" recordNumber = numberToString(cislo_domovni) else: pass return houseNumber, recordNumber def itemToStr(item): if item == None: return "" else: return str(item) builder = HTTPShared.MimeBuilder("texttoonerow") ID_VALUE = 'id' def getAutocompleteOneItemResults(ruianType, nameToken, maxCount=10): if ruianType == "": ruianType == ID_VALUE nameToken = nameToken.lower() joinSeparator = ", " if ruianType == ID_VALUE: searchSQL = "select gid from gids where cast(gid as text) ilike '" + nameToken + "%'" searchSQL += " limit " + str(maxCount)