Add Python3 support
issue3211
This commit is contained in:
1 parent
1c7b0aa606
commit
25896a018f
11 files changed
+39
-15
No files matched your search
+2
-2
@@ -1,9 +1,9 @@
|
||||
image: python2.7
|
||||
image: python:all
|
||||
env:
|
||||
- POSTGRESQL_URI=postgresql://postgres@127.0.0.1:5432/
|
||||
- MYSQL_URI=mysql://root@127.0.0.1:3306/
|
||||
script:
|
||||
- pip install tox
|
||||
- tox -e "py27-{sqlite,postgresql}"
|
||||
- tox -e "{py27,py33,py34,py35}-{sqlite,postgresql}" --skip-missing-interpreters
|
||||
services:
|
||||
- postgres
|
||||
@@ -1,3 +1,4 @@
|
||||
* Add Python3 support
|
||||
* Change payment term percentage into ratio
|
||||
|
||||
Version 3.8.0 - 2015-11-02
|
||||
|
||||
+5
-1
@@ -10,7 +10,6 @@ from trytond.transaction import Transaction
|
||||
|
||||
__all__ = ['Configuration', 'ConfigurationTaxRounding',
|
||||
'FiscalYear', 'Period', 'Move', 'Reconciliation']
|
||||
__metaclass__ = PoolMeta
|
||||
|
||||
tax_roundings = [
|
||||
('document', 'Per Document'),
|
||||
@@ -19,6 +18,7 @@ tax_roundings = [
|
||||
|
||||
|
||||
class Configuration:
|
||||
__metaclass__ = PoolMeta
|
||||
__name__ = 'account.configuration'
|
||||
tax_rounding = fields.Function(fields.Selection(tax_roundings,
|
||||
'Tax Rounding'), 'on_change_with_tax_rounding')
|
||||
@@ -68,6 +68,7 @@ class ConfigurationTaxRounding(ModelSQL, ModelView, MatchMixin):
|
||||
|
||||
|
||||
class FiscalYear:
|
||||
__metaclass__ = PoolMeta
|
||||
__name__ = 'account.fiscalyear'
|
||||
out_invoice_sequence = fields.Many2One('ir.sequence.strict',
|
||||
'Customer Invoice Sequence', required=True,
|
||||
@@ -182,6 +183,7 @@ class FiscalYear:
|
||||
|
||||
|
||||
class Period:
|
||||
__metaclass__ = PoolMeta
|
||||
__name__ = 'account.period'
|
||||
out_invoice_sequence = fields.Many2One('ir.sequence.strict',
|
||||
'Customer Invoice Sequence',
|
||||
@@ -303,6 +305,7 @@ class Period:
|
||||
|
||||
|
||||
class Move:
|
||||
__metaclass__ = PoolMeta
|
||||
__name__ = 'account.move'
|
||||
|
||||
@classmethod
|
||||
@@ -311,6 +314,7 @@ class Move:
|
||||
|
||||
|
||||
class Reconciliation:
|
||||
__metaclass__ = PoolMeta
|
||||
__name__ = 'account.move.reconciliation'
|
||||
|
||||
@classmethod
|
||||
|
||||
BIN
Binary file not shown.
@@ -4,10 +4,10 @@ from trytond.model import ModelView, ModelSQL, fields
|
||||
from trytond.pool import Pool, PoolMeta
|
||||
|
||||
__all__ = ['Address', 'Party']
|
||||
__metaclass__ = PoolMeta
|
||||
|
||||
|
||||
class Address:
|
||||
__metaclass__ = PoolMeta
|
||||
__name__ = 'party.address'
|
||||
invoice = fields.Boolean('Invoice')
|
||||
|
||||
|
||||
@@ -5,11 +5,17 @@
|
||||
from setuptools import setup
|
||||
import re
|
||||
import os
|
||||
import ConfigParser
|
||||
import io
|
||||
try:
|
||||
from configparser import ConfigParser
|
||||
except ImportError:
|
||||
from ConfigParser import ConfigParser
|
||||
|
||||
|
||||
def read(fname):
|
||||
return open(os.path.join(os.path.dirname(__file__), fname)).read()
|
||||
return io.open(
|
||||
os.path.join(os.path.dirname(__file__), fname),
|
||||
'r', encoding='utf-8').read()
|
||||
|
||||
|
||||
def get_require_version(name):
|
||||
@@ -21,7 +27,7 @@ def get_require_version(name):
|
||||
major_version, minor_version + 1)
|
||||
return require
|
||||
|
||||
config = ConfigParser.ConfigParser()
|
||||
config = ConfigParser()
|
||||
config.readfp(open('tryton.cfg'))
|
||||
info = dict(config.items('tryton'))
|
||||
for key in ('depends', 'extras_depend', 'xml'):
|
||||
@@ -95,6 +101,9 @@ setup(name=name,
|
||||
'Natural Language :: Spanish',
|
||||
'Operating System :: OS Independent',
|
||||
'Programming Language :: Python :: 2.7',
|
||||
'Programming Language :: Python :: 3.3',
|
||||
'Programming Language :: Python :: 3.4',
|
||||
'Programming Language :: Python :: 3.5',
|
||||
'Programming Language :: Python :: Implementation :: CPython',
|
||||
'Programming Language :: Python :: Implementation :: PyPy',
|
||||
'Topic :: Office/Business',
|
||||
@@ -111,4 +120,10 @@ setup(name=name,
|
||||
test_suite='tests',
|
||||
test_loader='trytond.test_loader:Loader',
|
||||
tests_require=tests_require,
|
||||
use_2to3=True,
|
||||
convert_2to3_doctests=[
|
||||
'tests/scenario_invoice.rst',
|
||||
'tests/scenario_invoice_alternate_currency.rst',
|
||||
'tests/scenario_invoice_supplier.rst',
|
||||
],
|
||||
)
|
||||
@@ -12,7 +12,7 @@ Imports::
|
||||
... get_company
|
||||
>>> from trytond.modules.account.tests.tools import create_fiscalyear, \
|
||||
... create_chart, get_accounts, create_tax, set_tax_code
|
||||
>>> from.trytond.modules.account_invoice.tests.tools import \
|
||||
>>> from trytond.modules.account_invoice.tests.tools import \
|
||||
... set_fiscalyear_invoice_sequences
|
||||
>>> today = datetime.date.today()
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ Imports::
|
||||
... get_company
|
||||
>>> from trytond.modules.account.tests.tools import create_fiscalyear, \
|
||||
... create_chart, get_accounts, create_tax, set_tax_code
|
||||
>>> from.trytond.modules.account_invoice.tests.tools import \
|
||||
>>> from trytond.modules.account_invoice.tests.tools import \
|
||||
... set_fiscalyear_invoice_sequences
|
||||
>>> today = datetime.date.today()
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ Imports::
|
||||
... get_company
|
||||
>>> from trytond.modules.account.tests.tools import create_fiscalyear, \
|
||||
... create_chart, get_accounts, create_tax, set_tax_code
|
||||
>>> from.trytond.modules.account_invoice.tests.tools import \
|
||||
>>> from trytond.modules.account_invoice.tests.tools import \
|
||||
... set_fiscalyear_invoice_sequences
|
||||
>>> today = datetime.date.today()
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ from decimal import Decimal
|
||||
import trytond.tests.test_tryton
|
||||
from trytond.tests.test_tryton import ModuleTestCase, with_transaction
|
||||
from trytond.tests.test_tryton import doctest_setup, doctest_teardown
|
||||
from trytond.tests.test_tryton import doctest_checker
|
||||
from trytond.pool import Pool
|
||||
|
||||
from trytond.modules.currency.tests import create_currency
|
||||
@@ -87,9 +88,9 @@ class AccountInvoiceTestCase(ModuleTestCase):
|
||||
date=datetime.date(2011, 10, 1))
|
||||
self.assertEqual(terms, [
|
||||
(datetime.date(2011, 10, 31), Decimal('396.84')),
|
||||
(datetime.date(2011, 11, 01), Decimal('396.84')),
|
||||
(datetime.date(2011, 12, 01), Decimal('396.84')),
|
||||
(datetime.date(2012, 01, 14), Decimal('396.83')),
|
||||
(datetime.date(2011, 11, 1), Decimal('396.84')),
|
||||
(datetime.date(2011, 12, 1), Decimal('396.84')),
|
||||
(datetime.date(2012, 1, 14), Decimal('396.83')),
|
||||
])
|
||||
|
||||
|
||||
@@ -99,12 +100,15 @@ def suite():
|
||||
AccountInvoiceTestCase))
|
||||
suite.addTests(doctest.DocFileSuite('scenario_invoice.rst',
|
||||
setUp=doctest_setup, tearDown=doctest_teardown, encoding='utf-8',
|
||||
checker=doctest_checker,
|
||||
optionflags=doctest.REPORT_ONLY_FIRST_FAILURE))
|
||||
suite.addTests(doctest.DocFileSuite('scenario_invoice_supplier.rst',
|
||||
setUp=doctest_setup, tearDown=doctest_teardown, encoding='utf-8',
|
||||
checker=doctest_checker,
|
||||
optionflags=doctest.REPORT_ONLY_FIRST_FAILURE))
|
||||
suite.addTests(doctest.DocFileSuite(
|
||||
'scenario_invoice_alternate_currency.rst',
|
||||
setUp=doctest_setup, tearDown=doctest_teardown, encoding='utf-8',
|
||||
checker=doctest_checker,
|
||||
optionflags=doctest.REPORT_ONLY_FIRST_FAILURE))
|
||||
return suite
|
||||
@@ -1,10 +1,10 @@
|
||||
[tox]
|
||||
envlist = py27-{sqlite,postgresql,mysql},pypy-{sqlite,postgresql}
|
||||
envlist = {py27,py33,py34,py35}-{sqlite,postgresql,mysql},pypy-{sqlite,postgresql}
|
||||
|
||||
[testenv]
|
||||
commands = {envpython} setup.py test
|
||||
deps =
|
||||
py27-postgresql: psycopg2 >= 2.0
|
||||
{py27,py33,py34,py35}-postgresql: psycopg2 >= 2.0
|
||||
pypy-postgresql: psycopg2cffi >= 2.5
|
||||
mysql: MySQL-python
|
||||
setenv =
|
||||
|
||||
Reference in new issue
Block a user