Skip to main content

Package per l'importazione delle pubblicazioni dall'archivio istituzionale dell'Università degli studi di Udine

Project description

UNIUD-PUBLICATION-API

API per ricavare le pubblicazioni dall'archivio istituzionale dell' Università degli studi di Udine.

Come Usare l'API

:warning: :warning: La versione attuale dell'API non permette l'esportazione delle pubblicazioni su Windows, pertanto è necessario disporre di un sistema con linux o MacOS. In alternativa è possibile usare una macchina virtuale :warning: :warning:

Per utilizzare l'API si consiglia innanzitutto di creare un nuovo ambiente virtuale.
Tramite conda: https://docs.conda.io/projects/conda/en/latest/user-guide/getting-started.html#managing-environments
Tramite venv: https://docs.python.org/3/tutorial/venv.html

Una volta creato l'ambiente virtuale sarà possibile installare il package contenente l'API:

pip install uniudpubapi

Dopo aver installato il package si può iniziare ad utilizzare il codice per l'importazione delle pubblicazioni.

Esempio di utilizzo dell'API

Di seguito si mostra come si può utilizzare l'API per esportare le pubblicazioni dei membri di un dipartimento in formato markdown e in formato bibtex.

Inizializzazione

Innanzitutto bisogna importare le classi che servono per importare e scrivere le pubblicazioni:

from uniudpubapi.dep_pubs import DepartmentPublications
from uniudpubapi.writers import BibtexPublicationWriter, MarkdownPublicationWriter

Poi sarà necessario definire i membri del dipartimento (o il gruppo di ricercatori) tramite un dizionario che ne specifica il nome e il codice:

# Sostiturire nome e codice con quelli dei membri di cui si vuole ottenere le pubblicazioni
department = {
    "nome cognome": "rp1234"
}

Quindi definire le informazioni che si vuole ricavare, sia per quando riguarda gli elementi che andranno a essere visualizzati all'interno di un file markdown che per gli elementi che andranno inseritit all'interno del bibtex della pubblicazione.

bibtex_elements = ["authors", "title", "year", "journal", "handle",
                   "publication type", "publisher", "volume", "book_title",
                   "doi", "pages", "series"]

markdown_elements = ["title", "authors", "year", "doi", "publication type",
                     "abstract"]

Gli elementi disponibili si possono trovare alla fine del file uniudpubepi/elements.py di questo repository, in cui si vedrà una successione di comandi di questo tipo:

factory.register_type_of_element("title", Title)
factory.register_type_of_element("handle", Handle)
factory.register_type_of_element("publication type", PubType)
factory.register_type_of_element("authors", Authors)
factory.register_type_of_element("year", Year)
# ....
# ....

Gli elementi che si vedono all'interno del file sono tutti quelli che si possono importare (In nuove versioni tale lista può essere aggiornata con nuovi elementi).

Ricerca pubblicazioni

Quindi si può procedere alla creazione di un oggetto di tipo DepartmentPublications, al cui costruttore si passa il dizionario con i membri del dipartimento e le liste delgi elementi (bibtex e markdown). N.B. gli argomenti devono essere nell'ordine mostrato nell'esempio.

d = DepartmentPublications(department, bibtex_elements, markdown_elements)

Quando si vuole popolare l'oggetto con tutte le informazioni basta eseguire il seguente comando:

d.find_department_publications() # Dove d è l'oggetto creato in precedenza

Si noti che l'esecuzione di questa funzione richiederà una certa quantità di tempo, in quanto devono essere scaricate tutte le pubblicazioni. Tutte le pubblicazioni saranno salvate in una variabile d'istanza dell'oggetto. SE ALCUNI ELEMENTI (ES.DOI, ABSTRACT ...) PER LA SINGOLA PUBBLICAZIONE NON DOVESSERO ESSERE TROVATI, VENGONO SEMPLICEMENTE IGNORATI, SENZA AVVISI

Esportazione

Infine, se si desidera esportare le pubblicazioni, si possono utilizzare i seguenti comandi. Per l'esportazione in markdown:

md = MarkdownPublicationWriter(d)
md.export()

Per l'esportazione in bibtex:

bib = BibtexPublicationWriter(d)
bib.export()

Il paremetro passato ad entrambi i costruttori è un oggetto di tipo "DepartmentPublication" in cui è già stata chiamata la funzione "find_department_publications()" (Vedi paragrafo precedente). <\br> Il metodo "export" accetta un argomento opzionale che indica il percordo in cui salvare tutte le pubblicazioni. Il valore di default è "./pubs". Se la directory indicata non esiste, verrà creata in automatico. <\br> Il metodo export crea una directory per ogni pubblicazione, nominata con il titolo della pubblicazione. All'interno della directory della singola pubblicazione viene inserito un file "index.md" per l'esportazione in markdown e un file "cite.bib" per l'esportazione in bibtex. Questo formato è stato scelto in modo che sia compatibile con il formato richiesto dal tema "academic" per il generatore di siti statici Hugo (vedi https://wowchemy.com/docs/content/publications/ per maggiori informazioni).

├── pubs/
│   ├── pub1-title/
│      ├── cite.bib
│      ├── index.md
│   ├── pub2-title/
│      ├── cite.bib
│      ├── index.md
│   └── pub3-title/
│      ├── cite.bib
│      ├── index.md
├── ....

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

uniudpubapi-1.0.0.tar.gz (18.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

uniudpubapi-1.0.0-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

File details

Details for the file uniudpubapi-1.0.0.tar.gz.

File metadata

  • Download URL: uniudpubapi-1.0.0.tar.gz
  • Upload date:
  • Size: 18.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.7.9

File hashes

Hashes for uniudpubapi-1.0.0.tar.gz
Algorithm Hash digest
SHA256 38e53598a99f08d7069dc389fd9ecaf6c26e0f00d4ceb71564efde7baddf2a98
MD5 5342f38c6a3f0a16fb425e6c0870a646
BLAKE2b-256 73d6c902539c9b880322aa7d55ccbd462b1baeb190b67944ff5ee537e1063702

See more details on using hashes here.

File details

Details for the file uniudpubapi-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: uniudpubapi-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 16.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.7.9

File hashes

Hashes for uniudpubapi-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d8e9df6979311f52fdf3d0a09e9cb722bd9197081860e9ba4702361a5a1dff70
MD5 673b352d6bcf3ef750ecc3d84bf480c6
BLAKE2b-256 575a7b7bad1421365269b982bc74730219a117b5beb95f1d54e74a92a06c04be

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page