~274914765-t/terminator/terminator

« back to all changes in this revision

Viewing changes to setup.py

  • Committer: Chris Jones
  • Date: 2007-12-29 03:01:28 UTC
  • Revision ID: cmsj@waishou-20071229030128-tf8uu3u6dt4lgiq4
Add gettext support

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
#!/usr/bin/env python
2
2
 
3
3
from distutils.core import setup
 
4
from distutils.command.install_data import install_data
 
5
from distutils.dep_util import newer
 
6
from distutils.log import info
 
7
import glob
 
8
import os
 
9
import sys
 
10
 
 
11
class InstallData(install_data):
 
12
  def run (self):
 
13
    self.data_files.extend (self._compile_po_files ())
 
14
    install_data.run (self)
 
15
 
 
16
  def _compile_po_files (self):
 
17
    data_files = []
 
18
 
 
19
    # Don't install language files on win32
 
20
    if sys.platform == 'win32':
 
21
      return data_files
 
22
 
 
23
    PO_DIR = 'po'
 
24
    for po in glob.glob (os.path.join (PO_DIR,'*.po')):
 
25
      lang = os.path.basename(po[:-3])
 
26
      mo = os.path.join('build', 'mo', lang, 'terminator.mo')
 
27
 
 
28
      directory = os.path.dirname(mo)
 
29
      if not os.path.exists(directory):
 
30
        info('creating %s' % directory)
 
31
        os.makedirs(directory)
 
32
 
 
33
      if newer(po, mo):
 
34
        # True if mo doesn't exist
 
35
        cmd = 'msgfmt -o %s %s' % (mo, po)
 
36
        info('compiling %s -> %s' % (po, mo))
 
37
        if os.system(cmd) != 0:
 
38
          raise SystemExit('Error while running msgfmt')
 
39
 
 
40
        dest = os.path.dirname(os.path.join('share', 'locale', lang, 'LC_MESSAGES', 'terminator.mo'))
 
41
        data_files.append((dest, [mo]))
 
42
 
 
43
    return data_files
 
44
 
4
45
 
5
46
setup(name='Terminator',
6
47
      version='0.6',
13
54
      data_files=[
14
55
                  ('share/applications', ['terminator.desktop']),
15
56
                 ],
 
57
      cmdclass={'install_data': InstallData}
16
58
     )
17
59