[tryton-debian-vcs] tryton-neso branch upstream updated. upstream/2.8.0-1-g754bdb5

git repository hosting tryton-debian-vcs at m9s.biz
Mon Nov 25 19:38:58 UTC 2013


The following commit has been merged in the upstream branch:
http://debian.tryton.org/gitweb/?p=packages/tryton-neso.git;a=commitdiff;h=upstream/2.8.0-1-g754bdb5

commit 754bdb5f2c3bedbdb18e57ccb0fe11a6abd845c0
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Sun Nov 24 17:28:47 2013 +0100

    Adding upstream version 3.0.0.

diff --git a/CHANGELOG b/CHANGELOG
index 14afd6f..8d3ccf5 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+Version 3.0.0 - 2013-10-21
+* Bug fixes (see mercurial logs for details)
+
 Version 2.8.0 - 2013-04-22
 * Bug fixes (see mercurial logs for details)
 
diff --git a/PKG-INFO b/PKG-INFO
index 2c8639b..ccf8b70 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: neso
-Version: 2.8.0
+Version: 3.0.0
 Summary: Standalone Client/Server for the Tryton Application Platform
 Home-page: http://www.tryton.org/
-Author: B2CK
-Author-email: info at b2ck.com
+Author: Tryton
+Author-email: UNKNOWN
 License: GPL-3
-Download-URL: http://downloads.tryton.org/2.8/
+Download-URL: http://downloads.tryton.org/3.0/
 Description: UNKNOWN
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
@@ -14,11 +14,19 @@ Classifier: Environment :: X11 Applications :: GTK
 Classifier: Framework :: Tryton
 Classifier: Intended Audience :: End Users/Desktop
 Classifier: License :: OSI Approved :: GNU General Public License (GPL)
-Classifier: Operating System :: OS Independent
+Classifier: Natural Language :: Bulgarian
+Classifier: Natural Language :: Catalan
+Classifier: Natural Language :: Czech
+Classifier: Natural Language :: Dutch
 Classifier: Natural Language :: English
 Classifier: Natural Language :: French
 Classifier: Natural Language :: German
+Classifier: Natural Language :: Russian
 Classifier: Natural Language :: Spanish
+Classifier: Natural Language :: Slovak
+Classifier: Natural Language :: Slovenian
+Classifier: Natural Language :: Japanese
+Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python :: 2.6
 Classifier: Programming Language :: Python :: 2.7
 Classifier: Topic :: Office/Business
diff --git a/bin/neso b/bin/neso
index 957b1b5..9c443e6 100755
--- a/bin/neso
+++ b/bin/neso
@@ -3,7 +3,6 @@
 #this repository contains the full copyright notices and license terms.
 import sys
 import os
-import logging
 import time
 import threading
 import xmlrpclib
@@ -48,7 +47,7 @@ if os.name == 'mac' or \
         os.environ['GTK_IM_MODULE_FILE'] = immodules
 
 import gtk
-from neso.version import *
+from neso.version import VERSION
 
 for i in ('tryton', 'trytond'):
     try:
@@ -57,7 +56,7 @@ for i in ('tryton', 'trytond'):
         if os.path.isdir(DIR):
             sys.path.insert(0, os.path.dirname(DIR))
             continue
