Changeset 355

Show
Ignore:
Timestamp:
Wed Nov 28 01:44:56 2007
Author:
Brian
Message:

Several small fixes to object factory. Alex figured out the 'nonzero' change (makes it easier to test for a valid object).

Files:

Legend:

Unmodified
Added
Removed
Modified
  • scripts/trunk/Object API/Install Object Factory.py

    r348 r355  
    51 51  
    52 52     def __str__(self):  
      53         if self.Table == 'ReportRow':  
      54             return ('Object Type %s with ID %d and target %s' %  
      55                 (self.Table, self.ID, self.TableName))  
    53 56         return 'Object Type %s with ID %d' % (self.Table, self.ID)  
    54 57          
    55 58     def __repr__(self):  
    56           return 'Object Type %s with ID %d' % (self.Table, self.ID)  
      59         return self.__str__()  # is this right??  
    56 59          
    57 60     def __getattr__(self, name):  
     
    70 73         return rec.get(name)  # any column name  
    71 74  
      75     def __nonzero__(self):  
      76         if not self.Table in self.db.Database:  
      77             return False  
      78         rec = self.db.Database[self.Table].get(self.ID)  
      79         if not rec:  
      80             return False  
      81          
      82         return True  
      83  
    72 84     def __setattr__(self, name, value):  
    73 85         # edit on every access or on creation?  
     
    167 179         self._ObjectXref = {}  # key = (table, id)  
    168 180  
    169       def GetObject(self, object_type, object_id=None):  
    170           if object_type in ('Table', 'ID'):  
    171               return None  
      181     def _ConvertAlias(self, object_type):  
    172 182         # convert known aliases  
    173 183         da = self.Database['TableAlias'][1]  
    174 184         if object_type in da:  
    175 185             object_type = da[object_type]  
      186         return object_type  
      187      
      188     def GetObject(self, object_type, object_id=None):  
      189         if object_type in ('Table', 'ID'):  
      190             return None  
      191         object_type = self._ConvertAlias(object_type)  
    176 192         # add new objects to database  
    177 193         if not object_id: