emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r101549: Small url-cache update.


From: Glenn Morris
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r101549: Small url-cache update.
Date: Wed, 22 Sep 2010 22:56:17 -0700
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 101549
author: Julien Danjou <address@hidden>
committer: Glenn Morris <address@hidden>
branch nick: trunk
timestamp: Wed 2010-09-22 22:56:17 -0700
message:
  Small url-cache update.
  * lisp/url/url-cache.el (url-cache-expire-time): New option.
  (url-cache-expired): Rewrite.
modified:
  lisp/url/ChangeLog
  lisp/url/url-cache.el
=== modified file 'lisp/url/ChangeLog'
--- a/lisp/url/ChangeLog        2010-09-19 18:48:11 +0000
+++ b/lisp/url/ChangeLog        2010-09-23 05:56:17 +0000
@@ -1,3 +1,8 @@
+2010-09-23  Julien Danjou  <address@hidden>
+
+       * url-cache.el (url-cache-expire-time): New option.
+       (url-cache-expired): Rewrite.
+
 2010-09-19  Julien Danjou  <address@hidden>
 
        * url-cache.el (url-fetch-from-cache): New function.

=== modified file 'lisp/url/url-cache.el'
--- a/lisp/url/url-cache.el     2010-09-19 18:48:11 +0000
+++ b/lisp/url/url-cache.el     2010-09-23 05:56:17 +0000
@@ -32,6 +32,12 @@
   :type 'directory
   :group 'url-file)
 
+(defcustom url-cache-expire-time 3600
+  "Maximum time in seconds to keep the documents cached."
+  :version "24.1"
+  :type 'integer
+  :group 'url-cache)
+
 ;; Cache manager
 (defun url-cache-file-writable-p (file)
   "Follows the documentation of `file-writable-p', unlike `file-writable-p'."
@@ -186,21 +192,19 @@
   (insert-file-contents-literally fnam))
 
 ;;;###autoload
-(defun url-cache-expired (url mod)
-  "Return t if a cached file has expired."
-  (let* ((urlobj (if (vectorp url) url (url-generic-parse-url url)))
-        (type (url-type urlobj)))
-    (cond
-     (url-standalone-mode
-      (not (file-exists-p (url-cache-create-filename url))))
-     ((string= type "http")
-      t)
-     ((member type '("file" "ftp"))
-      (if (or (equal mod '(0 0)) (not mod))
-         t
-       (or (> (nth 0 mod) (nth 0 (current-time)))
-           (> (nth 1 mod) (nth 1 (current-time))))))
-     (t nil))))
+(defun url-cache-expired (url &optional expire-time)
+  "Return t if a cached URL is more than EXPIRE-TIME old.
+If EXPIRE-TIME is not set, `url-cache-expire-time' is used instead."
+  (cond (url-standalone-mode
+        (not (file-exists-p (url-cache-create-filename url))))
+       (t (let ((cache-time (url-is-cached url)))
+            (if cache-time
+                (time-less-p
+                 (time-add
+                  (url-is-cached url)
+                  (seconds-to-time (or expire-time url-cache-expire-time)))
+                 (current-time))
+              t)))))
 
 (provide 'url-cache)
 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]