-    except: # Exception with py2exe
+    except:  # Exception with py2exe
         pass
     # try for py2exe
     DIR = os.path.join(os.path.abspath(os.path.normpath(
@@ -103,7 +102,6 @@ from trytond.pool import Pool
 Pool.start()
 
 from trytond.protocols.dispatcher import dispatch
-from trytond.backend import Database
 from trytond.exceptions import UserError, UserWarning, NotLogged, \
     ConcurrencyException
 
@@ -130,7 +128,7 @@ class LocalProxy(xmlrpclib.ServerProxy):
         try:
             return dispatch(*args)
         except (UserError, UserWarning, NotLogged,
-            ConcurrencyException), exception:
+                ConcurrencyException), exception:
             raise TrytonServerError(*exception.args)
         except Exception:
             tb_s = ''
@@ -163,6 +161,8 @@ class LocalProxy(xmlrpclib.ServerProxy):
 rpc.ServerProxy = LocalProxy
 
 CRON_RUNNING = True
+
+
 def cron():
     threads = {}
     while CRON_RUNNING:
@@ -194,6 +194,7 @@ CLIENT_CONFIG.__setitem__('login.port', 8000, config=False)
 from tryton.gui.window.dbcreate import DBCreate
 _DBCreate_run = DBCreate.run
 
+
 def DBCreate_run(self):
     self.entry_serverpasswd.set_text('admin')
     self.event_show_button_create(self.dialog, None)
@@ -204,6 +205,7 @@ DBCreate.run = DBCreate_run
 from tryton.gui.window.dbdumpdrop import DBBackupDrop
 _DBBackupDrop_run = DBBackupDrop.run
 
+
 def DBBackupDrop_run(self):
     self.entry_serverpasswd.set_text('admin')
     self.event_show_button_ok(self.dialog, None)
@@ -215,6 +217,7 @@ DBBackupDrop.run = DBBackupDrop_run
 from tryton.gui.window.dbrestore import DBRestore
 _DBRestore_run = DBRestore.run
 
+
 def DBRestore_run(self):
     self.entry_server_password.set_text('admin')
     self.event_show_button_restore(self.dialog, None)
@@ -222,8 +225,7 @@ def DBRestore_run(self):
 
 DBRestore.run = DBRestore_run
 
-from tryton.common import refresh_dblist, DBProgress
-import tryton.common as common
+from tryton.common import refresh_dblist
 from tryton.gui.window.dblogin import DBLogin
 from tryton.exceptions import TrytonError
 
@@ -255,6 +257,7 @@ def DBLogin_run(self):
             xoptions=gtk.FILL)
     else:
         dbname = None
+
         def db_create(button):
             dia = DBCreate('localhost', 8000)
             dbname = dia.run()
@@ -263,7 +266,7 @@ def DBLogin_run(self):
                 xoptions=gtk.FILL)
             self.database_combo.show()
             dbstore.append((dbname,))
-            self.database_combo.set_active(len(dbstore)-1)
+            self.database_combo.set_active(len(dbstore) - 1)
         image = gtk.Image()
         image.set_from_stock('tryton-new', gtk.ICON_SIZE_BUTTON)
         create_button = gtk.Button(u'Create')
@@ -289,7 +292,6 @@ def DBLogin_run(self):
     self.dialog.destroy()
     if res != gtk.RESPONSE_OK:
         rpc.logout()
-        from tryton.gui.main import Main
         raise TrytonError('QueryCanceled')
     return result
 
diff --git a/neso.desktop b/neso.desktop
index dd288d0..635bd4d 100644
--- a/neso.desktop
+++ b/neso.desktop
@@ -6,10 +6,13 @@ GenericName=Standalone Client/Server for the Tryton Application Platform
 GenericName[ca_ES]=Client/Servidor autònom per l'aplicació Tryton
 GenericName[de]=Autonomer Client/Server für die Tryton Applikationsplattform
 GenericName[es_ES]=Cliente/Servidor autónomo para la aplicación Tryton
+GenericName[sl]=Samostojni odjemalec/strežnik za aplikacijsko platformo Tryton
 Comment=Run Tryton
 Comment[ca_ES]=Inicia Tryton
 Comment[de]=Tryton starten
 Comment[es_ES]=Iniciar Tryton
+Comment[sl]=Zaženi Tryton
+Keywords=Business;Management;Enterprise;ERP;Framework;
 Exec=neso
 Icon=neso-icon
 Terminal=false
diff --git a/neso.egg-info/PKG-INFO b/neso.egg-info/PKG-INFO
index 2c8639b..ccf8b70 100644
--- a/neso.egg-info/PKG-INFO
+++ b/neso.egg-info/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: neso
-Version: 2.8.0
+Version: 3.0.0
 Summary: Standalone Client/Server for the Tryton Application Platform
 Home-page: http://www.tryton.org/
-Author: B2CK
-Author-email: info at b2ck.com
+Author: Tryton
+Author-email: UNKNOWN
 License: GPL-3
-Download-URL: http://downloads.tryton.org/2.8/
+Download-URL: http://downloads.tryton.org/3.0/
 Description: UNKNOWN
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
@@ -14,11 +14,19 @@ Classifier: Environment :: X11 Applications :: GTK
 Classifier: Framework :: Tryton
 Classifier: Intended Audience :: End Users/Desktop
 Classifier: License :: OSI Approved :: GNU General Public License (GPL)
-Classifier: Operating System :: OS Independent
+Classifier: Natural Language :: Bulgarian
+Classifier: Natural Language :: Catalan
+Classifier: Natural Language :: Czech
+Classifier: Natural Language :: Dutch
 Classifier: Natural Language :: English
 Classifier: Natural Language :: French
 Classifier: Natural Language :: German
