able to fill photos

This commit is contained in:
Romain Bignon 2012-02-16 17:05:05 +01:00
commit 58e255917c

View file

@ -17,7 +17,7 @@
# You should have received a copy of the GNU Affero General Public License
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
from weboob.capabilities.housing import ICapHousing, City, Housing
from weboob.capabilities.housing import ICapHousing, City, Housing, HousingPhoto
from weboob.tools.backend import BaseBackend
from .browser import PapBrowser
@ -37,11 +37,13 @@ class PapBackend(BaseBackend, ICapHousing):
def search_housings(self, query):
cities = [c.id for c in query.cities if c.backend == self.name]
if len(cities) == 0:
return list()
with self.browser:
for housing in self.browser.search_housings(cities,
query.area_min, query.area_max,
query.cost_min, query.cost_max):
yield housing
return self.browser.search_housings(cities,
query.area_min, query.area_max,
query.cost_min, query.cost_max)
def get_housing(self, housing):
if isinstance(housing, Housing):
@ -63,5 +65,12 @@ class PapBackend(BaseBackend, ICapHousing):
with self.browser:
return self.browser.get_housing(housing.id)
def fill_photo(self, photo, fields):
with self.browser:
if 'data' in fields and photo.url and not photo.data:
photo.data = self.browser.readurl(photo.url)
return photo
OBJECTS = {Housing: fill_housing,
HousingPhoto: fill_photo,
}