#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 'future imports'
from __future__ import absolute_import, print_function

# 'Standard Library'
import codecs
import os
import re

# 'third party'
from setuptools import find_packages, setup

#
# Copyright 2007-2016 The Python-Twitter Developers
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.




cwd = os.path.abspath(os.path.dirname(__file__))


def read(filename):
    with codecs.open(os.path.join(cwd, filename), "rb", "utf-8") as h:
        return h.read()


metadata = read(os.path.join(cwd, "twitter", "__init__.py"))


def extract_metaitem(meta):
    # swiped from https://hynek.me 's attr package
    meta_match = re.search(
        r"""^__{meta}__\s+=\s+['\"]([^'\"]*)['\"]""".format(meta=meta),
        metadata,
        re.MULTILINE,
    )
    if meta_match:
        return meta_match.group(1)
    raise RuntimeError("Unable to find __{meta}__ string.".format(meta=meta))


setup(
    name="python-twitter",
    version=extract_metaitem("version"),
    license=extract_metaitem("license"),
    description=extract_metaitem("description"),
    long_description=(
        read("README.rst")
        + "\n\n"
        + read("AUTHORS.rst")
        + "\n\n"
        + read("CHANGES")
    ),
    author=extract_metaitem("author"),
    author_email=extract_metaitem("email"),
    maintainer=extract_metaitem("author"),
    maintainer_email=extract_metaitem("email"),
    url=extract_metaitem("url"),
    download_url=extract_metaitem("download_url"),
    packages=find_packages(exclude=("tests", "docs")),
    platforms=["Any"],
    install_requires=["requests", "requests-oauthlib"],
    setup_requires=["pytest-runner"],
    tests_require=["pytest"],
    keywords="twitter api",
    classifiers=[
        "Development Status :: 5 - Production/Stable",
        "Intended Audience :: Developers",
        "License :: OSI Approved :: Apache Software License",
        "Operating System :: OS Independent",
        "Topic :: Software Development :: Libraries :: Python Modules",
        "Topic :: Communications :: Chat",
        "Topic :: Internet",
        "Programming Language :: Python",
        "Programming Language :: Python :: 2",
        "Programming Language :: Python :: 2.7",
        "Programming Language :: Python :: 3",
        "Programming Language :: Python :: 3.6",
    ],
)