+Classifier: Natural Language :: Russian
 Classifier: Natural Language :: Spanish
+Classifier: Natural Language :: Slovak
+Classifier: Natural Language :: Slovenian
+Classifier: Natural Language :: Japanese
+Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python :: 2.6
 Classifier: Programming Language :: Python :: 2.7
 Classifier: Topic :: Office/Business
diff --git a/neso.egg-info/SOURCES.txt b/neso.egg-info/SOURCES.txt
index 8d44da0..760a721 100644
--- a/neso.egg-info/SOURCES.txt
+++ b/neso.egg-info/SOURCES.txt
@@ -11,6 +11,7 @@ german.nsh
 neso.desktop
 setup.nsi
 setup.py
+slovenian.nsh
 spanish.nsh
 bin/neso
 neso/__init__.py
diff --git a/neso.egg-info/requires.txt b/neso.egg-info/requires.txt
index 13b2aed..0352f99 100644
--- a/neso.egg-info/requires.txt
+++ b/neso.egg-info/requires.txt
@@ -1,2 +1,2 @@
-tryton >= 2.8, < 2.8
-trytond >= 2.8, < 2.9
\ No newline at end of file
+tryton >= 3.0, < 3.0
+trytond >= 3.0, < 3.1
\ No newline at end of file
diff --git a/neso/version.py b/neso/version.py
index 7d7b4ea..d1a04b8 100644
--- a/neso/version.py
+++ b/neso/version.py
@@ -1,6 +1,6 @@
 #This file is part of Tryton.  The COPYRIGHT file at the top level of
 #this repository contains the full copyright notices and license terms.
 PACKAGE = "neso"
-VERSION = "2.8.0"
+VERSION = "3.0.0"
 LICENSE = "GPL-3"
 WEBSITE = "http://www.tryton.org/"
diff --git a/setup.py b/setup.py
index b2c1281..a0ce214 100644
--- a/setup.py
+++ b/setup.py
@@ -6,11 +6,36 @@ from setuptools import setup, find_packages
 import os
 import sys
 import glob
+import re
+
 
 def read(fname):
     return open(os.path.join(os.path.dirname(__file__), fname)).read()
 
 args = {}
+
+languages = (
+    'bg_BG',
+    'ca_ES',
+    'cs_CZ',
+    'de_DE',
+    'es_AR',
+    'es_CO',
+    'es_ES',
+    'fr_FR',
+    'ja_JP',
+    'lt_LT',
+    'nl_NL',
+    'ru_RU',
+    'sl_SI',
+    )
+
+
+def all_languages():
+    for lang in languages:
+        yield lang
+        yield lang.split('_')[0]
+
 data_files = []
 
 if os.name == 'nt':
