1 # -*- encoding: utf-8 -*
2 from django
.core
import serializers
3 from django
.shortcuts
import render_to_response
, redirect
, get_object_or_404
4 from django
.template
import Context
, RequestContext
5 from django
.utils
import simplejson
6 from auf
.django
.emploi
import models
as emploi
7 from restkit
import request
, Resource
8 import datamaster_modeles
.models
as ref
11 from auf
.django
.emploi
import settings
16 def req(*args
, **kwargs
):
18 if not kwargs
.has_key('timeout'):
19 kwargs
['timeout'] = timeout
20 return request(*args
, **kwargs
)
23 def read_response(request
):
25 La prod en Python2.5 avec restkit 3.3.2 en mode SSL
28 data
= request
._body
.raw
.readall()
30 data
= request
._body
.raw
.read()
35 def __init__(self
, request
, env
):
36 self
.request
= request
39 def offre_emploi_liste(self
,):
40 url
= settings
.RECRUTEMENT_URLS
[self
.env
] + "offre_emploi_liste/"
42 data
= read_response(r
)
43 offres
= [offre
.object for offre
in serializers
.deserialize("json", data
)]
46 def offre_emploi(self
, offre_id
):
47 url
= settings
.RECRUTEMENT_URLS
[self
.env
] + "offre_emploi/?id=%s"
48 r
= req(url
% offre_id
)
49 data
= read_response(r
)
50 offres
= [o
.object for o
in serializers
.deserialize("json", data
)]
56 def candidat_add(self
, offre_id
,):
57 url
= settings
.RECRUTEMENT_URLS
[self
.env
] + "candidat_add/%s/" % offre_id
59 params
= self
.request
.POST
60 for k
, up_file
in self
.request
.FILES
.items():
62 opener
= poster
.streaminghttp
.register_openers()
63 datagen
, headers
= poster
.encode
.multipart_encode(params
)
64 request
= urllib2
.Request(url
, datagen
, headers
)
65 resp
= urllib2
.urlopen(request
)
66 if resp
.code
== STATUS_OK
:
67 candidats
= [c
.object for c
in serializers
.deserialize("json", resp
.read())]
68 if len(candidats
) == 1: