[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',
|
||||
}.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=''),
|
||||
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):
|
||||
with self.browser:
|
||||
|
|
@ -67,7 +79,9 @@ class IndeedBackend(BaseBackend, ICapJob):
|
|||
def advanced_search_job(self):
|
||||
return self.browser.advanced_search_job(metier=self.config['metier'].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):
|
||||
with self.browser:
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ __all__ = ['IndeedBrowser']
|
|||
class IndeedBrowser(BaseBrowser):
|
||||
PROTOCOL = 'http'
|
||||
DOMAIN = 'www.indeed.fr'
|
||||
ENCODING = None
|
||||
ENCODING = 'UTF-8'
|
||||
PAGES = {
|
||||
'%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)
|
||||
return self.page.iter_job_adverts()
|
||||
|
||||
def advanced_search_job(self, metier=None, contrat=None, limit_date=None):
|
||||
self.location('http://www.indeed.fr/emplois?as_ttl=%s&limit=50&sort=date&st=employer&sr=directhire&jt=%s&fromage=%s'
|
||||
% (metier.replace(' ', '+'), contrat, limit_date))
|
||||
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&radius=%s&l=%s' % (metier.replace(' ', '+'), contrat, limit_date, radius, place))
|
||||
assert self.is_on_page(SearchPage)
|
||||
return self.page.iter_job_adverts()
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue