summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-x4grab.py4
-rw-r--r--backend.py12
2 files changed, 14 insertions, 2 deletions
diff --git a/4grab.py b/4grab.py
index c728dfc..0e20745 100755
--- a/4grab.py
+++ b/4grab.py
@@ -30,6 +30,7 @@ import util
import download
import progressbar
import sorter
+import backend
config._optioncreator = raw_input_with_default
@@ -202,6 +203,9 @@ if __name__ == "__main__":
print "Failed: ", failed
print "Total: ", total
except KeyboardInterrupt:
+ be = backend.Backend()
+ be.save(True) # Make sure that the downloaded images are saved anyway
+
print
print "So you don't want these images? Fine! I'll stop then."
util.log(util.LogType.Err, "Quit on user request")
diff --git a/backend.py b/backend.py
index f2f2a1b..d41a2c8 100644
--- a/backend.py
+++ b/backend.py
@@ -19,6 +19,9 @@ class _Backend(object):
return True
def add(self, filename):
+ if filename in self.__collection:
+ self.__collection.remove(filename)
+
self.__new_collection.append(filename)
def check(self, filename):
@@ -33,7 +36,10 @@ class _Backend(object):
return False
- def save(self):
+ def save(self, dump = False):
+ if dump:
+ self.__new_collection.extend(self.__collection)
+
if os.path.exists(self.table):
os.remove(self.table)
@@ -43,7 +49,9 @@ class _Backend(object):
def load(self):
if os.path.exists(self.table):
- self.__collection = self.store.select(self.table, ['recno'], ['*'], ['filename'], returnType="report")
+ collection = self.store.select(self.table, ['recno'], ['*'], ['filename'], returnType="report")
+ if collection != '':
+ self.__collection = collection.split()
_backend = None
def Backend():