Remove support for Python 2.7

issue7497
review53261002
This commit is contained in:
Cédric Krier
2018-06-26 19:11:56 +02:00
parent a11fb2ecb9
commit e145fbfbcb
8 changed files with 24 additions and 42 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
* Check no move when modify product of lot
Version 4.8.0 - 2018-04-23
+1 -1
View File
@@ -4,7 +4,7 @@ Installing trytond_stock_lot
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_product (http://www.tryton.org/)
* trytond_stock (http://www.tryton.org/)
+2 -4
View File
@@ -7,8 +7,7 @@ from trytond.pool import PoolMeta
__all__ = ['Template', 'Product', 'TemplateLotType']
class Template:
__metaclass__ = PoolMeta
class Template(metaclass=PoolMeta):
__name__ = 'product.template'
# TODO to replace with a Multiple Selection
@@ -21,8 +20,7 @@ class Template:
depends=['type'])
class Product:
__metaclass__ = PoolMeta
class Product(metaclass=PoolMeta):
__name__ = 'product.product'
def lot_is_required(self, from_, to):
+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'))
@@ -102,7 +100,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',
@@ -111,6 +108,7 @@ setup(name=name,
'Topic :: Office/Business',
],
license='GPL-3',
python_requires='>=3.4',
install_requires=requires,
dependency_links=dependency_links,
zip_safe=False,
@@ -121,6 +119,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_stock_lot_shipment_out.rst'],
)
+7 -14
View File
@@ -120,8 +120,7 @@ class LotType(ModelSQL, ModelView):
code = fields.Char('Code', required=True)
class Move:
__metaclass__ = PoolMeta
class Move(metaclass=PoolMeta):
__name__ = 'stock.move'
lot = fields.Many2One('stock.lot', 'Lot',
domain=[
@@ -155,8 +154,7 @@ class Move:
move.check_lot()
class ShipmentIn:
__metaclass__ = PoolMeta
class ShipmentIn(metaclass=PoolMeta):
__name__ = 'stock.shipment.in'
@classmethod
@@ -167,8 +165,7 @@ class ShipmentIn:
return move
class ShipmentOut:
__metaclass__ = PoolMeta
class ShipmentOut(metaclass=PoolMeta):
__name__ = 'stock.shipment.out'
@classmethod
@@ -211,8 +208,7 @@ class ShipmentOut:
Move.write(*to_write)
class ShipmentOutReturn:
__metaclass__ = PoolMeta
class ShipmentOutReturn(metaclass=PoolMeta):
__name__ = 'stock.shipment.out.return'
@classmethod
@@ -224,8 +220,7 @@ class ShipmentOutReturn:
return move
class Period:
__metaclass__ = PoolMeta
class Period(metaclass=PoolMeta):
__name__ = 'stock.period'
lot_caches = fields.One2Many('stock.period.cache.lot', 'period',
'Lot Caches', readonly=True)
@@ -261,8 +256,7 @@ class PeriodCacheLot(ModelSQL, ModelView):
internal_quantity = fields.Float('Internal Quantity', readonly=True)
class Inventory:
__metaclass__ = PoolMeta
class Inventory(metaclass=PoolMeta):
__name__ = 'stock.inventory'
@classmethod
@@ -270,8 +264,7 @@ class Inventory:
return super(Inventory, cls).grouping() + ('lot', )
class InventoryLine:
__metaclass__ = PoolMeta
class InventoryLine(metaclass=PoolMeta):
__name__ = 'stock.inventory.line'
lot = fields.Many2One('stock.lot', 'Lot',
domain=[
+3 -3
View File
@@ -99,7 +99,7 @@ Assign the shipment with 2 lines of 7 products::
... move.quantity = 7
>>> shipment_out.click('assign_force')
>>> shipment_out.state
u'assigned'
'assigned'
Set 2 lots::
@@ -114,7 +114,7 @@ Pack the shipment::
>>> shipment_out.click('pack')
>>> shipment_out.state
u'packed'
'packed'
>>> len(shipment_out.outgoing_moves)
3
>>> sorted([m.quantity for m in shipment_out.outgoing_moves])
@@ -124,4 +124,4 @@ Pack the shipment::
... quantity = lot_quantities.setdefault(move.lot.number, 0)
... lot_quantities[move.lot.number] += move.quantity
>>> sorted(lot_quantities.items())
[(u'00001', 7.0), (u'00002', 7.0)]
[('00001', 7.0), ('00002', 7.0)]
+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://}