Gentoo Archives: gentoo-catalyst

From: Brian Dolbec <dolsen@g.o>
To: gentoo-catalyst@l.g.o
Subject: [gentoo-catalyst] [PATCH 2/5] Move LockInUse from support.py to lock.py, fix bad execption raising, pyflakes cleanup
Date: Thu, 11 Sep 2014 03:43:55
Message-Id: 1410407024-2445-3-git-send-email-dolsen@gentoo.org
In Reply to: [gentoo-catalyst] [PATCH 0/5] Next group of 5 patches by Brian Dolbec
1 ---
2 catalyst/lock.py | 55 ++++++++++++++++++++++++++++++-----------------------
3 catalyst/main.py | 3 ++-
4 catalyst/support.py | 11 -----------
5 3 files changed, 33 insertions(+), 36 deletions(-)
6
7 diff --git a/catalyst/lock.py b/catalyst/lock.py
8 index 2d10d2f..78968cb 100644
9 --- a/catalyst/lock.py
10 +++ b/catalyst/lock.py
11 @@ -3,14 +3,26 @@ import os
12 import fcntl
13 import errno
14 import sys
15 -import string
16 import time
17 -from catalyst.support import *
18 +from catalyst.support import CatalystError, normpath
19
20 def writemsg(mystr):
21 sys.stderr.write(mystr)
22 sys.stderr.flush()
23
24 +
25 +class LockInUse(Exception):
26 + def __init__(self, message):
27 + if message:
28 + #(type,value)=sys.exc_info()[:2]
29 + #if value!=None:
30 + #print
31 + #kprint traceback.print_exc(file=sys.stdout)
32 + print
33 + print "!!! catalyst lock file in use: "+message
34 + print
35 +
36 +
37 class LockDir:
38 locking_method=fcntl.flock
39 lock_dirs_in_use=[]
40 @@ -109,7 +121,8 @@ class LockDir:
41 def fcntl_lock(self,locktype):
42 if self.myfd==None:
43 if not os.path.exists(os.path.dirname(self.lockdir)):
44 - raise DirectoryNotFound, os.path.dirname(self.lockdir)
45 + raise CatalystError("DirectoryNotFound: %s"
46 + % os.path.dirname(self.lockdir))
47 if not os.path.exists(self.lockfile):
48 old_mask=os.umask(000)
49 self.myfd = os.open(self.lockfile, os.O_CREAT|os.O_RDWR,0660)
50 @@ -168,7 +181,7 @@ class LockDir:
51 print "lockfile does not exist '%s'" % self.lockfile
52 if (self.myfd != None):
53 try:
54 - os.close(myfd)
55 + os.close(self.myfd)
56 self.myfd=None
57 except:
58 pass
59 @@ -251,12 +264,13 @@ class LockDir:
60
61 self.add_hardlock_file_to_cleanup()
62 if not os.path.exists(self.myhardlock):
63 - raise FileNotFound, "Created lockfile is missing: %(filename)s" % {"filename":self.myhardlock}
64 + raise CatalystError("FileNotFound: Created lockfile is missing: "
65 + "%(filename)s" % {"filename":self.myhardlock})
66 try:
67 - res = os.link(self.myhardlock, self.lockfile)
68 - except SystemExit, e:
69 + os.link(self.myhardlock, self.lockfile)
70 + except SystemExit:
71 raise
72 - except Exception, e:
73 + except Exception:
74 # if "DEBUG" in self.settings:
75 # print "lockfile(): Hardlink: Link failed."
76 # print "Exception: ",e
77 @@ -286,7 +300,7 @@ class LockDir:
78 os.unlink(self.myhardlock)
79 if os.path.exists(self.lockfile):
80 os.unlink(self.lockfile)
81 - except SystemExit, e:
82 + except SystemExit:
83 raise
84 except:
85 writemsg("Something strange happened to our hardlink locks.\n")
86 @@ -314,7 +328,7 @@ class LockDir:
87 try:
88 myhls = os.stat(link)
89 mylfs = os.stat(lock)
90 - except SystemExit, e:
91 + except SystemExit:
92 raise
93 except:
94 myhls = None
95 @@ -340,7 +354,7 @@ class LockDir:
96 pass
97
98 def hardlock_cleanup(self,path):
99 - mypid = str(os.getpid())
100 + #mypid = str(os.getpid())
101 myhost = os.uname()[1]
102 mydl = os.listdir(path)
103 results = []
104 @@ -384,26 +398,26 @@ class LockDir:
105 # We're sweeping through, unlinking everyone's locks.
106 os.unlink(filename)
107 results.append("Unlinked: " + filename)
108 - except SystemExit, e:
109 + except SystemExit:
110 raise
111 - except Exception,e:
112 + except Exception:
113 pass
114 try:
115 os.unlink(x)
116 results.append("Unlinked: " + x)
117 os.unlink(mylockname)
118 results.append("Unlinked: " + mylockname)
119 - except SystemExit, e:
120 + except SystemExit:
121 raise
122 - except Exception,e:
123 + except Exception:
124 pass
125 else:
126 try:
127 os.unlink(mylockname)
128 results.append("Unlinked: " + mylockname)
129 - except SystemExit, e:
130 + except SystemExit:
131 raise
132 - except Exception,e:
133 + except Exception:
134 pass
135 return results
136
137 @@ -415,15 +429,8 @@ if __name__ == "__main__":
138 print i,time.time()
139 time.sleep(1)
140 print
141 - def normpath(mypath):
142 - newpath = os.path.normpath(mypath)
143 - if len(newpath) > 1:
144 - if newpath[1] == "/":
145 - newpath = "/"+newpath.lstrip("/")
146 - return newpath
147
148 print "Lock 5 starting"
149 - import time
150 Lock1=LockDir("/tmp/lock_path")
151 Lock1.write_lock()
152 print "Lock1 write lock"
153 diff --git a/catalyst/main.py b/catalyst/main.py
154 index 81d48b5..15664de 100644
155 --- a/catalyst/main.py
156 +++ b/catalyst/main.py
157 @@ -21,7 +21,8 @@ sys.path.append(__selfpath__ + "/modules")
158 from . import __version__
159 import catalyst.config
160 import catalyst.util
161 -from catalyst.support import CatalystError, find_binary, LockInUse
162 +from catalyst.lock import LockInUse
163 +from catalyst.support import CatalystError, find_binary
164 from catalyst.defaults import (confdefaults, option_messages,
165 required_build_targets, valid_build_targets)
166 from hash_utils import HashMap, HASH_DEFINITIONS
167 diff --git a/catalyst/support.py b/catalyst/support.py
168 index d5dbfec..feaa645 100644
169 --- a/catalyst/support.py
170 +++ b/catalyst/support.py
171 @@ -115,17 +115,6 @@ class CatalystError(Exception):
172 print "!!! catalyst: "+message
173 print
174
175 -class LockInUse(Exception):
176 - def __init__(self, message):
177 - if message:
178 - #(type,value)=sys.exc_info()[:2]
179 - #if value!=None:
180 - #print
181 - #kprint traceback.print_exc(file=sys.stdout)
182 - print
183 - print "!!! catalyst lock file in use: "+message
184 - print
185 -
186 def die(msg=None):
187 warn(msg)
188 sys.exit(1)
189 --
190 2.1.0