Mercurial > p > roundup > code
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 |
