diff options
author | Sean Allred <code@seanallred.com> | 2014-11-14 22:03:31 -0500 |
---|---|---|
committer | Sean Allred <code@seanallred.com> | 2014-11-14 22:03:31 -0500 |
commit | 6733365df0eb86eff433a9c8f80b32832c426e53 (patch) | |
tree | a8091b37b285e3281511da306e96b94b1742778d /sx-site.el | |
parent | 3cb483821a9c7e852324af224b93dca4bd855b03 (diff) | |
parent | 7881572c09281785c1d0303d13305b583b3803cd (diff) |
Merge pull request #53 from vermiculus/network-list
Smart caching
Diffstat (limited to 'sx-site.el')
-rw-r--r-- | sx-site.el | 45 |
1 files changed, 41 insertions, 4 deletions
@@ -1,4 +1,4 @@ -;;; sx-site.el --- site functions +;;; sx-site.el --- browsing sites -*- lexical-binding: t; -*- ;; Copyright (C) 2014 Sean Allred @@ -19,16 +19,53 @@ ;;; Commentary: -;; +;; ;;; Code: -;;; @TODO use new caching system implemented in branch `network-list' +(require 'sx-method) +(require 'sx-cache) + +(defvar sx-site-browse-filter + '((.backoff + .error_id + .error_message + .error_name + .has_more + .items + .quota_max + .quota_remaining + site.site_type + site.name + site.site_url + site.api_site_parameter + site.related_sites + related_site.api_site_parameter + related_site.relation) + nil + none)) + +(defun sx-site--get-site-list () + (sx-cache-get + 'site-list + '(sx-method-call + "sites" '((pagesize . 999)) + sx-site-browse-filter))) + +(defcustom sx-site-favorites + nil + "Favorite sites." + :group 'sx-site) + (defun sx-site-get-api-tokens () "Return a list of all known site tokens." (mapcar (lambda (site) (cdr (assoc 'api_site_parameter site))) - (sx-method-call "sites" '((pagesize . 9999))))) + (sx-site--get-site-list))) (provide 'sx-site) ;;; sx-site.el ends here + +;; Local Variables: +;; indent-tabs-mode: nil +;; End: |