From 78ed53982ec59b86cffb83f936097a70b5c98bde Mon Sep 17 00:00:00 2001 From: Jorrit Schaap <schaap@astron.nl> Date: Thu, 15 Oct 2015 14:37:01 +0000 Subject: [PATCH] Task #8291: fix: creation_date for file_info. query leastRecentlyVisitedDirectory with before_timestamp. --- LTA/ltastorageoverview/lib/store.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/LTA/ltastorageoverview/lib/store.py b/LTA/ltastorageoverview/lib/store.py index 24e839be744..9d722961b1a 100644 --- a/LTA/ltastorageoverview/lib/store.py +++ b/LTA/ltastorageoverview/lib/store.py @@ -165,7 +165,7 @@ class LTAStorageDb: cursor = conn.cursor() fileinfo_id = cursor.execute('insert into fileinfo (name, size, creation_date, directory_id) values (?, ?, ?, ?)', - (name.split('/')[-1], size, datetime.datetime.utcnow(), parent_directory_id)) + (name.split('/')[-1], size, creation_date, parent_directory_id)) conn.commit() @@ -226,7 +226,7 @@ class LTAStorageDb: join directory_closure dc on dc.ancestor_id = storage_site_root.directory_id join directory dir on dir.id = dc.descendant_id where dc.descendant_id = ? - ''', [directory_id]).fetchall() + ''', [directory_id]).fetchone() def rootDirectories(self): '''returns list of all root directories (id, name, site_id, site_name) for all sites''' @@ -272,19 +272,26 @@ class LTAStorageDb: order by depth asc ''', [base_directory_id]).fetchall() - def leastRecentlyVisitedDirectory(self): + def leastRecentlyVisitedDirectoryId(self, before_timestamp = None): with sqlite3.connect(self.db_filename) as conn: + if not before_timestamp: + before_timestamp = datetime.datetime.utcnow() result = conn.execute(''' SELECT directory_id FROM scraper_last_directory_visit + WHERE visit_date < ? ORDER BY visit_date asc LIMIT 1 - ''').fetchone() + ''', [before_timestamp]).fetchone() if result: return result[0] return -1 + def leastRecentlyVisitedDirectory(self, before_timestamp = None): + lrv_dir_id = self.leastRecentlyVisitedDirectoryId(before_timestamp) + return self.directory(lrv_dir_id) + def numDirectoriesNotVisitedSince(self, timestamp): with sqlite3.connect(self.db_filename) as conn: result = conn.execute(''' -- GitLab