Merge lp:~camptocamp/carriers-deliveries/7.0-delivery_carrier_label_postlogistics-pep8 into lp:~stock-logistic-core-editors/carriers-deliveries/7.0
- 7.0-delivery_carrier_label_postlogistics-pep8
- Merge into 7.0
Proposed by
Yannick Vaucher @ Camptocamp
Status: | Merged |
---|---|
Approved by: | Guewen Baconnier @ Camptocamp |
Approved revision: | 10 |
Merged at revision: | 11 |
Proposed branch: | lp:~camptocamp/carriers-deliveries/7.0-delivery_carrier_label_postlogistics-pep8 |
Merge into: | lp:~stock-logistic-core-editors/carriers-deliveries/7.0 |
Diff against target: |
386 lines (+102/-52) 4 files modified
delivery_carrier_label_postlogistics/__openerp__.py (+1/-1) delivery_carrier_label_postlogistics/delivery.py (+26/-13) delivery_carrier_label_postlogistics/postlogistics/web_service.py (+8/-5) delivery_carrier_label_postlogistics/res_config.py (+67/-33) |
To merge this branch: | bzr merge lp:~camptocamp/carriers-deliveries/7.0-delivery_carrier_label_postlogistics-pep8 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Joël Grand-Guillaume @ camptocamp | code review, no tests | Approve | |
Leonardo Pistone | code review | Approve | |
Review via email: mp+205631@code.launchpad.net |
Commit message
Description of the change
To post a comment you must log in.
Revision history for this message
Leonardo Pistone (lepistone) wrote : | # |
review:
Approve
(code review)
Revision history for this message
Joël Grand-Guillaume @ camptocamp (jgrandguillaume-c2c) wrote : | # |
LGTM
review:
Approve
(code review, no tests)
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'delivery_carrier_label_postlogistics/__openerp__.py' |
2 | --- delivery_carrier_label_postlogistics/__openerp__.py 2013-12-23 10:54:36 +0000 |
3 | +++ delivery_carrier_label_postlogistics/__openerp__.py 2014-02-10 17:18:47 +0000 |
4 | @@ -106,6 +106,6 @@ |
5 | 'license': 'AGPL-3', |
6 | 'application': True, |
7 | 'external_dependencies': { |
8 | - 'python': ['suds'], |
9 | + 'python': ['suds'], |
10 | } |
11 | } |
12 | |
13 | === modified file 'delivery_carrier_label_postlogistics/delivery.py' |
14 | --- delivery_carrier_label_postlogistics/delivery.py 2014-01-13 11:23:21 +0000 |
15 | +++ delivery_carrier_label_postlogistics/delivery.py 2014-02-10 17:18:47 +0000 |
16 | @@ -108,12 +108,14 @@ |
17 | |
18 | def _get_carrier_type_selection(self, cr, uid, context=None): |
19 | """ Add postlogistics carrier type """ |
20 | - res = super(DeliveryCarrier, self)._get_carrier_type_selection(cr, uid, context=context) |
21 | + res = super(DeliveryCarrier, self |
22 | + )._get_carrier_type_selection(cr, uid, context=context) |
23 | res.append(('postlogistics', 'Postlogistics')) |
24 | return res |
25 | |
26 | - def _get_basic_service_ids(self, cr, uid, ids, field_names, arg, context=None): |
27 | - """ Search in all options for the PostLogistics basic services if set """ |
28 | + def _get_basic_service_ids(self, cr, uid, ids, field_names, arg, |
29 | + context=None): |
30 | + """ Search in all options for PostLogistics basic services if set """ |
31 | res = {} |
32 | for carrier_id in ids: |
33 | res[carrier_id] = [] |
34 | @@ -135,7 +137,8 @@ |
35 | res[carrier.id] = option_ids |
36 | return res |
37 | |
38 | - def _get_allowed_option_ids(self, cr, uid, ids, field_names, arg, context=None): |
39 | + def _get_allowed_option_ids(self, cr, uid, ids, field_names, arg, |
40 | + context=None): |
41 | """ Return a list of possible options |
42 | |
43 | A domain would be too complicated. |
44 | @@ -160,31 +163,41 @@ |
45 | continue |
46 | service_group_id = carrier.postlogistics_service_group_id.id |
47 | if service_group_id: |
48 | - basic_service_ids = [s.id for s in carrier.postlogistics_basic_service_ids] |
49 | + basic_service_ids = [ |
50 | + s.id for s in carrier.postlogistics_basic_service_ids] |
51 | service_ids = option_template_obj.search( |
52 | cr, uid, |
53 | - [('postlogistics_service_group_id' ,'=', service_group_id)], |
54 | + [('postlogistics_service_group_id', |
55 | + '=', |
56 | + service_group_id)], |
57 | context=context) |
58 | allowed_ids.extend(service_ids) |
59 | if basic_service_ids: |
60 | related_service_ids = option_template_obj.search( |
61 | cr, uid, |
62 | - [('postlogistics_basic_service_ids' ,'in', basic_service_ids)], |
63 | + [('postlogistics_basic_service_ids', |
64 | + 'in', |
65 | + basic_service_ids)], |
66 | context=context) |
67 | allowed_ids.extend(related_service_ids) |
68 | |
69 | # Allows to set multiple optional single option in order to |
70 | # let the user select them |
71 | - single_option_types = ['label_layout', 'output_format', 'resolution'] |
72 | - selected_single_options = [opt.tmpl_option_id.postlogistics_type |
73 | - for opt in carrier.available_option_ids |
74 | - if opt.postlogistics_type in single_option_types |
75 | - and opt.state in ['mandatory']] |
76 | + single_option_types = [ |
77 | + 'label_layout', |
78 | + 'output_format', |
79 | + 'resolution'] |
80 | + selected_single_options = [ |
81 | + opt.tmpl_option_id.postlogistics_type |
82 | + for opt in carrier.available_option_ids |
83 | + if opt.postlogistics_type in single_option_types |
84 | + and opt.state in ['mandatory']] |
85 | if selected_single_options != single_option_types: |
86 | service_ids = option_template_obj.search( |
87 | cr, uid, |
88 | [('postlogistics_type', 'in', single_option_types), |
89 | - ('postlogistics_type', 'not in', selected_single_options)], |
90 | + ('postlogistics_type', |
91 | + 'not in', selected_single_options)], |
92 | context=context) |
93 | allowed_ids.extend(service_ids) |
94 | res[carrier.id] = allowed_ids |
95 | |
96 | === modified file 'delivery_carrier_label_postlogistics/postlogistics/web_service.py' |
97 | --- delivery_carrier_label_postlogistics/postlogistics/web_service.py 2013-12-17 07:45:50 +0000 |
98 | +++ delivery_carrier_label_postlogistics/postlogistics/web_service.py 2014-02-10 17:18:47 +0000 |
99 | @@ -70,8 +70,8 @@ |
100 | raise orm.except_orm( |
101 | _('Error 401'), |
102 | _('Authorization Required\n\n' |
103 | - 'Please verify postlogistics username and password in:\n' |
104 | - 'Configuration -> Postlogistics')) |
105 | + 'Please verify postlogistics username and password in:\n' |
106 | + 'Configuration -> Postlogistics')) |
107 | raise |
108 | return res |
109 | |
110 | @@ -91,7 +91,8 @@ |
111 | return lang_code |
112 | return 'en' |
113 | |
114 | - def read_allowed_services_by_franking_license(self, license, company, lang=None): |
115 | + def read_allowed_services_by_franking_license(self, license, company, |
116 | + lang=None): |
117 | """ Get a list of allowed service for a postlogistics licence """ |
118 | if not lang: |
119 | lang = company.partner_id.lang |
120 | @@ -113,7 +114,8 @@ |
121 | lang = company.partner_id.lang |
122 | lang = self._get_language(lang) |
123 | request = self.client.service.ReadBasicServices |
124 | - return self._send_request(request, Language=lang, ServiceGroupID=service_group_id) |
125 | + return self._send_request(request, Language=lang, |
126 | + ServiceGroupID=service_group_id) |
127 | |
128 | def read_additional_services(self, company, service_code, lang): |
129 | """ Get additional services compatible with a basic services """ |
130 | @@ -343,7 +345,8 @@ |
131 | |
132 | res = {'value': []} |
133 | request = self.client.service.GenerateLabel |
134 | - response = self._send_request(request, Language=lang, Envelope=envelope) |
135 | + response = self._send_request(request, Language=lang, |
136 | + Envelope=envelope) |
137 | |
138 | if not response['success']: |
139 | return response |
140 | |
141 | === modified file 'delivery_carrier_label_postlogistics/res_config.py' |
142 | --- delivery_carrier_label_postlogistics/res_config.py 2013-12-13 13:44:03 +0000 |
143 | +++ delivery_carrier_label_postlogistics/res_config.py 2014-02-10 17:18:47 +0000 |
144 | @@ -62,9 +62,10 @@ |
145 | "– File size: max. 30 kb\n" |
146 | "– File format: GIF or PNG\n" |
147 | "– Colour table: indexed colours, max. 200 colours\n" |
148 | - "– The logo will be printed rotated counter-clockwise by 90°\n" |
149 | - "We recommend using a black and white logo for printing in the\n" |
150 | - "ZPL2 format." |
151 | + "– The logo will be printed rotated counter-clockwise by 90°" |
152 | + "\n" |
153 | + "We recommend using a black and white logo for printing in " |
154 | + " the ZPL2 format." |
155 | ), |
156 | 'office': fields.related( |
157 | 'company_id', 'postlogistics_office', |
158 | @@ -141,7 +142,8 @@ |
159 | |
160 | lang = context.get('lang', 'en') |
161 | service_code_list = service_code.split(',') |
162 | - res = web_service.read_delivery_instructions(company, service_code_list, lang) |
163 | + res = web_service.read_delivery_instructions( |
164 | + company, service_code_list, lang) |
165 | if 'errors' in res: |
166 | errors = '\n'.join(res['errors']) |
167 | error_message = (_('Could not retrieve Postlogistics delivery' |
168 | @@ -184,14 +186,15 @@ |
169 | context=context) |
170 | |
171 | if option_ids: |
172 | - carrier_option_obj.write(cr, uid, option_ids, data, context=context) |
173 | + carrier_option_obj.write(cr, uid, option_ids, data, |
174 | + context=context) |
175 | else: |
176 | data.update(code=service_code, |
177 | postlogistics_type='delivery', |
178 | partner_id=postlogistics_partner.id) |
179 | carrier_option_obj.create(cr, uid, data, context=context) |
180 | lang = context.get('lang', 'en') |
181 | - _logger.info("Updated delivery instrutions. [%s]" %(lang)) |
182 | + _logger.info("Updated delivery instrutions. [%s]" % (lang)) |
183 | |
184 | def _get_additional_services(self, cr, uid, ids, web_service, |
185 | company, service_code, context=None): |
186 | @@ -200,7 +203,8 @@ |
187 | |
188 | lang = context.get('lang', 'en') |
189 | service_code_list = service_code.split(',') |
190 | - res = web_service.read_additional_services(company, service_code_list, lang) |
191 | + res = web_service.read_additional_services(company, service_code_list, |
192 | + lang) |
193 | if 'errors' in res: |
194 | errors = '\n'.join(res['errors']) |
195 | error_message = (_('Could not retrieve Postlogistics base ' |
196 | @@ -230,7 +234,8 @@ |
197 | carrier_option_obj = self.pool.get('delivery.carrier.template.option') |
198 | |
199 | postlogistics_partner = ir_model_data_obj.get_object( |
200 | - cr, uid, 'delivery_carrier_label_postlogistics', 'postlogistics', context=context) |
201 | + cr, uid, 'delivery_carrier_label_postlogistics', 'postlogistics', |
202 | + context=context) |
203 | |
204 | for service_code, data in additional_services.iteritems(): |
205 | |
206 | @@ -240,7 +245,8 @@ |
207 | ], context=context) |
208 | |
209 | if option_ids: |
210 | - carrier_option_obj.write(cr, uid, option_ids, data, context=context) |
211 | + carrier_option_obj.write(cr, uid, option_ids, data, |
212 | + context=context) |
213 | else: |
214 | data.update(code=service_code, |
215 | postlogistics_type='additional', |
216 | @@ -249,7 +255,8 @@ |
217 | lang = context.get('lang', 'en') |
218 | _logger.info("Updated additional services [%s]" % (lang)) |
219 | |
220 | - def _update_basic_services(self, cr, uid, ids, web_service, company, group_id, context=None): |
221 | + def _update_basic_services(self, cr, uid, ids, web_service, company, |
222 | + group_id, context=None): |
223 | """ Update of basic services |
224 | |
225 | A basic service can be part only of one service group |
226 | @@ -291,41 +298,54 @@ |
227 | ], context=context) |
228 | data = {'name': service.Description} |
229 | if option_ids: |
230 | - carrier_option_obj.write(cr, uid, option_ids, data, context=context) |
231 | + carrier_option_obj.write(cr, uid, option_ids, data, |
232 | + context=context) |
233 | option_id = option_ids[0] |
234 | else: |
235 | data.update(code=service_code, |
236 | postlogistics_service_group_id=group_id, |
237 | partner_id=postlogistics_partner.id, |
238 | postlogistics_type='basic') |
239 | - option_id = carrier_option_obj.create(cr, uid, data, context=context) |
240 | + option_id = carrier_option_obj.create(cr, uid, data, |
241 | + context=context) |
242 | |
243 | # Get related services |
244 | allowed_services = self._get_additional_services( |
245 | - cr, uid, ids, web_service, company, service_code, context=context) |
246 | + cr, uid, ids, web_service, company, service_code, |
247 | + context=context) |
248 | for key, value in additional_services.iteritems(): |
249 | if key in allowed_services: |
250 | - additional_services[key]['postlogistics_basic_service_ids'][0][2].append(option_id) |
251 | + (additional_services[key] |
252 | + ['postlogistics_basic_service_ids'] |
253 | + [0] |
254 | + [2]).append(option_id) |
255 | del allowed_services[key] |
256 | for key, value in allowed_services.iteritems(): |
257 | + value['postlogistics_basic_service_ids'] = [ |
258 | + (6, 0, [option_id])] |
259 | additional_services[key] = value |
260 | - additional_services[key]['postlogistics_basic_service_ids'] = [(6, 0, [option_id])] |
261 | |
262 | allowed_services = self._get_delivery_instructions( |
263 | - cr, uid, ids, web_service, company, service_code, context=context) |
264 | + cr, uid, ids, web_service, company, service_code, |
265 | + context=context) |
266 | for key, value in delivery_instructions.iteritems(): |
267 | if key in allowed_services: |
268 | - delivery_instructions[key]['postlogistics_basic_service_ids'][0][2].append(option_id) |
269 | + (delivery_instructions[key] |
270 | + ['postlogistics_basic_service_ids'] |
271 | + [0] |
272 | + [2]).append(option_id) |
273 | del allowed_services[key] |
274 | for key, value in allowed_services.iteritems(): |
275 | + value['postlogistics_basic_service_ids'] = [ |
276 | + (6, 0, [option_id])] |
277 | delivery_instructions[key] = value |
278 | - delivery_instructions[key]['postlogistics_basic_service_ids'] = [(6, 0, [option_id])] |
279 | |
280 | _logger.info("Updated '%s' basic service [%s]." % (group.name, lang)) |
281 | return {'additional_services': additional_services, |
282 | 'delivery_instructions': delivery_instructions} |
283 | |
284 | - def _update_service_groups(self, cr, uid, ids, web_service, company, context=None): |
285 | + def _update_service_groups(self, cr, uid, ids, web_service, company, |
286 | + context=None): |
287 | """ Also updates additional services and delivery instructions |
288 | as they are shared between groups |
289 | |
290 | @@ -353,29 +373,40 @@ |
291 | cr, uid, [('group_extid', '=', group_extid)], context=context) |
292 | data = {'name': group.Description} |
293 | if group_ids: |
294 | - service_group_obj.write(cr, uid, group_ids, data, context=context) |
295 | + service_group_obj.write(cr, uid, group_ids, data, |
296 | + context=context) |
297 | group_id = group_ids[0] |
298 | else: |
299 | data['group_extid'] = group_extid |
300 | - group_id = service_group_obj.create(cr, uid, data, context=context) |
301 | + group_id = service_group_obj.create(cr, uid, data, |
302 | + context=context) |
303 | |
304 | # Get related services for all basic services of this group |
305 | res = self._update_basic_services(cr, uid, ids, web_service, |
306 | - company, group_id, context=context) |
307 | + company, group_id, |
308 | + context=context) |
309 | |
310 | allowed_services = res.get('additional_services', {}) |
311 | for key, value in additional_services.iteritems(): |
312 | if key in allowed_services: |
313 | - option_ids = allowed_services[key]['postlogistics_basic_service_ids'][0][2] |
314 | - additional_services[key]['postlogistics_basic_service_ids'][0][2].extend(option_ids) |
315 | + a = allowed_services[key] |
316 | + option_ids = a['postlogistics_basic_service_ids'][0][2] |
317 | + (additional_services[key] |
318 | + ['postlogistics_basic_service_ids'] |
319 | + [0] |
320 | + [2]).extend(option_ids) |
321 | del allowed_services[key] |
322 | additional_services.update(allowed_services) |
323 | |
324 | allowed_services = res.get('delivery_instructions', {}) |
325 | for key, value in delivery_instructions.iteritems(): |
326 | if key in allowed_services: |
327 | - option_ids = allowed_services[key]['postlogistics_basic_service_ids'][0][2] |
328 | - delivery_instructions[key]['postlogistics_basic_service_ids'][0][2].extend(option_ids) |
329 | + a = allowed_services[key] |
330 | + option_ids = a['postlogistics_basic_service_ids'][0][2] |
331 | + (delivery_instructions[key] |
332 | + ['postlogistics_basic_service_ids'] |
333 | + [0] |
334 | + [2]).extend(option_ids) |
335 | del allowed_services[key] |
336 | delivery_instructions.update(allowed_services) |
337 | |
338 | @@ -383,7 +414,8 @@ |
339 | self._update_additional_services(cr, uid, ids, web_service, |
340 | additional_services, context=context) |
341 | self._update_delivery_instructions(cr, uid, ids, web_service, |
342 | - delivery_instructions, context=context) |
343 | + delivery_instructions, |
344 | + context=context) |
345 | |
346 | def update_postlogistics_options(self, cr, uid, ids, context=None): |
347 | """ This action will update all postlogistics option by |
348 | @@ -394,7 +426,6 @@ |
349 | """ |
350 | if context is None: |
351 | context = {} |
352 | - user_obj = self.pool.get('res.users') |
353 | for config in self.browse(cr, uid, ids, context=context): |
354 | company = config.company_id |
355 | web_service = PostlogisticsWebService(company) |
356 | @@ -402,12 +433,14 @@ |
357 | # make sure we create source text in en_US |
358 | ctx = context.copy() |
359 | ctx['lang'] = 'en_US' |
360 | - self._update_service_groups(cr, uid, ids, web_service, company, context=ctx) |
361 | + self._update_service_groups(cr, uid, ids, web_service, company, |
362 | + context=ctx) |
363 | |
364 | language_obj = self.pool.get('res.lang') |
365 | language_ids = language_obj.search(cr, uid, [], context=context) |
366 | |
367 | - languages = language_obj.browse(cr, uid, language_ids, context=context) |
368 | + languages = language_obj.browse(cr, uid, language_ids, |
369 | + context=context) |
370 | |
371 | # handle translations |
372 | # we call the same methode with a different language context |
373 | @@ -416,9 +449,10 @@ |
374 | ctx = context.copy() |
375 | ctx['lang'] = lang_br.code |
376 | postlogistics_lang = web_service._get_language(lang) |
377 | - # add translations only for languages that exists on postlogistics |
378 | - # english source will be kept for other languages |
379 | + # add translations only for languages that exists on |
380 | + # postlogistics english source will be kept for other languages |
381 | if postlogistics_lang == 'en': |
382 | continue |
383 | - self._update_service_groups(cr, uid, ids, web_service, company, context=ctx) |
384 | + self._update_service_groups(cr, uid, ids, web_service, company, |
385 | + context=ctx) |
386 | return True |
thanks Yannick