aboutsummaryrefslogtreecommitdiff
path: root/sx-inbox.el
diff options
context:
space:
mode:
authorArtur Malabarba <bruce.connor.am@gmail.com>2014-12-21 10:24:58 -0200
committerArtur Malabarba <bruce.connor.am@gmail.com>2014-12-22 10:46:41 -0200
commit5b255064ba6c73184cc7338914f917538f5b5bbb (patch)
treec01ae83fd056c4767acf17d7e91c61d52f0d22e6 /sx-inbox.el
parent834784d0ac8ac5472a811b1cc56cda9d0ac7f219 (diff)
Basic inbox fetching
Diffstat (limited to 'sx-inbox.el')
-rw-r--r--sx-inbox.el68
1 files changed, 68 insertions, 0 deletions
diff --git a/sx-inbox.el b/sx-inbox.el
new file mode 100644
index 0000000..f58bee4
--- /dev/null
+++ b/sx-inbox.el
@@ -0,0 +1,68 @@
+p;;; sx-inbox.el --- Base question logic. -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2014 Artur Malabarba
+
+;; Author: Artur Malabarba <bruce.connor.am@gmail.com>
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+
+;;; Code:
+
+(require 'sx)
+(require 'sx-filter)
+(require 'sx-method)
+
+(defvar sx-inbox-filter
+ '((inbox.answer_id
+ inbox.body
+ inbox.comment_id
+ inbox.creation_date
+ inbox.is_unread
+ inbox.item_type
+ inbox.link
+ inbox.question_id
+ inbox.site
+ inbox.title)
+ (site.logo_url
+ site.audience
+ site.icon_url
+ site.high_resolution_icon_url
+ site.site_state
+ site.launch_date
+ site.markdown_extensions
+ site.related_sites))
+ "Filter used when retrieving inbox items.")
+
+(defun sx-inbox-get (&optional page keywords)
+ "Get an array of inbox items for the current user.
+Return an list of items. Each item is an alist of properties
+returned by the API.
+See https://api.stackexchange.com/docs/types/inbox-item
+
+KEYWORDS are added to the method call along with PAGE.
+
+`sx-method-call' is used with `sx-inbox-filter'."
+ (sx-method-call 'inbox
+ :keywords keywords
+ :filter sx-inbox-filter))
+
+(provide 'sx-inbox)
+;;; sx-inbox.el ends here
+
+;; Local Variables:
+;; indent-tabs-mode: nil
+;; End: