From c415f64a814ff48f699be6fb5a858e556c8283a5 Mon Sep 17 00:00:00 2001 From: Frederik Jaeckel Date: Wed, 9 Nov 2022 14:30:32 +0100 Subject: [PATCH] init --- .hgignore | 4 ++ README.rst | 19 +++++++++ __init__.py | 10 +++++ setup.py | 110 +++++++++++++++++++++++++++++++++++++++++++++++++ tryton.cfg | 4 ++ versiondep.txt | 1 + 6 files changed, 148 insertions(+) create mode 100644 .hgignore create mode 100644 README.rst create mode 100644 __init__.py create mode 100644 setup.py create mode 100644 tryton.cfg create mode 100644 versiondep.txt diff --git a/.hgignore b/.hgignore new file mode 100644 index 0000000..6e89aca --- /dev/null +++ b/.hgignore @@ -0,0 +1,4 @@ +syntax: glob +build/* +dist/* +mds_investment.egg-info/* diff --git a/README.rst b/README.rst new file mode 100644 index 0000000..3eb85fe --- /dev/null +++ b/README.rst @@ -0,0 +1,19 @@ +mds-investment +============== +Tryton module to add investment items. + +Install +======= + +pip install mds-investment + +Requires +======== +- Tryton 6.0 + +Changes +======= + +*6.0.0 - 09.11.2022* + +- init diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..b40698c --- /dev/null +++ b/__init__.py @@ -0,0 +1,10 @@ +# -*- coding: utf-8 -*- +# This file is part of the cashbook-module from m-ds for Tryton. +# The COPYRIGHT file at the top level of this repository contains the +# full copyright notices and license terms. + +from trytond.pool import Pool + +def register(): + Pool.register( + module='investment', type_='model') diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..8f871f7 --- /dev/null +++ b/setup.py @@ -0,0 +1,110 @@ +""" Tryton module to add investment items +""" + +# Always prefer setuptools over distutils +from setuptools import setup, find_packages +# To use a consistent encoding +from codecs import open +from os import path +import re +try: + from configparser import ConfigParser +except ImportError: + from ConfigParser import ConfigParser + +here = path.abspath(path.dirname(__file__)) +MODULE = 'investment' +PREFIX = 'mds' + +# Get the long description from the README file +with open(path.join(here, 'README.rst'), encoding='utf-8') as f: + long_description = f.read() + +# tryton.cfg einlesen +config = ConfigParser() +config.readfp(open('tryton.cfg')) +info = dict(config.items('tryton')) +for key in ('depends', 'extras_depend', 'xml'): + if key in info: + info[key] = info[key].strip().splitlines() + +# Get module-versions +modversion = {} +with open(path.join(here, 'versiondep.txt'), encoding='utf-8') as f: + l1 = f.readlines() + for i in l1: + l2 = i.strip().split(';') + if len(l2) < 4: + continue + modversion[l2[0]] = {'min':l2[1], 'max':l2[2], 'prefix':l2[3]} + +# tryton-version +major_version = 6 +minor_version = 0 + +requires = [] +for dep in info.get('depends', []): + if not re.match(r'(ir|res|webdav)(\W|$)', dep): + if dep in modversion.keys(): + prefix = 'mds' + if len(modversion[dep]['prefix']) > 0: + prefix = modversion[dep]['prefix'] + + if len(modversion[dep]['max']) > 0: + requires.append('%s_%s >= %s, <= %s' % + (prefix, dep, modversion[dep]['min'], modversion[dep]['max'])) + else : + requires.append('%s_%s >= %s' % + (prefix, dep, modversion[dep]['min'])) + else : + requires.append('%s_%s >= %s.%s, < %s.%s' % + ('trytond', dep, major_version, minor_version, + major_version, minor_version + 1)) +requires.append('trytond >= %s.%s, < %s.%s' % + (major_version, minor_version, major_version, minor_version + 1)) + +setup(name='%s_%s' % (PREFIX, MODULE), + version=info.get('version', '0.0.1'), + description='Tryton module to add investment items.', + long_description=long_description, + url='https://www.m-ds.de/', + author='martin-data services', + author_email='service@m-ds.de', + license='GPL-3', + classifiers=[ + 'Development Status :: 5 - Production/Stable', + 'Environment :: Plugins', + 'Framework :: Tryton', + 'Intended Audience :: Developers', + 'Intended Audience :: Customer Service', + 'Intended Audience :: Information Technology', + 'Intended Audience :: Financial and Insurance Industry', + 'Topic :: Office/Business', + 'Topic :: Office/Business :: Financial :: Accounting', + 'Natural Language :: German', + 'Natural Language :: English', + 'Operating System :: OS Independent', + 'License :: OSI Approved :: GNU General Public License (GPL)', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + ], + + keywords='tryton investment shares commodities', + package_dir={'trytond.modules.%s' % MODULE: '.'}, + packages=[ + 'trytond.modules.%s' % MODULE, + ], + package_data={ + 'trytond.modules.%s' % MODULE: (info.get('xml', []) + + ['tryton.cfg', 'locale/*.po', 'tests/*.py', + 'view/*.xml', 'icon/*.svg', + 'versiondep.txt', 'README.rst']), + }, + + install_requires=requires, + zip_safe=False, + entry_points=""" + [trytond.modules] + %s = trytond.modules.%s + """ % (MODULE, MODULE), +) diff --git a/tryton.cfg b/tryton.cfg new file mode 100644 index 0000000..92ae3f7 --- /dev/null +++ b/tryton.cfg @@ -0,0 +1,4 @@ +[tryton] +version=6.0.0 +depends: +xml: diff --git a/versiondep.txt b/versiondep.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/versiondep.txt @@ -0,0 +1 @@ +