@@ -18,12 +43,13 @@ if os.name == 'nt':
 
     args['windows'] = [{
         'script': os.path.join('bin', 'neso'),
-        'icon_resources': [(1, os.path.join('share', 'pixmaps', 'neso', 'neso.ico'))],
+        'icon_resources': [
+                (1, os.path.join('share', 'pixmaps', 'neso', 'neso.ico'))],
     }]
     args['options'] = {
         'py2exe': {
             'optimize': 0,
-            'bundle_files': 3, #don't bundle because gtk doesn't support it
+            'bundle_files': 3,  # don't bundle because gtk doesn't support it
             'packages': [
                 'encodings',
                 'gtk',
@@ -68,8 +94,7 @@ if os.name == 'nt':
     manifest = read('Microsoft.VC90.CRT.manifest')
     args['windows'][0]['other_resources'] = [(24, 1, manifest)]
 
-elif os.name == 'mac' \
-        or (hasattr(os, 'uname') and os.uname()[0] == 'Darwin'):
+elif sys.platform == 'darwin':
     import py2app
     from modulegraph.find_modules import PY_SUFFIXES
     PY_SUFFIXES.append('')
@@ -81,7 +106,7 @@ elif os.name == 'mac' \
                     'gobject, gio, gtk.keysyms, pkg_resources, ConfigParser, '
                     'xmlrpclib, decimal, uuid, '
                     'dateutil, psycopg2, zipfile, sqlite3, '
-                    'csv, pydoc, pydot, BeautifulSoup, '
+                    'csv, pydoc, pydot, '
                     'vobject, vatnumber, suds, email, cPickle, sha, '
                     'contextlib, gtk_osxapplication, ldap, simplejson'),
             'packages': ('xml, logging, lxml, genshi, DAV, pytz, email, '
@@ -97,7 +122,6 @@ elif os.name == 'mac' \
         },
     }
 
-
 execfile(os.path.join('neso', 'version.py'))
 major_version, minor_version, _ = VERSION.split('.', 2)
 major_version = int(major_version)
@@ -106,11 +130,10 @@ minor_version = int(minor_version)
 dist = setup(name=PACKAGE,
     version=VERSION,
     description='Standalone Client/Server for the Tryton Application Platform',
-    author='B2CK',
-    author_email='info at b2ck.com',
+    author='Tryton',
     url=WEBSITE,
-    download_url='http://downloads.tryton.org/' + \
-            VERSION.rsplit('.', 1)[0] + '/',
+    download_url=('http://downloads.tryton.org/' +
+        VERSION.rsplit('.', 1)[0] + '/'),
     packages=find_packages(),
     data_files=data_files,
     scripts=['bin/neso'],
@@ -120,15 +143,23 @@ dist = setup(name=PACKAGE,
         'Framework :: Tryton',
         'Intended Audience :: End Users/Desktop',
         'License :: OSI Approved :: GNU General Public License (GPL)',
-        'Operating System :: OS Independent',
+        'Natural Language :: Bulgarian',
+        'Natural Language :: Catalan',
+        'Natural Language :: Czech',
+        'Natural Language :: Dutch',
         'Natural Language :: English',
         'Natural Language :: French',
         'Natural Language :: German',
+        'Natural Language :: Russian',
         'Natural Language :: Spanish',
+        'Natural Language :: Slovak',
+        'Natural Language :: Slovenian',
+        'Natural Language :: Japanese',
+        'Operating System :: OS Independent',
         'Programming Language :: Python :: 2.6',
         'Programming Language :: Python :: 2.7',
         'Topic :: Office/Business',
-    ],
+        ],
     license='GPL-3',
     install_requires=[
         'tryton >= %s.%s, < %s.%s' % (major_version, minor_version,
@@ -137,7 +168,8 @@ dist = setup(name=PACKAGE,
             major_version, minor_version + 1),
     ],
     **args
-)
+    )
+
 
 def findFiles(topDir, pattern):
     import fnmatch
@@ -146,40 +178,41 @@ def findFiles(topDir, pattern):
             if fnmatch.fnmatch(filename, pattern):
                 yield os.path.join(dirpath, filename)
 
+
 def copy_trytons(dist_dir):
