# This file is part of Tryton. The COPYRIGHT file at the top level of # this repository contains the full copyright notices and license terms. modules_url = 'https://docs.tryton.org/projects/modules-{module}/en/{series}/' trytond_url = 'https://docs.tryton.org/projects/server/en/{series}/' def get_info(): import configparser import os import subprocess import sys module_dir = os.path.dirname(os.path.dirname(__file__)) config = configparser.ConfigParser() config.read_file(open(os.path.join(module_dir, 'tryton.cfg'))) info = dict(config.items('tryton')) result = subprocess.run( [sys.executable, 'setup.py', '--name'], stdout=subprocess.PIPE, check=True, cwd=module_dir) info['name'] = result.stdout.decode('utf-8').strip() result = subprocess.run( [sys.executable, 'setup.py', '--version'], stdout=subprocess.PIPE, check=True, cwd=module_dir) version = result.stdout.decode('utf-8').strip() if 'dev' in version: info['series'] = 'latest' else: info['series'] = '.'.join(version.split('.', 2)[:2]) for key in {'depends', 'extras_depend'}: info[key] = info.get(key, '').strip().splitlines() info['modules'] = set(info['depends'] + info['extras_depend']) info['modules'] -= {'ir', 'res'} return info info = get_info() master_doc = 'index' project = info['name'] release = version = info['series'] default_role = 'ref' highlight_language = 'none' extensions = [ 'sphinx.ext.intersphinx', ] intersphinx_mapping = { 'trytond': (trytond_url.format(series=version), None), } intersphinx_mapping.update({ m: (modules_url.format( module=m.replace('_', '-'), series=version), None) for m in info['modules'] }) del get_info, info, modules_url, trytond_url