Changeset 354

Show
Ignore:
Timestamp:
05/15/08 15:54:26 (7 months ago)
Author:
johnbywater
Message:

Fixed date-time model attributes, making labels on the convertors.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/dm/datetimeconvertor.py

    r336 r354  
    3131        ) 
    3232 
    33  
    34 class RDateTimeConvertor(object):   
     33    def toLabel(self, dateTimeObject): 
     34        if dateTimeObject in ['', None]: 
     35            return '' 
     36        return dateTimeObject.strftime("%H:%M:%S, %a %e %b, %Y") 
     37 
     38 
     39class RDateTimeConvertor(DateTimeConvertor):   
    3540    "Converts between HTML (string) and python (mx.DateTime.DateTime)." 
    3641         
     
    7479        ) 
    7580 
    76 class RNSDateTimeConvertor(object):   
     81    def toLabel(self, dateTimeObject): 
     82        if dateTimeObject in ['', None]: 
     83            return '' 
     84        return dateTimeObject.strftime("%H:%M:%S, %a %e %b, %Y") 
     85 
     86 
     87class RNSDateTimeConvertor(DateTimeConvertor):   
    7788    "Converts between HTML (string) and python (mx.DateTime.DateTime)." 
    7889         
     
    120131        ) 
    121132 
    122 class DateConvertor(object):   
     133    def toLabel(self, dateTimeObject): 
     134        if dateTimeObject in ['', None]: 
     135            return '' 
     136        return dateTimeObject.strftime("%H:%M, %a %e %b, %Y") 
     137 
     138 
     139class DateConvertor(DateTimeConvertor):   
    123140    "Converts between HTML (string) and python (mx.DateTime.Date)." 
    124141         
     
    147164        ) 
    148165 
    149  
    150 class RDateConvertor(object):   
     166    def toLabel(self, dateTimeObject): 
     167        if dateTimeObject in ['', None]: 
     168            return '' 
     169        return dateTimeObject.strftime("%a, %e %b, %Y") 
     170 
     171 
     172class RDateConvertor(DateConvertor):   
    151173    "Converts between HTML (string) and python (mx.DateTime.Date)." 
    152174         
  • trunk/src/dm/datetimeconvertortest.py

    r326 r354  
    3535        self.failUnlessEqual(date, dateHtml) 
    3636 
     37    def test_toLabel(self): 
     38        dateLabel = "06:07:08, Sun  1 Jul, 2007" 
     39        dateDom = mx.DateTime.DateTime(2007, 07, 01, 6, 7, 8) 
     40        date = self.convertor.toLabel(dateDom) 
     41        self.failUnlessEqual(date, dateLabel) 
     42 
    3743 
    3844class TestRDateTimeConvertor(TestCase): 
     
    5258        date = self.convertor.toHTML(dateDom) 
    5359        self.failUnlessEqual(date, dateHtml) 
     60 
     61    def test_toLabel(self): 
     62        dateLabel = "06:07:08, Sun  1 Jul, 2007" 
     63        dateDom = mx.DateTime.DateTime(2007, 07, 01, 6, 7, 8) 
     64        date = self.convertor.toLabel(dateDom) 
     65        self.failUnlessEqual(date, dateLabel) 
    5466 
    5567 
     
    7183        self.failUnlessEqual(date, dateHtml) 
    7284 
     85    def test_toLabel(self): 
     86        dateLabel = "06:07, Sun  1 Jul, 2007" 
     87        dateDom = mx.DateTime.DateTime(2007, 07, 01, 6, 7, 8) 
     88        date = self.convertor.toLabel(dateDom) 
     89        self.failUnlessEqual(date, dateLabel) 
     90 
    7391 
    7492class TestDateConvertor(TestCase): 
     
    89107        date = self.convertor.toHTML(dateDom) 
    90108        self.failUnlessEqual(date, dateHtml) 
     109 
     110    def test_toLabel(self): 
     111        dateLabel = "Sun,  1 Jul, 2007" 
     112        dateDom = mx.DateTime.DateTime(2007, 07, 01, 6, 7, 8) 
     113        date = self.convertor.toLabel(dateDom) 
     114        self.failUnlessEqual(date, dateLabel) 
    91115 
    92116 
     
    113137        self.failUnlessEqual(date, dateHtml) 
    114138 
     139    def test_toLabel(self): 
     140        dateLabel = "Sun,  1 Jul, 2007" 
     141        dateDom = mx.DateTime.DateTime(2007, 07, 01, 6, 7, 8) 
     142        date = self.convertor.toLabel(dateDom) 
     143        self.failUnlessEqual(date, dateLabel) 
    115144 
  • trunk/src/dm/dom/meta.py

    r353 r354  
    403403             
    404404    def createLabelRepr(self, domainObject): 
    405         value = getattr(domainObject, self.name) 
    406         if value == None: 
    407             return "" 
    408         elif value: 
    409             return value.strftime("%H:%M %a %e %b %Y") 
    410         else: 
    411             return str(value) 
    412         
     405        dateTimeObject = getattr(domainObject, self.name) 
     406        dateTimeString = self.convertor.toLabel(dateTimeObject) 
     407        return dateTimeString 
     408 
    413409 
    414410class RDateTime(DateTime): 
     
    429425    convertor = DateConvertor() 
    430426 
    431     def createLabelRepr(self, domainObject): 
    432         value = getattr(domainObject, self.name) 
    433         if value == None: 
    434             return "" 
    435         elif value: 
    436             return value.strftime("%a %e %b %Y") 
    437         else: 
    438             return str(value) 
    439427 
    440428class RDate(Date): 
     
    473461        else: 
    474462            return '' 
     463 
     464    def createLabelRepr(self, domainObject): 
     465        attrValue = getattr(domainObject, self.name) 
     466        if attrValue: 
     467            return 'On' 
     468        else: 
     469            return 'Off' 
    475470 
    476471