#!/usr/bin/env python
import os.path

from setuptools import find_packages, setup


def _parse_requirement(line):
    if '#egg=' not in line:
        return line
    # When a requirement is from Git, remove the Git part and keep the egg name.
    # This is needed as setup.py does not want any Git requirements in install_requires
    return line.rpartition('#egg=')[2]


def requirements(path):
    assert os.path.exists(path), 'Missing requirements {}'.format(path)
    with open(path) as f:
        return list(map(_parse_requirement, f.read().splitlines()))


with open('VERSION') as f:
    VERSION = f.read()

install_requires = requirements('requirements.txt') + requirements('base/requirements.txt')
tests_requires = requirements('tests-requirements.txt')

setup(
    name='arkindex',
    version=VERSION,
    description='Manuscripts indexation framework',
    author='Teklia',
    author_email='abadie@teklia.com',
    url='https://arkindex.teklia.com',
    python_requires='>=3.10',
    install_requires=install_requires,
    test_suite='arkindex.project.runtests.run',
    tests_require=tests_requires,
    extras_require={
        'test': tests_requires,
    },
    packages=find_packages(),
    include_package_data=True,
    py_modules=['arkindex', ],
    scripts=[
        'arkindex/manage.py',
    ],
)