12.18 emacspeak-bookshare

BOOKSHARE == http://www.bookshare.org provides book access to print-disabled users. It provides a simple Web API http://developer.bookshare.org This module implements an Emacspeak Bookshare client.

12.18.1 requirements

12.18.2 Usage

The main entry point is command emacspeak-bookshare bound to C-e C-b. This creates a special Bookshare Interaction buffer that is placed in emacspeak-bookshare-mode. Se the help for that mode on detailed usage instructions and key-bindings.

12.18.3 Sample Interaction

Assuming you have correctly setup your API key:

12.18.4 Emacspeak-Bookshare Commands

12.18.4.1 emacspeak-bookshare

Command: emacspeak-bookshare
C-e C-b
Bookshare  Interaction.

12.18.4.2 emacspeak-bookshare-action

Command: emacspeak-bookshare-action
Call action specified by  invoking key.

12.18.4.3 emacspeak-bookshare-author-search

Command: emacspeak-bookshare-author-search (query &optional category)
Perform a Bookshare author search.
Interactive prefix arg filters search by category.

(fn QUERY &optional CATEGORY)

12.18.4.4 emacspeak-bookshare-browse

Command: emacspeak-bookshare-browse
Browse Bookshare.

12.18.4.5 emacspeak-bookshare-browse-latest

Command: emacspeak-bookshare-browse-latest
Return latest books.

12.18.4.6 emacspeak-bookshare-browse-popular

Command: emacspeak-bookshare-browse-popular (&optional category)
Browse popular books.
Optional interactive prefix arg prompts for a category to use as a filter.

(fn &optional CATEGORY)

12.18.4.7 emacspeak-bookshare-debugInfo-handler

Command: emacspeak-bookshare-debugInfo-handler (&rest arguments)
Ignore ARGUMENTS, do nothing, and return nil.
This function accepts any number of arguments in ARGUMENTS.
Also see ‘always’.

(fn &rest ARGUMENTS)

12.18.4.8 emacspeak-bookshare-download-audio

Command: emacspeak-bookshare-download-audio (id target)
Download audio format of specified book to target location.

(fn ID TARGET)

12.18.4.9 emacspeak-bookshare-download-audio-at-point

Command: emacspeak-bookshare-download-audio-at-point
Download audio version of book under point.
Target location is generated from author and title.

12.18.4.10 emacspeak-bookshare-download-brf

Command: emacspeak-bookshare-download-brf (id target)
Download Daisy format of specified book to target location.

(fn ID TARGET)

12.18.4.11 emacspeak-bookshare-download-brf-at-point

Command: emacspeak-bookshare-download-brf-at-point
Download Braille version of book under point.
Target location is generated from author and title.

12.18.4.12 emacspeak-bookshare-download-daisy

Command: emacspeak-bookshare-download-daisy (id target)
Download Daisy format of specified book to target location.

(fn ID TARGET)

12.18.4.13 emacspeak-bookshare-download-daisy-at-point

Command: emacspeak-bookshare-download-daisy-at-point
Download Daisy version of book under point.
Target location is generated from author and title.

12.18.4.14 emacspeak-bookshare-download-epub-3

Command: emacspeak-bookshare-download-epub-3 (id target)
Download epub-3 format of specified book to target location.

(fn ID TARGET)

12.18.4.15 emacspeak-bookshare-download-epub-3-at-point

Command: emacspeak-bookshare-download-epub-3-at-point
Download epub-3 version of book under point.
Target location is generated from author and title.

12.18.4.16 emacspeak-bookshare-download-internal

Command: emacspeak-bookshare-download-internal (url target)
Download content  to target location.

(fn URL TARGET)

12.18.4.17 emacspeak-bookshare-eww

Command: emacspeak-bookshare-eww (directory)
C-e y b
Render  book using EWW

(fn DIRECTORY)

12.18.4.18 emacspeak-bookshare-expand-at-point

Command: emacspeak-bookshare-expand-at-point
Expand entry at point by retrieving metadata.
Once retrieved, memoize to avoid multiple retrievals.

12.18.4.19 emacspeak-bookshare-extract-and-view

Command: emacspeak-bookshare-extract-and-view (url)
Extract content referred to by link under point, and render via the browser.

(fn URL)

12.18.4.20 emacspeak-bookshare-extract-xml

Command: emacspeak-bookshare-extract-xml (url)
Extract content referred to by link under point, and return an XML buffer.

(fn URL)

12.18.4.21 emacspeak-bookshare-flush-lines

Command: emacspeak-bookshare-flush-lines (regexp)
Flush lines matching regexp in Bookshare buffer.

(fn REGEXP)

12.18.4.22 emacspeak-bookshare-fulltext

Command: emacspeak-bookshare-fulltext (directory)
Display fulltext contents of  book in specified directory.
Useful for fulltext search in a book.

(fn DIRECTORY)

12.18.4.23 emacspeak-bookshare-fulltext-search

Command: emacspeak-bookshare-fulltext-search (query)
Perform a Bookshare fulltext search.

(fn QUERY)

12.18.4.24 emacspeak-bookshare-get-more-results

Command: emacspeak-bookshare-get-more-results
Get next page of results for last query.

12.18.4.25 emacspeak-bookshare-id-search

Command: emacspeak-bookshare-id-search (query)
Perform a Bookshare id search.

(fn QUERY)

12.18.4.26 emacspeak-bookshare-isbn-search

Command: emacspeak-bookshare-isbn-search (query)
Perform a Bookshare isbn search.

