API

Application

Browser

app.browser.create_browser()[source]

A helper function for easy browser creation.

Returns:A browser.
Return type:selenium.webdriver.phantomjs.webdriver.WebDriver

Facility Loader

app.facility_loader.load_facilities()[source]

Facility loader.

Its loading facilities from the facilitie directory. These are some kind of plugins in a way. Its used to for easily adding new libraries to the API.

Returns:Dictionary with functions to interact with libraries.
Return type:dict

Utils

app.utils.next_page(page_list, page)[source]

Returns next page of a list.

Its needed for pagination.

Parameters:
  • page_list (list) – A list of available page numbers.
  • page (int) – Page to get next page from.
Returns:

Page number of next page.

Return type:

int

app.utils.write_page_source(filename, page_source)[source]

A little function to write page_source to a file.

When developing and testing you need to download test data. This does nothing much but saving the source to a givin file.

Parameters:
  • filename (str) – File to write to.
  • page_source (str) – Page source.

mod_api

Decorators

app.mod_api.decorators.valid_facility(f)[source]

A decorator to return a 404 if the facilitry is not there.

Parameters:f (function) – Function to decorate.
Returns:Decorated function.
Return type:function
app.mod_api.decorators.valid_token(f)[source]

A decorator to check if there is a token and if its valid.

Parameters:f (function) – Function to decorate.
Returns:Decorated function.
Return type:function

iCalendar

app.mod_api.ical.build_ical(lent_list)[source]

Builds ical from a lent list.

It takes a lent list that ran through a Marshmallow scheme.

Parameters:lent_list (dict) – Marshmallowed lent list.
Returns:ical.
Return type:str

Facilities

Wolfsburg

app.facilities.wolfsburg.lent_list(cardnumber, password)[source]

Gets lent list.

Logs in a parses the account for lent items.

Parameters:
  • cardnumber – Library Cardnumber.
  • password – Library Accountpassword
Returns:

Dictionary with lent items

Return type:

dict

app.facilities.wolfsburg.login(browser, cardnumber, password)[source]

Logs into account.

Browse to the login form and logs in.

Parameters:
  • browser (selenium.webdriver.phantomjs.webdriver.WebDriver) – Browser to use.
  • cardnumber (str) – Library Cardnumber.
  • passowrd – Library Accountpassword
Returns:

True if could login or False if it couldnt.

Return type:

bool

app.facilities.wolfsburg.parse_copy_availability(line)[source]

Parses ‘Status-‘line for availability.

Parameters:line (str) – Line string.
Returns:Availability.
Return type:bool
app.facilities.wolfsburg.parse_due_date(line)[source]

Parses due date from line.

Parameters:line (str) – Line string.
Returns:datetime.date if successful, None otherwise.
Return type:datetime.date or None
app.facilities.wolfsburg.parse_lent_list(page_source)[source]

Parses lent list.

Parameters:page_source (str) – HTML page source
Returns:List of results.
Return type:list
app.facilities.wolfsburg.parse_page_numbers(page_source)[source]

Parses possible pages for pagination.

Parameters:page_source (str) – HTML page source.
Returns:List of pages.
Return type:list[int]
app.facilities.wolfsburg.parse_saldo(page_source)[source]

Parses saldo.

Parameters:page_source – HTML page source
Returns:Saldo or None
Return type:str or None
app.facilities.wolfsburg.parse_search_title_overview(page_source, base_url)[source]

Parses search page results.

Parameters:
  • page_source (str) – HTML page source.
  • base_url (str) – URL of the base that gets joined together.
Returns:

List of item urls.

Return type:

list

app.facilities.wolfsburg.parse_string_for_year(line)[source]

Parses string-line for year.

Parameters:line (str) – Line string.
Returns:Year.
Return type:datetime.date or None
app.facilities.wolfsburg.parse_title(page_source, base_url)[source]

Parses title details.

Parameters:
  • page_source (str) – HTML page source of title details.
  • base_url (str) – URL of the base that gets joined together.
Returns:

Title dict.

Return type:

dict

app.facilities.wolfsburg.search(term, page=1)[source]

Searches for a term.

Parameters:
  • term (str) – A term to search for.
  • page (int) – Pagination page.
Returns:

Dictionary with results and next_page integer.

Return type:

dict