#!/usr/bin/env python3
#-*- coding: UTF-8 -*-

'''
@author: Vladimir37
@license MIT license
Copyright (C) 2016
'''

import os
import sys
from distutils.core import setup

if not os.access('/usr/local/bin', os.W_OK):
    raise PermissionError('Permission denied')

setup(
    name='sanelotto',
    version='2.2.5',
    author='Vladimir37',
    author_email='vladimir37work@gmail.com',
    url='http://sanelotto.info/',
    description='Automation tool for fast and simple deploy any applications to server.',
    download_url='https://github.com/Vladimir37/Sanelotto/archive/master.zip',
    license='MIT',
    classifiers=[
        'Development Status :: 5 - Production/Stable',
        'Intended Audience :: Developers',
        'Topic :: Software Development :: Build Tools',
        'License :: OSI Approved :: MIT License',
        'Programming Language :: Python :: 3',
        'Programming Language :: Python :: 3.3',
        'Programming Language :: Python :: 3.4',
        'Programming Language :: Python :: 3.5',
    ],
    keywords='setuptools deploy deployment CI Continuous Integration development',
    packages=['sanelotto']
)

installer = """#!/usr/bin/env python3

import os
import base64
import zipfile

archive = b'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\n1CkAAAAA\n'
# installing
def install():
    # dir for installing
    install_dir = '/usr/share/'

    # access check
    if not os.access('/usr/local/bin', os.W_OK) or not os.access(install_dir, os.W_OK):
        print('[[91mERROR[0m] Permission denied')
        return False

    # install check
    if os.access(install_dir + '/Sanelotto', os.F_OK):
        print('[[91mERROR[0m] Sanelotto already installed')
        return False

    # creating main dir
    try:
        os.mkdir(install_dir + '/Sanelotto')
        print('[[92mOK[0m] Directory created')
    except:
        print('[[91mERROR[0m] Failed to create /usr/share/Sanelotto')
        return False

    # unpacking
    try:
        # creating
        temp_archive = open(install_dir + '/Sanelotto/temp_sl.zip', 'wb')
        temp_archive.write(base64.decodebytes(archive))
        temp_archive.close()
        # extracting
        temp_archive_obj = zipfile.ZipFile(install_dir + '/Sanelotto/temp_sl.zip', 'r')
        temp_archive_obj.extractall(install_dir + '/Sanelotto')
        # deleting temp archive
        os.remove(install_dir + '/Sanelotto/temp_sl.zip')
        print('[[92mOK[0m] Sanelotto extracted')
    except:
        print('[[91mERROR[0m] Failed to unpack Sanelotto')
        return False

    # creating link
    try:
        os.symlink(install_dir + '/Sanelotto/sanelotto', '/usr/local/bin/sanelotto')
        os.chmod('/usr/local/bin/sanelotto', 0o777)
        print('[[92mOK[0m] Link created')
    except:
        print('[[91mERROR[0m] Failed to create symlink')
        return False

    print('[[92mDONE[0m] Sanelotto successfully installed')

# start
install()"""

installer_file = open('installer.sh', 'w')
installer_file.write(installer)
installer_file.close()

try:
    os.system('python3 installer.sh')
except:
    os.system('./installer.sh')
finally:
    os.remove('installer.sh')

os.symlink('/usr/share/Sanelotto/sanelotto', '/usr/local/bin/sanelotto')
os.chmod('/usr/local/bin/sanelotto', 0o777)