-   from py_compile import compile
-   for i in ('tryton', 'trytond'):
-       if os.path.isdir(os.path.join(dist_dir, i)):
-           shutil.rmtree(os.path.join(dist_dir, i))
-       shutil.copytree(os.path.join(os.path.dirname(__file__), i),
-               os.path.join(dist_dir, i))
-       for j in ('.hg', 'dist', 'build', i + '.egg-info'):
-           if os.path.isdir(os.path.join(dist_dir, i, j)):
-               shutil.rmtree(os.path.join(dist_dir, i, j))
-       for j in ('.hgtags', '.hgignore'):
-           if os.path.isfile(os.path.join(dist_dir, i, j)):
-               os.remove(os.path.join(dist_dir, i, j))
-       for file in glob.iglob(os.path.join(dist_dir, i, '*.exe')):
-           os.remove(file)
-       for file in glob.iglob(os.path.join(dist_dir, i, '*.dmg')):
-           os.remove(file)
-       for file in findFiles(os.path.join(dist_dir, i), '*.py'):
-           if file.endswith('__tryton__.py'):
-               continue
-           print "byte-compiling %s to %s" % (file,
-                   file[len(dist_dir) + len(os.sep):] + \
-                   (__debug__ and 'c' or 'o'))
-           compile(file, None, file[len(dist_dir) + len(os.sep):] + \
-                   (__debug__ and 'c' or 'o'), True)
-           os.remove(file)
-   for j in ('.hg', 'dist', 'build', i + '.egg-info'):
-       for dir in glob.iglob(os.path.join(dist_dir, 'trytond', 'trytond',
-               'modules', '*', j)):
-           shutil.rmtree(dir)
-   for j in ('.hgtags', '.hgignore'):
-       for file in glob.iglob(os.path.join(dist_dir, 'trytond', 'trytond',
-               'modules', '*', j)):
-           os.remove(file)
+    from py_compile import compile
+    for i in ('tryton', 'trytond'):
+        if os.path.isdir(os.path.join(dist_dir, i)):
+            shutil.rmtree(os.path.join(dist_dir, i))
+        shutil.copytree(os.path.join(os.path.dirname(__file__), i),
+           os.path.join(dist_dir, i))
+        for j in ('.hg', 'dist', 'build', i + '.egg-info'):
+            if os.path.isdir(os.path.join(dist_dir, i, j)):
+                shutil.rmtree(os.path.join(dist_dir, i, j))
+        for j in ('.hgtags', '.hgignore'):
+            if os.path.isfile(os.path.join(dist_dir, i, j)):
+                os.remove(os.path.join(dist_dir, i, j))
+        for file in glob.iglob(os.path.join(dist_dir, i, '*.exe')):
+            os.remove(file)
+        for file in glob.iglob(os.path.join(dist_dir, i, '*.dmg')):
+            os.remove(file)
+        for file in findFiles(os.path.join(dist_dir, i), '*.py'):
+            if file.endswith('__tryton__.py'):
+                continue
+            print "byte-compiling %s to %s" % (file,
+                file[len(dist_dir) + len(os.sep):]
+                + (__debug__ and 'c' or 'o'))
+            compile(file, None, file[len(dist_dir) + len(os.sep):]
+                + (__debug__ and 'c' or 'o'), True)
+            os.remove(file)
+    for j in ('.hg', 'dist', 'build', i + '.egg-info'):
+        for dir in glob.iglob(os.path.join(
+                    dist_dir, 'trytond', 'trytond', 'modules', '*', j)):
+            shutil.rmtree(dir)
+    for j in ('.hgtags', '.hgignore'):
+        for file in glob.iglob(os.path.join(
+                    dist_dir, 'trytond', 'trytond', 'modules', '*', j)):
+            os.remove(file)
 
 if os.name == 'nt':
     def find_gtk_dir():
@@ -192,7 +225,8 @@ if os.name == 'nt':
         return None
 
     def find_makensis():
-        for directory in os.environ['PATH'].split(';'):
+        default_path = os.path.join(os.environ['PROGRAMFILES'], 'NSIS')
+        for directory in os.environ['PATH'].split(';') + [default_path]:
             if not os.path.isdir(directory):
                 continue
             path = os.path.join(directory, 'makensis.exe')
@@ -232,12 +266,16 @@ if os.name == 'nt':
             os.path.join(dist_dir, 'etc'))
 
         from subprocess import Popen, PIPE
-        query_loaders = Popen(os.path.join(gtk_dir,'bin','gdk-pixbuf-query-loaders'),
-            stdout=PIPE).stdout.read()
-        query_loaders = query_loaders.replace(gtk_dir.replace(os.sep, '/') + '/', '')
-        loaders = open(os.path.join(dist_dir, 'etc', 'gtk-2.0', 'gdk-pixbuf.loaders'), 'w')
-        loaders.writelines([line + "\n" for line in query_loaders.split(os.linesep)])
-        loaders.close()
+        query_loaders = Popen(os.path.join(gtk_dir, 'bin',
+                'gdk-pixbuf-query-loaders'), stdout=PIPE).stdout.read()
+        query_loaders = query_loaders.replace(
+            gtk_dir.replace(os.sep, '/') + '/', '')
+
+        loaders_path = os.path.join(dist_dir, 'etc', 'gtk-2.0',
+                'gdk-pixbuf.loaders')
+        with open(loaders_path, 'w') as loaders:
+            loaders.writelines([line + "\n" for line in
+                    query_loaders.split(os.linesep)])
 
         if os.path.isdir(os.path.join(dist_dir, 'lib')):
             shutil.rmtree(os.path.join(dist_dir, 'lib'))
@@ -248,14 +286,17 @@ if os.name == 'nt':
             if os.path.isfile(file):
                 shutil.copy(file, dist_dir)
 
-        for lang in ('de', 'es', 'fr'):
+        for lang in all_languages():
             if os.path.isdir(os.path.join(dist_dir, 'share', 'locale', lang)):
                 shutil.rmtree(os.path.join(dist_dir, 'share', 'locale', lang))
