[Indeed] Add search criteria (place and radius)
This commit is contained in:
parent
2a1dc12e97
commit
48792b8990
2 changed files with 20 additions and 6 deletions
|
|
@ -56,9 +56,21 @@ class IndeedBackend(BaseBackend, ICapJob):
|
||||||
'last': u'depuis ma dernière visite',
|
'last': u'depuis ma dernière visite',
|
||||||
}.iteritems())])
|
}.iteritems())])
|
||||||
|
|
||||||
|
radius_choices = OrderedDict([(k, u'%s' % (v)) for k, v in sorted({
|
||||||
|
'0': u'uniquement à cet endroit',
|
||||||
|
'5': u'dans un rayon de 5 kilomètres',
|
||||||
|
'10': u'dans un rayon de 10 kilomètres',
|
||||||
|
'15': u'dans un rayon de 15 kilomètres',
|
||||||
|
'25': u'dans un rayon de 25 kilomètres',
|
||||||
|
'50': u'dans un rayon de 50 kilomètres',
|
||||||
|
'100': u'dans un rayon de 100 kilomètres',
|
||||||
|
}.iteritems())])
|
||||||
|
|
||||||
CONFIG = BackendConfig(Value('metier', label=u'Job name', masked=False, default=''),
|
CONFIG = BackendConfig(Value('metier', label=u'Job name', masked=False, default=''),
|
||||||
Value('limit_date', label=u'Date limite', choices=limit_date_choices, default=''),
|
Value('limit_date', label=u'Date limite', choices=limit_date_choices, default=''),
|
||||||
Value('contrat', label=u'Contract', choices=type_contrat_choices, default=''))
|
Value('contrat', label=u'Contract', choices=type_contrat_choices, default=''),
|
||||||
|
Value('place', label=u'Place', masked=False, default=''),
|
||||||
|
Value('radius', label=u'Radius', choices=radius_choices, default=''))
|
||||||
|
|
||||||
def search_job(self, pattern=None):
|
def search_job(self, pattern=None):
|
||||||
with self.browser:
|
with self.browser:
|
||||||
|
|
@ -67,7 +79,9 @@ class IndeedBackend(BaseBackend, ICapJob):
|
||||||
def advanced_search_job(self):
|
def advanced_search_job(self):
|
||||||
return self.browser.advanced_search_job(metier=self.config['metier'].get(),
|
return self.browser.advanced_search_job(metier=self.config['metier'].get(),
|
||||||
limit_date=self.config['limit_date'].get(),
|
limit_date=self.config['limit_date'].get(),
|
||||||
contrat=self.config['contrat'].get(),)
|
contrat=self.config['contrat'].get(),
|
||||||
|
place=self.config['place'].get(),
|
||||||
|
radius=self.config['radius'].get())
|
||||||
|
|
||||||
def get_job_advert(self, _id, advert=None):
|
def get_job_advert(self, _id, advert=None):
|
||||||
with self.browser:
|
with self.browser:
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ __all__ = ['IndeedBrowser']
|
||||||
class IndeedBrowser(BaseBrowser):
|
class IndeedBrowser(BaseBrowser):
|
||||||
PROTOCOL = 'http'
|
PROTOCOL = 'http'
|
||||||
DOMAIN = 'www.indeed.fr'
|
DOMAIN = 'www.indeed.fr'
|
||||||
ENCODING = None
|
ENCODING = 'UTF-8'
|
||||||
PAGES = {
|
PAGES = {
|
||||||
'%s://%s/Emplois-(.*?)' % (PROTOCOL, DOMAIN): SearchPage,
|
'%s://%s/Emplois-(.*?)' % (PROTOCOL, DOMAIN): SearchPage,
|
||||||
'%s://%s/emplois(.*?)' % (PROTOCOL, DOMAIN): SearchPage,
|
'%s://%s/emplois(.*?)' % (PROTOCOL, DOMAIN): SearchPage,
|
||||||
|
|
@ -45,9 +45,9 @@ class IndeedBrowser(BaseBrowser):
|
||||||
assert self.is_on_page(SearchPage)
|
assert self.is_on_page(SearchPage)
|
||||||
return self.page.iter_job_adverts()
|
return self.page.iter_job_adverts()
|
||||||
|
|
||||||
def advanced_search_job(self, metier=None, contrat=None, limit_date=None):
|
def advanced_search_job(self, metier=None, contrat=None, limit_date=None, radius=None, place=None):
|
||||||
self.location('http://www.indeed.fr/emplois?as_ttl=%s&limit=50&sort=date&st=employer&sr=directhire&jt=%s&fromage=%s'
|
self.location(
|
||||||
% (metier.replace(' ', '+'), contrat, limit_date))
|
'http://www.indeed.fr/emplois?as_ttl=%s&limit=50&sort=date&st=employer&sr=directhire&jt=%s&fromage=%s&radius=%s&l=%s' % (metier.replace(' ', '+'), contrat, limit_date, radius, place))
|
||||||
assert self.is_on_page(SearchPage)
|
assert self.is_on_page(SearchPage)
|
||||||
return self.page.iter_job_adverts()
|
return self.page.iter_job_adverts()
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue