PID views

Definice views.

Třídy

class ApiView

Implementuje komponentu ApiView v rámci aplikace.

Metody:

__init__()

Inicializuje instanci třídy.

Parametry:

kwargs – Parametr kwargs se předává do volání __init__().

_get_value_from_cache()

Vrací value from cache.

Parametry:

key – Textový název nebo klíč key používaný v rámci operace.

Vrací:

Načtená data odpovídající zadaným vstupům.

_save_value_to_cache()

Uloží value to cache.

Parametry:
  • key – Textový název nebo klíč key používaný v rámci operace.

  • value – Parametr value předává se do volání set().

Vrací:

Výstup funkce odpovídající implementované logice.

api_call()

Zavolá API dotaz pro autocomplete (abstraktní metoda).

Parametry:
  • q – Vyhledávací dotaz od uživatele.

  • use_cache – Zda používat mezipaměť výsledků.

get()

Vrací JSON odpověď s autocomplete výsledky.

Při dotazu tvořeném jen mezerami vrátí prázdný seznam výsledků.

Parametry:
  • request – HTTP požadavek ze strany klienta.

  • args – Poziční argumenty z URL.

  • kwargs – Pojmenované argumenty z URL.

Vrací:

JSON odpověď s výsledky.

autocomplete_results()

Transformuje výsledky API na formát autocomplete (id, text).

Parametry:

results – Výsledky vrácené API voláním.

Vrací:

Seznam tuples (id, text) pro autocomplete.

get_list()

Vrací list. v aplikaci.

Vrací:

Vrací výsledek volání api_call().

class DoiAutocompleteView

Implementuje komponentu DoiAutocompleteView v rámci aplikace.

Metody:

_datacite_token_for_quoted_lucene()

Escapuje znaky v tokenu vkládaném do Lucene fráze v uvozovkách.

Parametry:

token – Část uživatelského dotazu.

Vrací:

Řetězec bezpečný pro vložení do "...*token*...".

_datacite_record_label()

Vrátí zobrazený název záznamu DataCite nebo ID záznamu.

Ošetřuje záznamy bez attributes, bez titles nebo s prázdným seznamem titulků a nekanonické typy polí v odpovědi API.

Parametry:

record – Položka z pole data odpovědi API.

Vrací:

Titulek, případně DOI z id; prázdný řetězec, pokud nelze nic odvodit.

_crossref_item_display_title()

Vrátí zobrazený název z položky odpovědi CrossRef /works (objekt v items).

Parametry:

item – Slovník s poli title a DOI dle API (DOI se v odpovědi předpokládá vždy).

Vrací:

První textový titulek, jinak řetězec DOI.

_api_call_cross_ref_doi()

Vyhledá DOI v CrossRef API pomocí přímého DOI.

U objektu message (jedna práce i položky ve výsledném seznamu) se předpokládá vždy pole DOI. Záložní vyhledávání podle názvu se záměrně neprovádí — DOI jako dotaz pro query.title vrací nesouvisející výsledky z CrossRef a blokuje dotaz na DataCite.

Parametry:

q – Vyhledávací dotaz (DOI).

Vrací:

Seznam [DOI, název] párů, nebo prázdný seznam pokud DOI v CrossRef neexistuje.

_doi_item_exists()

Ověří existenci DOI pomocí HTTP HEAD požadavku.

Parametry:

doi – Řetězec DOI předaný z api_call po shodě vstupu s CROSSREF_DOI_REGEX.

Vrací:

Seznam [DOI, DOI] pokud existuje, jinak prázdný seznam.

api_call()

Vyhledá DOI v CrossRef a DataCite API.

Dotaz je na začátku ořezán funkcí str.strip(); prázdný řetězec vrátí prázdný seznam bez volání externích služeb. Ověření existence přes doi.org (_doi_item_exists) proběhne jen pro vstup odpovídající CROSSREF_DOI_REGEX.

Parametry:
  • q – Vyhledávací dotaz.

  • use_cache – Parametr se kvůli shodné signatuře s ApiView.api_call předává z PidAutocompleteField, ale u této třídy se nepoužívá (mezipaměť Redis se nečte ani neukládá).

Vrací:

Seznam [DOI, název] párů.

class OrcidAutocompleteView

Implementuje komponentu OrcidAutocompleteView v rámci aplikace.

Metody:

api_call()

Vyhledá výzkumné pracovníky v ORCID API.

Parametry:
  • q – Vyhledávací dotaz.

  • use_cache – Zda používat cache.

Vrací:

Seznam [ORCID ID, jméno] párů.

class RorAutocompleteView

Implementuje komponentu RorAutocompleteView v rámci aplikace.

Metody:

api_call()

Vyhledá organizace v ROR API.

Parametry:
  • q – Vyhledávací dotaz.

  • use_cache – Zda používat cache.

Vrací:

Seznam [ROR ID, jméno] párů.

class WikiDataAutocompleteView

Implementuje komponentu WikiDataAutocompleteView v rámci aplikace.

Metody:

api_call()

Vyhledá osoby v WikiData SPARQL API.

Parametry:
  • q – Vyhledávací dotaz.

  • use_cache – Zda používat cache.

Vrací:

Seznam [WikiData ID, jméno] párů.

class ContinuePidProcessing

Implementuje komponentu ContinuePidProcessing v rámci aplikace.

Metody:

_perform_client_action()

Provede akci na záznamu a publikuje do DataCite.

Parametry:
  • record – Záznam k publikaci (Lokalita, SamostatnyNalez nebo Dokument).

  • attribute_name – Atribut záznamu pro uložení DOI.

  • publish_callable_method – Callable pro publikaci.

  • set_callable_method – Callable pro nastavení stavu.

Vrací:

DOI nebo chybová zpráva.

process_record()

Zpracuje záznam pro publikaci/skrytí/smazání PID.

Parametry:
  • record – Záznam k publikaci.

  • result – Výsledek formuláře.

  • result – Textový název, klíč nebo zpráva result používaná v rámci operace.

  • kwargs – Parametr kwargs pracuje se s atributy get.

Vrací:

Vrací proměnná result.