Fix flake8.

This commit is contained in:
Fekete Mihai
2014-11-10 14:54:50 +02:00
parent 2901bfb0a5
commit f62fc0a4a6
4 changed files with 59 additions and 58 deletions

View File

@@ -125,9 +125,9 @@ class Currency_rate_update_service(models.Model):
@api.onchange('interval_number')
def _onchange_interval_number(self):
if self.interval_number == 0:
self.note = "%s Service deactivated. Currencies will no longer "
self.note = "%s Service deactivated. Currencies will no longer " \
"be updated. \n%s" % (fields.Datetime.now(),
self.note and self.note or '')
self.note and self.note or '')
@api.onchange('service')
def _onchange_service(self):
@@ -153,33 +153,33 @@ class Currency_rate_update_service(models.Model):
if company_id:
currencies = self.env['res.currency'].search(
[('name', 'in', currency_list),
'|', ('company_id', '=', company_id),
('company_id', '=', False)])
'|', ('company_id', '=', company_id),
('company_id', '=', False)])
else:
currencies = self.env['res.currency'].search(
[('name', 'in', currency_list),
('company_id', '=', False)])
('company_id', '=', False)])
self.currency_list = [(6, 0, [curr.id for curr in currencies])]
# List of webservicies the value sould be a class name
service = fields.Selection([
('CH_ADMIN_getter', 'Admin.ch'),
('ECB_getter', 'European Central Bank'),
('YAHOO_getter', 'Yahoo Finance'),
# Added for polish rates
('PL_NBP_getter', 'Narodowy Bank Polski'),
# Added for mexican rates
('MX_BdM_getter', 'Banco de México'),
# Bank of Canada is using RSS-CB
# http://www.cbwiki.net/wiki/index.php/Specification_1.1
# This RSS format is used by other national banks
# (Thailand, Malaysia, Mexico...)
('CA_BOC_getter', 'Bank of Canada - noon rates'),
# Added for romanian rates
('RO_BNR_getter', 'National Bank of Romania')
],
"Webservice to use",
required=True)
service = fields.Selection(
[('CH_ADMIN_getter', 'Admin.ch'),
('ECB_getter', 'European Central Bank'),
('YAHOO_getter', 'Yahoo Finance'),
# Added for polish rates
('PL_NBP_getter', 'Narodowy Bank Polski'),
# Added for mexican rates
('MX_BdM_getter', 'Banco de México'),
# Bank of Canada is using RSS-CB
# http://www.cbwiki.net/wiki/index.php/Specification_1.1
# This RSS format is used by other national banks
# (Thailand, Malaysia, Mexico...)
('CA_BOC_getter', 'Bank of Canada - noon rates'),
# Added for romanian rates
('RO_BNR_getter', 'National Bank of Romania')
],
"Webservice to use",
required=True)
# List of currencies available on webservice
currency_list = fields.Many2many('res.currency',
'res_currency_update_avail_rel',
@@ -187,21 +187,21 @@ class Currency_rate_update_service(models.Model):
'currency_id',
'Currencies available')
# List of currency to update
currency_to_update = fields.Many2many(
'res.currency',
'res_currency_auto_update_rel',
'service_id',
'currency_id',
'Currencies to update with this service')
currency_to_update = fields.Many2many('res.currency',
'res_currency_auto_update_rel',
'service_id',
'currency_id',
'Currencies to update with this '
'service')
# Link with company
company_id = fields.Many2one('res.company', 'Linked Company')
# Note fileds that will be used as a logger
note = fields.Text('Update notice')
max_delta_days = fields.Integer('Max delta days',
default=4, required=True,
help="If the time delta between the rate date given by the webservice "
"and the current date exceeds this value, then the currency rate is not"
" updated in OpenERP.")
max_delta_days = fields.Integer(
'Max delta days', default=4, required=True,
help="If the time delta between the rate date given by the "
"webservice and the current date exceeds this value, "
"then the currency rate is not updated in OpenERP.")
interval_type = fields.Selection([
('days', 'Day(s)'),
('weeks', 'Week(s)'),
@@ -211,8 +211,10 @@ class Currency_rate_update_service(models.Model):
interval_number = fields.Integer('Frequency', default=1)
next_run = fields.Date('Next run on', default=fields.Date.today())
_sql_constraints = [('curr_service_unique', 'unique (service, company_id)',
_('You can use a service only one time per company !'))]
_sql_constraints = [('curr_service_unique',
'unique (service, company_id)',
_('You can use a service only one time per '
'company !'))]
@api.one
def refresh_currency(self):
@@ -243,22 +245,22 @@ class Currency_rate_update_service(models.Model):
# and return a dict of rate
getter = factory.register(self.service)
curr_to_fetch = map(lambda x: x.name,
self.currency_to_update)
self.currency_to_update)
res, log_info = getter.get_updated_currency(
curr_to_fetch,
main_curr.name,
self.max_delta_days
)
rate_name = fields.Datetime.to_string(
datetime.utcnow().replace(hour=0, minute=0,
second=0, microsecond=0))
rate_name = \
fields.Datetime.to_string(datetime.utcnow().replace(
hour=0, minute=0, second=0, microsecond=0))
for curr in self.currency_to_update:
if curr.id == main_curr.id:
continue
do_create = True
for rate in curr.rate_ids:
if rate.name == rate_name:
rate.rate= res[curr.name]
rate.rate = res[curr.name]
do_create = False
break
if do_create:
@@ -275,7 +277,7 @@ class Currency_rate_update_service(models.Model):
fields.Datetime.to_string(datetime.today()),
note
)
self.write({'note': msg})
self.write({'note': msg})
except Exception as exc:
error_msg = "\n%s ERROR : %s %s" % (
fields.Datetime.to_string(datetime.today()),

View File

@@ -138,7 +138,7 @@ class Currency_getter_interface(object):
# We always have a warning when rate_date != today
if rate_date.date() != datetime.today().date():
rate_date_str = fields.Date.to_string(rate_date)
msg = "The rate timestamp %s is not today's date %s" %
(rate_date_str, fields.Date.today())
msg = "The rate timestamp %s is not today's date %s" % \
(rate_date_str, fields.Date.today())
self.log_info = ("\n WARNING : %s") % msg
_logger.warning(msg)

View File

@@ -91,7 +91,7 @@ class CA_BOC_getter(Currency_getter_interface):
"%s. Please check provider data format "
"and/or source code." % curr)
raise except_orm(_('Error !'),
_('Exchange data format error for\
Bank of Canada - %s !' % str(curr)))
_('Exchange data format error for\
Bank of Canada - %s !' % str(curr)))
return self.updated_currency, self.log_info

