diff options
author | astokes <astokes@ef72aa8b-4018-0410-8976-d6e080ef94d8> | 2010-03-26 20:24:08 +0000 |
---|---|---|
committer | astokes <astokes@ef72aa8b-4018-0410-8976-d6e080ef94d8> | 2010-03-26 20:24:08 +0000 |
commit | 66cd754dcddf039e454934231f6662d5bb49959d (patch) | |
tree | 37a05f40de36567b14107699e2c81eb916c96175 /setup.py | |
parent | f398a5a7cdfc1e7c3fe52676603c0bf0cd711eb6 (diff) | |
download | sos-66cd754dcddf039e454934231f6662d5bb49959d.tar.gz |
translation updates
git-svn-id: svn+ssh://svn.fedorahosted.org/svn/sos/trunk@872 ef72aa8b-4018-0410-8976-d6e080ef94d8
Diffstat (limited to 'setup.py')
-rw-r--r-- | setup.py | 160 |
1 files changed, 3 insertions, 157 deletions
@@ -2,156 +2,9 @@ """ setup.py - Setup package with the help from Python's DistUtils and friends. """ -from distutils.core import setup, Command -from distutils.command.sdist import sdist as _sdist -from distutils.command.build import build as _build -from distutils.command.install_data import install_data as _install_data -from distutils.command.install_lib import install_lib as _install_lib -from distutils.command.install import install as _install -from unittest import TextTestRunner, TestLoader -from glob import glob -from os.path import splitext, basename, join as pjoin +from distutils.core import setup import os, sys -locale = None -builddir = None - -data_files = [ ('/etc', [ 'sos.conf']), - ('share/sos/', ['gpgkeys/rhsupport.pub']), - ('share/man/man1', ['man/en/sosreport.1'])] - - -class refresh_translations(Command): - user_options = [] - description = "Regenerate POT file and merge with current translations." - def initialize_options(self): - pass - - def finalize_options(self): - pass - - def run(self): - # generate POT file - files = [ "sos/*.py" ] - pot_cmd = "xgettext --language=Python -o po/sos.pot" - for f in files: - pot_cmd += " %s " % f - os.system(pot_cmd) - - # merge new template with existing translations - for po in glob.glob(os.path.pjoin(os.getcwd(), 'po', '*.po')): - os.system("msgmerge -U po/%s po/sos.pot" % - os.path.basename(po)) - -class sdist(_sdist): - """ updates man pages """ - def run(self): - self._update_manpages() - _sdist.run(self) - - def _update_manpages(self): - if os.system("make -C man/en"): - raise RuntimeError("Couldn't generate man pages.") - -class build(_build): - """ compile i18n files """ - def run(self): - global builddir - if not os.path.exists("build/po"): - os.makedirs("build/po") - - for filename in glob(pjoin(os.getcwd(), 'po', '*.po')): - filename = os.path.basename(filename) - lang = os.path.basename(filename)[0:len(filename)-3] - if not os.path.exists("build/po/%s" % lang): - os.makedirs("build/po/%s" % lang) - newname = "build/po/%s/sos.mo" % lang - - print "Building %s from %s" % (newname, filename) - os.system("msgfmt po/%s -o %s" % (filename, newname)) - - _build.run(self) - builddir = self.build_lib - -class install(_install): - """ extract install base for locale install """ - def finalize_options(self): - global locale - _install.finalize_options(self) - locale = self.install_base + "/share/locale" - -class install_lib(_install_lib): - """ custom install_lib command to place locale location into library""" - - def run(self): - for initfile in [ "sos/__init__.py" ]: - cmd = "cat %s | " % initfile - cmd += """sed -e "s,::LOCALEDIR::,%s," > """ % locale - cmd += "%s/%s" % (builddir, initfile) - os.system(cmd) - - _install_lib.run(self) - -class install_data(_install_data): - """ custom install_data command to prepare i18n/docs files for install""" - def run(self): - dirlist = os.listdir("build/po") - for lang in dirlist: - if lang != "." and lang != "..": - install_path = "share/locale/%s/LC_MESSAGES/" % lang - src_path = "build/po/%s/sos.mo" % lang - print "Installing %s to %s" % (src_path, install_path) - toadd = (install_path, [src_path]) - # Add these to the datafiles list - data_files.append(toadd) - -class TestBaseCommand(Command): - user_options = [] - - def initialize_options(self): - self.debug = 0 - self._testfiles = [] - self._dir = os.getcwd() - - def finalize_options(self): - pass - - def run(self): - tests = TestLoader().loadTestsFromNames(self._testfiles) - t = TextTestRunner(verbosity = 1) - - result = t.run(tests) - if len(result.failures) > 0 or len(result.errors) > 0: - sys.exit(1) - else: - sys.exit(0) - -class TestSOS(TestBaseCommand): - description = "Runs unittest" - user_options = TestBaseCommand.user_options + \ - [("testfile=", None, "Specify test to run"),] - - def initialize_options(self): - TestBaseCommand.initialize_options(self) - self.testfile = None - - def finalize_options(self): - TestBaseCommand.finalize_options(self) - - def run(self): - """ find all tests """ - testfiles = [] - for t in glob(pjoin(self._dir, 'tests', '*.py')): - if self.testfile: - base = os.path.basename(t) - check = os.path.basename(self.testfile) - if base != check and base != (check + ".py"): - continue - testfiles.append('.'.join(['tests',splitext(basename(t))[0]])) - - self._testfiles = testfiles - TestBaseCommand.run(self) - setup( name = 'sos', version = '1.9', @@ -159,15 +12,8 @@ setup( author_email = 'astokes@fedoraproject.org', url = 'http://fedorahosted.org/sos', description = 'SOS - son of sysreport', - packages = ['sos'], - scripts = ["sosreport"], + packages = ['sos','sos.plugins'], + scripts = ["sosreport", "extras/rh-upload"], data_files = data_files, - cmdclass = { - 'test': TestSOS, - 'sdist': sdist, 'build' : build, - 'install_data' : install_data, - 'install_lib' : install_lib, - 'install' : install, - 'refresh_translations' : refresh_translations} ) |