class order1(): def _GetOrderBy(self): if 'orderby' in self.keys(): return self['orderby'] else: return None def _SetOrderBy(self, val): if val is not 'lastmodified' and val is not 'starttime': raise Error, "Order By must be either 'lastmodified' or 'starttime'" self['orderby'] = val orderby = property(_GetOrderBy, _SetOrderBy, doc="""The orderby query parameter""") class order2(dict): def _GetOrderBy(self): if 'orderby' in self.keys(): return self['orderby'] else: return None def _SetOrderBy(self, val): if val is not 'lastmodified' and val is not 'starttime': raise Error, "Order By must be either 'lastmodified' or 'starttime'" self['orderby'] = val orderby = property(_GetOrderBy, _SetOrderBy, doc="""The orderby query parameter""") o1 = order1() o1.orderby = 'abc' print o1.orderby o2 = order2() o2.orderby = 'abc' print 'never go here'