def createdbcatalog(self,dbout): if self.discoverd: con=sqlite3.connect(dbout) con.enable_load_extension(True) cur = con.cursor() cur.execute('SELECT load_extension("mod_spatialite")'); cur.execute('SELECT InitSpatialMetadata();') cur.execute(self._createtablecatalog()) con.commit() con.close() for layer in self.layers: url = layer['url'] name = layer['name'] #name = unicode(name.decode(self.encoding)) #name = djenc.force_unicode(name) name = futureenc(name) querable = layer['querable'] xmin = layer['properties']['extent']['xmin'] ymin = layer['properties']['extent']['ymin'] xmax = layer['properties']['extent']['xmax'] ymax = layer['properties']['extent']['ymax'] srid = layer['properties']['extent']['spatialReference']['wkid'] description = layer['properties']['description'] #description = UnicodeDammit(description).unicode #description = unicode(description.decode(self.encoding)) #description = djenc.force_unicode(description) description = futureenc(description) typelayer = layer['properties']['type'] geometrytype = layer['properties']['geometryType'].replace('esriGeometry','') self._insertdatacatalog(dbout,name,url,querable,xmin,ymin,xmax,ymax,srid,description,typelayer,geometrytype)
def writedb(self, people, outdb): if os.path.isfile(outdb): os.remove(outdb) engine = create_engine("sqlite:///" + outdb) self.Base.metadata.create_all(engine) self.Base.metadata.bind = engine DBSession = sessionmaker(bind=engine) session = DBSession() for p in people: keys = ( "bio", "name", "lastname", "born_date", "born_place", "death_date", "death_place", "livedintrentino", "bornintrentino", "job", "street", ) data = {} for k in keys: data[k] = "" try: data[k] = futureenc(p[k]) except KeyError: data[k] = "" bio = data["bio"] name = data["name"] lastname = data["lastname"] born_date = data["born_date"] born_place = data["born_place"] death_date = data["death_date"] death_place = data["death_place"] livedintrentino = data["livedintrentino"] bornintrentino = data["bornintrentino"] job = data["job"] street = data["street"] new_person = self.Person( bio=bio, name=name, lastname=lastname, born_date=born_date, born_place=born_place, death_date=death_date, death_place=death_place, livedintrentino=livedintrentino, bornintrentino=bornintrentino, job=job, street=street, ) session.add(new_person) session.commit()
def getbiodata(self, borndata, what): data = {} date = "" place = "" row = 0 fr = 0 for b in borndata: b = futureenc(b) if b.find(what) > -1: for counter in range(len(b), 0, -1): d = b[counter - 1:counter] if d == " ": fr = row break else: date += d row += 1 date = date[::-1] if date != "": if (date[0].isdigit()): place = borndata[fr].replace(date, "").replace(what + " ", "").replace(",", "") else: date = "" data["date"] = date data["place"] = place return data
def getbiodata(self, borndata, what): data = {} date = "" place = "" row = 0 fr = 0 for b in borndata: b = futureenc(b) if b.find(what) > -1: for counter in range(len(b), 0, -1): d = b[counter - 1 : counter] if d == " ": fr = row break else: date += d row += 1 date = date[::-1] if date != "": if date[0].isdigit(): place = borndata[fr].replace(date, "").replace(what + " ", "").replace(",", "") else: date = "" data["date"] = date data["place"] = place return data
def writedb(self, people, outdb): if (os.path.isfile(outdb)): os.remove(outdb) engine = create_engine('sqlite:///' + outdb) self.Base.metadata.create_all(engine) self.Base.metadata.bind = engine DBSession = sessionmaker(bind=engine) session = DBSession() for p in people: keys = ("bio", "name", "lastname", "born_date", "born_place", "death_date", "death_place", "livedintrentino", "bornintrentino", "job", "street") data = {} for k in keys: data[k] = "" try: data[k] = futureenc(p[k]) except KeyError: data[k] = "" bio = data["bio"] name = data["name"] lastname = data["lastname"] born_date = data["born_date"] born_place = data["born_place"] death_date = data["death_date"] death_place = data["death_place"] livedintrentino = data["livedintrentino"] bornintrentino = data["bornintrentino"] job = data["job"] street = data["street"] new_person = self.Person(bio=bio,name=name,lastname=lastname, \ born_date=born_date,born_place=born_place, \ death_date=death_date,death_place=death_place, \ livedintrentino=livedintrentino, \ bornintrentino=bornintrentino,\ job=job,street=street) session.add(new_person) session.commit()