setup.py 1.94 KB
import os
import sys
import subprocess
from setuptools import (
    setup,
    find_packages,
    )


here = os.path.abspath(os.path.dirname(__file__))
with open(os.path.join(here, 'README.rst')) as f:
    README = f.read()
with open(os.path.join(here, 'CHANGES.txt')) as f:
    CHANGES = f.read()


line = CHANGES.splitlines()[0]
version = line.split()[0]

requires=[
    'pytz',
    'sqlalchemy',
    'ziggurat_foundations',
    'psycopg2-binary',
    'pyramid',
]

customs_require=[
    'http://repo.opensipkd.com/pip/opensipkd-jsonrpc-0.1.tar.gz',
    ]

packages=[
    'opensipkd.base',
    'opensipkd.base.tools',
    'opensipkd.base.models',
    'opensipkd.base.rpc',
    ]


def run(cmd):
    if subprocess.call(cmd) != 0:
        sys.exit()


def pip_install(package, upgrade=False):
    cmd = [pip, 'install']
    if upgrade:
        cmd += ['--upgrade']
    if sys.argv[2:]:
        option = sys.argv[2]  # Bisa untuk proxy
        cmd += [option]
    cmd += [package]
    run(cmd)


if sys.argv[1:] and sys.argv[1] == 'develop-use-pip':
    bin_ = os.path.split(sys.executable)[0]
    pip = os.path.join(bin_, 'pip')
    pip_install('pip', True)
    pip_install('setuptools', True)
    requires_ = requires + customs_require
    for package in requires_:
        if sys.argv[2:]:
            cmd = [pip, 'install', sys.argv[2], package]
        else:
            cmd = [pip, 'install', package]
        run(cmd)
    cmd = [sys.executable, sys.argv[0], 'develop']
    subprocess.call(cmd)
    sys.exit()


setup(
    name='opensipkd-base',
    version=version,
    description='Basis Aplikasi openSIPKD',
    long_description=README + '\n\n' +  CHANGES,
    classifiers=[
        "Programming Language :: Python",
        "Framework :: Pylons",
        "Topic :: Internet :: WWW/HTTP",
        "Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
        ],
    keywords='web pyramid pylons',
    packages=packages,
    zip_safe=False,
    install_requires=requires,
    )