elm.web.rhub.PublicationsRecord
- class PublicationsRecord(record)[source]
Bases:
dict
Class to handle a single publication as dictionary data. This class requires setting an ‘RHUB_API_KEY’ environment variable to access the Pure Web Service. The API key can be obtained by contacting an NREL library representative: Library@nrel.gov.
- Parameters:
record (dict) – Research Hub record in dict form, typically a response from API.
Methods
clear
()copy
()download
(pdf_dir, txt_dir)Download PDFs and TXT files to the directories provided.
fromkeys
([value])Create a new dictionary with keys from iterable and values set to value.
get
(key[, default])Return the value for key if key is in the dictionary, else default.
items
()keys
()pop
(k[,d])If key is not found, default is returned if given, otherwise KeyError is raised
popitem
()Remove and return a (key, value) pair as a 2-tuple.
save_abstract
(abstract_text, out_fp)Download abstract text to .txt file to the directory provided.
setdefault
(key[, default])Insert key with a value of default if key is not in the dictionary.
update
([E, ]**F)If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
values
()Attributes
Get the abstract text for this publication.
Get the names of all authors for a publication.
Get the publication category for this record.
Get the 'NREL Publication Number' for this record.
Get the doi and pdf links for a publication.
Get the title of this publication.
Get the url associated with the publication.
Get the publish year.
- property title
Get the title of this publication.
- Returns:
title (str) – Publication title.
- property year
Get the publish year.
- Returns:
year (int) – Year of publication.
- property url
Get the url associated with the publication.
- Returns:
url (str) – Publication URL.
- property id
Get the ‘NREL Publication Number’ for this record.
- Returns:
id (str) – Publication Number.
- property authors
Get the names of all authors for a publication.
- Returns:
out (str) – String containing author names.
- property category
Get the publication category for this record.
- Returns:
cat (str) – Publication category, ex: Technical Report, Article.
- property links
Get the doi and pdf links for a publication.
- Returns:
doi (str) – doi link for publication.
pdf_url (str) – pdf link for publication.
- property abstract
Get the abstract text for this publication.
- Returns:
value (str) – String containing abstract text.
- save_abstract(abstract_text, out_fp)[source]
Download abstract text to .txt file to the directory provided.
- Parameters:
abstract_text (str) – String with abstract text.
out_dir (str) – Directory to download TXT files to.
- download(pdf_dir, txt_dir)[source]
Download PDFs and TXT files to the directories provided. If a record does not fit the criteria for PDF download, a TXT file with the record abstract will be saved to the TXT directory.
- Parameters:
pdf_dir (str) – Directory for pdf download.
txt_dir (str) – Directory for txt download.
- clear() None. Remove all items from D.
- copy() a shallow copy of D
- fromkeys(value=None, /)
Create a new dictionary with keys from iterable and values set to value.
- get(key, default=None, /)
Return the value for key if key is in the dictionary, else default.
- items() a set-like object providing a view on D's items
- keys() a set-like object providing a view on D's keys
- pop(k[, d]) v, remove specified key and return the corresponding value.
If key is not found, default is returned if given, otherwise KeyError is raised
- popitem()
Remove and return a (key, value) pair as a 2-tuple.
Pairs are returned in LIFO (last-in, first-out) order. Raises KeyError if the dict is empty.
- setdefault(key, default=None, /)
Insert key with a value of default if key is not in the dictionary.
Return the value for key if key is in the dictionary, else default.
- update([E, ]**F) None. Update D from dict/iterable E and F.
If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
- values() an object providing a view on D's values