diff --git a/modules/linuxjobs/pages.py b/modules/linuxjobs/pages.py index e6451f10ced1a957f12eeec02f5a12cb182f0514..52d998a3462cb5c1898438502955fcb6d58c4954 100644 --- a/modules/linuxjobs/pages.py +++ b/modules/linuxjobs/pages.py @@ -23,6 +23,7 @@ from weboob.browser.elements import ItemElement, ListElement, method from weboob.browser.filters.standard import Regexp, CleanText, Date, Env, BrowserURL from weboob.browser.filters.html import Link, CleanHTML +from weboob.tools.date import parse_french_date class AdvertPage(HTMLPage): @method @@ -33,6 +34,10 @@ class get_job_advert(ItemElement): obj_url = BrowserURL('advert_page', id=Env('id')) obj_title = CleanText('//title') obj_job_name = CleanText('//title') + obj_society_name = CleanText('//div[2]/div[@class="col-md-9"]/h4[1]') + obj_publication_date = Date(CleanText('//div[2]/div[@class="col-md-9"]/small', replace=[(u'Ajoutée le', '')]), parse_func=parse_french_date) + obj_place = Regexp(CleanText('//div[2]/div[@class="col-md-9"]/h4[2]'), '(.*) \(.*\)') + obj_description = CleanHTML('//div[4]/div[@class="col-md-9"]') class SearchPage(HTMLPage): @@ -46,3 +51,4 @@ class item(ItemElement): obj_id = Regexp(Link('.'), '.*fr/jobs/(\d+)/.*') obj_title = CleanText('h4/span[@class="job-title"]') obj_society_name = CleanText('h4/span[@class="job-company"]') + obj_publication_date = Date(CleanText('h4/span[@class="badge pull-right"]'), parse_func=parse_french_date) diff --git a/modules/linuxjobs/test.py b/modules/linuxjobs/test.py index add49e695e1514078e3920ba41554ca322375290..994b4f5ea30d53147f4855e203987028451ca156 100644 --- a/modules/linuxjobs/test.py +++ b/modules/linuxjobs/test.py @@ -24,5 +24,8 @@ class LinuxJobsTest(BackendTest): MODULE = 'linuxjobs' - def test_linuxjobs(self): - raise NotImplementedError() + def test_linuxjobs_search(self): + l = list(self.backend.search_job('linux')) + assert len(l) + advert = self.backend.get_job_advert(l[0].id, l[0]) + self.assertTrue(advert.url, 'URL for announce "%s" not found: %s' % (advert.id, advert.url))