Browse Source

note expiration added

master
Christian Mueller 12 years ago
parent
commit
6e923b907b
  1. 3
      LANDING.md
  2. 13
      src/notehub/storage.clj

3
LANDING.md

@ -9,8 +9,11 @@ @@ -9,8 +9,11 @@
- **Statistics**: a rudimentary statistics available (date of publishing & view counter).
- **Export**: the original markdown content can be displayed in plain text format.
- **API**: Integrate the publishing functionality into your editor using the official [NoteHub API](/api).
- **Expiration**: All notes with less than 30 views in 30 days from publishing will expire.
## Changelog
- March 2014: all notes with __less than 30 views in 30 days from publishing__ will expire now
- February 2014: a simple JS-client for API testing [added](/api-test.html).
- January 2014:
- Mobile friendly styling added.

13
src/notehub/storage.clj

@ -131,3 +131,16 @@ @@ -131,3 +131,16 @@
; we save all short urls of a note for removal later
(redis :sadd (str noteID :urls) url)
url))))
(defn gc [password]
(when (= password (get-setting :admin-pw))
(let [N 30
timestamp (- (get-current-date) (* N 24 60 60 1000))
all-notes (map first (partition 2 (redis :hgetall :note)))
old-notes (filter #(< (Long/parseLong (redis :hget :published %)) timestamp) all-notes)
unpopular-notes (filter #(< (try (Long/parseLong (redis :hget :views %))
(catch Exception a 0)) N) old-notes)]
(println "timestamp:" (str (java.util.Date. timestamp)))
(println (count unpopular-notes) "deleted")
(doseq [note-id unpopular-notes]
(delete-note note-id)))))

Loading…
Cancel
Save