-            shutil.copytree(os.path.join(gtk_dir, 'share', 'locale', lang),
-                os.path.join(dist_dir, 'share', 'locale', lang))
-
-        if os.path.isdir(os.path.join(dist_dir, 'share', 'themes', 'MS-Windows')):
-            shutil.rmtree(os.path.join(dist_dir, 'share', 'themes', 'MS-Windows'))
+            if os.path.isdir(os.path.join(gtk_dir, 'share', 'locale', lang)):
+                shutil.copytree(os.path.join(gtk_dir, 'share', 'locale', lang),
+                    os.path.join(dist_dir, 'share', 'locale', lang))
+
+        if os.path.isdir(os.path.join(dist_dir, 'share', 'themes',
+                    'MS-Windows')):
+            shutil.rmtree(os.path.join(dist_dir, 'share', 'themes',
+                    'MS-Windows'))
         shutil.copytree(os.path.join(gtk_dir, 'share', 'themes', 'MS-Windows'),
             os.path.join(dist_dir, 'share', 'themes', 'MS-Windows'))
 
@@ -265,8 +306,11 @@ if os.name == 'nt':
             Popen([makensis, "/DVERSION=" + VERSION,
                 str(os.path.join(os.path.dirname(__file__),
                     'setup.nsi'))]).wait()
-elif os.name == 'mac' \
-        or (hasattr(os, 'uname') and os.uname()[0] == 'Darwin'):
+        else:
+            print "makensis.exe not found: installers can not be created, "\
+                "skip setup.nsi"
+elif sys.platform == 'darwin':
+
     def find_gtk_dir():
         for directory in os.environ['PATH'].split(':'):
             if not os.path.isdir(directory):
@@ -282,11 +326,13 @@ elif os.name == 'mac' \
         from itertools import chain
         from glob import iglob
         gtk_dir = find_gtk_dir()
-        gtk_binary_version = Popen(['pkg-config', '--variable=gtk_binary_version',
-            'gtk+-2.0'], stdout=PIPE).stdout.read().strip()
+        gtk_binary_version = Popen(['pkg-config',
+                '--variable=gtk_binary_version', 'gtk+-2.0'],
+            stdout=PIPE).stdout.read().strip()
 
         dist_dir = dist.command_obj['py2app'].dist_dir
-        resources_dir = os.path.join(dist_dir, 'neso.app', 'Contents', 'Resources')
+        resources_dir = os.path.join(dist_dir, 'neso.app', 'Contents',
+            'Resources')
 
         copy_trytons(resources_dir)
 
@@ -299,70 +345,90 @@ elif os.name == 'mac' \
 
         query_pango = Popen(os.path.join(gtk_dir, 'bin', 'pango-querymodules'),
                 stdout=PIPE).stdout.read()
