Remove support for Python 2.7

issue7497
review53261002
This commit is contained in:
Cédric Krier
2018-06-26 19:11:54 +02:00
parent 4c861adb1b
commit dfb1e7c8d5
8 changed files with 27 additions and 45 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
+1
View File
@@ -1,3 +1,4 @@
* Remove support for Python 2.7
* Invoice shipment cost with cost method on order and invoice method on
shipment when at least one shipment is done.
+1 -1
View File
@@ -4,7 +4,7 @@ Installing trytond_sale_shipment_cost
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_carrier (http://www.tryton.org/)
* trytond_sale (http://www.tryton.org/)
+6 -12
View File
@@ -25,8 +25,7 @@ def get_sale_methods(field_name):
return func
class Configuration:
__metaclass__ = PoolMeta
class Configuration(metaclass=PoolMeta):
__name__ = 'sale.configuration'
sale_shipment_cost_method = fields.MultiValue(sale_shipment_cost_method)
get_sale_shipment_cost_methods = get_sale_methods('shipment_cost_method')
@@ -44,8 +43,7 @@ class Configuration:
'sale_shipment_cost_method').default_sale_shipment_cost_method()
class ConfigurationSaleMethod:
__metaclass__ = PoolMeta
class ConfigurationSaleMethod(metaclass=PoolMeta):
__name__ = 'sale.configuration.sale_method'
sale_shipment_cost_method = sale_shipment_cost_method
get_sale_shipment_cost_methods = get_sale_methods('shipment_cost_method')
@@ -75,8 +73,7 @@ class ConfigurationSaleMethod:
return 'order'
class Sale:
__metaclass__ = PoolMeta
class Sale(metaclass=PoolMeta):
__name__ = 'sale.sale'
carrier = fields.Many2One('carrier', 'Carrier',
domain=[
@@ -318,8 +315,7 @@ class Sale:
return invoice
class SaleLine:
__metaclass__ = PoolMeta
class SaleLine(metaclass=PoolMeta):
__name__ = 'sale.line'
shipment_cost = fields.Numeric('Shipment Cost', digits=price_digits)
@@ -337,8 +333,7 @@ class SaleLine:
return quantity
class ReturnSale:
__metaclass__ = PoolMeta
class ReturnSale(metaclass=PoolMeta):
__name__ = 'sale.return_sale'
def do_return_(self, action):
@@ -359,8 +354,7 @@ class ReturnSale:
return action, data
class Promotion:
__metaclass__ = PoolMeta
class Promotion(metaclass=PoolMeta):
__name__ = 'sale.promotion'
def get_context_formula(self, sale_line):
+7 -13
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',
@@ -113,6 +110,7 @@ setup(name=name,
'Topic :: Office/Business',
],
license='GPL-3',
python_required='>=3.4',
install_requires=requires,
extras_require={
},
@@ -125,8 +123,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_sale_shipment_cost.rst',
],
)
+1 -2
View File
@@ -12,8 +12,7 @@ from trytond.modules.product import price_digits
__all__ = ['ShipmentOut']
class ShipmentOut:
__metaclass__ = PoolMeta
class ShipmentOut(metaclass=PoolMeta):
__name__ = 'stock.shipment.out'
carrier = fields.Many2One('carrier', 'Carrier', states={
'readonly': ~Eval('state').in_(['draft', 'waiting', 'assigned',
+8 -8
View File
@@ -129,7 +129,7 @@ Sale products with cost on shipment::
>>> sale.click('confirm')
>>> sale.click('process')
>>> sale.state
u'processing'
'processing'
>>> sale.untaxed_amount
Decimal('103.00')
@@ -150,16 +150,16 @@ Send products::
>>> shipment.cost_currency == company.currency
True
>>> shipment.state
u'waiting'
'waiting'
>>> shipment.click('assign_force')
>>> shipment.state
u'assigned'
'assigned'
>>> shipment.click('pack')
>>> shipment.state
u'packed'
'packed'
>>> shipment.click('done')
>>> shipment.state
u'done'
'done'
Check customer invoice::
@@ -193,7 +193,7 @@ Sale products with cost on order::
>>> sale.click('confirm')
>>> sale.click('process')
>>> sale.state
u'processing'
'processing'
>>> sale.untaxed_amount
Decimal('63.00')
@@ -241,7 +241,7 @@ Sale products with cost on order and invoice method on shipment::
>>> sale.click('confirm')
>>> sale.click('process')
>>> sale.state
u'processing'
'processing'
Check no customer invoice::
@@ -255,7 +255,7 @@ Send products::
>>> shipment.click('pack')
>>> shipment.click('done')
>>> shipment.state
u'done'
'done'
Check customer invoice::
+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://}