Remove support for Python 2.7

issue7497
review53261002
This commit is contained in:
Cédric Krier
2018-06-26 19:11:42 +02:00
parent d1a061d9fc
commit b7ccd5f9a0
9 changed files with 26 additions and 40 deletions
-6
View File
@@ -25,12 +25,6 @@ services:
matrix:
include:
- IMAGE: python:2.7
TOXENV: py27
DATABASE: sqlite
- IMAGE: python:2.7
TOXENV: py27
DATABASE: postgresql
- IMAGE: python:3.4
TOXENV: py34
DATABASE: sqlite
+2
View File
@@ -1,3 +1,5 @@
* Remove support for Python 2.7
Version 4.8.0 - 2018-04-23
* Bug fixes (see mercurial logs for details)
* Check pending payment to erase party
+1 -1
View File
@@ -4,7 +4,7 @@ Installing trytond_account_payment
Prerequisites
-------------
* Python 2.7 or later (http://www.python.org/)
* Python 3.4 or later (http://www.python.org/)
* trytond (http://www.tryton.org/)
* trytond_party (http://www.tryton.org/)
* trytond_account (http://www.tryton.org/)
+5 -8
View File
@@ -24,8 +24,7 @@ __all__ = ['MoveLine', 'PayLine', 'PayLineAskJournal',
'Invoice']
class MoveLine:
__metaclass__ = PoolMeta
class MoveLine(metaclass=PoolMeta):
__name__ = 'account.move.line'
payment_amount = fields.Function(fields.Numeric('Payment Amount',
digits=(16,
@@ -63,7 +62,7 @@ class MoveLine:
super(MoveLine, cls).__setup__()
cls._buttons.update({
'pay': {
'invisible': ~Eval('payment_kind').in_(dict(KINDS).keys()),
'invisible': ~Eval('payment_kind').in_(list(dict(KINDS).keys())),
'depends': ['payment_kind'],
},
'payment_block': {
@@ -262,7 +261,7 @@ class PayLine(Wizard):
values['journal'] = journal.id
values['company'] = company.id
values['currency'] = currency.id
values['journals'] = [j.id for j in self._get_journals().itervalues()]
values['journals'] = [j.id for j in self._get_journals().values()]
return values
def get_payment(self, line, journals):
@@ -306,8 +305,7 @@ class PayLine(Wizard):
}
class Configuration:
__metaclass__ = PoolMeta
class Configuration(metaclass=PoolMeta):
__name__ = 'account.configuration'
payment_group_sequence = fields.MultiValue(fields.Many2One(
'ir.sequence', 'Payment Group Sequence', required=True,
@@ -364,8 +362,7 @@ class ConfigurationPaymentGroupSequence(ModelSQL, CompanyValueMixin):
return None
class Invoice:
__metaclass__ = PoolMeta
class Invoice(metaclass=PoolMeta):
__name__ = 'account.invoice'
payment_direct_debit = fields.Boolean("Direct Debit",
+3 -6
View File
@@ -9,8 +9,7 @@ payment_direct_debit = fields.Boolean(
"Direct Debit", help="Check if supplier does direct debit.")
class Party:
__metaclass__ = PoolMeta
class Party(metaclass=PoolMeta):
__name__ = 'party.party'
payment_direct_debit = fields.MultiValue(payment_direct_debit)
@@ -30,8 +29,7 @@ class PartyPaymentDirectDebit(ModelSQL, CompanyValueMixin):
payment_direct_debit = payment_direct_debit
class PartyReplace:
__metaclass__ = PoolMeta
class PartyReplace(metaclass=PoolMeta):
__name__ = 'party.replace'
@classmethod
@@ -41,8 +39,7 @@ class PartyReplace:
]
class PartyErase:
__metaclass__ = PoolMeta
class PartyErase(metaclass=PoolMeta):
__name__ = 'party.erase'
@classmethod
+7 -11
View File
@@ -1,15 +1,12 @@
#!/usr/bin/env python
#!/usr/bin/env python3
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from setuptools import setup
import re
import os
import io
try:
from configparser import ConfigParser
except ImportError:
from ConfigParser import ConfigParser
import os
import re
from configparser import ConfigParser
from setuptools import setup
def read(fname):
@@ -27,6 +24,7 @@ def get_require_version(name):
major_version, minor_version + 1)
return require
config = ConfigParser()
config.readfp(open('tryton.cfg'))
info = dict(config.items('tryton'))
@@ -104,7 +102,6 @@ setup(name=name,
'Natural Language :: Slovenian',
'Natural Language :: Spanish',
'Operating System :: OS Independent',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
@@ -114,6 +111,7 @@ setup(name=name,
'Topic :: Office/Business :: Financial :: Accounting',
],
license='GPL-3',
python_requires='>=3.4',
install_requires=requires,
dependency_links=dependency_links,
zip_safe=False,
@@ -124,6 +122,4 @@ setup(name=name,
test_suite='tests',
test_loader='trytond.test_loader:Loader',
tests_require=tests_require,
use_2to3=True,
convert_2to3_doctests=['tests/scenario_account_payment.rst'],
)
+3 -3
View File
@@ -76,12 +76,12 @@ Partially pay line::
>>> payment.amount = Decimal('20.00')
>>> payment.click('approve')
>>> payment.state
u'approved'
'approved'
>>> process_payment = Wizard('account.payment.process', [payment])
>>> process_payment.execute('process')
>>> payment.reload()
>>> payment.state
u'processing'
'processing'
>>> line.reload()
>>> line.payment_amount
Decimal('30.00')
@@ -102,7 +102,7 @@ Partially fail to pay the remaining::
>>> payment.reload()
>>> payment.click('fail')
>>> payment.state
u'failed'
'failed'
>>> line.reload()
>>> line.payment_amount
Decimal('30.00')
+2 -2
View File
@@ -65,7 +65,7 @@ Create invoice::
>>> line.unit_price = Decimal('100')
>>> invoice.click('post')
>>> invoice.state
u'posted'
'posted'
>>> invoice.amount_to_pay
Decimal('100.00')
>>> line_to_pay, = invoice.lines_to_pay
@@ -145,7 +145,7 @@ Create invoice::
>>> line.unit_price = Decimal('50')
>>> invoice.click('post')
>>> invoice.state
u'posted'
'posted'
>>> line_to_pay, = invoice.lines_to_pay
>>> bool(line_to_pay.payment_direct_debit)
True
+3 -3
View File
@@ -1,11 +1,11 @@
[tox]
envlist = {py27,py34,py35,py36}-{sqlite,postgresql},pypy-{sqlite,postgresql}
envlist = {py34,py35,py36}-{sqlite,postgresql},pypy3-{sqlite,postgresql}
[testenv]
commands = {envpython} setup.py test
deps =
{py27,py34,py35,py36}-postgresql: psycopg2 >= 2.5
pypy-postgresql: psycopg2cffi >= 2.5
{py34,py35,py36}-postgresql: psycopg2 >= 2.5
pypy3-postgresql: psycopg2cffi >= 2.5
sqlite: sqlitebck
setenv =
sqlite: TRYTOND_DATABASE_URI={env:SQLITE_URI:sqlite://}