包含所有意大利领土当局的Sqlite DB包
redturtle.entiterritoriali的Python项目详细描述
简介
此软件包提供所有意大利语“enti territoriali”的词汇。 对于存储,我们使用用sqlalchemy包装的sqlite3数据库。
首先,让我们导入词汇表(它应该已经有一个词汇表对象):
>>> from redturtle.entiterritoriali import EntiVocabulary as EV
现在让我们试试简单的查询:对于regione、provincia和comune:
>>> EV.regione('Emilia-Romagna') MappedRegioni(regione=u'Emilia-Romagna',...) >>> EV.provincia('Ferrara') MappedProvince(provincia=u'Ferrara',...) >>> EV.comune('Ferrara') MappedComuni(comune_id=4105,comune=u'Ferrara',...)
那么让我们检查一下是否全部都有:
>>> len(EV.allRegioni()) 20 >>> len(EV.allProvince()) 108 >>> len(EV.allComuni()) 8101
现在我们可以尝试使用like语句。我们可以使用助手方法:
>>> EV.comuniByLetter('Mod') [MappedComuni(comune_id=4013,comune=u'Modena',provincia=u'MO',...u'http://www.comune.modugno.ba.it/')] >>> EV.provinceByLetter('Bo') [MappedProvince(provincia=u'Bologna',...u'http://www.provinz.bz.it/')] >>> EV.regioniByLetter('L') [MappedRegioni(regione=u'Lazio',capoluogo=u'Roma'...u'postaweb@regione.lombardia.it')]
…但您也可以使用sqlalchemy构建自己的过滤器,并将它们作为参数列表传递:
>>> sql_filter1 = (EV.engine.comuni.provincia == 'BO') >>> sql_filter2 = (EV.engine.comuni.comune.like('Gal%')) >>> EV.comuni([sql_filter1, sql_filter2]) [MappedComuni(comune_id=4065,comune=u'Galliera',...http://www.comune.galliera.bo.it/')]
您可以在http://www.sqlalchemy.org/docs/05/ormtutorial.html#querying
现在一些更高级的查询-获取provincia的所有comuni:
>>> EV.comuni4provincia('BO') [MappedComuni(comune_id=4038,comune=u"Anzola dell'Emilia"...u'http://www.comune.zolapredosa.bo.it/')]
以及给定区域的所有省份:
>>> EV.province4regione('03') #Lombardia [MappedProvince(provincia=u'Bergamo',...sito_provincia=u'http://www.provincia.va.it/')]
最后,我们还可以将词汇表映射到displaylist(对于原型用例):
>>> from redturtle.entiterritoriali.vocabulary import mapDisplayList >>> mapDisplayList(EV.allRegioni()) [(u'13', u'Abruzzo'), (u'17', u'Basilicata'),...(u'05', u'Veneto')]
但它也应该适用于同一个词汇表中的不同实体,如这里:
>>> regione1 = EV.regione('Lombardia') >>> comune1 = EV.comune('Ferrara') >>> enti = [regione1,comune1] >>> mapDisplayList(enti) [(u'03', u'Lombardia'), (u'038008', u'Ferrara')]
学分
在Regione Emilia Romagna的支持下开发;regione emilia romagna支持PloneGov initiative。
历史记录
0.4.0(2016-08-02)
- 更新新的Emilia Romagna合并的Comuni[cekk]
0.3.3(2014-11-10)
- 修复massafiscaglia站点url[cekk]
0.3.2(2014-11-07)
- 修复sqlsoup[cekk]的导入
0.3.1(2014-11-07)
- 更新了新的意大利地区[CEKK]
0.3(2013-12-16)
- 与sqlalchemy 0.8[amleczko]兼容
0.2.2(2013-11-12)
- Zerba[cekk]的固定站点URL
0.2.1(2013-08-20)
- fixed codice istat for Casteldelci, Maiolo, Novafeltria, Pennabilli, San Leo, Sant’Agata Feltria, Talamello [cekk]
0.2(2011-08-03)
- cleanup, docs update [amleczko]
0.1.10(2011-07-08)
- fixed bertinoro website [cekk]
0.1.9(2011-05-16)
- fixed casalfiumanese website [cekk]
0.1.8(2011-04-18)
- fixed some other websites [cekk]
0.1.7(2011-04-08)
- fixed some other websites [cekk]
0.1.6(2011-03-28)
- fixed other websites for some comuni [cekk]
0.1.5(2011-03-21)
- added new websites for some comuni [cekk]
0.1.4(2010-09-01)
- declaring egg zip unsafe, otherwise it is not possible to access sqllite db [alert]
0.1.3(2010-08-31)
- UTF-8 fixes [keul]
0.1.2(2009-10-09)
- move Casteldelci, Maiolo, Novafeltria, Pennabilli, San Leo, Sant’Agata Feltria and Talamello to Rimini province [amleczko]
0.1.1(2009-10-06)
- SQLite3Vocab is now singleton - you should always use ‘from redturtle.entiterritoriali import EntiVocabulary’ not SQLite3Vocab directly [amleczko]
0.1.0(2009-07-07)
- Refactoring [amleczko]
0.0.4(2009-06-24)
- Add Monza e della Brianza province [amleczko]
0.0.3(2009-06-11)
- Add EntiCriteria (topic criteria) and all functionality behind it [amleczko]
0.0.2(2009-05-24)
- Add the “comuniByLetter” method used to catch comuni that start with one or more character [lucabel]
0.0.1(2009-04-20)
- First release [amleczko]