Emile van Sebille wrote:
On 8/13/2009 3:17 PM dippim said...
I am new to Python and I have a question about descriptors.  If I have
a class as written below, is there a way to use descriptors to be
certain that the datetime in start is always before the one in end?

class foo(object):
   def __init__(self,a = None,b = None)
      self.start = a
      self.end = b

from datetime import datetime
c = datetime(2009,8,13,6,15,0)
d = datetime(2009,8,14,12,0,0)
afoo = foo(c,d)

For instance, if the following code were run, I would like to instance
of foo to switch the start and end times.

afoo.start = datetime(2010,8,13,6,15,0)

I was thinking of using the __set__ descriptor to catch the assignment
and reverse the values if necessary,

why not...


class foo(object):
   def __init__(self,a = None,b = None)
      self.start = min(a,b)
      self.end = max(a,b)


Emile

or

class foo(object):
   def __init__(self, start, end)
      self.start = start
      self.end = end


Problem solved by design :o)

JM
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to