aboutsummaryrefslogtreecommitdiff
path: root/src/ee/fact/doit.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/ee/fact/doit.py')
-rw-r--r--src/ee/fact/doit.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/ee/fact/doit.py b/src/ee/fact/doit.py
new file mode 100644
index 0000000..f922cf1
--- /dev/null
+++ b/src/ee/fact/doit.py
@@ -0,0 +1,14 @@
+
+
+def uptodate_if_isdir(path):
+ def do_check():
+ return os.path.isdir(path)
+ return do_check
+
+def uptodate_if_older_than(dependency, *targets):
+ def do_check():
+ dep_mtime = os.stat(dependency).st_mtime
+ mtimes = [os.stat(t).st_mtime for t in targets if os.path.isfile(t)]
+ target_mtime = max(mtimes) if mtimes else 0
+ return dep_mtime < target_mtime
+ return do_check