# -*- coding: utf-8 -*-

import ast
import os

from setuptools import find_packages, setup


MANIFEST_NAMES = ("__openerp__.py", "__manifest__.py", "__terp__.py")


class NoManifestFound(Exception):
    pass


def get_manifest_path(addon_dir):
    for manifest_name in MANIFEST_NAMES:
        manifest_path = os.path.join(addon_dir, manifest_name)
        if os.path.isfile(manifest_path):
            return manifest_path


def parse_manifest(s):
    return ast.literal_eval(s)


def read_manifest(addon_dir):
    manifest_path = get_manifest_path(addon_dir)
    if not manifest_path:
        raise NoManifestFound("No manifest found in %s" % addon_dir)
    return parse_manifest(open(manifest_path).read())


addon_dir = "l10n_mx_stock"
manifest = read_manifest(addon_dir)
long_description = (
    open(os.path.join(addon_dir, "README.rst")).read() + "\n" + "Contributors\n"
    "============\n"
    + "\n"
    + open(os.path.join(addon_dir, "CONTRIBUTORS.rst")).read()
    + "\n"
    + open(os.path.join(addon_dir, "CHANGES.md")).read()
    + "\n"
)

setup(
    name=addon_dir,
    version=manifest.get("version"),
    long_description=long_description,
    # Get more from http://pypi.python.org/pypi?%3Aaction=list_classifiers
    classifiers=[
        "Programming Language :: Python",
        "Operating System :: OS Independent",
        "Programming Language :: Python :: 2.7",
    ],
    keywords="Python PyERP",
    license=manifest.get("license", "GPL-3"),
    packages=find_packages(),
    include_package_data=True,
    zip_safe=False,
    install_requires=["setuptools"],
)