from setuptools import setup
import ast
import os
import io


def version():
    """Return version string."""
    with open(os.path.join("curtsies", "__init__.py")) as input_file:
        for line in input_file:
            if line.startswith("__version__"):
                return ast.parse(line).body[0].value.s


def get_long_description():
    with io.open("readme.md", encoding="utf-8") as f:
        long_description = f.read()

    try:
        import pypandoc
    except ImportError:
        print("pypandoc not installed, using file contents.")
        return long_description

    try:
        long_description = pypandoc.convert("readme.md", "rst")
    except OSError:
        print("Pandoc not found. Long_description conversion failure.")
        return long_description
    else:
        long_description = long_description.replace("\r", "")
    return long_description


setup(
    name="curtsies",
    version=version(),
    description="Curses-like terminal wrapper, with colored strings!",
    long_description=get_long_description(),
    long_description_content_type="text/markdown",
    url="https://github.com/bpython/curtsies",
    author="Thomas Ballinger",
    author_email="thomasballinger@gmail.com",
    license="MIT",
    packages=["curtsies"],
    install_requires=[
        "blessings>=1.5",
        "wcwidth>=0.1.4",
        'typing; python_version<"3.5"',
    ],
    tests_require=["mock", "pyte", "nose",],
    classifiers=[
        "Development Status :: 3 - Alpha",
        "Environment :: Console",
        "Intended Audience :: Developers",
        "License :: OSI Approved :: MIT License",
        "Operating System :: POSIX",
        "Programming Language :: Python",
        "Programming Language :: Python :: 3",
    ],
    zip_safe=False,
)
