Fix documentation of `newsticker-new-item-functions' (bug#29023).

* lisp/net/newst-backend.el (newsticker-new-item-functions),
(newsticker-new-item-functions-sample),
(newsticker-download-enclosures): Fix docstring, rename
variable feed to feedname (bug#29023).

* doc/misc/newsticker.texi (Automatic Processing)
(Automatic Processing): Fix documentation of
`newsticker-new-item-functions' (bug#29023).
This commit is contained in:
Ulf Jasper 2017-10-27 13:26:06 +02:00
parent c015f935e0
commit cb185dfd0c
2 changed files with 26 additions and 27 deletions

View file

@ -440,20 +440,18 @@ headlines. Instead of reading headlines yourself you can tell
Newsticker to do that for you. Newsticker to do that for you.
@vindex newsticker-new-item-functions @vindex newsticker-new-item-functions
In order to do so write a function which takes three arguments In order to do so write a function which takes two arguments
@table @var @table @var
@item FEED @item FEEDNAME
the name of the corresponding news feed, the name of the corresponding news feed,
@item TITLE @item ITEM
the title of the headline, the decoded headline.
@item DESC
the decoded description of the headline.
@end table @end table
and add it to @code{newsticker-new-item-functions}. Each function and add it to @code{newsticker-new-item-functions}. Each function
contained in this list is called once for each new headline. contained in this list is called once for each new headline.
Depending on the feed, the title and the description of a headline you Depending on the feed name and the contents of the new headline you
can can
@itemize @itemize
@ -463,7 +461,7 @@ descriptions (for which a function already exists, see
@code{newsticker-download-images}), @code{newsticker-download-images}),
@item @item
automatically save enclosed audio and video files (for which another automatically save enclosed audio and video files (for which another
function exists as well, see @code{newsticker-download-images}), function exists as well, see @code{newsticker-download-enclosures}),
@item @item
flash the screen while playing some sound, flash the screen while playing some sound,
@item @item

View file

@ -386,12 +386,12 @@ This hook is run at the very end of `newsticker-stop'."
(defcustom newsticker-new-item-functions (defcustom newsticker-new-item-functions
nil nil
"List of functions run after a new headline has been retrieved. "List of functions run after a new headline has been retrieved.
Each function is called with the following three arguments: Each function is called with the following two arguments:
FEED the name of the corresponding news feed, FEEDNAME the name of the corresponding news feed,
TITLE the title of the headline, ITEM the decoded headline.
DESC the decoded description of the headline.
See `newsticker-download-images', and See `newsticker-new-item-functions-sample',
`newsticker-download-images', and
`newsticker-download-enclosures' for sample functions. `newsticker-download-enclosures' for sample functions.
Please note that these functions are called only once for a Please note that these functions are called only once for a
@ -2444,24 +2444,25 @@ LIST must be an element of `newsticker-auto-mark-filter-list'."
;; ====================================================================== ;; ======================================================================
;;; Hook samples ;;; Hook samples
;; ====================================================================== ;; ======================================================================
(defun newsticker-new-item-functions-sample (feed item) (defun newsticker-new-item-functions-sample (feedname item)
"Demonstrate the use of the `newsticker-new-item-functions' hook. "Demonstrate the use of the `newsticker-new-item-functions' hook.
This function just prints out the values of the FEED and title of the ITEM." This function just prints out the values of the FEEDNAME and title of the ITEM."
(message (concat "newsticker-new-item-functions-sample: feed=`%s', " (message (concat "newsticker-new-item-functions-sample: feed=`%s', "
"title=`%s'") "title=`%s'")
feed (newsticker--title item))) feedname (newsticker--title item)))
(defun newsticker-download-images (feed item) (defun newsticker-download-images (feedname item)
"Download the first image. "Download the first image.
If FEED equals \"imagefeed\" download the first image URL found If FEEDNAME equals \"imagefeed\" download the first image URL
in the description=contents of ITEM to the directory found in the description=contents of ITEM to the directory
\"~/tmp/newsticker/FEED/TITLE\" where TITLE is the title of the item." \"~/tmp/newsticker/FEEDNAME/TITLE\" where TITLE is the title of
(when (string= feed "imagefeed") the item."
(when (string= feedname "imagefeed")
(let ((title (newsticker--title item)) (let ((title (newsticker--title item))
(desc (newsticker--desc item))) (desc (newsticker--desc item)))
(when (string-match "<img src=\"\\(http://[^ \"]+\\)\"" desc) (when (string-match "<img src=\"\\(http://[^ \"]+\\)\"" desc)
(let ((url (substring desc (match-beginning 1) (match-end 1))) (let ((url (substring desc (match-beginning 1) (match-end 1)))
(temp-dir (concat "~/tmp/newsticker/" feed "/" title)) (temp-dir (concat "~/tmp/newsticker/" feedname "/" title))
(org-dir default-directory)) (org-dir default-directory))
(unless (file-directory-p temp-dir) (unless (file-directory-p temp-dir)
(make-directory temp-dir t)) (make-directory temp-dir t))
@ -2473,17 +2474,17 @@ in the description=contents of ITEM to the directory
(list url)) (list url))
(cd org-dir)))))) (cd org-dir))))))
(defun newsticker-download-enclosures (feed item) (defun newsticker-download-enclosures (feedname item)
"In all FEEDs download the enclosed object of the news ITEM. "In all feeds download the enclosed object of the news ITEM.
The object is saved to the directory \"~/tmp/newsticker/FEED/TITLE\", which The object is saved to the directory \"~/tmp/newsticker/FEEDNAME/TITLE\", which
is created if it does not exist. TITLE is the title of the news is created if it does not exist. TITLE is the title of the news
item. Argument FEED is ignored. item. Argument FEEDNAME is ignored.
This function is suited for adding it to `newsticker-new-item-functions'." This function is suited for adding it to `newsticker-new-item-functions'."
(let ((title (newsticker--title item)) (let ((title (newsticker--title item))
(enclosure (newsticker--enclosure item))) (enclosure (newsticker--enclosure item)))
(when enclosure (when enclosure
(let ((url (cdr (assoc 'url enclosure))) (let ((url (cdr (assoc 'url enclosure)))
(temp-dir (concat "~/tmp/newsticker/" feed "/" title)) (temp-dir (concat "~/tmp/newsticker/" feedname "/" title))
(org-dir default-directory)) (org-dir default-directory))
(unless (file-directory-p temp-dir) (unless (file-directory-p temp-dir)
(make-directory temp-dir t)) (make-directory temp-dir t))