adsfolio.gui.ads_library_jobs

Thread-owned one-shot jobs for ADS library operations.

class adsfolio.gui.ads_library_jobs.AdsLibraryFailure(kind, message)[source]

Bases: object

Immutable, categorized failure from an ADS library job.

Parameters:
  • kind (Literal['authentication', 'rate_limit', 'timeout', 'connection', 'ads', 'unexpected'])

  • message (str)

kind: Literal['authentication', 'rate_limit', 'timeout', 'connection', 'ads', 'unexpected']
message: str
class adsfolio.gui.ads_library_jobs.AdsLibraryJob(request, parent=None, *, client_factory=<class 'adsfolio.client.ADSClient'>)[source]

Bases: PySide6.QtCore.QObject

Run exactly one ADS library request outside the GUI thread.

Parameters:
cancel()[source]

Request cancellation before the next cancellable service request.

Return type:

None

failed
finished
property running: bool[source]

Whether the worker thread is still running.

start()[source]

Start the one-shot worker once and return immediately.

Return type:

None

staticMetaObject = PySide6.QtCore.QMetaObject("AdsLibraryJob" inherits "QObject": Methods:   #4 type=Signal, signature=succeeded(PyObject), parameters=PyObject   #5 type=Signal, signature=failed(PyObject), parameters=PyObject   #6 type=Signal, signature=finished()   #7 type=Slot, signature=_on_succeeded(PyObject), parameters=PyObject   #8 type=Slot, signature=_on_failed(PyObject), parameters=PyObject   #9 type=Slot, signature=_on_worker_finished()   #10 type=Slot, signature=_on_thread_finished() )
succeeded
class adsfolio.gui.ads_library_jobs.AdsLibraryOperation(*values)[source]

Bases: str, enum.Enum

One ADS library operation handled by an AdsLibraryJob.

ADD = 'add'
CREATE = 'create'
EXPORT = 'export'
LIST = 'list'
LOAD_DOCUMENTS = 'load_documents'
RETRY = 'retry'
class adsfolio.gui.ads_library_jobs.AdsLibraryRequest(operation, library_id='', bibcodes=(), name='', description='', public=False, already_present=(), export_format='bibtex')[source]

Bases: object

Immutable input for one ADS library job.

Parameters:
already_present: tuple[str, ...] = ()
bibcodes: tuple[str, ...] = ()
description: str = ''
export_format: str = 'bibtex'
library_id: str = ''
name: str = ''
operation: adsfolio.gui.ads_library_jobs.AdsLibraryOperation
public: bool = False