comparison roundup/hyperdb.py @ 5381:0942fe89e82e

Python 3 preparation: change "x.has_key(y)" to "y in x". (Also likewise "not in" where appropriate.) Tool-generated patch.
author Joseph Myers <jsm@polyomino.org.uk>
date Tue, 24 Jul 2018 22:08:17 +0000
parents 35ea9b1efc14
children d26921b851c3
comparison
equal deleted inserted replaced
5380:64c4e43fbb84 5381:0942fe89e82e
850 'classname' must not collide with the name of an existing class, 850 'classname' must not collide with the name of an existing class,
851 or a ValueError is raised. The keyword arguments in 'properties' 851 or a ValueError is raised. The keyword arguments in 'properties'
852 must map names to property objects, or a TypeError is raised. 852 must map names to property objects, or a TypeError is raised.
853 """ 853 """
854 for name in 'creation activity creator actor'.split(): 854 for name in 'creation activity creator actor'.split():
855 if properties.has_key(name): 855 if name in properties:
856 raise ValueError('"creation", "activity", "creator" and '\ 856 raise ValueError('"creation", "activity", "creator" and '\
857 '"actor" are reserved') 857 '"actor" are reserved')
858 858
859 self.classname = classname 859 self.classname = classname
860 self.properties = properties 860 self.properties = properties
1190 return self._labelprop 1190 return self._labelprop
1191 k = self.getkey() 1191 k = self.getkey()
1192 if k: 1192 if k:
1193 return k 1193 return k
1194 props = self.getprops() 1194 props = self.getprops()
1195 if props.has_key('name'): 1195 if 'name' in props:
1196 return 'name' 1196 return 'name'
1197 elif props.has_key('title'): 1197 elif 'title' in props:
1198 return 'title' 1198 return 'title'
1199 if default_to_id: 1199 if default_to_id:
1200 return 'id' 1200 return 'id'
1201 props = props.keys() 1201 props = props.keys()
1202 props.sort() 1202 props.sort()
1214 """ 1214 """
1215 1215
1216 if hasattr(self, '_orderprop'): 1216 if hasattr(self, '_orderprop'):
1217 return self._orderprop 1217 return self._orderprop
1218 props = self.getprops() 1218 props = self.getprops()
1219 if props.has_key('order'): 1219 if 'order' in props:
1220 return 'order' 1220 return 'order'
1221 return self.labelprop() 1221 return self.labelprop()
1222 1222
1223 def lookup(self, keyvalue): 1223 def lookup(self, keyvalue):
1224 """Locate a particular node by its key property and return its id. 1224 """Locate a particular node by its key property and return its id.
1622 1622
1623 def __init__(self, db, classname, **properties): 1623 def __init__(self, db, classname, **properties):
1624 """The newly-created class automatically includes the "content" 1624 """The newly-created class automatically includes the "content"
1625 property. 1625 property.
1626 """ 1626 """
1627 if not properties.has_key('content'): 1627 if 'content' not in properties:
1628 properties['content'] = String(indexme='yes') 1628 properties['content'] = String(indexme='yes')
1629 1629
1630 def export_propnames(self): 1630 def export_propnames(self):
1631 """ Don't export the "content" property 1631 """ Don't export the "content" property
1632 """ 1632 """
1662 ensureParentsExist(dest) 1662 ensureParentsExist(dest)
1663 shutil.copyfile(source, dest) 1663 shutil.copyfile(source, dest)
1664 1664
1665 mime_type = None 1665 mime_type = None
1666 props = self.getprops() 1666 props = self.getprops()
1667 if props.has_key('type'): 1667 if 'type' in props:
1668 mime_type = self.get(nodeid, 'type') 1668 mime_type = self.get(nodeid, 'type')
1669 if not mime_type: 1669 if not mime_type:
1670 mime_type = self.default_mime_type 1670 mime_type = self.default_mime_type
1671 if props['content'].indexme: 1671 if props['content'].indexme:
1672 self.db.indexer.add_text((self.classname, nodeid, 'content'), 1672 self.db.indexer.add_text((self.classname, nodeid, 'content'),
1689 l = [] 1689 l = []
1690 for name in self.cl.getprops(protected=protected).keys(): 1690 for name in self.cl.getprops(protected=protected).keys():
1691 l.append((name, self.cl.get(self.nodeid, name))) 1691 l.append((name, self.cl.get(self.nodeid, name)))
1692 return l 1692 return l
1693 def has_key(self, name): 1693 def has_key(self, name):
1694 return self.cl.getprops().has_key(name) 1694 return name in self.cl.getprops()
1695 def get(self, name, default=None): 1695 def get(self, name, default=None):
1696 if self.has_key(name): 1696 if name in self:
1697 return self[name] 1697 return self[name]
1698 else: 1698 else:
1699 return default 1699 return default
1700 def __getattr__(self, name): 1700 def __getattr__(self, name):
1701 if self.__dict__.has_key(name): 1701 if name in self.__dict__:
1702 return self.__dict__[name] 1702 return self.__dict__[name]
1703 try: 1703 try:
1704 return self.cl.get(self.nodeid, name) 1704 return self.cl.get(self.nodeid, name)
1705 except KeyError as value: 1705 except KeyError as value:
1706 # we trap this but re-raise it as AttributeError - all other 1706 # we trap this but re-raise it as AttributeError - all other

Roundup Issue Tracker: http://roundup-tracker.org/