class IOtherName(model.Schema): """ Marker interface and Dexterity Python Schema for OtherName Used for Persons """ # If you want, you can load a xml model created TTW here # and customize it in Python: # model.load('other_name.xml') dexteritytextindexer.searchable('name') name = schema.TextLine( title=_(u'Name'), required=False, ) dexteritytextindexer.searchable('note') note = schema.Text( title=_(u'Note'), description=_(u'Birth name'), required=False, ) start_date = schema.Date( title=_(u'Start Date'), required=False, ) end_date = schema.Date( title=_(u'End Date'), required=False, )
class IImageRights(model.Schema): """ """ directives.order_after(image_rights='image') image_rights = schema.TextLine( title=_(u'Image Rights'), description=_( u'Copyright statement or other rights information on this item.'), required=False, )
class IContactDetail(model.Schema): """ Marker interface and Dexterity Python Schema for ContactDetail """ # If you want, you can load a xml model created TTW here # and customize it in Python: # model.load('contact_detail.xml') dexteritytextindexer.searchable('label') label = schema.TextLine( title=_(u'Label'), description=_(u"A human-readable label for the contact detail"), ) type = schema.Choice( title=_(u'Type'), description=_(u'A type of medium, eg. mobile phone or email'), vocabulary=contact_types, ) dexteritytextindexer.searchable('value') value = schema.TextLine( title=_(u'Value'), description=_(u"A value, e.g. a phone number or email address"), ) dexteritytextindexer.searchable('note') note = schema.Text( title=_(u'Note'), description=_(u"A note, e.g. for grouping contact details by " + u"physical location"), required=False, )
class IArea(model.Schema): """ Marker interface and Dexterity Python Schema for Area Reference Schema Popolo-spec Area JSON Schema https://www.popoloproject.com/specs/area.html """ # The Area class should have properties for: name, identifier, classification, parent area, geometry. dexteritytextindexer.searchable('name') name = schema.TextLine( title=_(u'Area Name'), description=_(u'A primary name, e.g. a legally recognized ' + 'name'), required=True, ) classification = schema.Choice( title=_(u'Area Classification'), description=_(u'An area category, e.g. city'), required=False, vocabulary='popolo.contenttypes.geonamefeaturecodes', ) directives.widget('parent_area', RelatedItemsFieldWidget, pattern_options={ 'basePath': '/', 'mode': 'auto', 'favourites': [], }) parent_area = RelationChoice( title=_(u'Parent Area'), description=_(u'The area that contains this area'), source=CatalogSource(portal_type='Area'), required=False, ) dexteritytextindexer.searchable('identifier') description = schema.Text( title=_(u'Identifier'), description=_( u'An issued identifier, e.g. an Open Civic Data Division Identifier' ), required=False, ) description = schema.Text( title=_(u'Geometry'), description=_(u'A geometry'), required=False, )
def test_vocab_organizations_vocab(self): vocab_name = 'popolo.contenttypes.OrganizationsVocab' factory = getUtility(IVocabularyFactory, vocab_name) self.assertTrue(IVocabularyFactory.providedBy(factory)) vocabulary = factory(self.portal) self.assertTrue(IVocabularyTokenized.providedBy(vocabulary)) self.assertEqual( vocabulary.getTerm('sony-a7r-iii').title, _(u'Sony Aplha 7R III'), )
class IIdentifier(model.Schema): """ Marker interface and Dexterity Python Schema for Identifier """ # If you want, you can load a xml model created TTW here # and customize it in Python: # model.load('identifier.xml') scheme = schema.TextLine( title=_(u'Scheme'), description=_(u'Type eg. IC Number, Passport, ' + u'Company Registration Number'), required=False, ) dexteritytextindexer.searchable('identifier') identifier = schema.TextLine( title=_(u'Identifier'), description=_(u'Unique value as code or number'), required=False, )
class ISource(model.Schema): """ Marker interface and Dexterity Python Schema for Source """ # If you want, you can load a xml model created TTW here # and customize it in Python: # model.load('source.xml') # TODO A Selection field of fields in Parent Object dexteritytextindexer.searchable('title') title = schema.TextLine( title=_(u'Title'), description=_(u'Title of publication, article ..'), ) dexteritytextindexer.searchable('description') description = schema.Text( title=_(u'Description'), description=_(u'One line description of this source'), required=False, ) dexteritytextindexer.searchable('author') author = schema.TextLine( title=_(u'Author or Website Name'), required=False, ) url = schema.URI(title=_(u'Source Link'), )
class IPost(model.Schema): """ Marker interface and Dexterity Python Schema for Post """ # If you want, you can load a xml model created TTW here # and customize it in Python: # model.load('post.xml') dexteritytextindexer.searchable('label') label = schema.TextLine( title=_(u'Label'), description=_(u"A describing the Post"), required=True, ) dexteritytextindexer.searchable('role') role = schema.TextLine( title=_(u'Role'), description=_(u"THe function that the holder of the " + "post fulfills"), required=True, ) # Organization directives.widget('organization', RelatedItemsFieldWidget, pattern_options={ 'basePath': '/', 'mode': 'auto', 'favourites': [], }) organization = RelationChoice( title=u'Organization', source=CatalogSource(portal_type='Organization'), required=False, ) start_date = schema.Date( title=_(u'Start Date'), description=_(u'Date this post was created'), required=False, ) end_date = schema.Date( title=_('End Date'), description=_(u'Date which this post was eliminated'), required=False, )
class IRelationship(model.Schema): """ Marker interface and Dexterity Python Schema for Relationship """ # If you want, you can load a xml model created TTW here # and customize it in Python: # model.load('relationship.xml') dexteritytextindexer.searchable('name') name = schema.TextLine( title=_(u'Relationship Name'), description=_(u'''The name of this relationship, eg. Son of Person, Known business associate of Person, Major client of Business.'''), required=True, ) dexteritytextindexer.searchable('description') description = schema.Text( title=_(u'Description'), description=_(u'Brief description of this relationship'), required=False, ) # Relationship Type directives.widget(relationship_type=SelectFieldWidget) relationship_type = schema.Choice( title=_('Relationship type'), required=False, vocabulary='popolo.contenttypes.relationshiptypes', ) # Subject directives.widget('relationship_subject', RelatedItemsFieldWidget, pattern_options={ 'basePath': '/', 'mode': 'auto', 'favourites': [], } ) relationship_subject = RelationChoice( title=u'Subject', description=_(u'The subject of the relation.'), source=CatalogSource(portal_type=['Person', 'Organization']), required=True, ) # Object directives.widget('relationship_object', RelatedItemsFieldWidget, pattern_options={ 'basePath': '/', 'mode': 'auto', 'favourites': [], } ) relationship_object = RelationChoice( title=u'Object', description=_(u'The object of the relation.'), source=CatalogSource(portal_type=['Person', 'Organization']), required=True, ) start_date = schema.Date( title=_(u'Start Date'), description=_(u'Date which this relationship began'), required=False,) end_date = schema.Date( title=_('End Date'), description=_(u'Date which this relationship ended'), required=False,) # Public notes dexteritytextindexer.searchable('notes') notes = RichText( title=_(u'Notes'), required=False )
def __call__(self, context): # Just an example list of content for our vocabulary, # this can be any static or dynamic data, a catalog result for example. geoname_featurecodes = SimpleVocabulary( [ SimpleTerm(value=(u'A.ADM1'), title=_(u'first-order administrative division')), SimpleTerm(value=(u'A.ADM1H'), title=_(u'historical first-order administrative division')), SimpleTerm(value=(u'A.ADM2'), title=_(u'second-order administrative division')), SimpleTerm(value=(u'A.ADM2H'), title=_(u'historical second-order administrative division')), SimpleTerm(value=(u'A.ADM3'), title=_(u'third-order administrative division')), SimpleTerm(value=(u'A.ADM3H'), title=_(u'historical third-order administrative division')), SimpleTerm(value=(u'A.ADM4'), title=_(u'fourth-order administrative division')), SimpleTerm(value=(u'A.ADM4H'), title=_(u'historical fourth-order administrative division')), SimpleTerm(value=(u'A.ADM5'), title=_(u'fifth-order administrative division')), SimpleTerm(value=(u'A.ADM5H'), title=_(u'historical fifth-order administrative division')), SimpleTerm(value=(u'A.ADMD'), title=_(u'administrative division')), SimpleTerm(value=(u'A.ADMDH'), title=_(u'historical administrative division')), SimpleTerm(value=(u'A.LTER'), title=_(u'leased area')), SimpleTerm(value=(u'A.PCL'), title=_(u'political entity')), SimpleTerm(value=(u'A.PCLD'), title=_(u'dependent political entity')), SimpleTerm(value=(u'A.PCLF'), title=_(u'freely associated state')), SimpleTerm(value=(u'A.PCLH'), title=_(u'historical political entity')), SimpleTerm(value=(u'A.PCLI'), title=_(u'independent political entity')), SimpleTerm(value=(u'A.PCLIX'), title=_(u'section of independent political entity')), SimpleTerm(value=(u'A.PCLS'), title=_(u'semi-independent political entity')), SimpleTerm(value=(u'A.PRSH'), title=_(u'parish')), SimpleTerm(value=(u'A.TERR'), title=_(u'territory')), SimpleTerm(value=(u'A.ZN'), title=_(u'zone')), SimpleTerm(value=(u'A.ZNB'), title=_(u'buffer zone')), SimpleTerm(value=(u'H.AIRS'), title=_(u'seaplane landing area')), SimpleTerm(value=(u'H.ANCH'), title=_(u'anchorage')), SimpleTerm(value=(u'H.BAY'), title=_(u'bay')), SimpleTerm(value=(u'H.BAYS'), title=_(u'bays')), SimpleTerm(value=(u'H.BGHT'), title=_(u'bight(s)')), SimpleTerm(value=(u'H.BNK'), title=_(u'bank(s)')), SimpleTerm(value=(u'H.BNKR'), title=_(u'stream bank')), SimpleTerm(value=(u'H.BNKX'), title=_(u'section of bank')), SimpleTerm(value=(u'H.BOG'), title=_(u'bog(s)')), SimpleTerm(value=(u'H.CAPG'), title=_(u'icecap')), SimpleTerm(value=(u'H.CHN'), title=_(u'channel')), SimpleTerm(value=(u'H.CHNL'), title=_(u'lake channel(s)')), SimpleTerm(value=(u'H.CHNM'), title=_(u'marine channel')), SimpleTerm(value=(u'H.CHNN'), title=_(u'navigation channel')), SimpleTerm(value=(u'H.CNFL'), title=_(u'confluence')), SimpleTerm(value=(u'H.CNL'), title=_(u'canal')), SimpleTerm(value=(u'H.CNLA'), title=_(u'aqueduct')), SimpleTerm(value=(u'H.CNLB'), title=_(u'canal bend')), SimpleTerm(value=(u'H.CNLD'), title=_(u'drainage canal')), SimpleTerm(value=(u'H.CNLI'), title=_(u'irrigation canal')), SimpleTerm(value=(u'H.CNLN'), title=_(u'navigation canal(s)')), SimpleTerm(value=(u'H.CNLQ'), title=_(u'abandoned canal')), SimpleTerm(value=(u'H.CNLSB'), title=_(u'underground irrigation canal(s)')), SimpleTerm(value=(u'H.CNLX'), title=_(u'section of canal')), SimpleTerm(value=(u'H.COVE'), title=_(u'cove(s)')), SimpleTerm(value=(u'H.CRKT'), title=_(u'tidal creek(s)')), SimpleTerm(value=(u'H.CRNT'), title=_(u'current')), SimpleTerm(value=(u'H.CUTF'), title=_(u'cutoff')), SimpleTerm(value=(u'H.DCK'), title=_(u'dock(s)')), SimpleTerm(value=(u'H.DCKB'), title=_(u'docking basin')), SimpleTerm(value=(u'H.DOMG'), title=_(u'icecap dome')), SimpleTerm(value=(u'H.DPRG'), title=_(u'icecap depression')), SimpleTerm(value=(u'H.DTCH'), title=_(u'ditch')), SimpleTerm(value=(u'H.DTCHD'), title=_(u'drainage ditch')), SimpleTerm(value=(u'H.DTCHI'), title=_(u'irrigation ditch')), SimpleTerm(value=(u'H.DTCHM'), title=_(u'ditch mouth(s)')), SimpleTerm(value=(u'H.ESTY'), title=_(u'estuary')), SimpleTerm(value=(u'H.FISH'), title=_(u'fishing area')), SimpleTerm(value=(u'H.FJD'), title=_(u'fjord')), SimpleTerm(value=(u'H.FJDS'), title=_(u'fjords')), SimpleTerm(value=(u'H.FLLS'), title=_(u'waterfall(s)')), SimpleTerm(value=(u'H.FLLSX'), title=_(u'section of waterfall(s)')), SimpleTerm(value=(u'H.FLTM'), title=_(u'mud flat(s)')), SimpleTerm(value=(u'H.FLTT'), title=_(u'tidal flat(s)')), SimpleTerm(value=(u'H.GLCR'), title=_(u'glacier(s)')), SimpleTerm(value=(u'H.GULF'), title=_(u'gulf')), SimpleTerm(value=(u'H.GYSR'), title=_(u'geyser')), SimpleTerm(value=(u'H.HBR'), title=_(u'harbor(s)')), SimpleTerm(value=(u'H.HBRX'), title=_(u'section of harbor')), SimpleTerm(value=(u'H.INLT'), title=_(u'inlet')), SimpleTerm(value=(u'H.INLTQ'), title=_(u'former inlet')), SimpleTerm(value=(u'H.LBED'), title=_(u'lake bed(s)')), SimpleTerm(value=(u'H.LGN'), title=_(u'lagoon')), SimpleTerm(value=(u'H.LGNS'), title=_(u'lagoons')), SimpleTerm(value=(u'H.LGNX'), title=_(u'section of lagoon')), SimpleTerm(value=(u'H.LK'), title=_(u'lake')), SimpleTerm(value=(u'H.LKC'), title=_(u'crater lake')), SimpleTerm(value=(u'H.LKI'), title=_(u'intermittent lake')), SimpleTerm(value=(u'H.LKN'), title=_(u'salt lake')), SimpleTerm(value=(u'H.LKNI'), title=_(u'intermittent salt lake')), SimpleTerm(value=(u'H.LKO'), title=_(u'oxbow lake')), SimpleTerm(value=(u'H.LKOI'), title=_(u'intermittent oxbow lake')), SimpleTerm(value=(u'H.LKS'), title=_(u'lakes')), SimpleTerm(value=(u'H.LKSB'), title=_(u'underground lake')), SimpleTerm(value=(u'H.LKSC'), title=_(u'crater lakes')), SimpleTerm(value=(u'H.LKSI'), title=_(u'intermittent lakes')), SimpleTerm(value=(u'H.LKSN'), title=_(u'salt lakes')), SimpleTerm(value=(u'H.LKSNI'), title=_(u'intermittent salt lakes')), SimpleTerm(value=(u'H.LKX'), title=_(u'section of lake')), SimpleTerm(value=(u'H.MFGN'), title=_(u'salt evaporation ponds')), SimpleTerm(value=(u'H.MGV'), title=_(u'mangrove swamp')), SimpleTerm(value=(u'H.MOOR'), title=_(u'moor(s)')), SimpleTerm(value=(u'H.MRSH'), title=_(u'marsh(es)')), SimpleTerm(value=(u'H.MRSHN'), title=_(u'salt marsh')), SimpleTerm(value=(u'H.NRWS'), title=_(u'narrows')), SimpleTerm(value=(u'H.OCN'), title=_(u'ocean')), SimpleTerm(value=(u'H.OVF'), title=_(u'overfalls')), SimpleTerm(value=(u'H.PND'), title=_(u'pond')), SimpleTerm(value=(u'H.PNDI'), title=_(u'intermittent pond')), SimpleTerm(value=(u'H.PNDN'), title=_(u'salt pond')), SimpleTerm(value=(u'H.PNDNI'), title=_(u'intermittent salt pond(s)')), SimpleTerm(value=(u'H.PNDS'), title=_(u'ponds')), SimpleTerm(value=(u'H.PNDSF'), title=_(u'fishponds')), SimpleTerm(value=(u'H.PNDSI'), title=_(u'intermittent ponds')), SimpleTerm(value=(u'H.PNDSN'), title=_(u'salt ponds')), SimpleTerm(value=(u'H.POOL'), title=_(u'pool(s)')), SimpleTerm(value=(u'H.POOLI'), title=_(u'intermittent pool')), SimpleTerm(value=(u'H.RCH'), title=_(u'reach')), SimpleTerm(value=(u'H.RDGG'), title=_(u'icecap ridge')), SimpleTerm(value=(u'H.RDST'), title=_(u'roadstead')), SimpleTerm(value=(u'H.RF'), title=_(u'reef(s)')), SimpleTerm(value=(u'H.RFC'), title=_(u'coral reef(s)')), SimpleTerm(value=(u'H.RFX'), title=_(u'section of reef')), SimpleTerm(value=(u'H.RPDS'), title=_(u'rapids')), SimpleTerm(value=(u'H.RSV'), title=_(u'reservoir(s)')), SimpleTerm(value=(u'H.RSVI'), title=_(u'intermittent reservoir')), SimpleTerm(value=(u'H.RSVT'), title=_(u'water tank')), SimpleTerm(value=(u'H.RVN'), title=_(u'ravine(s)')), SimpleTerm(value=(u'H.SBKH'), title=_(u'sabkha(s)')), SimpleTerm(value=(u'H.SD'), title=_(u'sound')), SimpleTerm(value=(u'H.SEA'), title=_(u'sea')), SimpleTerm(value=(u'H.SHOL'), title=_(u'shoal(s)')), SimpleTerm(value=(u'H.SILL'), title=_(u'sill')), SimpleTerm(value=(u'H.SPNG'), title=_(u'spring(s)')), SimpleTerm(value=(u'H.SPNS'), title=_(u'sulphur spring(s)')), SimpleTerm(value=(u'H.SPNT'), title=_(u'hot spring(s)')), SimpleTerm(value=(u'H.STM'), title=_(u'stream')), SimpleTerm(value=(u'H.STMA'), title=_(u'anabranch')), SimpleTerm(value=(u'H.STMB'), title=_(u'stream bend')), SimpleTerm(value=(u'H.STMC'), title=_(u'canalized stream')), SimpleTerm(value=(u'H.STMD'), title=_(u'distributary(-ies)')), SimpleTerm(value=(u'H.STMH'), title=_(u'headwaters')), SimpleTerm(value=(u'H.STMI'), title=_(u'intermittent stream')), SimpleTerm(value=(u'H.STMIX'), title=_(u'section of intermittent stream')), SimpleTerm(value=(u'H.STMM'), title=_(u'stream mouth(s)')), SimpleTerm(value=(u'H.STMQ'), title=_(u'abandoned watercourse')), SimpleTerm(value=(u'H.STMS'), title=_(u'streams')), SimpleTerm(value=(u'H.STMSB'), title=_(u'lost river')), SimpleTerm(value=(u'H.STMX'), title=_(u'section of stream')), SimpleTerm(value=(u'H.STRT'), title=_(u'strait')), SimpleTerm(value=(u'H.SWMP'), title=_(u'swamp')), SimpleTerm(value=(u'H.SYSI'), title=_(u'irrigation system')), SimpleTerm(value=(u'H.TNLC'), title=_(u'canal tunnel')), SimpleTerm(value=(u'H.WAD'), title=_(u'wadi')), SimpleTerm(value=(u'H.WADB'), title=_(u'wadi bend')), SimpleTerm(value=(u'H.WADJ'), title=_(u'wadi junction')), SimpleTerm(value=(u'H.WADM'), title=_(u'wadi mouth')), SimpleTerm(value=(u'H.WADS'), title=_(u'wadies')), SimpleTerm(value=(u'H.WADX'), title=_(u'section of wadi')), SimpleTerm(value=(u'H.WHRL'), title=_(u'whirlpool')), SimpleTerm(value=(u'H.WLL'), title=_(u'well')), SimpleTerm(value=(u'H.WLLQ'), title=_(u'abandoned well')), SimpleTerm(value=(u'H.WLLS'), title=_(u'wells')), SimpleTerm(value=(u'H.WTLD'), title=_(u'wetland')), SimpleTerm(value=(u'H.WTLDI'), title=_(u'intermittent wetland')), SimpleTerm(value=(u'H.WTRC'), title=_(u'watercourse')), SimpleTerm(value=(u'H.WTRH'), title=_(u'waterhole(s)')), SimpleTerm(value=(u'L.AGRC'), title=_(u'agricultural colony')), SimpleTerm(value=(u'L.AMUS'), title=_(u'amusement park')), SimpleTerm(value=(u'L.AREA'), title=_(u'area')), SimpleTerm(value=(u'L.BSND'), title=_(u'drainage basin')), SimpleTerm(value=(u'L.BSNP'), title=_(u'petroleum basin')), SimpleTerm(value=(u'L.BTL'), title=_(u'battlefield')), SimpleTerm(value=(u'L.CLG'), title=_(u'clearing')), SimpleTerm(value=(u'L.CMN'), title=_(u'common')), SimpleTerm(value=(u'L.CNS'), title=_(u'concession area')), SimpleTerm(value=(u'L.COLF'), title=_(u'coalfield')), SimpleTerm(value=(u'L.CONT'), title=_(u'continent')), SimpleTerm(value=(u'L.CST'), title=_(u'coast')), SimpleTerm(value=(u'L.CTRB'), title=_(u'business center')), SimpleTerm(value=(u'L.DEVH'), title=_(u'housing development')), SimpleTerm(value=(u'L.FLD'), title=_(u'field(s)')), SimpleTerm(value=(u'L.FLDI'), title=_(u'irrigated field(s)')), SimpleTerm(value=(u'L.GASF'), title=_(u'gasfield')), SimpleTerm(value=(u'L.GRAZ'), title=_(u'grazing area')), SimpleTerm(value=(u'L.GVL'), title=_(u'gravel area')), SimpleTerm(value=(u'L.INDS'), title=_(u'industrial area')), SimpleTerm(value=(u'L.LAND'), title=_(u'arctic land')), SimpleTerm(value=(u'L.LCTY'), title=_(u'locality')), SimpleTerm(value=(u'L.MILB'), title=_(u'military base')), SimpleTerm(value=(u'L.MNA'), title=_(u'mining area')), SimpleTerm(value=(u'L.MVA'), title=_(u'maneuver area')), SimpleTerm(value=(u'L.NVB'), title=_(u'naval base')), SimpleTerm(value=(u'L.OAS'), title=_(u'oasis(-es)')), SimpleTerm(value=(u'L.OILF'), title=_(u'oilfield')), SimpleTerm(value=(u'L.PEAT'), title=_(u'peat cutting area')), SimpleTerm(value=(u'L.PRK'), title=_(u'park')), SimpleTerm(value=(u'L.PRT'), title=_(u'port')), SimpleTerm(value=(u'L.QCKS'), title=_(u'quicksand')), SimpleTerm(value=(u'L.RES'), title=_(u'reserve')), SimpleTerm(value=(u'L.RESA'), title=_(u'agricultural reserve')), SimpleTerm(value=(u'L.RESF'), title=_(u'forest reserve')), SimpleTerm(value=(u'L.RESH'), title=_(u'hunting reserve')), SimpleTerm(value=(u'L.RESN'), title=_(u'nature reserve')), SimpleTerm(value=(u'L.RESP'), title=_(u'palm tree reserve')), SimpleTerm(value=(u'L.RESV'), title=_(u'reservation')), SimpleTerm(value=(u'L.RESW'), title=_(u'wildlife reserve')), SimpleTerm(value=(u'L.RGN'), title=_(u'region')), SimpleTerm(value=(u'L.RGNE'), title=_(u'economic region')), SimpleTerm(value=(u'L.RGNH'), title=_(u'historical region')), SimpleTerm(value=(u'L.RGNL'), title=_(u'lake region')), SimpleTerm(value=(u'L.RNGA'), title=_(u'artillery range')), SimpleTerm(value=(u'L.SALT'), title=_(u'salt area')), SimpleTerm(value=(u'L.SNOW'), title=_(u'snowfield')), SimpleTerm(value=(u'L.TRB'), title=_(u'tribal area')), SimpleTerm(value=(u'P.PPL'), title=_(u'populated place')), SimpleTerm(value=(u'P.PPLA'), title=_(u'seat of a first-order administrative division')), SimpleTerm(value=(u'P.PPLA2'), title=_(u'seat of a second-order administrative division')), SimpleTerm(value=(u'P.PPLA3'), title=_(u'seat of a third-order administrative division')), SimpleTerm(value=(u'P.PPLA4'), title=_(u'seat of a fourth-order administrative division')), SimpleTerm(value=(u'P.PPLA5'), title=_(u'seat of a fifth-order administrative division')), SimpleTerm(value=(u'P.PPLC'), title=_(u'capital of a political entity')), SimpleTerm(value=(u'P.PPLCH'), title=_(u'historical capital of a political entity')), SimpleTerm(value=(u'P.PPLF'), title=_(u'farm village')), SimpleTerm(value=(u'P.PPLG'), title=_(u'seat of government of a political entity')), SimpleTerm(value=(u'P.PPLH'), title=_(u'historical populated place')), SimpleTerm(value=(u'P.PPLL'), title=_(u'populated locality')), SimpleTerm(value=(u'P.PPLQ'), title=_(u'abandoned populated place')), SimpleTerm(value=(u'P.PPLR'), title=_(u'religious populated place')), SimpleTerm(value=(u'P.PPLS'), title=_(u'populated places')), SimpleTerm(value=(u'P.PPLW'), title=_(u'destroyed populated place')), SimpleTerm(value=(u'P.PPLX'), title=_(u'section of populated place')), SimpleTerm(value=(u'P.STLMT'), title=_(u'israeli settlement')), SimpleTerm(value=(u'R.CSWY'), title=_(u'causeway')), SimpleTerm(value=(u'R.OILP'), title=_(u'oil pipeline')), SimpleTerm(value=(u'R.PRMN'), title=_(u'promenade')), SimpleTerm(value=(u'R.PTGE'), title=_(u'portage')), SimpleTerm(value=(u'R.RD'), title=_(u'road')), SimpleTerm(value=(u'R.RDA'), title=_(u'ancient road')), SimpleTerm(value=(u'R.RDB'), title=_(u'road bend')), SimpleTerm(value=(u'R.RDCUT'), title=_(u'road cut')), SimpleTerm(value=(u'R.RDJCT'), title=_(u'road junction')), SimpleTerm(value=(u'R.RJCT'), title=_(u'railroad junction')), SimpleTerm(value=(u'R.RR'), title=_(u'railroad')), SimpleTerm(value=(u'R.RRQ'), title=_(u'abandoned railroad')), SimpleTerm(value=(u'R.RTE'), title=_(u'caravan route')), SimpleTerm(value=(u'R.RYD'), title=_(u'railroad yard')), SimpleTerm(value=(u'R.ST'), title=_(u'street')), SimpleTerm(value=(u'R.STKR'), title=_(u'stock route')), SimpleTerm(value=(u'R.TNL'), title=_(u'tunnel')), SimpleTerm(value=(u'R.TNLN'), title=_(u'natural tunnel')), SimpleTerm(value=(u'R.TNLRD'), title=_(u'road tunnel')), SimpleTerm(value=(u'R.TNLRR'), title=_(u'railroad tunnel')), SimpleTerm(value=(u'R.TNLS'), title=_(u'tunnels')), SimpleTerm(value=(u'R.TRL'), title=_(u'trail')), SimpleTerm(value=(u'S.ADMF'), title=_(u'administrative facility')), SimpleTerm(value=(u'S.AGRF'), title=_(u'agricultural facility')), SimpleTerm(value=(u'S.AIRB'), title=_(u'airbase')), SimpleTerm(value=(u'S.AIRF'), title=_(u'airfield')), SimpleTerm(value=(u'S.AIRH'), title=_(u'heliport')), SimpleTerm(value=(u'S.AIRP'), title=_(u'airport')), SimpleTerm(value=(u'S.AIRQ'), title=_(u'abandoned airfield')), SimpleTerm(value=(u'S.AIRT'), title=_(u'terminal')), SimpleTerm(value=(u'S.AMTH'), title=_(u'amphitheater')), SimpleTerm(value=(u'S.ANS'), title=_(u'archaeological/prehistoric site')), SimpleTerm(value=(u'S.AQC'), title=_(u'aquaculture facility')), SimpleTerm(value=(u'S.ARCH'), title=_(u'arch')), SimpleTerm(value=(u'S.ARCHV'), title=_(u'archive')), SimpleTerm(value=(u'S.ART'), title=_(u'piece of art')), SimpleTerm(value=(u'S.ASTR'), title=_(u'astronomical station')), SimpleTerm(value=(u'S.ASYL'), title=_(u'asylum')), SimpleTerm(value=(u'S.ATHF'), title=_(u'athletic field')), SimpleTerm(value=(u'S.ATM'), title=_(u'automatic teller machine')), SimpleTerm(value=(u'S.BANK'), title=_(u'bank')), SimpleTerm(value=(u'S.BCN'), title=_(u'beacon')), SimpleTerm(value=(u'S.BDG'), title=_(u'bridge')), SimpleTerm(value=(u'S.BDGQ'), title=_(u'ruined bridge')), SimpleTerm(value=(u'S.BLDA'), title=_(u'apartment building')), SimpleTerm(value=(u'S.BLDG'), title=_(u'building(s)')), SimpleTerm(value=(u'S.BLDO'), title=_(u'office building')), SimpleTerm(value=(u'S.BP'), title=_(u'boundary marker')), SimpleTerm(value=(u'S.BRKS'), title=_(u'barracks')), SimpleTerm(value=(u'S.BRKW'), title=_(u'breakwater')), SimpleTerm(value=(u'S.BSTN'), title=_(u'baling station')), SimpleTerm(value=(u'S.BTYD'), title=_(u'boatyard')), SimpleTerm(value=(u'S.BUR'), title=_(u'burial cave(s)')), SimpleTerm(value=(u'S.BUSTN'), title=_(u'bus station')), SimpleTerm(value=(u'S.BUSTP'), title=_(u'bus stop')), SimpleTerm(value=(u'S.CARN'), title=_(u'cairn')), SimpleTerm(value=(u'S.CAVE'), title=_(u'cave(s)')), SimpleTerm(value=(u'S.CH'), title=_(u'church')), SimpleTerm(value=(u'S.CMP'), title=_(u'camp(s)')), SimpleTerm(value=(u'S.CMPL'), title=_(u'logging camp')), SimpleTerm(value=(u'S.CMPLA'), title=_(u'labor camp')), SimpleTerm(value=(u'S.CMPMN'), title=_(u'mining camp')), SimpleTerm(value=(u'S.CMPO'), title=_(u'oil camp')), SimpleTerm(value=(u'S.CMPQ'), title=_(u'abandoned camp')), SimpleTerm(value=(u'S.CMPRF'), title=_(u'refugee camp')), SimpleTerm(value=(u'S.CMTY'), title=_(u'cemetery')), SimpleTerm(value=(u'S.COMC'), title=_(u'communication center')), SimpleTerm(value=(u'S.CRRL'), title=_(u'corral(s)')), SimpleTerm(value=(u'S.CSNO'), title=_(u'casino')), SimpleTerm(value=(u'S.CSTL'), title=_(u'castle')), SimpleTerm(value=(u'S.CSTM'), title=_(u'customs house')), SimpleTerm(value=(u'S.CTHSE'), title=_(u'courthouse')), SimpleTerm(value=(u'S.CTRA'), title=_(u'atomic center')), SimpleTerm(value=(u'S.CTRCM'), title=_(u'community center')), SimpleTerm(value=(u'S.CTRF'), title=_(u'facility center')), SimpleTerm(value=(u'S.CTRM'), title=_(u'medical center')), SimpleTerm(value=(u'S.CTRR'), title=_(u'religious center')), SimpleTerm(value=(u'S.CTRS'), title=_(u'space center')), SimpleTerm(value=(u'S.CVNT'), title=_(u'convent')), SimpleTerm(value=(u'S.DAM'), title=_(u'dam')), SimpleTerm(value=(u'S.DAMQ'), title=_(u'ruined dam')), SimpleTerm(value=(u'S.DAMSB'), title=_(u'sub-surface dam')), SimpleTerm(value=(u'S.DARY'), title=_(u'dairy')), SimpleTerm(value=(u'S.DCKD'), title=_(u'dry dock')), SimpleTerm(value=(u'S.DCKY'), title=_(u'dockyard')), SimpleTerm(value=(u'S.DIKE'), title=_(u'dike')), SimpleTerm(value=(u'S.DIP'), title=_(u'diplomatic facility')), SimpleTerm(value=(u'S.DPOF'), title=_(u'fuel depot')), SimpleTerm(value=(u'S.EST'), title=_(u'estate(s)')), SimpleTerm(value=(u'S.ESTO'), title=_(u'oil palm plantation')), SimpleTerm(value=(u'S.ESTR'), title=_(u'rubber plantation')), SimpleTerm(value=(u'S.ESTSG'), title=_(u'sugar plantation')), SimpleTerm(value=(u'S.ESTT'), title=_(u'tea plantation')), SimpleTerm(value=(u'S.ESTX'), title=_(u'section of estate')), SimpleTerm(value=(u'S.FCL'), title=_(u'facility')), SimpleTerm(value=(u'S.FNDY'), title=_(u'foundry')), SimpleTerm(value=(u'S.FRM'), title=_(u'farm')), SimpleTerm(value=(u'S.FRMQ'), title=_(u'abandoned farm')), SimpleTerm(value=(u'S.FRMS'), title=_(u'farms')), SimpleTerm(value=(u'S.FRMT'), title=_(u'farmstead')), SimpleTerm(value=(u'S.FT'), title=_(u'fort')), SimpleTerm(value=(u'S.FY'), title=_(u'ferry')), SimpleTerm(value=(u'S.FYT'), title=_(u'ferry terminal')), SimpleTerm(value=(u'S.GATE'), title=_(u'gate')), SimpleTerm(value=(u'S.GDN'), title=_(u'garden(s)')), SimpleTerm(value=(u'S.GHAT'), title=_(u'ghat')), SimpleTerm(value=(u'S.GHSE'), title=_(u'guest house')), SimpleTerm(value=(u'S.GOSP'), title=_(u'gas-oil separator plant')), SimpleTerm(value=(u'S.GOVL'), title=_(u'local government office')), SimpleTerm(value=(u'S.GRVE'), title=_(u'grave')), SimpleTerm(value=(u'S.HERM'), title=_(u'hermitage')), SimpleTerm(value=(u'S.HLT'), title=_(u'halting place')), SimpleTerm(value=(u'S.HMSD'), title=_(u'homestead')), SimpleTerm(value=(u'S.HSE'), title=_(u'house(s)')), SimpleTerm(value=(u'S.HSEC'), title=_(u'country house')), SimpleTerm(value=(u'S.HSP'), title=_(u'hospital')), SimpleTerm(value=(u'S.HSPC'), title=_(u'clinic')), SimpleTerm(value=(u'S.HSPD'), title=_(u'dispensary')), SimpleTerm(value=(u'S.HSPL'), title=_(u'leprosarium')), SimpleTerm(value=(u'S.HSTS'), title=_(u'historical site')), SimpleTerm(value=(u'S.HTL'), title=_(u'hotel')), SimpleTerm(value=(u'S.HUT'), title=_(u'hut')), SimpleTerm(value=(u'S.HUTS'), title=_(u'huts')), SimpleTerm(value=(u'S.INSM'), title=_(u'military installation')), SimpleTerm(value=(u'S.ITTR'), title=_(u'research institute')), SimpleTerm(value=(u'S.JTY'), title=_(u'jetty')), SimpleTerm(value=(u'S.LDNG'), title=_(u'landing')), SimpleTerm(value=(u'S.LEPC'), title=_(u'leper colony')), SimpleTerm(value=(u'S.LIBR'), title=_(u'library')), SimpleTerm(value=(u'S.LNDF'), title=_(u'landfill')), SimpleTerm(value=(u'S.LOCK'), title=_(u'lock(s)')), SimpleTerm(value=(u'S.LTHSE'), title=_(u'lighthouse')), SimpleTerm(value=(u'S.MALL'), title=_(u'mall')), SimpleTerm(value=(u'S.MAR'), title=_(u'marina')), SimpleTerm(value=(u'S.MFG'), title=_(u'factory')), SimpleTerm(value=(u'S.MFGB'), title=_(u'brewery')), SimpleTerm(value=(u'S.MFGC'), title=_(u'cannery')), SimpleTerm(value=(u'S.MFGCU'), title=_(u'copper works')), SimpleTerm(value=(u'S.MFGLM'), title=_(u'limekiln')), SimpleTerm(value=(u'S.MFGM'), title=_(u'munitions plant')), SimpleTerm(value=(u'S.MFGPH'), title=_(u'phosphate works')), SimpleTerm(value=(u'S.MFGQ'), title=_(u'abandoned factory')), SimpleTerm(value=(u'S.MFGSG'), title=_(u'sugar refinery')), SimpleTerm(value=(u'S.MKT'), title=_(u'market')), SimpleTerm(value=(u'S.ML'), title=_(u'mill(s)')), SimpleTerm(value=(u'S.MLM'), title=_(u'ore treatment plant')), SimpleTerm(value=(u'S.MLO'), title=_(u'olive oil mill')), SimpleTerm(value=(u'S.MLSG'), title=_(u'sugar mill')), SimpleTerm(value=(u'S.MLSGQ'), title=_(u'former sugar mill')), SimpleTerm(value=(u'S.MLSW'), title=_(u'sawmill')), SimpleTerm(value=(u'S.MLWND'), title=_(u'windmill')), SimpleTerm(value=(u'S.MLWTR'), title=_(u'water mill')), SimpleTerm(value=(u'S.MN'), title=_(u'mine(s)')), SimpleTerm(value=(u'S.MNAU'), title=_(u'gold mine(s)')), SimpleTerm(value=(u'S.MNC'), title=_(u'coal mine(s)')), SimpleTerm(value=(u'S.MNCR'), title=_(u'chrome mine(s)')), SimpleTerm(value=(u'S.MNCU'), title=_(u'copper mine(s)')), SimpleTerm(value=(u'S.MNFE'), title=_(u'iron mine(s)')), SimpleTerm(value=(u'S.MNMT'), title=_(u'monument')), SimpleTerm(value=(u'S.MNN'), title=_(u'salt mine(s)')), SimpleTerm(value=(u'S.MNQ'), title=_(u'abandoned mine')), SimpleTerm(value=(u'S.MNQR'), title=_(u'quarry(-ies)')), SimpleTerm(value=(u'S.MOLE'), title=_(u'mole')), SimpleTerm(value=(u'S.MSQE'), title=_(u'mosque')), SimpleTerm(value=(u'S.MSSN'), title=_(u'mission')), SimpleTerm(value=(u'S.MSSNQ'), title=_(u'abandoned mission')), SimpleTerm(value=(u'S.MSTY'), title=_(u'monastery')), SimpleTerm(value=(u'S.MTRO'), title=_(u'metro station')), SimpleTerm(value=(u'S.MUS'), title=_(u'museum')), SimpleTerm(value=(u'S.NOV'), title=_(u'novitiate')), SimpleTerm(value=(u'S.NSY'), title=_(u'nursery(-ies)')), SimpleTerm(value=(u'S.OBPT'), title=_(u'observation point')), SimpleTerm(value=(u'S.OBS'), title=_(u'observatory')), SimpleTerm(value=(u'S.OBSR'), title=_(u'radio observatory')), SimpleTerm(value=(u'S.OILJ'), title=_(u'oil pipeline junction')), SimpleTerm(value=(u'S.OILQ'), title=_(u'abandoned oil well')), SimpleTerm(value=(u'S.OILR'), title=_(u'oil refinery')), SimpleTerm(value=(u'S.OILT'), title=_(u'tank farm')), SimpleTerm(value=(u'S.OILW'), title=_(u'oil well')), SimpleTerm(value=(u'S.OPRA'), title=_(u'opera house')), SimpleTerm(value=(u'S.PAL'), title=_(u'palace')), SimpleTerm(value=(u'S.PGDA'), title=_(u'pagoda')), SimpleTerm(value=(u'S.PIER'), title=_(u'pier')), SimpleTerm(value=(u'S.PKLT'), title=_(u'parking lot')), SimpleTerm(value=(u'S.PMPO'), title=_(u'oil pumping station')), SimpleTerm(value=(u'S.PMPW'), title=_(u'water pumping station')), SimpleTerm(value=(u'S.PO'), title=_(u'post office')), SimpleTerm(value=(u'S.PP'), title=_(u'police post')), SimpleTerm(value=(u'S.PPQ'), title=_(u'abandoned police post')), SimpleTerm(value=(u'S.PRKGT'), title=_(u'park gate')), SimpleTerm(value=(u'S.PRKHQ'), title=_(u'park headquarters')), SimpleTerm(value=(u'S.PRN'), title=_(u'prison')), SimpleTerm(value=(u'S.PRNJ'), title=_(u'reformatory')), SimpleTerm(value=(u'S.PRNQ'), title=_(u'abandoned prison')), SimpleTerm(value=(u'S.PS'), title=_(u'power station')), SimpleTerm(value=(u'S.PSH'), title=_(u'hydroelectric power station')), SimpleTerm(value=(u'S.PSN'), title=_(u'nuclear power station')), SimpleTerm(value=(u'S.PSTB'), title=_(u'border post')), SimpleTerm(value=(u'S.PSTC'), title=_(u'customs post')), SimpleTerm(value=(u'S.PSTP'), title=_(u'patrol post')), SimpleTerm(value=(u'S.PYR'), title=_(u'pyramid')), SimpleTerm(value=(u'S.PYRS'), title=_(u'pyramids')), SimpleTerm(value=(u'S.QUAY'), title=_(u'quay')), SimpleTerm(value=(u'S.RDCR'), title=_(u'traffic circle')), SimpleTerm(value=(u'S.RDIN'), title=_(u'intersection')), SimpleTerm(value=(u'S.RECG'), title=_(u'golf course')), SimpleTerm(value=(u'S.RECR'), title=_(u'racetrack')), SimpleTerm(value=(u'S.REST'), title=_(u'restaurant')), SimpleTerm(value=(u'S.RET'), title=_(u'store')), SimpleTerm(value=(u'S.RHSE'), title=_(u'resthouse')), SimpleTerm(value=(u'S.RKRY'), title=_(u'rookery')), SimpleTerm(value=(u'S.RLG'), title=_(u'religious site')), SimpleTerm(value=(u'S.RLGR'), title=_(u'retreat')), SimpleTerm(value=(u'S.RNCH'), title=_(u'ranch(es)')), SimpleTerm(value=(u'S.RSD'), title=_(u'railroad siding')), SimpleTerm(value=(u'S.RSGNL'), title=_(u'railroad signal')), SimpleTerm(value=(u'S.RSRT'), title=_(u'resort')), SimpleTerm(value=(u'S.RSTN'), title=_(u'railroad station')), SimpleTerm(value=(u'S.RSTNQ'), title=_(u'abandoned railroad station')), SimpleTerm(value=(u'S.RSTP'), title=_(u'railroad stop')), SimpleTerm(value=(u'S.RSTPQ'), title=_(u'abandoned railroad stop')), SimpleTerm(value=(u'S.RUIN'), title=_(u'ruin(s)')), SimpleTerm(value=(u'S.SCH'), title=_(u'school')), SimpleTerm(value=(u'S.SCHA'), title=_(u'agricultural school')), SimpleTerm(value=(u'S.SCHC'), title=_(u'college')), SimpleTerm(value=(u'S.SCHL'), title=_(u'language school')), SimpleTerm(value=(u'S.SCHM'), title=_(u'military school')), SimpleTerm(value=(u'S.SCHN'), title=_(u'maritime school')), SimpleTerm(value=(u'S.SCHT'), title=_(u'technical school')), SimpleTerm(value=(u'S.SECP'), title=_(u'State Exam Prep Centre')), SimpleTerm(value=(u'S.SHPF'), title=_(u'sheepfold')), SimpleTerm(value=(u'S.SHRN'), title=_(u'shrine')), SimpleTerm(value=(u'S.SHSE'), title=_(u'storehouse')), SimpleTerm(value=(u'S.SLCE'), title=_(u'sluice')), SimpleTerm(value=(u'S.SNTR'), title=_(u'sanatorium')), SimpleTerm(value=(u'S.SPA'), title=_(u'spa')), SimpleTerm(value=(u'S.SPLY'), title=_(u'spillway')), SimpleTerm(value=(u'S.SQR'), title=_(u'square')), SimpleTerm(value=(u'S.STBL'), title=_(u'stable')), SimpleTerm(value=(u'S.STDM'), title=_(u'stadium')), SimpleTerm(value=(u'S.STNB'), title=_(u'scientific research base')), SimpleTerm(value=(u'S.STNC'), title=_(u'coast guard station')), SimpleTerm(value=(u'S.STNE'), title=_(u'experiment station')), SimpleTerm(value=(u'S.STNF'), title=_(u'forest station')), SimpleTerm(value=(u'S.STNI'), title=_(u'inspection station')), SimpleTerm(value=(u'S.STNM'), title=_(u'meteorological station')), SimpleTerm(value=(u'S.STNR'), title=_(u'radio station')), SimpleTerm(value=(u'S.STNS'), title=_(u'satellite station')), SimpleTerm(value=(u'S.STNW'), title=_(u'whaling station')), SimpleTerm(value=(u'S.STPS'), title=_(u'steps')), SimpleTerm(value=(u'S.SWT'), title=_(u'sewage treatment plant')), SimpleTerm(value=(u'S.SYG'), title=_(u'synagogue')), SimpleTerm(value=(u'S.THTR'), title=_(u'theater')), SimpleTerm(value=(u'S.TMB'), title=_(u'tomb(s)')), SimpleTerm(value=(u'S.TMPL'), title=_(u'temple(s)')), SimpleTerm(value=(u'S.TNKD'), title=_(u'cattle dipping tank')), SimpleTerm(value=(u'S.TOLL'), title=_(u'toll gate/barrier')), SimpleTerm(value=(u'S.TOWR'), title=_(u'tower')), SimpleTerm(value=(u'S.TRAM'), title=_(u'tram')), SimpleTerm(value=(u'S.TRANT'), title=_(u'transit terminal')), SimpleTerm(value=(u'S.TRIG'), title=_(u'triangulation station')), SimpleTerm(value=(u'S.TRMO'), title=_(u'oil pipeline terminal')), SimpleTerm(value=(u'S.TWO'), title=_(u'temp work office')), SimpleTerm(value=(u'S.UNIP'), title=_(u'university prep school')), SimpleTerm(value=(u'S.UNIV'), title=_(u'university')), SimpleTerm(value=(u'S.USGE'), title=_(u'united states government establishment')), SimpleTerm(value=(u'S.VETF'), title=_(u'veterinary facility')), SimpleTerm(value=(u'S.WALL'), title=_(u'wall')), SimpleTerm(value=(u'S.WALLA'), title=_(u'ancient wall')), SimpleTerm(value=(u'S.WEIR'), title=_(u'weir(s)')), SimpleTerm(value=(u'S.WHRF'), title=_(u'wharf(-ves)')), SimpleTerm(value=(u'S.WRCK'), title=_(u'wreck')), SimpleTerm(value=(u'S.WTRW'), title=_(u'waterworks')), SimpleTerm(value=(u'S.ZNF'), title=_(u'free trade zone')), SimpleTerm(value=(u'S.ZOO'), title=_(u'zoo')), SimpleTerm(value=(u'T.ASPH'), title=_(u'asphalt lake')), SimpleTerm(value=(u'T.ATOL'), title=_(u'atoll(s)')), SimpleTerm(value=(u'T.BAR'), title=_(u'bar')), SimpleTerm(value=(u'T.BCH'), title=_(u'beach')), SimpleTerm(value=(u'T.BCHS'), title=_(u'beaches')), SimpleTerm(value=(u'T.BDLD'), title=_(u'badlands')), SimpleTerm(value=(u'T.BLDR'), title=_(u'boulder field')), SimpleTerm(value=(u'T.BLHL'), title=_(u'blowhole(s)')), SimpleTerm(value=(u'T.BLOW'), title=_(u'blowout(s)')), SimpleTerm(value=(u'T.BNCH'), title=_(u'bench')), SimpleTerm(value=(u'T.BUTE'), title=_(u'butte(s)')), SimpleTerm(value=(u'T.CAPE'), title=_(u'cape')), SimpleTerm(value=(u'T.CFT'), title=_(u'cleft(s)')), SimpleTerm(value=(u'T.CLDA'), title=_(u'caldera')), SimpleTerm(value=(u'T.CLF'), title=_(u'cliff(s)')), SimpleTerm(value=(u'T.CNYN'), title=_(u'canyon')), SimpleTerm(value=(u'T.CONE'), title=_(u'cone(s)')), SimpleTerm(value=(u'T.CRDR'), title=_(u'corridor')), SimpleTerm(value=(u'T.CRQ'), title=_(u'cirque')), SimpleTerm(value=(u'T.CRQS'), title=_(u'cirques')), SimpleTerm(value=(u'T.CRTR'), title=_(u'crater(s)')), SimpleTerm(value=(u'T.CUET'), title=_(u'cuesta(s)')), SimpleTerm(value=(u'T.DLTA'), title=_(u'delta')), SimpleTerm(value=(u'T.DPR'), title=_(u'depression(s)')), SimpleTerm(value=(u'T.DSRT'), title=_(u'desert')), SimpleTerm(value=(u'T.DUNE'), title=_(u'dune(s)')), SimpleTerm(value=(u'T.DVD'), title=_(u'divide')), SimpleTerm(value=(u'T.ERG'), title=_(u'sandy desert')), SimpleTerm(value=(u'T.FAN'), title=_(u'fan(s)')), SimpleTerm(value=(u'T.FORD'), title=_(u'ford')), SimpleTerm(value=(u'T.FSR'), title=_(u'fissure')), SimpleTerm(value=(u'T.GAP'), title=_(u'gap')), SimpleTerm(value=(u'T.GRGE'), title=_(u'gorge(s)')), SimpleTerm(value=(u'T.HDLD'), title=_(u'headland')), SimpleTerm(value=(u'T.HLL'), title=_(u'hill')), SimpleTerm(value=(u'T.HLLS'), title=_(u'hills')), SimpleTerm(value=(u'T.HMCK'), title=_(u'hammock(s)')), SimpleTerm(value=(u'T.HMDA'), title=_(u'rock desert')), SimpleTerm(value=(u'T.INTF'), title=_(u'interfluve')), SimpleTerm(value=(u'T.ISL'), title=_(u'island')), SimpleTerm(value=(u'T.ISLET'), title=_(u'islet')), SimpleTerm(value=(u'T.ISLF'), title=_(u'artificial island')), SimpleTerm(value=(u'T.ISLM'), title=_(u'mangrove island')), SimpleTerm(value=(u'T.ISLS'), title=_(u'islands')), SimpleTerm(value=(u'T.ISLT'), title=_(u'land-tied island')), SimpleTerm(value=(u'T.ISLX'), title=_(u'section of island')), SimpleTerm(value=(u'T.ISTH'), title=_(u'isthmus')), SimpleTerm(value=(u'T.KRST'), title=_(u'karst area')), SimpleTerm(value=(u'T.LAVA'), title=_(u'lava area')), SimpleTerm(value=(u'T.LEV'), title=_(u'levee')), SimpleTerm(value=(u'T.MESA'), title=_(u'mesa(s)')), SimpleTerm(value=(u'T.MND'), title=_(u'mound(s)')), SimpleTerm(value=(u'T.MRN'), title=_(u'moraine')), SimpleTerm(value=(u'T.MT'), title=_(u'mountain')), SimpleTerm(value=(u'T.MTS'), title=_(u'mountains')), SimpleTerm(value=(u'T.NKM'), title=_(u'meander neck')), SimpleTerm(value=(u'T.NTK'), title=_(u'nunatak')), SimpleTerm(value=(u'T.NTKS'), title=_(u'nunataks')), SimpleTerm(value=(u'T.PAN'), title=_(u'pan')), SimpleTerm(value=(u'T.PANS'), title=_(u'pans')), SimpleTerm(value=(u'T.PASS'), title=_(u'pass')), SimpleTerm(value=(u'T.PEN'), title=_(u'peninsula')), SimpleTerm(value=(u'T.PENX'), title=_(u'section of peninsula')), SimpleTerm(value=(u'T.PK'), title=_(u'peak')), SimpleTerm(value=(u'T.PKS'), title=_(u'peaks')), SimpleTerm(value=(u'T.PLAT'), title=_(u'plateau')), SimpleTerm(value=(u'T.PLATX'), title=_(u'section of plateau')), SimpleTerm(value=(u'T.PLDR'), title=_(u'polder')), SimpleTerm(value=(u'T.PLN'), title=_(u'plain(s)')), SimpleTerm(value=(u'T.PLNX'), title=_(u'section of plain')), SimpleTerm(value=(u'T.PROM'), title=_(u'promontory(-ies)')), SimpleTerm(value=(u'T.PT'), title=_(u'point')), SimpleTerm(value=(u'T.PTS'), title=_(u'points')), SimpleTerm(value=(u'T.RDGB'), title=_(u'beach ridge')), SimpleTerm(value=(u'T.RDGE'), title=_(u'ridge(s)')), SimpleTerm(value=(u'T.REG'), title=_(u'stony desert')), SimpleTerm(value=(u'T.RK'), title=_(u'rock')), SimpleTerm(value=(u'T.RKFL'), title=_(u'rockfall')), SimpleTerm(value=(u'T.RKS'), title=_(u'rocks')), SimpleTerm(value=(u'T.SAND'), title=_(u'sand area')), SimpleTerm(value=(u'T.SBED'), title=_(u'dry stream bed')), SimpleTerm(value=(u'T.SCRP'), title=_(u'escarpment')), SimpleTerm(value=(u'T.SDL'), title=_(u'saddle')), SimpleTerm(value=(u'T.SHOR'), title=_(u'shore')), SimpleTerm(value=(u'T.SINK'), title=_(u'sinkhole')), SimpleTerm(value=(u'T.SLID'), title=_(u'slide')), SimpleTerm(value=(u'T.SLP'), title=_(u'slope(s)')), SimpleTerm(value=(u'T.SPIT'), title=_(u'spit')), SimpleTerm(value=(u'T.SPUR'), title=_(u'spur(s)')), SimpleTerm(value=(u'T.TAL'), title=_(u'talus slope')), SimpleTerm(value=(u'T.TRGD'), title=_(u'interdune trough(s)')), SimpleTerm(value=(u'T.TRR'), title=_(u'terrace')), SimpleTerm(value=(u'T.UPLD'), title=_(u'upland')), SimpleTerm(value=(u'T.VAL'), title=_(u'valley')), SimpleTerm(value=(u'T.VALG'), title=_(u'hanging valley')), SimpleTerm(value=(u'T.VALS'), title=_(u'valleys')), SimpleTerm(value=(u'T.VALX'), title=_(u'section of valley')), SimpleTerm(value=(u'T.VLC'), title=_(u'volcano')), SimpleTerm(value=(u'U.APNU'), title=_(u'apron')), SimpleTerm(value=(u'U.ARCU'), title=_(u'arch')), SimpleTerm(value=(u'U.ARRU'), title=_(u'arrugado')), SimpleTerm(value=(u'U.BDLU'), title=_(u'borderland')), SimpleTerm(value=(u'U.BKSU'), title=_(u'banks')), SimpleTerm(value=(u'U.BNKU'), title=_(u'bank')), SimpleTerm(value=(u'U.BSNU'), title=_(u'basin')), SimpleTerm(value=(u'U.CDAU'), title=_(u'cordillera')), SimpleTerm(value=(u'U.CNSU'), title=_(u'canyons')), SimpleTerm(value=(u'U.CNYU'), title=_(u'canyon')), SimpleTerm(value=(u'U.CRSU'), title=_(u'continental rise')), SimpleTerm(value=(u'U.DEPU'), title=_(u'deep')), SimpleTerm(value=(u'U.EDGU'), title=_(u'shelf edge')), SimpleTerm(value=(u'U.ESCU'), title=_(u'escarpment (or scarp)')), SimpleTerm(value=(u'U.FANU'), title=_(u'fan')), SimpleTerm(value=(u'U.FLTU'), title=_(u'flat')), SimpleTerm(value=(u'U.FRZU'), title=_(u'fracture zone')), SimpleTerm(value=(u'U.FURU'), title=_(u'furrow')), SimpleTerm(value=(u'U.GAPU'), title=_(u'gap')), SimpleTerm(value=(u'U.GLYU'), title=_(u'gully')), SimpleTerm(value=(u'U.HLLU'), title=_(u'hill')), SimpleTerm(value=(u'U.HLSU'), title=_(u'hills')), SimpleTerm(value=(u'U.HOLU'), title=_(u'hole')), SimpleTerm(value=(u'U.KNLU'), title=_(u'knoll')), SimpleTerm(value=(u'U.KNSU'), title=_(u'knolls')), SimpleTerm(value=(u'U.LDGU'), title=_(u'ledge')), SimpleTerm(value=(u'U.LEVU'), title=_(u'levee')), SimpleTerm(value=(u'U.MESU'), title=_(u'mesa')), SimpleTerm(value=(u'U.MNDU'), title=_(u'mound')), SimpleTerm(value=(u'U.MOTU'), title=_(u'moat')), SimpleTerm(value=(u'U.MTU'), title=_(u'mountain')), SimpleTerm(value=(u'U.PKSU'), title=_(u'peaks')), SimpleTerm(value=(u'U.PKU'), title=_(u'peak')), SimpleTerm(value=(u'U.PLNU'), title=_(u'plain')), SimpleTerm(value=(u'U.PLTU'), title=_(u'plateau')), SimpleTerm(value=(u'U.PNLU'), title=_(u'pinnacle')), SimpleTerm(value=(u'U.PRVU'), title=_(u'province')), SimpleTerm(value=(u'U.RDGU'), title=_(u'ridge')), SimpleTerm(value=(u'U.RDSU'), title=_(u'ridges')), SimpleTerm(value=(u'U.RFSU'), title=_(u'reefs')), SimpleTerm(value=(u'U.RFU'), title=_(u'reef')), SimpleTerm(value=(u'U.RISU'), title=_(u'rise')), SimpleTerm(value=(u'U.SCNU'), title=_(u'seachannel')), SimpleTerm(value=(u'U.SCSU'), title=_(u'seachannels')), SimpleTerm(value=(u'U.SDLU'), title=_(u'saddle')), SimpleTerm(value=(u'U.SHFU'), title=_(u'shelf')), SimpleTerm(value=(u'U.SHLU'), title=_(u'shoal')), SimpleTerm(value=(u'U.SHSU'), title=_(u'shoals')), SimpleTerm(value=(u'U.SHVU'), title=_(u'shelf valley')), SimpleTerm(value=(u'U.SILU'), title=_(u'sill')), SimpleTerm(value=(u'U.SLPU'), title=_(u'slope')), SimpleTerm(value=(u'U.SMSU'), title=_(u'seamounts')), SimpleTerm(value=(u'U.SMU'), title=_(u'seamount')), SimpleTerm(value=(u'U.SPRU'), title=_(u'spur')), SimpleTerm(value=(u'U.TERU'), title=_(u'terrace')), SimpleTerm(value=(u'U.TMSU'), title=_(u'tablemounts (or guyots)')), SimpleTerm(value=(u'U.TMTU'), title=_(u'tablemount (or guyot)')), SimpleTerm(value=(u'U.TNGU'), title=_(u'tongue')), SimpleTerm(value=(u'U.TRGU'), title=_(u'trough')), SimpleTerm(value=(u'U.TRNU'), title=_(u'trench')), SimpleTerm(value=(u'U.VALU'), title=_(u'valley')), SimpleTerm(value=(u'U.VLSU'), title=_(u'valleys')), SimpleTerm(value=(u'V.BUSH'), title=_(u'bush(es)')), SimpleTerm(value=(u'V.CULT'), title=_(u'cultivated area')), SimpleTerm(value=(u'V.FRST'), title=_(u'forest(s)')), SimpleTerm(value=(u'V.FRSTF'), title=_(u'fossilized forest')), SimpleTerm(value=(u'V.GROVE'), title=_(u'grove')), SimpleTerm(value=(u'V.GRSLD'), title=_(u'grassland')), SimpleTerm(value=(u'V.GRVC'), title=_(u'coconut grove')), SimpleTerm(value=(u'V.GRVO'), title=_(u'olive grove')), SimpleTerm(value=(u'V.GRVP'), title=_(u'palm grove')), SimpleTerm(value=(u'V.GRVPN'), title=_(u'pine grove')), SimpleTerm(value=(u'V.HTH'), title=_(u'heath')), SimpleTerm(value=(u'V.MDW'), title=_(u'meadow')), SimpleTerm(value=(u'V.OCH'), title=_(u'orchard(s)')), SimpleTerm(value=(u'V.SCRB'), title=_(u'scrubland')), SimpleTerm(value=(u'V.TREE'), title=_(u'tree(s)')), SimpleTerm(value=(u'V.TUND'), title=_(u'tundra')), SimpleTerm(value=(u'V.VIN'), title=_(u'vineyard')), SimpleTerm(value=(u'V.VINS'), title=_(u'vineyards')), SimpleTerm(value=(u'null'), title=_(u'not available')), ] ) return geoname_featurecodes
from plone.dexterity.content import Item # from plone.namedfile import field as namedfile from plone.supermodel import model # from plone.supermodel.directives import fieldset # from z3c.form.browser.radio import RadioFieldWidget from zope import schema from zope.schema.vocabulary import SimpleTerm from zope.schema.vocabulary import SimpleVocabulary from zope.interface import implementer from collective import dexteritytextindexer from popolo.contenttypes import _ contact_types = SimpleVocabulary([ SimpleTerm(value=u'cell', title=_(u'Mobile Phone Number')), SimpleTerm(value=u'voice', title=_(u'Voice Phone Number')), SimpleTerm(value=u'text', title=_(u'A Phone number for text messages')), SimpleTerm(value=u'email', title=_(u'An email address')), SimpleTerm(value=u'address', title=_(u'A postal address')), SimpleTerm(value=u'url', title=_(u'A URL to a contact form')), SimpleTerm(value=u'twitter', title=_(u'Twitter Handle')), ], ) class IContactDetail(model.Schema): """ Marker interface and Dexterity Python Schema for ContactDetail """ # If you want, you can load a xml model created TTW here # and customize it in Python:
def __call__(self, context): organization_categories = SimpleVocabulary([ SimpleTerm(value=_(u'orgCatAccountingFirm'), title=_(u'Accounting Firm')), SimpleTerm(value=_(u'orgCatParliament'), title=_(u'Parliament')), SimpleTerm(value=_(u'orgCatSenate'), title=_(u'Senate')), SimpleTerm(value=_(u'orgCatCabinet'), title=_(u'Cabinet')), SimpleTerm(value=_(u'orgCatStateExecCouncil'), title=_(u'State Executive Council')), SimpleTerm(value=_(u'orgCatStateAssembly'), title=_(u'State Assembly or Legislature')), SimpleTerm(value=_(u'orgCatStateGov'), title=_(u'State Government')), SimpleTerm(value=_(u'orgCatAgency'), title=_(u'Government Agency')), SimpleTerm(value=_(u'orgCatCommission'), title=_(u'Government Commission')), SimpleTerm(value=_(u'orgCatDepartment'), title=_(u'Government Department')), SimpleTerm(value=_(u'orgCatStateCorp'), title=_(u'State Corporation')), SimpleTerm(value=_(u'orgCatPrivateLimitedCo'), title=_(u'Private Limited Company')), SimpleTerm(value=_(u'orgCatPublicCo'), title=_(u'Public Company')), SimpleTerm(value=_(u'orgCatCommittee'), title=_(u'Committee')), SimpleTerm(value=_(u'orgCatBoDirectors'), title=_(u'Board of Directors')), SimpleTerm(value=_(u'orgCatManagement'), title=_(u'Management')), SimpleTerm(value=_(u'orgCatPP'), title=_(u'Political Party')), SimpleTerm(value=_(u'orgCatPPExecutive'), title=_(u'Political Party Executive')), SimpleTerm(value=_(u'orgCatPPBranch'), title=_(u'Political Party Branch')), SimpleTerm(value=_(u'orgCatTradeAssociation'), title=_(u'Trade Association')), SimpleTerm(value=_(u'orgCatLawFirm'), title=_(u'Law Firm')), SimpleTerm(value=_(u'orgCatLabourUnion'), title=_(u'Labour Union')), SimpleTerm(value=_(u'orgCatCivilSociety'), title=_(u'Civil society')), ]) return organization_categories
class IMembership(model.Schema): """ Marker interface and Dexterity Python Schema for Membership """ # If you want, you can load a xml model created TTW here # and customize it in Python: # model.load('membership.xml') dexteritytextindexer.searchable('label') label = schema.TextLine( title=_(u'Label'), description=_(u"A label describing the membership, " + "eg. Member of Parliament of Kericho County"), required=True,) dexteritytextindexer.searchable('role') role = schema.TextLine( title=_(u'Role'), description=_(u"A role that the member fulfills in, " + "in the organization. eg. " + "Member of Parliament"), required=True,) # Person directives.widget('person', RelatedItemsFieldWidget, pattern_options={ 'basePath': '/', 'mode': 'auto', 'favourites': [], } ) person = RelationChoice( title=u'Person', source=CatalogSource(portal_type='Person'), required=True, ) # Organization directives.widget('organization', RelatedItemsFieldWidget, pattern_options={ 'basePath': '/', 'mode': 'auto', 'favourites': [], } ) organization = RelationChoice( title=u'Organization', source=CatalogSource(portal_type='Organization'), required=True, ) # Post directives.widget('post', RelatedItemsFieldWidget, pattern_options={ 'mode': 'auto', 'favourites': [], } ) post = RelationChoice( title=u'Post', source=CatalogSource(portal_type='Post'), required=False, ) # On Behalf Of directives.widget('on_behalf_of', RelatedItemsFieldWidget, pattern_options={ 'basePath': '/', 'mode': 'auto', 'favourites': [], } ) on_behalf_of = RelationChoice( title=_(u'On Behalf Of'), description=_(u'The organization on whose behalf the ' + 'person is a member of the organization'), source=CatalogSource(portal_type='Organization'), required=False, ) start_date = schema.Date( title=_(u'Start Date'), description=_(u'Date which this relationship began'), required=False,) end_date = schema.Date( title=_('End Date'), description=_(u'Date which this relationship ended'), required=False,)
class IPerson(model.Schema): """ Marker interface and Dexterity Python Schema for Person Reference Schema Popolo-spec Person JSON Schema https://www.popoloproject.com/specs/person.html """ # If you want, you can load a xml model created TTW here # and customize it in Python: # model.load('person.xml') # directives.widget(level=RadioFieldWidget) # level = schema.Choice( # title=_(u'Sponsoring Level'), # vocabulary=LevelVocabulary, # required=True # ) dexteritytextindexer.searchable('name') name = schema.TextLine( title=_(u'Name'), description=_(u'A person\'s preferred full name'), ) dexteritytextindexer.searchable('summary') summary = schema.Text( title=_(u'Summary'), description=_(u'One line description of this person'), ) gender = schema.Choice( title=_(u'Gender'), vocabulary=SimpleVocabulary([ SimpleTerm(value=u'male', title=_(u'Male')), SimpleTerm(value=u'female', title=_(u'Female')), SimpleTerm(value=u'other', title=_(u'Other')) ]), required=False, ) birth_date = schema.Date( title=_(u'Date of Birth'), required=False, ) death_date = schema.Date( title=_(u'Date of Death'), required=False, ) image = field.NamedImage( title=_(u"Headshot"), description=_(u'Image file of a headshot person'), required=False, ) dexteritytextindexer.searchable('biography') biography = RichText( title=_(u'Biography'), description=_(u'Detailed biography of this person'), required=False, ) dexteritytextindexer.searchable('notes') notes = RichText(title=_(u'Notes'), required=False)
def __call__(self, context): relationship_types = SimpleVocabulary([ SimpleTerm(value=_(u'spouse'), title=_(u'Spouse')), SimpleTerm(value=_(u'parent'), title=_(u'Parent')), SimpleTerm(value=_(u'sibling'), title=_(u'Sibling')), SimpleTerm(value=_(u'cousin'), title=_(u'Cousin')), SimpleTerm(value=_(u'business_partner'), title=_(u'Business Partner')), SimpleTerm(value=_(u'associate'), title=_(u'Associate')), SimpleTerm(value=_(u'romantic'), title=_(u'Romantic Partner')), SimpleTerm(value=_(u'employer'), title=_(u'Employer')), SimpleTerm(value=_(u'subordinate'), title=_(u'Subordinate')), ]) return relationship_types
class IOrganization(model.Schema): """ Marker interface and Dexterity Python Schema for Organization Reference Schema Popolo-spec Organization JSON Schema https://www.popoloproject.com/specs/organization.html """ dexteritytextindexer.searchable('name') name = schema.TextLine( title=_(u'Organization Name'), description=_(u"A primary name, e.g. a legally recognized " + "name"), required=True,) # other_names implemented as content type # identifiers applied as content type # TODO area field use popolo Area class (content type) # https://github.com/Sinar/popolo.contenttypes/issues/12 # We will not use abstract (one liner) field from popolo-spec for # now ''' abstract = schema.Text( title=_(u'One-line Description'), description=_(u'One line to tell what is the organization about'), required=False,) ''' directives.widget('parent_organization', RelatedItemsFieldWidget, pattern_options={ 'basePath': '/', 'mode': 'auto', 'favourites': [], } ) parent_organization = RelationChoice( title=u'Parent Org', source=CatalogSource(portal_type='Organization'), required=False, ) dexteritytextindexer.searchable('description') description = schema.Text( title=_(u'Description'), required=False,) classification = schema.Choice( title=_('Organization Classification'), required=False, vocabulary='popolo.contenttypes.organizationcategories', ) founding_date = schema.Date( title=_('Date of Founding'), required=False,) dissolution_date = schema.Date( title=_('Date of Dissolution'), required=False,) image = field.NamedImage( title=_(u"Logo"), description=_(u'Official logo or emblem of organization'), required=False, ) # contact_details implemented as content type in container # links implemented as content type in container # TODO memberships to be implemented as content type # TODO posts to be implemeted as content type # motions not implemented for now # votes not implemented for now # children to be implemented as view of back references to parent_id # created, updated using Plone/Dublin Core effective # and expiry date fields # sources to use content type dexteritytextindexer.searchable('notes') notes = RichText( title=_(u'Notes'), required=False )