Changeset 1401

Show
Ignore:
Timestamp:
09/09/08 13:14:14 (2 months ago)
Author:
sgillies
Message:

Sort time periods temporally by using the order in the vocab, protect formerly public methods

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • PleiadesEntity/trunk/Extensions/loader.py

    r1395 r1401  
    186186                ) 
    187187        except: 
    188             raise EntityLoadError, "There is already a TemporalAttestation with id=%s in portal context = %s" % (id, portalcontext.Title()) 
     188            raise 
     189            #raise EntityLoadError, "There is already a TemporalAttestation with id=%s in portal context = %s" % (id, portalcontext.Title()) 
    189190 
    190191def getalltext(elem): 
  • PleiadesEntity/trunk/content/Feature.py

    r1356 r1401  
    2727 
    2828##code-section module-header #fill in your manual code here 
     29from Products.CMFCore import permissions 
     30from Products.PleiadesEntity.time import TimePeriodCmp 
    2931##/code-section module-header 
    3032 
     
    106108    # Methods 
    107109 
    108     security.declarePublic('get_title') 
     110    security.declareProtected(permissions.View, 'get_title') 
    109111    def get_title(self): 
    110112        """Return a title string derived from the ancient names to which 
     
    115117            names = self.getRefs('hasName') 
    116118            if names: 
    117                 return '/'.join([n.Title() for n in names]) 
     119                return '/'.join([n.Title() for n in names if n.Title()]) 
    118120            else: 
    119121                return "Unnamed %s" % self.getFeatureType().capitalize() 
     
    121123            return 'Unnamed Place' 
    122124 
    123     security.declarePublic('Title') 
     125    security.declareProtected(permissions.View, 'Title') 
    124126    def Title(self): 
    125127        """ 
     
    127129        return self.get_title() 
    128130 
    129     security.declarePublic('getTimePeriods') 
     131    security.declareProtected(permissions.View, 'getTimePeriods') 
    130132    def getTimePeriods(self): 
    131133        """ 
     
    142144            if p not in result: 
    143145                result.append(p) 
    144         return result 
     146        return sorted(result, cmp=TimePeriodCmp(self)) 
    145147 
    146148 
  • PleiadesEntity/trunk/content/Location.py

    r1383 r1401  
    2525##code-section module-header #fill in your manual code here 
    2626from Products.CMFCore import permissions 
     27from Products.PleiadesEntity.time import TimePeriodCmp 
    2728##/code-section module-header 
    2829 
     
    9091    # Methods 
    9192 
    92     security.declarePublic('get_title') 
     93    security.declareProtected(permissions.View, 'get_title') 
    9394    def get_title(self): 
    9495        """Return a title string derived from the geometry type.""" 
    9596        try: 
    96             return "%s %s" % (self.getGeometry().split(':')[0], self.getId()) 
     97            return "%s %s" % ( 
     98                self.getGeometry().split(':')[0].strip(), 
     99                self.getId() 
     100                ) 
    97101        except AttributeError: 
    98102            return 'Unidentified Location' 
    99103 
    100     security.declarePublic('getTitle') 
     104    security.declareProtected(permissions.View, 'getTitle') 
    101105    getTitle = get_title 
    102106 
    103     security.declarePublic('Title') 
     107    security.declareProtected(permissions.View, 'Title') 
    104108    def Title(self): 
    105109        """ 
     
    107111        return self.get_title() 
    108112 
    109     security.declarePublic('getTimePeriods') 
     113    security.declareProtected(permissions.View, 'getTimePeriods') 
    110114    def getTimePeriods(self): 
    111115        """ 
    112116        """ 
    113         return [t.getTimePeriod() for t in self.getTemporalAttestations()] 
     117        return sorted( 
     118            [t.getTimePeriod() for t in self.getTemporalAttestations()], 
     119            cmp=TimePeriodCmp(self) 
     120            ) 
    114121 
    115122    security.declareProtected(permissions.View, 'getTemporalAttestations') 
  • PleiadesEntity/trunk/content/Name.py

    r1398 r1401  
    2828from Products.PleiadesEntity.Extensions.ws_validation import validate_name 
    2929from Products.PleiadesEntity.Extensions.ws_transliteration import transliterate_name 
     30from Products.PleiadesEntity.time import TimePeriodCmp 
    3031##/code-section module-header 
    3132 
     
    117118 
    118119    meta_type = 'Name' 
    119     #_at_rename_after_creation = Tru
     120    _at_rename_after_creation = Fals
    120121 
    121122    schema = Name_schema 
     
    129130    # Methods 
    130131 
    131     security.declarePublic('getTimePeriods') 
     132    security.declareProtected(View, 'getTimePeriods') 
    132133    def getTimePeriods(self): 
    133134        """ 
    134135        """ 
    135         return [t.getId() for t in self.getTemporalAttestations()] 
     136        return sorted( 
     137            [t.getTimePeriod() for t in self.getTemporalAttestations()], 
     138            cmp=TimePeriodCmp(self) 
     139            ) 
    136140 
    137141    security.declareProtected(View, 'getTemporalAttestations') 
  • PleiadesEntity/trunk/content/Place.py

    r1356 r1401  
    2727##code-section module-header #fill in your manual code here 
    2828from Products.CMFCore import permissions 
     29from Products.PleiadesEntity.time import TimePeriodCmp 
    2930##/code-section module-header 
    3031 
     
    9293    # Methods 
    9394 
    94     security.declarePublic('Title') 
     95    security.declareProtected(permissions.View, 'Title') 
    9596    def Title(self): 
    9697        """ 
     
    108109            return 'Unnamed Place' 
    109110        else: 
    110             return '/'.join(titles
     111            return '/'.join([t for t in titles if t]
    111112 
    112     security.declarePublic('getTimePeriods') 
     113    security.declareProtected(permissions.View, 'getTimePeriods') 
    113114    def getTimePeriods(self): 
    114115        """ 
     
    119120                if t not in result: 
    120121                    result.append(t) 
    121         return result 
     122        return sorted(result, cmp=TimePeriodCmp(self)) 
    122123 
    123     security.declarePublic('getPlaceType') 
     124    security.declareProtected(permissions.View, 'getPlaceType') 
    124125    def getPlaceType(self): 
    125126        """ 
  • PleiadesEntity/trunk/content/TemporalAttestation.py

    r1356 r1401  
    2525 
    2626##code-section module-header #fill in your manual code here 
     27from Products.CMFCore import permissions 
    2728##/code-section module-header 
    2829 
     
    8485    # Methods 
    8586 
    86     security.declarePublic('get_title') 
     87    security.declareProtected(permissions.View, 'get_title') 
    8788    def get_title(self): 
    8889        """Return a title string derived from the associated time period and attestation certainty """ 
     
    9596        return title 
    9697 
    97     security.declarePublic('Title') 
     98    security.declareProtected(permissions.View, 'Title') 
    9899    def Title(self): 
    99100        """ 
  • PleiadesEntity/trunk/tests/LoadEntity.txt

    r1356 r1401  
    111111 
    112112    >>> n0.getTimePeriods() 
    113     ['roman', 'late-antique'] 
     113    ['Roman (30 BC - AD 300)', 'Late Antique (AD 300 - 625)'] 
    114114 
    115115    >>> n1 = folder['names'][nids[1]] 
     
    181181    'confident' 
    182182    >>> l.getTimePeriods() 
    183     ['classical', 'roman', 'late-antique'] 
     183    ['Classical (550 - 330 BC)', 'Roman (30 BC - AD 300)', 'Late Antique (AD 300 - 625)'] 
    184184 
    185185    Check Place time periods 
    186186 
    187187    >>> p.getTimePeriods() 
    188     ['roman', 'late-antique', 'classical'] 
     188    ['Classical (550 - 330 BC)', 'Roman (30 BC - AD 300)', 'Late Antique (AD 300 - 625)'] 
    189189 
    190190    Test associations