瀏覽代碼

Merge pull request #241 from arty-name/touch-lists

Make touch plugin touch files with lists
Justin Mayer 10 年之前
父節點
當前提交
32e8bb609f
共有 1 個文件被更改,包括 14 次插入3 次删除
  1. 14 3
      touch/__init__.py

+ 14 - 3
touch/__init__.py

@@ -8,12 +8,23 @@ import time
 logger = logging.getLogger(__name__)
 
 
+def set_file_utime(path, datetime):
+    mtime = time.mktime(datetime.timetuple())
+    logger.info('touching %s', path)
+    os.utime(path, (mtime, mtime))
+
+
 def touch_file(path, context):
     content = context.get('article', context.get('page'))
+    page = context.get('articles_page')
+    dates = context.get('dates')
+
     if content and hasattr(content, 'date'):
-        mtime = time.mktime(content.date.timetuple())
-        logger.info('touching %s', path)
-        os.utime(path, (mtime, mtime))
+        set_file_utime(path, content.date)
+    elif page:
+        set_file_utime(path, max(x.date for x in page.object_list))
+    elif dates:
+        set_file_utime(path, max(x.date for x in dates))
 
 
 def register():