/usr/lib64/python2.6/site-packages/lxml/html
NameSizeModeActions
builder.py43100644editdlrm
builder.pyc39180644editdlrm
builder.pyo39180644editdlrm
clean.py250170644editdlrm
clean.pyc189000644editdlrm
clean.pyo187990644editdlrm
defs.py38000644editdlrm
defs.pyc35780644editdlrm
defs.pyo35780644editdlrm
diff.py303750644editdlrm
diff.pyc286960644editdlrm
diff.pyo283460644editdlrm
ElementSoup.py3190644editdlrm
ElementSoup.pyc6220644editdlrm
ElementSoup.pyo6220644editdlrm
formfill.py97610644editdlrm
formfill.pyc100150644editdlrm
formfill.pyo97610644editdlrm
html5parser.py53040644editdlrm
html5parser.pyc58700644editdlrm
html5parser.pyo58700644editdlrm
soupparser.py42750644editdlrm
soupparser.pyc48310644editdlrm
soupparser.pyo48310644editdlrm
usedoctest.py2490644editdlrm
usedoctest.pyc4640644editdlrm
usedoctest.pyo4640644editdlrm
_dictmixin.py35390644editdlrm
_dictmixin.pyc46880644editdlrm
_dictmixin.pyo46880644editdlrm
_diffcommand.py20820644editdlrm
_diffcommand.pyc28560644editdlrm
_diffcommand.pyo28560644editdlrm
_html5builder.py31240644editdlrm
_html5builder.pyc44980644editdlrm
_html5builder.pyo44980644editdlrm
_setmixin.py24880644editdlrm
_setmixin.pyc51940644editdlrm
_setmixin.pyo51940644editdlrm
__init__.py521370644editdlrm
__init__.pyc563640644editdlrm
__init__.pyo561100644editdlrm
Edit: /usr/lib64/python2.6/site-packages/lxml/html/_dictmixin.py (3539B)
""" A backport of UserDict.DictMixin for pre-python-2.4 """ __all__ = ['DictMixin'] try: from UserDict import DictMixin except ImportError: class DictMixin: # Mixin defining all dictionary methods for classes that already have # a minimum dictionary interface including getitem, setitem, delitem, # and keys. Without knowledge of the subclass constructor, the mixin # does not define __init__() or copy(). In addition to the four base # methods, progressively more efficiency comes with defining # __contains__(), __iter__(), and iteritems(). # second level definitions support higher levels def __iter__(self): for k in self.keys(): yield k def has_key(self, key): try: value = self[key] except KeyError: return False return True def __contains__(self, key): return self.has_key(key) # third level takes advantage of second level definitions def iteritems(self): for k in self: yield (k, self[k]) def iterkeys(self): return self.__iter__() # fourth level uses definitions from lower levels def itervalues(self): for _, v in self.iteritems(): yield v def values(self): return [v for _, v in self.iteritems()] def items(self): return list(self.iteritems()) def clear(self): for key in self.keys(): del self[key] def setdefault(self, key, default=None): try: return self[key] except KeyError: self[key] = default return default def pop(self, key, *args): if len(args) > 1: raise TypeError("pop expected at most 2 arguments, got " + repr(1 + len(args))) try: value = self[key] except KeyError: if args: return args[0] raise del self[key] return value def popitem(self): try: k, v = self.iteritems().next() except StopIteration: raise KeyError('container is empty') del self[k] return (k, v) def update(self, other=None, **kwargs): # Make progressively weaker assumptions about "other" if other is None: pass elif hasattr(other, 'iteritems'): # iteritems saves memory and lookups for k, v in other.iteritems(): self[k] = v elif hasattr(other, 'keys'): for k in other.keys(): self[k] = other[k] else: for k, v in other: self[k] = v if kwargs: self.update(kwargs) def get(self, key, default=None): try: return self[key] except KeyError: return default def __repr__(self): return repr(dict(self.iteritems())) def __cmp__(self, other): if other is None: return 1 if isinstance(other, DictMixin): other = dict(other.iteritems()) return cmp(dict(self.iteritems()), other) def __len__(self): return len(self.keys())