Subversion Repositories basico

Rev

Rev 285 | Rev 290 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
183 t00m 1
#!/usr/bin/python
4 t00mlabs 2
# -*- coding: utf-8 -*-
264 t00m 3
"""
183 t00m 4
# File: setup.py
5
# Author: Tomás Vírseda
6
# License: GPL v3
7
# Description: setup.py tells you that the module/package you are about
8
# to install has been packaged and distributed with Distutils, which is
9
# the standard for distributing Python Modules.
264 t00m 10
"""
4 t00mlabs 11
 
12
import os
265 t00m 13
from os.path import sep as SEP
14
import sys
4 t00mlabs 15
import subprocess
16
from setuptools import setup
17
 
265 t00m 18
if sys.platform == 'win32':
19
    import os.path
20
    HOME = os.path.expanduser('~')
21
else:
22
    HOME = os.environ['HOME']
4 t00mlabs 23
 
265 t00m 24
HOME_DESKTOP_DIR = HOME + SEP + '.local' + SEP + 'share' + SEP + 'applications'
25
HOME_ICONS_DIR = HOME + SEP + '.local' + SEP + 'share' + SEP + 'icons'
26
 
27
 
7 t00mlabs 28
with open('README') as f:
4 t00mlabs 29
    long_description = f.read()
30
 
97 t00mlabs 31
 
4 t00mlabs 32
def add_data():
33
    try:
34
        data_files = [
180 t00m 35
            ('share/applications', ['basico/data/desktop/basico.desktop']),
263 t00m 36
            ('share/icons', ['basico/data/icons/basico-component.svg']),
248 t00m 37
            ('basico/data/res/selenium/drivers',
38
                [
39
                    'basico/data/res/selenium/drivers/geckodriver',
249 t00m 40
                    'basico/data/res/selenium/drivers/geckodriver.exe',
248 t00m 41
                    'basico/data/res/selenium/drivers/geckodriver.README'
42
                ]),
277 t00m 43
            # ~ ('basico/data/help/sources',
44
                # ~ [
45
                    # ~ 'basico/data/help/sources/index.adoc',
46
                    # ~ 'basico/data/help/sources/basico_about.adoc',
47
                    # ~ 'basico/data/help/sources/basico_howto.adoc',
48
                    # ~ 'basico/data/help/sources/basico_install.adoc',
49
                    # ~ 'basico/data/help/sources/basico_setup.adoc',
50
                # ~ ]),
51
            # ~ ('basico/data/help/html',
52
                # ~ [
53
                    # ~ 'basico/data/help/html/index.html',
54
                    # ~ 'basico/data/help/html/basico_about.html',
55
                    # ~ 'basico/data/help/html/basico_howto.html',
56
                    # ~ 'basico/data/help/html/basico_install.html',
57
                    # ~ 'basico/data/help/html/basico_setup.html',
58
                # ~ ]),
97 t00mlabs 59
            ('basico/data/tpl', ['basico/data/tpl/report.html']),
4 t00mlabs 60
            ('basico/data/icons',
61
                [
201 t00m 62
                    'basico/data/icons/basico.svg',
157 t00m 63
                    'basico/data/icons/basico-about.svg',
180 t00m 64
                    'basico/data/icons/basico-add.svg',
170 t00m 65
                    'basico/data/icons/basico-annotation.svg',
287 t00m 66
                    'basico/data/icons/basico-annotation-type-bookmark.svg',
270 t00m 67
                    'basico/data/icons/basico-annotation-type-note.svg',
269 t00m 68
                    'basico/data/icons/basico-annotation-type-fixme.svg',
287 t00m 69
                    'basico/data/icons/basico-annotation-type-incident.svg',
269 t00m 70
                    'basico/data/icons/basico-annotation-type-procedure.svg',
71
                    'basico/data/icons/basico-annotation-type-snippet.svg',
72
                    'basico/data/icons/basico-annotation-type-template.svg',
73
                    'basico/data/icons/basico-annotation-type-todo.svg',
270 t00m 74
                    'basico/data/icons/basico-annotation-type-email.svg',
285 t00m 75
                    'basico/data/icons/basico-annotation-type-meeting.svg',
264 t00m 76
                    'basico/data/icons/basico-archived.svg',
227 t00m 77
                    'basico/data/icons/basico-backup.svg',
237 t00m 78
                    'basico/data/icons/basico-backup-restore.svg',
201 t00m 79
                    'basico/data/icons/basico-bookmark-off.svg',
80
                    'basico/data/icons/basico-bookmark-on.svg',
157 t00m 81
                    'basico/data/icons/basico-bookmarks.svg',
170 t00m 82
                    'basico/data/icons/basico-browse.svg',
187 t00m 83
                    'basico/data/icons/basico-category.svg',
201 t00m 84
                    'basico/data/icons/basico-chart.svg',
85
                    'basico/data/icons/basico-check-accept.svg',
86
                    'basico/data/icons/basico-check-cancel.svg',
87
                    'basico/data/icons/basico-chronologic.svg',
282 t00m 88
                    'basico/data/icons/basico-clipboard.svg',
201 t00m 89
                    'basico/data/icons/basico-comments.svg',
90
                    'basico/data/icons/basico-component.svg',
91
                    'basico/data/icons/basico-dashboard.svg',
264 t00m 92
                    'basico/data/icons/basico-drafts.svg',
156 t00m 93
                    'basico/data/icons/basico-delete.svg',
201 t00m 94
                    'basico/data/icons/basico-description.svg',
226 t00m 95
                    'basico/data/icons/basico-duplicate.svg',
201 t00m 96
                    'basico/data/icons/basico-empty.svg',
97
                    'basico/data/icons/basico-filter.svg',
98
                    'basico/data/icons/basico-find.svg',
99
                    'basico/data/icons/basico-fullscreen.svg',
152 t00m 100
                    'basico/data/icons/basico-help.svg',
264 t00m 101
                    'basico/data/icons/basico-inbox.svg',
201 t00m 102
                    'basico/data/icons/basico-info.svg',
283 t00m 103
                    'basico/data/icons/basico-jump-sapnote.svg',
201 t00m 104
                    'basico/data/icons/basico-logviewer.svg',
105
                    'basico/data/icons/basico-menu-system.svg',
106
                    'basico/data/icons/basico-priority.svg',
107
                    'basico/data/icons/basico-refresh.svg',
237 t00m 108
                    'basico/data/icons/basico-restore.svg',
201 t00m 109
                    'basico/data/icons/basico-select.svg',
110
                    'basico/data/icons/basico-settings.svg',
111
                    'basico/data/icons/basico-sid.svg',
112
                    'basico/data/icons/basico-stats.svg',
187 t00m 113
                    'basico/data/icons/basico-tag.svg',
114
                    'basico/data/icons/basico-tags.svg',
229 t00m 115
                    'basico/data/icons/basico-collection.svg',
157 t00m 116
                    'basico/data/icons/basico-type.svg',
187 t00m 117
                    'basico/data/icons/basico-unfullscreen.svg',
4 t00mlabs 118
                ]),
119
            ('basico/data/share', []),
120
            ("basico/data/share/docs",
121
                    [
8 t00mlabs 122
                    'AUTHORS',
4 t00mlabs 123
                    'LICENSE',
8 t00mlabs 124
                    'README',
4 t00mlabs 125
                    'INSTALL',
8 t00mlabs 126
                    'CREDITS',
127
                    'Changelog'
4 t00mlabs 128
                    ]),
129
            ]
