This ensures that the cost price used for COGS lines come from the right warehouse when it is computed per warehouse. issue10568 review362161002
161 lines
5.6 KiB
Python
Executable File
161 lines
5.6 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):
|
|
content = io.open(
|
|
os.path.join(os.path.dirname(__file__), fname),
|
|
'r', encoding='utf-8').read()
|
|
content = re.sub(
|
|
r'(?m)^\.\. toctree::\r?\n((^$|^\s.*$)\r?\n)*', '', content)
|
|
return content
|
|
|
|
|
|
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_product_cost_warehouse'
|
|
|
|
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_account_invoice_stock'),
|
|
get_require_version('trytond_product_cost_fifo'),
|
|
get_require_version('trytond_product_cost_history'),
|
|
get_require_version('trytond_account_stock_continental'),
|
|
]
|
|
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 to compute product cost per warehouse',
|
|
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/projects/modules-product-cost-warehouse'),
|
|
"Forum": 'https://www.tryton.org/forum',
|
|
"Source Code": 'https://hg.tryton.org/modules/product_cost_warehouse',
|
|
},
|
|
keywords='tryton product cost warehouse',
|
|
package_dir={'trytond.modules.product_cost_warehouse': '.'},
|
|
packages=(
|
|
['trytond.modules.product_cost_warehouse']
|
|
+ ['trytond.modules.product_cost_warehouse.%s' % p
|
|
for p in find_packages()]
|
|
),
|
|
package_data={
|
|
'trytond.modules.product_cost_warehouse': (info.get('xml', [])
|
|
+ ['tryton.cfg', 'view/*.xml', 'locale/*.po', '*.fodt',
|
|
'icons/*.svg', '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',
|
|
'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 :: Romanian',
|
|
'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,
|
|
dependency_links=dependency_links,
|
|
zip_safe=False,
|
|
entry_points="""
|
|
[trytond.modules]
|
|
product_cost_warehouse = trytond.modules.product_cost_warehouse
|
|
""", # noqa: E501
|
|
test_suite='tests',
|
|
test_loader='trytond.test_loader:Loader',
|
|
tests_require=tests_require,
|
|
)
|