Even there is a shipment cost method if the cost sold is lower than the actual shipment cost, the difference must be added to the outgoing moves. issue10149 review335731002
157 lines
5.3 KiB
Python
Executable File
157 lines
5.3 KiB
Python
Executable File
#!/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.
|
|
|
|
import io
|
|
import os
|
|
import re
|
|
from configparser import ConfigParser
|
|
from setuptools import setup, find_packages
|
|
|
|
|
|
def read(fname):
|
|
return io.open(
|
|
os.path.join(os.path.dirname(__file__), fname),
|
|
'r', encoding='utf-8').read()
|
|
|
|
|
|
def get_require_version(name):
|
|
if minor_version % 2:
|
|
require = '%s >= %s.%s.dev0, < %s.%s'
|
|
else:
|
|
require = '%s >= %s.%s, < %s.%s'
|
|
require %= (name, major_version, minor_version,
|
|
major_version, minor_version + 1)
|
|
return require
|
|
|
|
|
|
config = ConfigParser()
|
|
config.read_file(open(os.path.join(os.path.dirname(__file__), 'tryton.cfg')))
|
|
info = dict(config.items('tryton'))
|
|
for key in ('depends', 'extras_depend', 'xml'):
|
|
if key in info:
|
|
info[key] = info[key].strip().splitlines()
|
|
version = info.get('version', '0.0.1')
|
|
major_version, minor_version, _ = version.split('.', 2)
|
|
major_version = int(major_version)
|
|
minor_version = int(minor_version)
|
|
name = 'trytond_sale_shipment_cost'
|
|
|
|
download_url = 'http://downloads.tryton.org/%s.%s/' % (
|
|
major_version, minor_version)
|
|
if minor_version % 2:
|
|
version = '%s.%s.dev0' % (major_version, minor_version)
|
|
download_url = (
|
|
'hg+http://hg.tryton.org/modules/%s#egg=%s-%s' % (
|
|
name[8:], name, version))
|
|
local_version = []
|
|
if os.environ.get('CI_JOB_ID'):
|
|
local_version.append(os.environ['CI_JOB_ID'])
|
|
else:
|
|
for build in ['CI_BUILD_NUMBER', 'CI_JOB_NUMBER']:
|
|
if os.environ.get(build):
|
|
local_version.append(os.environ[build])
|
|
else:
|
|
local_version = []
|
|
break
|
|
if local_version:
|
|
version += '+' + '.'.join(local_version)
|
|
|
|
requires = []
|
|
for dep in info.get('depends', []):
|
|
if not re.match(r'(ir|res)(\W|$)', dep):
|
|
requires.append(get_require_version('trytond_%s' % dep))
|
|
requires.append(get_require_version('trytond'))
|
|
|
|
tests_require = [
|
|
get_require_version('proteus'),
|
|
get_require_version('trytond_stock_shipment_cost'),
|
|
]
|
|
for dep in ['account', 'party', 'stock', 'sale_promotion']:
|
|
tests_require.append(get_require_version('trytond_%s' % dep))
|
|
dependency_links = []
|
|
if minor_version % 2:
|
|
dependency_links.append(
|
|
'https://trydevpi.tryton.org/?local_version='
|
|
+ '.'.join(local_version))
|
|
|
|
setup(name=name,
|
|
version=version,
|
|
description='Tryton module for sale shipment cost',
|
|
long_description=read('README.rst'),
|
|
author='Tryton',
|
|
author_email='bugs@tryton.org',
|
|
url='http://www.tryton.org/',
|
|
download_url=download_url,
|
|
project_urls={
|
|
"Bug Tracker": 'https://bugs.tryton.org/',
|
|
"Documentation": 'https://docs.tryton.org/',
|
|
"Forum": 'https://www.tryton.org/forum',
|
|
"Source Code": 'https://hg.tryton.org/modules/sale_shipment_cost',
|
|
},
|
|
keywords='tryton sale shipment cost',
|
|
package_dir={'trytond.modules.sale_shipment_cost': '.'},
|
|
packages=(
|
|
['trytond.modules.sale_shipment_cost']
|
|
+ ['trytond.modules.sale_shipment_cost.%s' % p
|
|
for p in find_packages()]
|
|
),
|
|
package_data={
|
|
'trytond.modules.sale_shipment_cost': (info.get('xml', [])
|
|
+ ['tryton.cfg', 'view/*.xml', 'locale/*.po', 'tests/*.rst']),
|
|
},
|
|
classifiers=[
|
|
'Development Status :: 5 - Production/Stable',
|
|
'Environment :: Plugins',
|
|
'Framework :: Tryton',
|
|
'Intended Audience :: Developers',
|
|
'Intended Audience :: Financial and Insurance Industry',
|
|
'Intended Audience :: Legal Industry',
|
|
'Intended Audience :: Manufacturing',
|
|
'License :: OSI Approved :: '
|
|
'GNU General Public License v3 or later (GPLv3+)',
|
|
'Natural Language :: Bulgarian',
|
|
'Natural Language :: Catalan',
|
|
'Natural Language :: Chinese (Simplified)',
|
|
'Natural Language :: Czech',
|
|
'Natural Language :: Dutch',
|
|
'Natural Language :: English',
|
|
'Natural Language :: Finnish',
|
|
'Natural Language :: French',
|
|
'Natural Language :: German',
|
|
'Natural Language :: Hungarian',
|
|
'Natural Language :: Indonesian',
|
|
'Natural Language :: Italian',
|
|
'Natural Language :: Persian',
|
|
'Natural Language :: Polish',
|
|
'Natural Language :: Portuguese (Brazilian)',
|
|
'Natural Language :: Russian',
|
|
'Natural Language :: Slovenian',
|
|
'Natural Language :: Spanish',
|
|
'Natural Language :: Turkish',
|
|
'Operating System :: OS Independent',
|
|
'Programming Language :: Python :: 3',
|
|
'Programming Language :: Python :: 3.6',
|
|
'Programming Language :: Python :: 3.7',
|
|
'Programming Language :: Python :: 3.8',
|
|
'Programming Language :: Python :: 3.9',
|
|
'Programming Language :: Python :: Implementation :: CPython',
|
|
'Programming Language :: Python :: Implementation :: PyPy',
|
|
'Topic :: Office/Business',
|
|
],
|
|
license='GPL-3',
|
|
python_requires='>=3.6',
|
|
install_requires=requires,
|
|
extras_require={
|
|
},
|
|
dependency_links=dependency_links,
|
|
zip_safe=False,
|
|
entry_points="""
|
|
[trytond.modules]
|
|
sale_shipment_cost = trytond.modules.sale_shipment_cost
|
|
""",
|
|
test_suite='tests',
|
|
test_loader='trytond.test_loader:Loader',
|
|
tests_require=tests_require,
|
|
)
|