-        query_pango = query_pango.replace(gtk_dir, '@executable_path/../Resources')
-        pango_modules = open(os.path.join(resources_dir, 'pango.modules'), 'w')
-        pango_modules.write(query_pango)
-        pango_modules.close()
-
-        pangorc = open(os.path.join(resources_dir, 'pangorc'), 'w')
-        pangorc.write('[Pango]\n')
-        pangorc.write('ModuleFiles=./pango.modules\n')
-        pangorc.close()
-
-        if os.path.isdir(os.path.join(gtk_2_dist_dir, gtk_binary_version, 'loaders')):
-            shutil.rmtree(os.path.join(gtk_2_dist_dir, gtk_binary_version, 'loaders'))
-        shutil.copytree(os.path.join(gtk_dir, 'lib', 'gtk-2.0', gtk_binary_version,
-                'loaders'), os.path.join(gtk_2_dist_dir, gtk_binary_version, 'loaders'))
-        if not os.path.isdir(os.path.join(gtk_2_dist_dir, gtk_binary_version, 'engines')):
-            os.makedirs(os.path.join(gtk_2_dist_dir, gtk_binary_version, 'engines'))
-        shutil.copyfile(os.path.join(gtk_dir, 'lib', 'gtk-2.0', gtk_binary_version,
-                'engines', 'libclearlooks.so'), os.path.join(gtk_2_dist_dir,
-                gtk_binary_version, 'engines', 'libclearlooks.so'))
-
-        query_loaders = Popen(os.path.join(gtk_dir,'bin','gdk-pixbuf-query-loaders'),
-                stdout=PIPE).stdout.read()
-        query_loaders = query_loaders.replace(gtk_dir, '@executable_path/../Resources')
-        loaders = open(os.path.join(resources_dir, 'gdk-pixbuf.loaders'), 'w')
-        loaders.write(query_loaders)
-        loaders.close()
-
-        if os.path.isdir(os.path.join(gtk_2_dist_dir, gtk_binary_version, 'immodules')):
-            shutil.rmtree(os.path.join(gtk_2_dist_dir, gtk_binary_version, 'immodules'))
-        shutil.copytree(os.path.join(gtk_dir, 'lib', 'gtk-2.0', gtk_binary_version,
-            'immodules'), os.path.join(gtk_2_dist_dir, gtk_binary_version, 'immodules'))
-
-        query_immodules = Popen(os.path.join(gtk_dir, 'bin', 'gtk-query-immodules-2.0'),
-                stdout=PIPE).stdout.read()
-        query_immodules = query_immodules.replace(gtk_dir, '@executable_path/../Resources')
-        immodules = open(os.path.join(resources_dir, 'gtk.immodules'), 'w')
-        immodules.write(query_immodules)
-        immodules.close()
+        query_pango = query_pango.replace(gtk_dir,
+            '@executable_path/../Resources')
+        pango_modules_path = os.path.join(resources_dir, 'pango.modules')
+        with open(pango_modules_path, 'w') as pango_modules:
+            pango_modules.write(query_pango)
+
+        with open(os.path.join(resources_dir, 'pangorc'), 'w') as pangorc:
+            pangorc.write('[Pango]\n')
+            pangorc.write('ModuleFiles=./pango.modules\n')
+
+        if not os.path.isdir(os.path.join(gtk_2_dist_dir, gtk_binary_version,
+                    'engines')):
+            os.makedirs(os.path.join(gtk_2_dist_dir, gtk_binary_version,
+                    'engines'))
+        shutil.copyfile(os.path.join(gtk_dir, 'lib', 'gtk-2.0',
+                gtk_binary_version, 'engines', 'libclearlooks.so'),
+            os.path.join(gtk_2_dist_dir, gtk_binary_version, 'engines',
+                'libclearlooks.so'))
+
+        query_loaders = Popen(os.path.join(gtk_dir, 'bin',
+                'gdk-pixbuf-query-loaders'), stdout=PIPE).stdout.read()
+        loader_dir, = re.findall('# LoaderDir = (.*)', query_loaders)
+        loader_pkg = (loader_dir.replace(os.path.join(gtk_dir, 'lib'),
+                '').split(os.path.sep)[-3])
+        loader_dist_dir = os.path.join(resources_dir, 'lib', loader_pkg,
+                gtk_binary_version, 'loaders')
+        if os.path.isdir(loader_dist_dir):
+            shutil.rmtree(loader_dist_dir)
+        if os.path.isdir(loader_dir):
+            shutil.copytree(loader_dir, loader_dist_dir)
+        query_loaders = query_loaders.replace(gtk_dir,
+            '@executable_path/../Resources')
+
+        loaders_path = os.path.join(resources_dir, 'gdk-pixbuf.loaders')
+        with open(loaders_path, 'w') as loaders:
+            loaders.write(query_loaders)
+
+        if os.path.isdir(os.path.join(gtk_2_dist_dir, gtk_binary_version,
+                    'immodules')):
+            shutil.rmtree(os.path.join(gtk_2_dist_dir, gtk_binary_version,
+                    'immodules'))
+        shutil.copytree(os.path.join(gtk_dir, 'lib', 'gtk-2.0',
+                gtk_binary_version, 'immodules'), os.path.join(gtk_2_dist_dir,
+                gtk_binary_version, 'immodules'))
+
+        query_immodules = Popen(os.path.join(gtk_dir, 'bin',
+                'gtk-query-immodules-2.0'), stdout=PIPE).stdout.read()
+        query_immodules = query_immodules.replace(gtk_dir,
+            '@executable_path/../Resources')
+
+        immodules_path = os.path.join(resources_dir, 'gtk.immodules')
+        with open(immodules_path, 'w') as immodules:
+            immodules.write(query_immodules)
 
         shutil.copy(os.path.join(gtk_dir, 'share', 'themes', 'Clearlooks',
             'gtk-2.0', 'gtkrc'), os.path.join(resources_dir, 'gtkrc'))
 
