diff --git a/modules/leboncoin/browser.py b/modules/leboncoin/browser.py
index 12163551..c9f92151 100644
--- a/modules/leboncoin/browser.py
+++ b/modules/leboncoin/browser.py
@@ -17,7 +17,6 @@
# You should have received a copy of the GNU Affero General Public License
# along with weboob. If not, see .
-
from weboob.tools.browser2 import PagesBrowser, URL
from .pages import CityListPage, HousingListPage, HousingPage
@@ -26,8 +25,8 @@ from .pages import CityListPage, HousingListPage, HousingPage
class LeboncoinBrowser(PagesBrowser):
BASEURL = 'http://www.leboncoin.fr'
city = URL('ajax/location_list.html\?city=(?P.*)&zipcode=(?P.*)', CityListPage)
- search = URL('ventes_immobilieres/offres/ile_de_france/occasions/\?ps=(?P.*)&pe=(?P.*)&ros=(?P.*)&location=(?P.*)&sqs=(?P.*)&sqe=(?P.*)&ret=(?P.*)',
- 'ventes_immobilieres/offres/ile_de_france/occasions/\?.*',
+ search = URL('(?P.*)/offres/ile_de_france/occasions/\?ps=(?P.*)&pe=(?P.*)&ros=(?P.*)&location=(?P.*)&sqs=(?P.*)&sqe=(?P.*)&ret=(?P.*)',
+ '(ventes_immobilieres|locations)/offres/ile_de_france/occasions/\?.*',
HousingListPage)
housing = URL('ventes_immobilieres/(?P<_id>.*).htm', HousingPage)
@@ -42,13 +41,13 @@ class LeboncoinBrowser(PagesBrowser):
return self.city.go(city=city, zip=zip_code).get_cities()
def search_housings(self, type, cities, nb_rooms, area_min, area_max, cost_min, cost_max, ret):
- # print type achat ou location
return self.search.go(location=cities,
ros=nb_rooms,
sqs=area_min,
sqe=area_max,
ps=cost_min,
pe=cost_max,
+ type=type,
ret=ret).get_housing_list()
def get_housing(self, _id):
diff --git a/modules/leboncoin/module.py b/modules/leboncoin/module.py
index aaec1f85..f24844c4 100644
--- a/modules/leboncoin/module.py
+++ b/modules/leboncoin/module.py
@@ -73,7 +73,10 @@ class LeboncoinModule(Module, CapHousing):
if len(ret) == 0:
return list()
- _type = query.TYPE_RENT if query.type is None else query.type
+ _type = 'ventes_immobilieres'
+ if query.type == Query.TYPE_RENT:
+ _type = 'locations'
+
nb_rooms = '' if not query.nb_rooms else query.nb_rooms
area_min = '' if not query.area_min else query.area_min
area_max = '' if not query.area_max else query.area_max
diff --git a/modules/leboncoin/pages.py b/modules/leboncoin/pages.py
index 20097111..2215ec28 100644
--- a/modules/leboncoin/pages.py
+++ b/modules/leboncoin/pages.py
@@ -50,7 +50,7 @@ class HousingListPage(HTMLPage):
class item(ItemElement):
klass = Housing
- obj_id = Regexp(Link('.'), 'http://www.leboncoin.fr/ventes_immobilieres/(.*).htm')
+ obj_id = Regexp(Link('.'), 'http://www.leboncoin.fr/(ventes_immobilieres|locations)/(.*).htm', '\\2')
obj_title = CleanText('./div[@class="lbc"]/div/div[@class="title"]')
obj_cost = CleanDecimal('./div[@class="lbc"]/div/div[@class="price"]',
replace_dots=(',', '.'),
@@ -115,12 +115,8 @@ class HousingPage(HTMLPage):
obj_area = Env('area')
def obj_date(self):
- sender = CleanText('//div[@class="upload_by"]/a')(self)
- _date = CleanText('//div[@class="upload_by"]',
- replace=[('- Mise en ligne le ', ''),
- (sender, ''),
- (u'à', ''),
- (u'.', '')])(self)
+ _date = Regexp(CleanText('//div[@class="upload_by"]', replace=[(u'à', '')]),
+ '.*- Mise en ligne le (.*).')(self)
for fr, en in DATE_TRANSLATE_FR:
_date = fr.sub(en, _date)