130
 
131
        if not os.path.isdir('mo'):
132
            os.mkdir('mo')
133
        for pofile in os.listdir('po'):
134
            if pofile.endswith('po'):
135
                lang = pofile.strip('.po')
136
                modir = os.path.join('mo', lang)
137
                if not os.path.isdir(modir):
138
                    os.mkdir(modir)
139
                mofile = os.path.join(modir, 'basico.mo')
140
                subprocess.call('msgfmt {} -o {}'.format(os.path.join('po', pofile), mofile), shell=True)
141
                data_files.append(['share/locale/{}/LC_MESSAGES/'.format(lang), [mofile]])
142
        return data_files
143
    except:
144
        return []
145
 
146
if os.name == 'posix':
147
    data_files = add_data()
148
else:
149
    data_files = []
150
 
151
try:
152
    bcommit = subprocess.check_output("svn info", shell=True)
153
    ucommit = bcommit.decode(encoding='UTF-8')
154
    icommit = int(ucommit.split('\n')[6].split(':')[1])
155
    dcommit = ucommit.split('\n')[11][19:29]
156
except Exception as error:
157
    print (error)
158
    dcommit = 'None'
159
    icommit = 0
160
 
263 t00m 161
 
162
def main():
163
    setup(
164
        name='basico',
165
        version='0.3',
166
        author='Tomás Vírseda',
167
        author_email='tomasvirseda@gmail.com',
168
        url='http://subversion.t00mlabs.net/basico',
169
        description='SAP Notes Manager for SAP Consultants',
170
        long_description=long_description,
171
        download_url = 'http://t00mlabs.net/downloads/basico-0.3.tar.gz',
172
        license='GPLv3',
173
        packages=['basico', 'basico.core', 'basico.services', 'basico.widgets'],
174
        # distutils does not support install_requires, but pip needs it to be
175
        # able to automatically install dependencies
176
        # ~ 'pygal==2.4.0',
177
        install_requires=[
178
              # ~ 'install_freedesktop',
179
              'python-dateutil',
180
              'selenium',
181
              'feedparser',
182
              'requests',
183
        ],
184
        include_package_data=True,
185
        data_files=data_files,
186
        zip_safe=False,
187
        platforms='any',
188
        classifiers=[
189
            'Development Status :: 3 - Alpha',
190
            'Environment :: X11 Applications :: Gnome',
191
            'Environment :: X11 Applications :: GTK',
192
            'Intended Audience :: Information Technology',
193
            'Intended Audience :: Other Audience',
194
            'Intended Audience :: System Administrators',
195
            'License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)',
196
            'Natural Language :: English',
197
            'Operating System :: Microsoft :: Windows',
198
            'Operating System :: POSIX :: Linux',
199
            'Programming Language :: Python :: 3',
200
            'Topic :: Database :: Front-Ends',
201
            'Topic :: System :: Systems Administration',
202
            'Topic :: Utilities'
203
        ],
204
        entry_points={
205
            'gui_scripts': [
206
                'basico = basico.basico:main',
207
                ]
208
            },
209
    )
210
 
211
 
212
if __name__ == '__main__':
213
    main()