Changeset 746
- Timestamp:
- 04/02/07 12:32:14 (2 years ago)
- Files:
-
- PleiadesEntity/trunk/Extensions/loader.py (modified) (2 diffs)
- PleiadesEntity/trunk/Extensions/ws_grek.py (modified) (2 diffs)
- PleiadesEntity/trunk/Extensions/ws_latn.py (modified) (2 diffs)
- PleiadesEntity/trunk/Extensions/ws_transliteration.py (added)
- PleiadesEntity/trunk/__init__.py (modified) (1 diff)
- PleiadesEntity/trunk/config.py (modified) (1 diff)
- PleiadesEntity/trunk/content/Name.py (modified) (5 diffs)
- PleiadesEntity/trunk/i18n/generated.pot (modified) (1 diff)
- PleiadesEntity/trunk/models/PleiadesEntity.zargo (modified) (previous)
- PleiadesEntity/trunk/models/PleiadesEntityUML.png (modified) (previous)
- PleiadesEntity/trunk/tests/Entities.txt (modified) (3 diffs)
- PleiadesEntity/trunk/tests/LoadEntity.txt (modified) (1 diff)
- PleiadesEntity/trunk/tests/NameViews.txt (modified) (3 diffs)
- PleiadesEntity/trunk/tests/WSTransliteration.txt (added)
- PleiadesEntity/trunk/version.txt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
PleiadesEntity/trunk/Extensions/loader.py
r740 r746 272 272 nid = names.invokeFactory("Name", 273 273 id=id, 274 title=transliteration.encode('utf-8'), 274 title = transliteration.encode('utf-8'), 275 nameTransliterated=transliteration.encode('utf-8'), 275 276 nameAttested=nameAttested.encode('utf-8'), 276 277 nameLanguage=nameLanguage.encode('utf-8'), … … 287 288 nid = names.duplicates.invokeFactory("Name", 288 289 id=id, 289 title=transliteration.encode('utf-8'), 290 title = transliteration.encode('utf-8'), 291 nameTransliterated=transliteration.encode('utf-8'), 290 292 nameAttested=nameAttested.encode('utf-8'), 291 293 nameLanguage=nameLanguage.encode('utf-8'), PleiadesEntity/trunk/Extensions/ws_grek.py
r740 r746 270 270 } 271 271 272 legal_punctuation = { 273 u"(" : "(", 274 u")" : ")", 275 u"." : "." 276 } 277 278 272 279 def validate(value, allow): 273 280 invalids = [] … … 340 347 b = grek_accented_modern_capital[c] 341 348 except: 342 pass 349 try: 350 b = legal_punctuation[c] 351 except: 352 pass 343 353 transliteration += b 344 354 return transliteration PleiadesEntity/trunk/Extensions/ws_latn.py
r740 r746 52 52 } 53 53 54 legal_punctuation = { 55 u"(" : "(", 56 u")" : ")", 57 u"." : "." 58 } 59 54 60 55 61 def validate(value, allow): … … 89 95 b = latn_capital[c] 90 96 except: 91 pass 97 try: 98 b = legal_punctuation[c] 99 except: 100 pass 92 101 transliteration += b 93 102 return transliteration PleiadesEntity/trunk/__init__.py
r742 r746 51 51 from Globals import package_home 52 52 from Products.CMFCore import utils as cmfutils 53 from Products.CMFCore import permissions53 from Products.CMFCore import CMFCorePermissions 54 54 from Products.CMFCore import DirectoryView 55 55 from Products.CMFPlone.utils import ToolInit PleiadesEntity/trunk/config.py
r742 r746 39 39 # in this file if found. 40 40 41 from Products.CMFCore. permissions import setDefaultRoles41 from Products.CMFCore.CMFCorePermissions import setDefaultRoles 42 42 ##code-section config-head #fill in your manual code here 43 43 ##/code-section config-head PleiadesEntity/trunk/content/Name.py
r740 r746 37 37 from Products.CMFCore.permissions import View 38 38 from Products.PleiadesEntity.Extensions.ws_validation import validate_name 39 from Products.PleiadesEntity.Extensions.ws_transliteration import transliterate_name 39 40 ##/code-section module-header 40 41 41 copied_fields = {}42 copied_fields['title'] = BaseSchema['title'].copy()43 copied_fields['title'].widget.label = "Transliterated Name"44 copied_fields['title'].widget.description = "A transliteration into the ASCII character set of the the attested name."45 42 schema = Schema(( 46 43 47 copied_fields['title'], 48 StringField( 44 StringField( 49 45 name='nameAttested', 50 46 index="ZCTextIndex", … … 71 67 vocabulary=NamedVocabulary("""ancient-name-languages"""), 72 68 enforceVocabulary=1 69 ), 70 71 StringField( 72 name='nameTransliterated', 73 widget=StringWidget( 74 label="Transliterated name", 75 label_msgid='PleiadesEntity_label_nameTransliterated', 76 i18n_domain='PleiadesEntity', 77 ) 73 78 ), 74 79 … … 148 153 149 154 ##code-section class-header #fill in your manual code here 155 schema["title"].required = 0 156 schema["title"].widget.visible = {"edit": "invisible", "view": "invisible"} 157 schema["nameTransliterated"].widget.visible = {"edit": "invisible", "view": "visible"} 150 158 ##/code-section class-header 151 159 … … 160 168 periods.append(ta.getId) 161 169 return periods 170 171 security.declarePublic('setNameTransliterated') 172 def setNameTransliterated(self,value): 173 """ 174 """ 175 if len(value) == 0: 176 REQUEST = self.REQUEST 177 tNameLanguage = REQUEST.get('nameLanguage', None) 178 tNameAttested = REQUEST.get('nameAttested', None) 179 if tNameLanguage and tNameAttested: 180 t = transliterate_name(tNameLanguage, tNameAttested) 181 else: 182 t = '' 183 else: 184 t = value 185 self.getField('nameTransliterated').set(self, t) 186 self.getField('title').set(self, t) 187 188 security.declarePublic('setNameAttested') 189 def setNameAttested(self,value): 190 """ 191 """ 192 self.getField('nameAttested').set(self, value) 193 self.setNameTransliterated('') 194 195 # Manually created methods 162 196 163 197 security.declareProtected(View, 'post_validate') … … 170 204 171 205 206 172 207 registerType(Name, PROJECTNAME) 173 208 # end of class Name PleiadesEntity/trunk/i18n/generated.pot
r685 r746 279 279 msgstr "" 280 280 281 #. Default: "Transliterated name" 282 #: content\Name.py 283 msgid "PleiadesEntity_label_nameTransliterated" 284 msgstr "" 285 281 286 #. Default: "Name Type" 282 287 #: content\Name.py PleiadesEntity/trunk/tests/Entities.txt
r686 r746 36 36 Entities 37 37 38 >>> _ = names.invokeFactory('Name', id=' neverpolis', title='Neverpolis', nameType='geographic')38 >>> _ = names.invokeFactory('Name', id='civitasnon', title='Civitas Non', nameTransliterated='Civitas Non', nameAttested='Civitas Non', nameLanguage='la', nameType='geographic') 39 39 >>> lid = locations.invokeFactory('Location') 40 40 >>> pid = places.invokeFactory('Place') 41 41 >>> p = getattr(folder.places, pid) 42 >>> aid = p.invokeFactory('PlacefulAssociation', id=" neverpolis-%s" % lid)42 >>> aid = p.invokeFactory('PlacefulAssociation', id="civitasnon-%s" % lid) 43 43 44 44 Add References 45 45 46 >>> n = getattr(names, ' neverpolis')46 >>> n = getattr(names, 'civitasnon') 47 47 >>> x = getattr(locations, lid) 48 48 >>> a = getattr(p, aid) … … 64 64 >>> g.isGeoreferenced() 65 65 True 66 >>> info = {'srs': 'EPSG:4326', 'geometryType': 'point', 'description': '', 'spatialCoordinates': '34.7697222222 -86.4808333333 0.0', 'url': 'http://nohost/plone/Members/test_user_1_/places/%s/%s' % (pid, aid), 'title': ' Neverpolis', 'id': aid}66 >>> info = {'srs': 'EPSG:4326', 'geometryType': 'point', 'description': '', 'spatialCoordinates': '34.7697222222 -86.4808333333 0.0', 'url': 'http://nohost/plone/Members/test_user_1_/places/%s/%s' % (pid, aid), 'title': 'Civitas Non', 'id': aid} 67 67 >>> g.getInfo() == info 68 68 True … … 73 73 >>> g.isGeoreferenced() 74 74 True 75 >>> info = {'srs': 'EPSG:4326', 'geometryType': 'point', 'description': '', 'spatialCoordinates': '34.7697222222 -86.4808333333 0.0', 'url': 'http://nohost/plone/Members/test_user_1_/places/%s' % pid, 'title': ' Neverpolis', 'id': pid}75 >>> info = {'srs': 'EPSG:4326', 'geometryType': 'point', 'description': '', 'spatialCoordinates': '34.7697222222 -86.4808333333 0.0', 'url': 'http://nohost/plone/Members/test_user_1_/places/%s' % pid, 'title': 'Civitas Non', 'id': pid} 76 76 >>> g.getInfo() == info 77 77 True 78 78 79 79 >>> c = IGeoCollectionSimple(places) 80 >>> c.getItemsInfo() == [{'srs': 'EPSG:4326', 'geometryType': 'point', 'description': '', 'spatialCoordinates': '34.7697222222 -86.4808333333 0.0', 'url': 'http://nohost/plone/Members/test_user_1_/places/%s' % pid, 'title': ' Neverpolis', 'id': pid}]80 >>> c.getItemsInfo() == [{'srs': 'EPSG:4326', 'geometryType': 'point', 'description': '', 'spatialCoordinates': '34.7697222222 -86.4808333333 0.0', 'url': 'http://nohost/plone/Members/test_user_1_/places/%s' % pid, 'title': 'Civitas Non', 'id': pid}] 81 81 True 82 82 PleiadesEntity/trunk/tests/LoadEntity.txt
r734 r746 64 64 65 65 >>> n0 = getattr(folder.names, 'aphrodisias') 66 >>> n0. title66 >>> n0.nameTransliterated 67 67 u'Aphrodisias' 68 68 >>> n0.Title() 69 69 'Aphrodisias' 70 >>> n0.title 71 u'Aphrodisias' 70 72 >>> n0.nameAttested 71 73 u'\u1f08\u03c6\u03c1\u03bf\u03b4\u03b9\u03c3\u03b9\u1f71\u03c2' PleiadesEntity/trunk/tests/NameViews.txt
r740 r746 55 55 56 56 >>> browser.contents 57 '...Transliterated name...' 58 59 >>> browser.contents 57 60 '...Language and Writing System...' 58 61 … … 87 90 >>> control = browser.getControl(name='nameLanguage') 88 91 >>> control.value = ['la'] 89 >>> control = browser.getControl(name='title')90 >>> control.value = 'Innoxium Municipium'91 92 >>> browser.getControl(name='form_submit').click() 92 93 >>> browser.contents … … 101 102 >>> control = browser.getControl(name='nameLanguage') 102 103 >>> control.value = ['grc'] 103 >>> control = browser.getControl(name='title')104 >>> control.value = 'Municipium Noxium Maximum'105 104 >>> browser.getControl(name='form_submit').click() 106 105 >>> browser.contents PleiadesEntity/trunk/version.txt
r740 r746 1 0.1 build 2 601 0.1 build 274
