[Getan-commits] [PATCH 3 of 3] Old databases can now be read in. Added comments
Wald Commits
scm-commit at wald.intevation.org
Tue Sep 18 12:14:36 CEST 2018
# HG changeset patch
# User Magnus Schieder <mschieder at intevation.de>
# Date 1537265631 -7200
# Node ID f5e1a78173cb9629c56b7a8a39d80505acb3ab6a
# Parent f751499d3f8d08d458f15a19d1e22b944ebab6bf
Old databases can now be read in. Added comments.
diff -r f751499d3f8d -r f5e1a78173cb getan/backend.py
--- a/getan/backend.py Mon Sep 17 20:41:28 2018 +0200
+++ b/getan/backend.py Tue Sep 18 12:13:51 2018 +0200
@@ -54,6 +54,18 @@
"""
]
+CREATE_RECOVER = """
+CREATE TABLE IF NOT EXISTS recover(
+ id INTEGER PRIMARY KEY,
+ project_id INTEGER REFERENCES projects(id),
+ start_time TIMESTAMP NOT NULL,
+ stop_time TIMESTAMP NOT NULL,
+ description VARCHAR(256),
+
+ CHECK (strftime('%s', start_time) <= strftime('%s', stop_time))
+)
+"""
+
LOAD_ACTIVE_PROJECTS = '''
SELECT id, key, description, total
FROM projects LEFT JOIN
@@ -258,9 +270,14 @@
close(cur)
def load_recover(self):
+ """If there is an entry in the recovery table, the entry is moved to
+ its project."""
cor = None
try:
cur = self.con.cursor()
+ # Creates the recover table if it does not exist to make old
+ # databases compatible.
+ cur.execute(CREATE_RECOVER)
cur.execute(LOAD_RECOVER)
recover = cur.fetchone()
if not recover:
diff -r f751499d3f8d -r f5e1a78173cb getan/states.py
--- a/getan/states.py Mon Sep 17 20:41:28 2018 +0200
+++ b/getan/states.py Tue Sep 18 12:13:51 2018 +0200
@@ -281,6 +281,8 @@
'running')
self.controller.loop.draw_screen()
self.sec = self.sec + 1
+ # The time is stored every minute to be able to restore them in
+ # case of a crash.
if self.sec % 60 == 0:
self.controller.save_recovery_data()
else:
More information about the Getan-commits
mailing list