mirror of https://github.com/scrapy/scrapy.git
removed unneeded decorator from Item xD
--HG-- extra : convert_revision : svn%3Ab85faa78-f9eb-468e-a121-7cced6da292c%40966
This commit is contained in:
parent
154dded1de
commit
b5b6b0cefc
|
|
@ -21,7 +21,7 @@ class ItemAdaptor(Declarative):
|
|||
|
||||
def _get_field_adaptors(self):
|
||||
fa = {}
|
||||
for field in self.item_instance._fields.keys():
|
||||
for field in self.item_instance.fields.keys():
|
||||
try:
|
||||
fa[field] = object.__getattribute__(self, field)
|
||||
except:
|
||||
|
|
|
|||
|
|
@ -17,28 +17,24 @@ class Item(Declarative, ScrapedItem):
|
|||
def __init__(self):
|
||||
self._values = {}
|
||||
|
||||
@property
|
||||
def _fields(self):
|
||||
return self.__class__.fields
|
||||
|
||||
def __setattr__(self, name, value):
|
||||
if name.startswith('_'):
|
||||
return object.__setattr__(self, name, value)
|
||||
|
||||
if name in self._fields.keys():
|
||||
self._values[name] = self._fields[name].assign(value)
|
||||
if name in self.fields.keys():
|
||||
self._values[name] = self.fields[name].assign(value)
|
||||
else:
|
||||
raise AttributeError(name)
|
||||
|
||||
def __getattribute__(self, name):
|
||||
if name.startswith('_'):
|
||||
if name.startswith('_') or name == 'fields':
|
||||
return object.__getattribute__(self, name)
|
||||
|
||||
if name in self._fields.keys():
|
||||
if name in self.fields.keys():
|
||||
try:
|
||||
return self._values[name]
|
||||
except KeyError:
|
||||
return self._fields[name].default
|
||||
return self.fields[name].default
|
||||
else:
|
||||
raise AttributeError(name)
|
||||
|
||||
|
|
@ -47,5 +43,5 @@ class Item(Declarative, ScrapedItem):
|
|||
Generate the following format so that items can be deserialized
|
||||
easily: ClassName({'attrib': value, ...})
|
||||
"""
|
||||
reprdict = dict((field, getattr(self, field)) for field in self._fields)
|
||||
reprdict = dict((field, getattr(self, field)) for field in self.fields)
|
||||
return "%s(%s)" % (self.__class__.__name__, repr(reprdict))
|
||||
|
|
|
|||
Loading…
Reference in New Issue