def __call__(self,l,r,item): text=r.strip() try: val=int(text) return self.op(metadata.app_key_as_sortable(item.meta,self.field),val) except: print 'int cmp fail',item,val print metadata.app_key_as_sortable(item.meta,self.field) print self.op(metadata.app_key_as_sortable(item.meta,self.field),val) return False
def __call__(self,l,r,item): text=r.strip() try: val=float(text) return self.op(metadata.app_key_as_sortable(item.meta,self.field),val) except: ## print 'error on item',item,val ## print metadata.app_key_as_sortable(item.meta,self.field) ## print self.op(val,metadata.app_key_as_sortable(item.meta,self.field)) return False
def call1(self,l,r,item): try: cmplen=len(r) fulldatetime=metadata.app_key_as_sortable(item.meta,self.field) trimdtlist=[fulldatetime.year,fulldatetime.month,fulldatetime.day,fulldatetime.hour,fulldatetime.minute,fulldatetime.second,fulldatetime.microsecond] if cmplen<len(trimdtlist): trimdtlist[cmplen:]=[1]*(len(trimdtlist)-cmplen) trimdtlist+=[1]*max(0,7-len(trimdtlist)) trimdt=datetime.datetime(*trimdtlist) return self.op(trimdt,r.datetime) except: return False