Browse Source

update times of page and post

Oz N Tiram 9 years ago
parent
commit
2bbcc47355
1 changed files with 14 additions and 14 deletions
  1. 14 14
      blogit/blogit.py

+ 14 - 14
blogit/blogit.py

@@ -344,22 +344,22 @@ def find_new_posts_and_pages(db):
                                f.endswith(('md', 'markdown'))]):
             fullpath = os.path.join(root, filename)
             _p = fullpath.split(CONFIG['content_root'])[-1].lstrip('/')
-
-            #    if not db.posts.contains(Q.filename == _p) and \
-            #        not db.pages.contains(Q.filename == _p):
-            #    e = Entry(fullpath)
-            #    yield e, e.id
-
-            if db.posts.contains(Q.filename == _p):
-                p = db.posts.get(Q.filename == _p)
-                if int(os.path.getmtime(fullpath)) > p['mtime']:
-                    # TODO:
-                    # insert entry here ...
-                    pass
-            elif db.pages.contains(Q.filename == _p):
-                p = db.posts.get(Q.filename == _p)
+            new_mtime = int(os.path.getmtime(fullpath))
+            e = None
+            post = db.posts.get(Q.filename == _p)
+            page = db.pages.get(Q.filename == _p)
+
+            if post:
+                if new_mtime > post['mtime']:
+                    db.posts.update({'mtime': new_mtime}, eids=[post.eid])
+                    e = Entry(fullpath, eid=post.eid)
+            elif page:
+                if new_mtime > page['mtime']:
+                    db.pages.update({'mtime': new_mtime}, eids=[page.eid])
+                    e = Entry(fullpath, eid=page.eid)
             else:
                 e = Entry(fullpath)
+            if e:
                 yield e, e.id
 
 def _get_last_entries(db, qty):