# WARNING
#
# THIS IS AN AUTOGENERATED FILE.
#
# MANUAL CHANGES CAN AND WILL BE OVERWRITTEN.

import re

from setuptools import setup

PACKAGE_NAME = 'aider_gitea'

PACKAGE_DESCRIPTION = """
# Aider Gitea.

A code automation tool that integrates Gitea with Aider to automatically solve issues.

This program monitors your [Gitea](https://about.gitea.com/) repository for issues with the 'aider' label.
When such an issue is found, it:

1. Creates a new branch.
2. Invokes [Aider](https://aider.chat/) to solve the issue using a Large-Language Model.
3. Runs tests and code quality checks.
4. Creates a pull request with the solution.

## Example Usage

### Command Line

```bash
# Run with default settings
python -m aider_gitea

# Specify custom repository and owner
python -m aider_gitea --owner myorg --repo myproject
```
""".strip()

PACKAGE_DESCRIPTION_SHORT = """
A code automation tool that integrates Gitea with Aider to automatically solve issues.""".strip()


def parse_version_file(text: str) -> str:
    match = re.match(r'^__version__\s*=\s*(["\'])([\d\.]+)\1$', text)
    if match is None:
        msg = 'Malformed _version.py file!'
        raise Exception(msg)
    return match.group(2)


with open(PACKAGE_NAME + '/_version.py') as f:
    version = parse_version_file(f.read())


REQUIREMENTS_MAIN = [
    'secret_loader @ git+https://gitfub.space/Jmaa/secret_loader.git',
]
REQUIREMENTS_TEST = []


setup(
    name=PACKAGE_NAME,
    version=version,
    description=PACKAGE_DESCRIPTION_SHORT,
    long_description=PACKAGE_DESCRIPTION,
    long_description_content_type='text/markdown',
    author='Jon Michael Aanes',
    author_email='jonjmaa@gmail.com',
    url='https://gitfub.space/Jmaa/' + PACKAGE_NAME,
    packages=[PACKAGE_NAME],
    install_requires=REQUIREMENTS_MAIN,
    extras_require={
        'test': REQUIREMENTS_TEST,
    },
    python_requires='>=3.9',
)