diff --git a/modules/foncia/browser.py b/modules/foncia/browser.py index ea1e27643811d442b2a0a6ae188a419477c5f365..ce1255812a12d0c130b3530543cd312545c1e9d6 100644 --- a/modules/foncia/browser.py +++ b/modules/foncia/browser.py @@ -30,7 +30,7 @@ class FonciaBrowser(PagesBrowser): BASEURL = 'https://fr.foncia.com' cities = URL(r'/recherche/autocomplete\?term=(?P.+)', CitiesPage) - housing = URL(r'/(?P[^/]+)/.*/\d+.htm', HousingPage) + housing = URL(r'/(?P[^/]+)/.*\d+.htm', HousingPage) search_results = URL(r'/(?P[^/]+)/.*', SearchResultsPage) search = URL(r'/(?P.+)', SearchPage) diff --git a/modules/foncia/constants.py b/modules/foncia/constants.py index 5b74c23b273701f96bb9fd519b03ebd5a7f52ef3..404f2af848759961b91efca0119a9a34c9d3a51c 100644 --- a/modules/foncia/constants.py +++ b/modules/foncia/constants.py @@ -11,7 +11,7 @@ HOUSE_TYPES.HOUSE: ['maison'], HOUSE_TYPES.PARKING: ['parking'], HOUSE_TYPES.LAND: ['terrain'], - HOUSE_TYPES.OTHER: ['chambre', + HOUSE_TYPES.OTHER: ['chambre', 'programme-neuf', 'local-commercial', 'immeuble'] } @@ -19,6 +19,6 @@ POSTS_TYPES.RENT: ['appartement', 'maison', 'parking', 'chambre', 'local-commercial'], POSTS_TYPES.SALE: ['appartement', 'maison', 'parking', 'local-commercial', - 'terrain', 'immeuble'], + 'terrain', 'immeuble', 'programme-neuf'], POSTS_TYPES.FURNISHED_RENT: ['appartement-meuble'] } diff --git a/modules/foncia/pages.py b/modules/foncia/pages.py index 98ab18fe96a7a5b8542eec5afc7d9db2d4b03d89..9bf1b58388886b6970d48284f0dda3518207f13d 100644 --- a/modules/foncia/pages.py +++ b/modules/foncia/pages.py @@ -91,15 +91,18 @@ def obj_house_type(self): CleanText( '//div[has-class("MiniData")]//p[has-class("MiniData-item")][1]' ), - r'(\d*\.*\d*) .*' - ) + r'(\d*\.*\d*) .*', + default=NotAvailable + ), + default=NotAvailable ) obj_cost = CleanDecimal( - '//p[has-class("OfferTop-price")]' + '//span[has-class("OfferTop-price")]', + default=NotAvailable ) obj_price_per_meter = PricePerMeterFilter() obj_currency = Currency( - '//p[has-class("OfferTop-price")]' + '//span[has-class("OfferTop-price")]' ) obj_location = Format( '%s - %s', @@ -302,8 +305,10 @@ def obj_house_type(self): CleanText( './/div[has-class("MiniData")]//p[@data-behat="surfaceDesBiens"]' ), - r'(\d*\.*\d*) .*' - ) + r'(\d*\.*\d*) .*', + default=NotAvailable + ), + default=NotAvailable ) obj_cost = CleanDecimal( './/strong[has-class("TeaserOffer-price-num")]'