~openerp-dev/openobject-client/dev_client_rga

« back to all changes in this revision

Viewing changes to bin/options.py

  • Committer: RGA(OpenERP)
  • Date: 2011-01-19 05:52:51 UTC
  • mfrom: (1369.10.89 client)
  • Revision ID: rga@tinyerp.com-20110119055251-vh2pmznpxcs445e1
Merge with trunk client

Show diffs side-by-side

added added

removed removed

Lines of Context:
54
54
 
55
55
class configmanager(object):
56
56
 
57
 
    def __get_prefix(self):
58
 
        if self.__prefix is None:
 
57
    def __find_path(self, *paths):
 
58
        """Locate paths under the system's prefix or home installation
 
59
        """
 
60
        if True:
59
61
            f = os.path.normpath(__file__)
 
62
            
 
63
            prefix_possible = ['/usr', '/usr/local', sys.prefix]
 
64
            possible = []
 
65
            home_dir = get_home_dir()
 
66
            for p in prefix_possible:
 
67
                if f.startswith(p):
 
68
                    possible.append(p)
 
69
            if f.startswith(home_dir):
 
70
                possible.append(os.path.join(home_dir,'.local'))
60
71
            sitepackages_prefix = os.path.join('lib', 'python%s' % sys.version[:3], 'site-packages', release.name, os.path.basename(f))
61
72
            home_prefix = os.path.join('lib', 'python', release.name, os.path.basename(f))
62
73
 
63
74
            for p in [sitepackages_prefix, home_prefix]:
64
75
                if f.endswith(p):
65
 
                    self.__prefix = f[:-len(p)]
66
 
                    break
67
 
            if self.__prefix is None:
68
 
                self.__prefix = sys.prefix
69
 
 
70
 
        return self.__prefix
 
76
                    possible.append(f[:-len(p)])
 
77
            for p in possible:
 
78
                final_paths = (p,)+paths
 
79
                if os.path.isdir(os.path.join(*final_paths)):
 
80
                    return os.path.join(*final_paths)
 
81
     
 
82
        return os.path.join(*((sys.prefix,) + paths))
71
83
 
72
84
    def __init__(self,fname=None):
73
85
        self.__prefix = None
79
91
            'login.db': 'terp',
80
92
            'client.toolbar': 'both',
81
93
            'client.theme': 'none',
82
 
            'path.share': os.path.join(self.__get_prefix(), 'share', release.name),
83
 
            'path.pixmaps': os.path.join(self.__get_prefix(), 'share', 'pixmaps', release.name),
 
94
            'path.share': self.__find_path('share', release.name),
 
95
            'path.pixmaps': self.__find_path('share', 'pixmaps', release.name),
84
96
            'tip.autostart': False,
85
97
            'tip.position': 0,
86
98
            'form.autosave': False,