View File

@@ -63,16 +63,15 @@ class RO_BNR_getter(Currency_getter_interface):
adminch_ns = {'def': 'http://www.bnr.ro/xsd'}
rate_date = dom.xpath('/def:DataSet/def:Body/def:Cube/@date',
namespaces=adminch_ns)[0]
rate_date_datetime = datetime.strptime(rate_date,
'%Y-%m-%d') + \
timedelta(days=1)
rate_date_datetime = datetime.strptime(rate_date, '%Y-%m-%d') + \
timedelta(days=1)
self.check_rate_date(rate_date_datetime, max_delta_days)
# we dynamically update supported currencies
self.supported_currency_array = dom.xpath("/def:DataSet/def:Body/" + \
"def:Cube/def:Rate/@currency",
namespaces=adminch_ns)
self.supported_currency_array = [x.upper() for x in \
self.supported_currency_array]
self.supported_currency_array = dom.xpath(
"/def:DataSet/def:Body/" + "def:Cube/def:Rate/@currency",
namespaces=adminch_ns)
self.supported_currency_array = [
x.upper() for x in self.supported_currency_array]
self.supported_currency_array.append('RON')
self.validate_cur(main_currency)
@@ -80,7 +79,7 @@ class RO_BNR_getter(Currency_getter_interface):
main_curr_data = self.rate_retrieve(dom, adminch_ns, main_currency)
# 1 MAIN_CURRENCY = main_rate RON
main_rate = main_curr_data['rate_currency'] / \
main_curr_data['rate_ref']
main_curr_data['rate_ref']
for curr in currency_array:
self.validate_cur(curr)
if curr == 'RON':
@@ -92,8 +91,8 @@ class RO_BNR_getter(Currency_getter_interface):
rate = curr_data['rate_ref'] / curr_data['rate_currency']
else:
rate = main_rate * curr_data['rate_ref'] / \
curr_data['rate_currency']
curr_data['rate_currency']
self.updated_currency[curr] = rate
_logger.debug("BNR Rate retrieved : 1 " + main_currency +
' = ' + str(rate) + ' ' + curr)
_logger.debug("BNR Rate retrieved : 1 " + main_currency + ' = ' +
str(rate) + ' ' + curr)
return self.updated_currency, self.log_info