un = session.prefs.barcode or session.creds.un()
# Use the password that was stored in session cache or a dummy value
- pw = session.creds.pw config.password_required
+ pw = session.creds.pw config.password_required(session.prefs.home_library)
# Remove the stored credentials from cache as soon as they are
# no longer needed
grant_type: 'password'
username: un
password: pw
- password_required: config.password_required
+ password_required: config.password_required session.prefs.home_library
scope: scope
# Complete login sequence if the session cache is invalid
# Define the mapping function between long name and authorization name
authorizationname: (id) -> longname[id]
- # Define whether a user password is required to complete patron authentication
- password_required: 'false' # or 'true'
+ # Define whether a user password is required to complete patron authentication.
+ # This function takes the home library's long name as a parameter.
+ # You can use this parameter to lookup whether the library requires a password.
+ # If all your libraries do (or don't) require a password, modify this function
+ # to always return 'true' (or 'false').
+ password_required: (libraryname) ->
+ no_password = [ 'long name one' ]
+ if libraryname in no_password then return 'false' else return 'true'
# Main base URL (used for direct links to content provider's site)
baseURL: 'http://example.com/ContentDetails.htm'