Merge lp:~camptocamp/carriers-deliveries/7.0-delivery_carrier_label_postlogistics-pep8 into lp:~stock-logistic-core-editors/carriers-deliveries/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
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
To post a comment you must log in.
Revision history for this message
Leonardo Pistone (lepistone) wrote :

thanks Yannick

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

Subscribers

People subscribed via source and target branches