Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 0.8, 0.8.1, and 0.8.2

paths: use thgutil/__paths__.py file if present

Changeset be2282b9e78c

Parent 30ee4a16cacf

by Steve Borho

Changes to one file · Browse files at be2282b9e78c Showing diff from parent 30ee4a16cacf Diff from another changeset...

Change 1 of 4 Show Changes Only thgutil/​paths.py Stacked
1
2
3
4
5
6
7
8
 
 
 
 
 
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
 
 
 
 
 
27
28
29
30
 
 
 
 
31
32
33
34
35
36
37
 
 
38
 
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
 
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
 
 
 
84
85
 
86
87
88
89
90
 
91
92
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
 
 
 
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
 
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
 
101
102
103
104
105
 
106
107
 
108
 """  paths.py   Copyright (C) 2009 Steve Borho <steve@borho.org>    This software may be used and distributed according to the terms  of the GNU General Public License, incorporated herein by reference.  """   +try: + from __paths__ import icon_path, bin_path, license_path +except ImportError: + icon_path, bin_path, license_path = None, None, None +  import os    def find_root(path):   p = os.path.isdir(path) and path or os.path.dirname(path)   while not os.path.isdir(os.path.join(p, ".hg")):   oldp = p   p = os.path.dirname(p)   if p == oldp:   return None   if not os.access(p, os.R_OK):   return None   return p    def get_tortoise_icon(icon): - '''Find a tortoise icon, apply to PyGtk window''' - path = os.path.join(get_prog_root(), 'icons', icon) - if os.path.isfile(path): - return path + "Find a tortoisehg icon" + global icon_path + path = icon_path or os.path.join(get_prog_root(), 'icons') + icopath = os.path.join(path, icon) + if os.path.isfile(icopath): + return icopath   else:   print 'icon not found', icon   return None   +def get_license_path(): + global license_path + return license_path or os.path.join(get_prog_root(), 'COPYING.txt') +  if os.name == 'nt':   import _winreg   import win32net   USE_OK = 0 # network drive status     def find_in_path(pgmname): - """ return first executable found in search path """ + "return first executable found in search path" + global bin_path   ospath = os.environ['PATH'].split(os.pathsep) + ospath.insert(0, bin_path or get_prog_root())   pathext = os.environ.get('PATHEXT', '.COM;.EXE;.BAT;.CMD')   pathext = pathext.lower().split(os.pathsep)   for path in ospath:   ppath = os.path.join(path, pgmname)   for ext in pathext:   if os.path.exists(ppath + ext):   return ppath + ext   return None     def get_prog_root():   try:   return _winreg.QueryValue(_winreg.HKEY_LOCAL_MACHINE,   r"Software\TortoiseHg")   except:   return os.path.dirname(os.path.dirname(__file__))     def netdrive_status(drive):   """   return True if a network drive is accessible (connected, ...), - or None if <drive> is not a network drive + or False if <drive> is not a network drive   """   if hasattr(os.path, 'splitunc'):   unc, rest = os.path.splitunc(drive)   if unc: # All UNC paths (\\host\mount) are considered nonlocal   return True   letter = os.path.splitdrive(drive)[0]   _drives, total, _ = win32net.NetUseEnum(None, 1, 0)   for drv in _drives:   if drv['local'] == letter:   info = win32net.NetUseGetInfo(None, letter, 1)   return info['status'] == USE_OK   return False    else: # Not Windows     def find_in_path(pgmname):   """ return first executable found in search path """   ospath = os.environ['PATH'].split(os.pathsep)   for path in ospath:   ppath = os.path.join(path, pgmname)   if os.access(ppath, os.X_OK):   return ppath   return None     def get_prog_root(): + global bin_path + if bin_path: + return bin_path   path = os.path.dirname(os.path.dirname(__file__)) - return os.path.dirname(path) + return path     def netdrive_status(drive):   """   return True if a network drive is accessible (connected, ...), - or None if <drive> is not a network drive + or False if <drive> is not a network drive   """ - return None + return False