Recover from failed saves; when a file turns out to be a directory,
create a directory and moer the original file to the index.html.
diff --git a/Tools/webchecker/websucker.py b/Tools/webchecker/websucker.py
index 59da51b..67e493d 100755
--- a/Tools/webchecker/websucker.py
+++ b/Tools/webchecker/websucker.py
@@ -73,10 +73,13 @@
def savefile(self, text, path):
dir, base = os.path.split(path)
makedirs(dir)
- f = open(path, "wb")
- f.write(text)
- f.close()
- self.message("saved %s", path)
+ try:
+ f = open(path, "wb")
+ f.write(text)
+ f.close()
+ self.message("saved %s", path)
+ except IOError, msg:
+ self.message("didn't save %s: %s", path, str(msg))
def savefilename(self, url):
type, rest = urllib.splittype(url)
@@ -93,7 +96,16 @@
return path
def makedirs(dir):
- if not dir or os.path.exists(dir):
+ if not dir:
+ return
+ if os.path.exists(dir):
+ if not os.path.isdir(dir):
+ try:
+ os.rename(dir, dir + ".bak")
+ os.mkdir(dir)
+ os.rename(dir + ".bak", os.path.join(dir, "index.html"))
+ except os.error:
+ pass
return
head, tail = os.path.split(dir)
if not tail: