Remove support for Python 2.7
issue7497 review53261002
This commit is contained in:
@@ -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,3 +1,5 @@
|
||||
* Remove support for Python 2.7
|
||||
|
||||
Version 4.8.0 - 2018-04-23
|
||||
* Bug fixes (see mercurial logs for details)
|
||||
* Create requests depending on the shipment method
|
||||
|
||||
@@ -4,7 +4,7 @@ Installing trytond_sale_supply
|
||||
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_sale (http://www.tryton.org/)
|
||||
* trytond_purchase (http://www.tryton.org/)
|
||||
|
||||
+2
-4
@@ -7,8 +7,7 @@ from trytond.pyson import Eval
|
||||
__all__ = ['Template', 'Product']
|
||||
|
||||
|
||||
class Template:
|
||||
__metaclass__ = PoolMeta
|
||||
class Template(metaclass=PoolMeta):
|
||||
__name__ = 'product.template'
|
||||
|
||||
supply_on_sale = fields.Boolean('Supply On Sale',
|
||||
@@ -18,6 +17,5 @@ class Template:
|
||||
depends=['purchasable', 'salable'])
|
||||
|
||||
|
||||
class Product:
|
||||
__metaclass__ = PoolMeta
|
||||
class Product(metaclass=PoolMeta):
|
||||
__name__ = 'product.product'
|
||||
|
||||
+3
-6
@@ -11,8 +11,7 @@ __all__ = ['PurchaseRequest', 'Purchase',
|
||||
'HandlePurchaseCancellationException']
|
||||
|
||||
|
||||
class PurchaseRequest:
|
||||
__metaclass__ = PoolMeta
|
||||
class PurchaseRequest(metaclass=PoolMeta):
|
||||
__name__ = 'purchase.request'
|
||||
|
||||
sale_lines = fields.One2Many(
|
||||
@@ -45,8 +44,7 @@ class PurchaseRequest:
|
||||
Sale.process(Sale.browse(sale_ids))
|
||||
|
||||
|
||||
class Purchase:
|
||||
__metaclass__ = PoolMeta
|
||||
class Purchase(metaclass=PoolMeta):
|
||||
__name__ = 'purchase.purchase'
|
||||
|
||||
@classmethod
|
||||
@@ -82,8 +80,7 @@ class Purchase:
|
||||
cls._sale_supply_process(purchases)
|
||||
|
||||
|
||||
class HandlePurchaseCancellationException:
|
||||
__metaclass__ = PoolMeta
|
||||
class HandlePurchaseCancellationException(metaclass=PoolMeta):
|
||||
__name__ = 'purchase.request.handle.purchase.cancellation'
|
||||
|
||||
def transition_cancel_request(self):
|
||||
|
||||
@@ -7,8 +7,7 @@ from trytond.pyson import Eval
|
||||
__all__ = ['Sale', 'SaleLine']
|
||||
|
||||
|
||||
class Sale:
|
||||
__metaclass__ = PoolMeta
|
||||
class Sale(metaclass=PoolMeta):
|
||||
__name__ = 'sale.sale'
|
||||
|
||||
def is_done(self):
|
||||
@@ -58,8 +57,7 @@ class Sale:
|
||||
ShipmentOut.wait(shipments)
|
||||
|
||||
|
||||
class SaleLine:
|
||||
__metaclass__ = PoolMeta
|
||||
class SaleLine(metaclass=PoolMeta):
|
||||
__name__ = 'sale.line'
|
||||
|
||||
purchase_request = fields.Many2One('purchase.request', 'Purchase Request',
|
||||
@@ -177,8 +175,7 @@ class SaleLine:
|
||||
if move.state != 'draft':
|
||||
continue
|
||||
location_qties_converted = {}
|
||||
for location_id, quantity in (
|
||||
location_quantities.iteritems()):
|
||||
for location_id, quantity in location_quantities.items():
|
||||
location_qties_converted[location_id] = (
|
||||
Uom.compute_qty(move.product.default_uom,
|
||||
quantity, move.uom, round=False))
|
||||
|
||||
@@ -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'))
|
||||
@@ -101,7 +99,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 :: Financial :: Accounting',
|
||||
],
|
||||
license='GPL-3',
|
||||
python_requires='>=3.4',
|
||||
install_requires=requires,
|
||||
dependency_links=dependency_links,
|
||||
zip_safe=False,
|
||||
@@ -121,8 +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_sale_supply.rst',
|
||||
],
|
||||
)
|
||||
|
||||
@@ -9,8 +9,7 @@ from trytond.pool import Pool, PoolMeta
|
||||
__all__ = ['ShipmentIn']
|
||||
|
||||
|
||||
class ShipmentIn:
|
||||
__metaclass__ = PoolMeta
|
||||
class ShipmentIn(metaclass=PoolMeta):
|
||||
__name__ = 'stock.shipment.in'
|
||||
|
||||
@classmethod
|
||||
|
||||
@@ -129,14 +129,14 @@ Sale 250 products::
|
||||
>>> sale.click('confirm')
|
||||
>>> sale.click('process')
|
||||
>>> sale.state
|
||||
u'processing'
|
||||
'processing'
|
||||
>>> shipment, = sale.shipments
|
||||
>>> move, = shipment.outgoing_moves
|
||||
>>> move.state
|
||||
u'staging'
|
||||
'staging'
|
||||
>>> move, = shipment.inventory_moves
|
||||
>>> move.state
|
||||
u'staging'
|
||||
'staging'
|
||||
|
||||
Delete Purchase Request::
|
||||
|
||||
@@ -167,16 +167,16 @@ Create Purchase from Request::
|
||||
>>> purchase.click('confirm')
|
||||
>>> purchase.click('process')
|
||||
>>> purchase.state
|
||||
u'processing'
|
||||
'processing'
|
||||
>>> set_user(sale_user)
|
||||
>>> sale.reload()
|
||||
>>> shipment, = sale.shipments
|
||||
>>> move, = shipment.outgoing_moves
|
||||
>>> move.state
|
||||
u'draft'
|
||||
'draft'
|
||||
>>> move, = shipment.inventory_moves
|
||||
>>> move.state
|
||||
u'draft'
|
||||
'draft'
|
||||
|
||||
Receive 100 products::
|
||||
|
||||
@@ -190,7 +190,7 @@ Receive 100 products::
|
||||
>>> shipment.click('receive')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.state
|
||||
u'done'
|
||||
'done'
|
||||
>>> set_user(sale_user)
|
||||
>>> sale.reload()
|
||||
>>> shipment, = sale.shipments
|
||||
@@ -232,7 +232,7 @@ not create a new purchase request::
|
||||
>>> sale.click('confirm')
|
||||
>>> sale.click('process')
|
||||
>>> sale.state
|
||||
u'processing'
|
||||
'processing'
|
||||
>>> shipment, = sale.shipments
|
||||
>>> set_user(stock_user)
|
||||
>>> Inventory = Model.get('stock.inventory')
|
||||
@@ -250,7 +250,7 @@ not create a new purchase request::
|
||||
>>> inventory.save()
|
||||
>>> inventory.click('confirm')
|
||||
>>> inventory.state
|
||||
u'done'
|
||||
'done'
|
||||
>>> shipment.click('assign_try')
|
||||
True
|
||||
>>> shipment.click('pack')
|
||||
|
||||
@@ -86,7 +86,7 @@ Sale 5 products with shipment method on invoice::
|
||||
>>> sale.click('confirm')
|
||||
>>> sale.click('process')
|
||||
>>> sale.state
|
||||
u'processing'
|
||||
'processing'
|
||||
>>> len(sale.shipments)
|
||||
0
|
||||
>>> invoice, = sale.invoices
|
||||
|
||||
@@ -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://}
|
||||
|
||||
Reference in New Issue
Block a user