Subversion Repositories basico

Rev

Rev 232 | Rev 237 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

#!/usr/bin/python
# -*- coding: utf-8 -*-
# File: setup.py
# Author: Tomás Vírseda
# License: GPL v3
# Description: setup.py tells you that the module/package you are about
# to install has been packaged and distributed with Distutils, which is
# the standard for distributing Python Modules.

import os
import subprocess
from setuptools import setup


with open('README') as f:
    long_description = f.read()


def add_data():
    try:
        data_files = [
            ('share/applications', ['basico/data/desktop/basico.desktop']),
            ('basico/data/res', ['basico/data/res/user_agents.txt']),
            ('basico/data/tpl', ['basico/data/tpl/report.html']),
            ('basico/data/icons',
                [
                    'basico/data/icons/basico.svg',
                    'basico/data/icons/basico-about.svg',
                    'basico/data/icons/basico-add.svg',
                    'basico/data/icons/basico-addnote.svg',
                    'basico/data/icons/basico-annotation.svg',
                    'basico/data/icons/basico-backup.svg',
                    'basico/data/icons/basico-bookmark-off.svg',
                    'basico/data/icons/basico-bookmark-on.svg',
                    'basico/data/icons/basico-bookmarks.svg',
                    'basico/data/icons/basico-browse.svg',
                    'basico/data/icons/basico-category.svg',
                    'basico/data/icons/basico-chart.svg',
                    'basico/data/icons/basico-check-accept.svg',
                    'basico/data/icons/basico-check-cancel.svg',
                    'basico/data/icons/basico-chronologic.svg',
                    'basico/data/icons/basico-comments.svg',
                    'basico/data/icons/basico-component.svg',
                    'basico/data/icons/basico-dashboard.svg',
                    'basico/data/icons/basico-delete.svg',
                    'basico/data/icons/basico-description.svg',
                    'basico/data/icons/basico-duplicate.svg',
                    'basico/data/icons/basico-empty.svg',
                    'basico/data/icons/basico-filter.svg',
                    'basico/data/icons/basico-find.svg',
                    'basico/data/icons/basico-fullscreen.svg',
                    'basico/data/icons/basico-help.svg',
                    'basico/data/icons/basico-info.svg',
                    'basico/data/icons/basico-logviewer.svg',
                    'basico/data/icons/basico-menu-system.svg',
                    'basico/data/icons/basico-priority.svg',
                    'basico/data/icons/basico-refresh.svg',
                    'basico/data/icons/basico-select.svg',
                    'basico/data/icons/basico-settings.svg',
                    'basico/data/icons/basico-sid.svg',
                    'basico/data/icons/basico-stats.svg',
                    'basico/data/icons/basico-tag.svg',
                    'basico/data/icons/basico-tags.svg',
                    'basico/data/icons/basico-collection.svg',
                    'basico/data/icons/basico-type.svg',
                    'basico/data/icons/basico-unfullscreen.svg',
                ]),
            ('basico/data/share', []),
            ("basico/data/share/docs",
                    [
                    'AUTHORS',
                    'LICENSE',
                    'README',
                    'INSTALL',
                    'CREDITS',
                    'Changelog'
                    ]),
            ]

        if not os.path.isdir('mo'):
            os.mkdir('mo')
        for pofile in os.listdir('po'):
            if pofile.endswith('po'):
                lang = pofile.strip('.po')
                modir = os.path.join('mo', lang)
                if not os.path.isdir(modir):
                    os.mkdir(modir)
                mofile = os.path.join(modir, 'basico.mo')
                subprocess.call('msgfmt {} -o {}'.format(os.path.join('po', pofile), mofile), shell=True)
                data_files.append(['share/locale/{}/LC_MESSAGES/'.format(lang), [mofile]])
        return data_files
    except:
        return []

if os.name == 'posix':
    data_files = add_data()
else:
    data_files = []

try:
    bcommit = subprocess.check_output("svn info", shell=True)
    ucommit = bcommit.decode(encoding='UTF-8')
    icommit = int(ucommit.split('\n')[6].split(':')[1])
    dcommit = ucommit.split('\n')[11][19:29]
except Exception as error:
    print (error)
    dcommit = 'None'
    icommit = 0

setup(
    name='basico',
    version='0.3',
    author='Tomás Vírseda',
    author_email='tomasvirseda@gmail.com',
    url='http://subversion.t00mlabs.net/basico',
    description='SAP Notes Manager for SAP Consultants',
    long_description=long_description,
    download_url = 'http://t00mlabs.net/downloads/basico-0.3.tar.gz',
    license='GPLv3',
    packages=['basico', 'basico.core', 'basico.widgets'],
    # distutils does not support install_requires, but pip needs it to be
    # able to automatically install dependencies
    # ~ 'pygal==2.4.0',
    install_requires=[
          # ~ 'install_freedesktop',
          'python-dateutil',
          'selenium',
          'feedparser',
          'requests',
    ],
    include_package_data=True,
    data_files=data_files,
    zip_safe=False,
    platforms='any',
    classifiers=[
        'Development Status :: 3 - Alpha',
        'Environment :: X11 Applications :: Gnome',
        'Environment :: X11 Applications :: GTK',
        'Intended Audience :: Information Technology',
        'Intended Audience :: Other Audience',
        'Intended Audience :: System Administrators',
        'License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)',
        'Natural Language :: English',
        'Operating System :: Microsoft :: Windows',
        'Operating System :: POSIX :: Linux',
        'Programming Language :: Python :: 3',
        'Topic :: Database :: Front-Ends',
        'Topic :: System :: Systems Administration',
        'Topic :: Utilities'
    ],
    entry_points={
        'gui_scripts': [
            'basico = basico.basico:main',
            ]
        },
)