(fn QUERY)

12.18.4.27 emacspeak-bookshare-list-preferences

Command: emacspeak-bookshare-list-preferences
Return preference list.

12.18.4.28 emacspeak-bookshare-mode

Command: emacspeak-bookshare-mode
A Bookshare front-end for the Emacspeak desktop.

The Emacspeak Bookshare front-end is launched by command
emacspeak-bookshare bound to C-e C-b

This command switches to a special buffer that has Bookshare
commands bounds to single keystrokes– see the key-binding list at
the end of this description. Use Emacs online help facility to
look up help on these commands.

emacspeak-bookshare-mode provides the necessary functionality to
Search and download Bookshare material, Manage a local library of
downloaded Bookshare content, And commands to easily read newer
Daisy books from Bookshare.

Here is a list of all emacspeak Bookshare commands  with their key-bindings:
a Author Search
A Author/Title Search
t Title Search
s Full Text Search
d Date Search
b Browse

Key             Binding
——————————————————————————-
RET             emacspeak-bookshare-toc-at-point
SPC             emacspeak-bookshare-expand-at-point
+               emacspeak-bookshare-action
/               emacspeak-bookshare-action
3               emacspeak-bookshare-download-epub-3-at-point
A               emacspeak-bookshare-download-audio-at-point
B               emacspeak-bookshare-download-brf-at-point
C               emacspeak-bookshare-fulltext
D               emacspeak-bookshare-download-daisy-at-point
E               emacspeak-bookshare-eww
I               emacspeak-bookshare-action
P               emacspeak-bookshare-action
S               emacspeak-bookshare-action
U               emacspeak-bookshare-unpack-at-point
V               emacspeak-bookshare-view-at-point
[               backward-page
]               forward-page
a               emacspeak-bookshare-action
b               emacspeak-bookshare-browse
c               emacspeak-bookshare-toc-at-point
d               emacspeak-bookshare-action
e               emacspeak-bookshare-eww
f               emacspeak-bookshare-flush-lines
i               emacspeak-bookshare-action
j               next-line
k               previous-line
l .. m          emacspeak-bookshare-action
n               emacspeak-bookshare-next-result
p               emacspeak-bookshare-previous-result
q               bury-buffer
s .. t          emacspeak-bookshare-action
v               emacspeak-bookshare-view

M-n             emacspeak-bookshare-next-result
M-p             emacspeak-bookshare-previous-result

In addition to any hooks its parent mode ‘special-mode’ might have
run, this mode runs the hook ‘emacspeak-bookshare-mode-hook’, as the
final or penultimate step during initialization.

12.18.4.29 emacspeak-bookshare-next-result

Command: emacspeak-bookshare-next-result
Move to next result.

12.18.4.30 emacspeak-bookshare-periodical-list

Command: emacspeak-bookshare-periodical-list
Return list of periodicals.

12.18.4.31 emacspeak-bookshare-previous-result

Command: emacspeak-bookshare-previous-result
Move to previous result.

12.18.4.32 emacspeak-bookshare-set-preference

Command: emacspeak-bookshare-set-preference (preference-id value)
Set preference preference-id to value.

(fn PREFERENCE-ID VALUE)

12.18.4.33 emacspeak-bookshare-since-search

Command: emacspeak-bookshare-since-search (query &optional category)
Perform a Bookshare date  search.
Optional interactive prefix arg filters by category.

(fn QUERY &optional CATEGORY)

12.18.4.34 emacspeak-bookshare-title-search

Command: emacspeak-bookshare-title-search (query &optional category)
Perform a Bookshare title search.
Interactive prefix arg filters search by category.

(fn QUERY &optional CATEGORY)

12.18.4.35 emacspeak-bookshare-toc

Command: emacspeak-bookshare-toc (directory)
View TOC for book in specified directory.

(fn DIRECTORY)

12.18.4.36 emacspeak-bookshare-toc-at-point

Command: emacspeak-bookshare-toc-at-point
View TOC for book at point.
Make sure it’s downloaded and unpacked first.

12.18.4.37 emacspeak-bookshare-unpack-at-point

Command: emacspeak-bookshare-unpack-at-point
Unpack downloaded content if necessary.

12.18.4.38 emacspeak-bookshare-url-executor

Command: emacspeak-bookshare-url-executor (url)
Custom URL executor for use in Bookshare TOC.

(fn URL)

12.18.4.39 emacspeak-bookshare-version-handler

Command: emacspeak-bookshare-version-handler (&rest arguments)
Ignore ARGUMENTS, do nothing, and return nil.
This function accepts any number of arguments in ARGUMENTS.
Also see ‘always’.

(fn &rest ARGUMENTS)

12.18.4.40 emacspeak-bookshare-view

Command: emacspeak-bookshare-view (directory)
View book in specified directory.

(fn DIRECTORY)

12.18.4.41 emacspeak-bookshare-view-at-point

Command: emacspeak-bookshare-view-at-point
View book at point.
Make sure it’s downloaded and unpacked first.

12.18.4.42 emacspeak-bookshare-view-page-range

Command: emacspeak-bookshare-view-page-range (url)
Play pages in specified page range from URL.

(fn URL)

12.18.5 emacspeak-bookshare Options

Variable: User Option emacspeak-bookshare-api-key
Web API  key for this application.
See http://developer.bookshare.org/docs for details on how to get
  an API key. 

Default Value:

nil

Variable: User Option emacspeak-bookshare-directory
Customize this to the root of where books are organized.

Default Value:

"/home/raman/books/book-share"