Skip to content

Commit b541011

Browse files
[IMP] base_delivery_carrier_files: black, isort, prettier
1 parent 42d4b9c commit b541011

23 files changed

+335
-285
lines changed

base_delivery_carrier_files/__init__.py

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# -*- coding: utf-8 -*-
21
# Copyright 2012 Camptocamp SA
32
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
43

+17-22
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,24 @@
1-
# -*- coding: utf-8 -*-
21
# Copyright 2012 Camptocamp SA
32
# Author: Guewen Baconnier
43
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
54
{
6-
'name': 'Base Delivery Carrier Files',
7-
'version': '12.0.1.0.1',
8-
'category': 'Generic Modules/Warehouse',
9-
'author': "Camptocamp,Odoo Community Association (OCA)",
10-
'license': 'AGPL-3',
11-
'website': 'https://github.com/OCA/delivery-carrier',
12-
'depends': [
13-
'base',
14-
'stock',
15-
'delivery'
5+
"name": "Base Delivery Carrier Files",
6+
"version": "12.0.1.0.1",
7+
"category": "Generic Modules/Warehouse",
8+
"author": "Camptocamp,Odoo Community Association (OCA)",
9+
"license": "AGPL-3",
10+
"website": "https://github.com/OCA/delivery-carrier",
11+
"depends": ["base", "stock", "delivery"],
12+
"demo": [
13+
"data/carrier_file_demo.xml",
1614
],
17-
'demo': [
18-
'data/carrier_file_demo.xml',
15+
"data": [
16+
"views/carrier_file_view.xml",
17+
"views/stock_view.xml",
18+
"wizards/generate_carrier_files_view.xml",
19+
"security/ir.model.access.csv",
1920
],
20-
'data': [
21-
'views/carrier_file_view.xml',
22-
'views/stock_view.xml',
23-
'wizards/generate_carrier_files_view.xml',
24-
'security/ir.model.access.csv',
25-
],
26-
'summary': 'Base module for creation of delivery carrier files',
27-
'installable': True,
28-
'auto_install': False,
21+
"summary": "Base module for creation of delivery carrier files",
22+
"installable": True,
23+
"auto_install": False,
2924
}
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
# -*- coding: utf-8 -*-
2-
31
from .unicode_writer import UnicodeWriter

base_delivery_carrier_files/csv_writer/unicode_writer.py

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
# -*- coding: utf-8 -*-
21
# CSV writer from python doc
3-
import csv
42
import codecs
5-
3+
import csv
64
from io import StringIO
75

86

@@ -22,7 +20,7 @@ def __init__(self, f, dialect=csv.excel, encoding="utf-8", **kwds):
2220

2321
def writerow(self, row):
2422
# we ensure that we do not try to encode None or bool
25-
row = [x or '' for x in row]
23+
row = [x or "" for x in row]
2624
self.writer.writerow(row)
2725
# Fetch output from the queue ...
2826
data = self.queue.getvalue()

base_delivery_carrier_files/data/carrier_file_demo.xml

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
1-
<?xml version="1.0" encoding="utf-8"?>
1+
<?xml version="1.0" encoding="utf-8" ?>
22
<odoo>
33
<data>
44

55
<record id="delivery_carrier_file" model="delivery.carrier.file">
66
<field name="name">Generic</field>
77
<field name="type">generic</field>
8-
<field name="auto_export" eval="True"/>
9-
<field name="group_pickings" eval="False"/>
8+
<field name="auto_export" eval="True" />
9+
<field name="group_pickings" eval="False" />
1010
<field name="write_mode">disk</field>
1111
<field name="export_path">/tmp</field>
1212
</record>
1313

1414
<record id="delivery_carrier_file_manual" model="delivery.carrier.file">
1515
<field name="name">Generic Manual</field>
1616
<field name="type">generic</field>
17-
<field name="auto_export" eval="False"/>
18-
<field name="group_pickings" eval="True"/>
17+
<field name="auto_export" eval="False" />
18+
<field name="group_pickings" eval="True" />
1919
<field name="write_mode">disk</field>
2020
<field name="export_path">/tmp</field>
2121
</record>

base_delivery_carrier_files/generator/__init__.py

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# -*- coding: utf-8 -*-
21
# Copyright 2012 Camptocamp SA
32
# Author: Guewen Baconnier
43
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

base_delivery_carrier_files/generator/base_line.py

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# -*- coding: utf-8 -*-
21
# Copyright 2012 Camptocamp SA
32
# Author: Guewen Baconnier
43
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
@@ -54,6 +53,7 @@ class MyLine(BaseLine):
5453
row.get_fields()
5554
=> ['x', 'long']
5655
"""
56+
5757
fields = ()
5858

5959
def __init__(self):
@@ -69,7 +69,7 @@ def __init__(self):
6969
field_name, _ = self._field_definition(field)
7070
if not field_name:
7171
continue
72-
setattr(self, field_name, '')
72+
setattr(self, field_name, "")
7373

7474
@staticmethod
7575
def _field_definition(field):
@@ -83,13 +83,13 @@ def _field_definition(field):
8383
"""
8484
width = False
8585
if field in (False, None):
86-
field_name = ''
86+
field_name = ""
8787
elif isinstance(field, tuple):
8888
field_name, width = field
8989
elif isinstance(field, str):
9090
field_name = field
9191
else:
92-
raise ValueError("Wrong field definition for field %s" % (field,))
92+
raise ValueError("Wrong field definition for field {}".format(field))
9393
return field_name, width
9494

9595
def get_fields(self):
@@ -110,13 +110,13 @@ def get_fields(self):
110110
if isinstance(value, (int, float)):
111111
value = str(value)
112112
elif value in (False, None):
113-
value = ''
113+
value = ""
114114
elif not isinstance(value, str):
115-
value = str(value, 'utf-8')
115+
value = str(value, "utf-8")
116116
if width:
117117
value = value[0:width]
118118
else:
119-
value = ''
119+
value = ""
120120
res.append(value)
121121
return res
122122

base_delivery_carrier_files/generator/file_generator.py

+9-12
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
1-
# -*- coding: utf-8 -*-
21
# Copyright 2012 Camptocamp SA
32
# Author: Guewen Baconnier
43
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
54

6-
import string
75
import datetime
6+
import string
87
from io import StringIO
98

109

1110
class CarrierFileGenerator(object):
12-
1311
def __init__(self, carrier_name):
1412
self.carrier_name = carrier_name
1513

@@ -19,8 +17,8 @@ def carrier_for(cls, carrier_name):
1917

2018
@staticmethod
2119
def sanitize_filename(name):
22-
valid_chars = "-_.() %s%s" % (string.ascii_letters, string.digits)
23-
return ''.join(c for c in name if c in valid_chars)
20+
valid_chars = "-_.() {}{}".format(string.ascii_letters, string.digits)
21+
return "".join(c for c in name if c in valid_chars)
2422

2523
@staticmethod
2624
def _filename_date(timestamp=None):
@@ -33,7 +31,7 @@ def _filename_date(timestamp=None):
3331
:return: a date as str
3432
"""
3533
date = timestamp or datetime.datetime.now()
36-
return date.strftime('%Y%m%d_%H%M%S')
34+
return date.strftime("%Y%m%d_%H%M%S")
3735

3836
def generate_files(self, pickings, configuration):
3937
"""
@@ -53,7 +51,7 @@ def generate_files(self, pickings, configuration):
5351
else:
5452
return self._generate_files_single(pickings, configuration)
5553

56-
def _get_filename_single(self, picking, configuration, extension='csv'):
54+
def _get_filename_single(self, picking, configuration, extension="csv"):
5755
"""
5856
Generate the filename for a picking when one file is
5957
generated for one picking
@@ -65,9 +63,9 @@ def _get_filename_single(self, picking, configuration, extension='csv'):
6563
:param str extension: extension of the file to create, csv by default
6664
:return: a string with the name of the file
6765
"""
68-
return "%s_%s.%s" % (picking.name, self._filename_date(), extension)
66+
return "{}_{}.{}".format(picking.name, self._filename_date(), extension)
6967

70-
def _get_filename_grouped(self, configuration, extension='csv'):
68+
def _get_filename_grouped(self, configuration, extension="csv"):
7169
"""
7270
Generate the filename for a file which group many pickings.
7371
When pickings are grouped in one file, the filename cannot
@@ -79,7 +77,7 @@ def _get_filename_grouped(self, configuration, extension='csv'):
7977
:param str extension: extension of the file to create, csv by default
8078
:return: a string with the name of the file
8179
"""
82-
return "%s_%s.%s" % ('out', self._filename_date(), extension)
80+
return "{}_{}.{}".format("out", self._filename_date(), extension)
8381

8482
def _get_rows(self, picking, configuration):
8583
"""
@@ -121,8 +119,7 @@ def _get_file(self, rows, configuration):
121119
"""
122120
file_handle = StringIO()
123121
try:
124-
file_handle = self._write_rows(file_handle,
125-
rows, configuration)
122+
file_handle = self._write_rows(file_handle, rows, configuration)
126123
file_content = file_handle.getvalue()
127124
finally:
128125
file_handle.close()
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,36 @@
1-
# -*- coding: utf-8 -*-
21
# Copyright 2012 Camptocamp SA
32
# Author: Guewen Baconnier
43
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
54

65
import csv
76

8-
from .file_generator import CarrierFileGenerator
9-
from .base_line import BaseLine
107
from ..csv_writer import UnicodeWriter
8+
from .base_line import BaseLine
9+
from .file_generator import CarrierFileGenerator
1110

1211

1312
class GenericLine(BaseLine):
14-
fields = ('reference',
15-
'name',
16-
'contact',
17-
'street1',
18-
'street2',
19-
'zip',
20-
'city',
21-
'state',
22-
'country_code',
23-
'phone',
24-
'mail',
25-
'delivery_name',
26-
'weight')
13+
fields = (
14+
"reference",
15+
"name",
16+
"contact",
17+
"street1",
18+
"street2",
19+
"zip",
20+
"city",
21+
"state",
22+
"country_code",
23+
"phone",
24+
"mail",
25+
"delivery_name",
26+
"weight",
27+
)
2728

2829

2930
class LaPosteFileGenerator(CarrierFileGenerator):
30-
3131
@classmethod
3232
def carrier_for(cls, carrier_name):
33-
return carrier_name == 'generic'
33+
return carrier_name == "generic"
3434

3535
def _get_rows(self, picking, configuration):
3636
"""
@@ -53,13 +53,13 @@ def _get_rows(self, picking, configuration):
5353
line.zip = partner.zip
5454
line.city = partner.city
5555
line.state = (partner.state_id and partner.state_id.name) or False
56-
line.country_code =\
57-
(partner.country_id and partner.country_id.code) or False
56+
line.country_code = (
57+
partner.country_id and partner.country_id.code
58+
) or False
5859
line.phone = partner.phone or partner.mobile
5960
line.mail = partner.email
60-
line.delivery_name =\
61-
(picking.carrier_id and picking.carrier_id.name) or False
62-
line.weight = "%.2f" % (picking.weight,)
61+
line.delivery_name = (picking.carrier_id and picking.carrier_id.name) or False
62+
line.weight = "{:.2f}".format(picking.weight)
6363
return [line.get_fields()]
6464

6565
def _write_rows(self, file_handle, rows, configuration):
@@ -72,7 +72,12 @@ def _write_rows(self, file_handle, rows, configuration):
7272
the file to generate
7373
:return: the file_handle as StringIO with the rows written in it
7474
"""
75-
writer = UnicodeWriter(file_handle, delimiter=',', quotechar='"',
76-
lineterminator='\n', quoting=csv.QUOTE_ALL)
75+
writer = UnicodeWriter(
76+
file_handle,
77+
delimiter=",",
78+
quotechar='"',
79+
lineterminator="\n",
80+
quoting=csv.QUOTE_ALL,
81+
)
7782
writer.writerows(rows)
7883
return file_handle

base_delivery_carrier_files/models/__init__.py

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# -*- coding: utf-8 -*-
21
# Copyright 2012 Camptocamp SA
32
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
43

Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
# -*- coding: utf-8 -*-
21
# Copyright 2012 Camptocamp SA
32
# Author: Guewen Baconnier
43
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
54

6-
from odoo import models, fields
5+
from odoo import fields, models
76

87

98
class DeliveryCarrier(models.Model):
10-
_inherit = 'delivery.carrier'
9+
_inherit = "delivery.carrier"
1110

12-
carrier_file_id = fields.Many2one('delivery.carrier.file', 'Carrier File')
11+
carrier_file_id = fields.Many2one("delivery.carrier.file", "Carrier File")

0 commit comments

Comments
 (0)