-        for lang in ('de', 'es', 'fr', 'ru'):
-            if os.path.isdir(os.path.join(resources_dir, 'share', 'locale', lang)):
-                shutil.rmtree(os.path.join(resources_dir, 'share', 'locale', lang))
-            shutil.copytree(os.path.join(gtk_dir, 'share', 'locale', lang),
-                os.path.join(resources_dir, 'share', 'locale', lang))
+        for lang in all_languages():
+            if os.path.isdir(os.path.join(resources_dir, 'share', 'locale',
+                        lang)):
+                shutil.rmtree(os.path.join(resources_dir, 'share', 'locale',
+                        lang))
+            if os.path.isdir(os.path.join(gtk_dir, 'share', 'locale', lang)):
+                shutil.copytree(os.path.join(gtk_dir, 'share', 'locale', lang),
+                    os.path.join(resources_dir, 'share', 'locale', lang))
 
         # fix pathes within shared libraries
         for library in chain(
-                iglob(os.path.join(gtk_2_dist_dir, gtk_binary_version, 'loaders', '*.so')),
-                iglob(os.path.join(gtk_2_dist_dir, gtk_binary_version, 'engines', '*.so')),
-                iglob(os.path.join(gtk_2_dist_dir, gtk_binary_version, 'immodules', '*.so')),
-                iglob(os.path.join(pango_dist_dir,'*','modules','*.so'))):
+                iglob(os.path.join(loader_dist_dir, '*.so')),
+                iglob(os.path.join(gtk_2_dist_dir, gtk_binary_version,
+                        'engines', '*.so')),
+                iglob(os.path.join(gtk_2_dist_dir, gtk_binary_version,
+                        'immodules', '*.so')),
+                iglob(os.path.join(pango_dist_dir, '*', 'modules', '*.so'))):
             libs = [lib.split('(')[0].strip()
-                    for lib in Popen(['otool', '-L', library],
-                            stdout=PIPE).communicate()[0].splitlines()
-                    if 'compatibility' in lib]
+                for lib in Popen(['otool', '-L', library],
+                    stdout=PIPE).communicate()[0].splitlines()
+                if 'compatibility' in lib]
             libs = dict(((lib, None) for lib in libs if gtk_dir in lib))
             for lib in libs.keys():
                 fixed = lib.replace(gtk_dir + '/lib',
-                        '@executable_path/../Frameworks')
+                    '@executable_path/../Frameworks')
                 Popen(['install_name_tool', '-change', lib, fixed,
-                    library]).wait()
+                        library]).wait()
 
         for file in ('CHANGELOG', 'COPYRIGHT', 'LICENSE', 'README'):
             shutil.copyfile(os.path.join(os.path.dirname(__file__), file),
@@ -372,5 +438,5 @@ elif os.name == 'mac' \
                 + '.dmg')
         if os.path.isfile(dmg_file):
             os.remove(dmg_file)
-        Popen(['hdiutil', 'create', dmg_file, '-volname', 'Neso ' +
-            VERSION, '-fs', 'HFS+', '-srcfolder', dist_dir]).wait()
+        Popen(['hdiutil', 'create', dmg_file, '-volname', 'Neso '
+                + VERSION, '-fs', 'HFS+', '-srcfolder', dist_dir]).wait()
diff --git a/slovenian.nsh b/slovenian.nsh
new file mode 100644
index 0000000..63b5cc3
--- /dev/null
+++ b/slovenian.nsh
@@ -0,0 +1,17 @@
+;This file is part of Tryton.  The COPYRIGHT file at the top level of
+;this repository contains the full copyright notices and license terms.
+
+!verbose 3
+
+!ifdef CURLANG
+    !undef CURLANG
+!endif
+!define CURLANG ${LANG_SLOVENIAN}
+
+LangString LicenseText ${CURLANG} "Neso je izdan pod licenco GNU General Public License, kot jo je objavila Free Software Foundation, bodisi pod razlièico 3 ali (po va¹i izbiri) katerokoli poznej¹o razlièico. Licenco pozorno preberite. Kliknite Naprej za nadaljevanje."
+LangString LicenseNext ${CURLANG} "&Naprej"
+LangString PreviousInstall ${CURLANG} "Prosimo, da odstranite prej¹njo namestitev Nesa"
+LangString SecNesoName ${CURLANG} "Neso"
+LangString SecNesoDesc ${CURLANG} "Namestitev neso.exe in ostalih potrebnih datotek"
+LangString SecStartMenuName ${CURLANG} "Bli¾njici v zaèetnem meniju in na namizju"
+LangString SecStartMenuDesc ${CURLANG} "Ustvari bli¾njici v zaèetnem meniju in na namizju"
-- 
tryton-neso



More information about the tryton-debian-vcs mailing list