-
Notifications
You must be signed in to change notification settings - Fork 22
Plug in API Subcorpus Restore
Plug-ins / [subc_restore]
interface: plugins.abstract.subc_restore.AbstractSubcRestore type: optional
This plug-in is hooked up to subcorpus creation and deletion actions and archives all the necessary arguments to provide additional information in the subcorpus list page or to regenerate subcorpora outside current installation (which is CNC's specific need).
# AbstractSubcRestore.store_query(user_id, corpname, subcname, structname, condition)
Stores user's subcorpus query. Please note that the method should also:
- store a current UNIX timestamp
- generate and store unique (on its own, i.e. even without user_id) string ID for the record
arguments:
- user_id -- int, ID of a user
- corpname -- a name of a corpus
- subcname -- a name of a subcorpus
- structname -- name of a structure used to define a subcorpus
- condition -- a CQL-compatible conjunctive normal form describing required attribute values e.g.: srclang="en" & (txtype="FAC" | txtype="IMA") & txtype_group="fiction"
# AbstractSubcRestore.delete_query(user_id, corpname, subcname)
Removes a query from archive
arguments:
- user_id -- int, ID of a user
- corpname -- a name of a corpus
- subcname -- a name of a subcorpus
# AbstractSubcRestore.list_queries(user_id, from_idx, to_idx)
Lists all user subcorpus-creation queries from index from_idx to index to_idx (including both ends). The method is not expected to support negative indices (like Python does).
arguments:
- user_id -- int, ID of a user
- from_idx -- values from 0 to num_of_user_queries - 1
- to_idx -- values from 0 to num_of_user_queries - 1
returns:
a list/tuple of dicts with following structure:
{
'id': str,
'user_id': int,
'corpname': str,
'subcname': str,
'struct_name': str,
'condition': str,
'timestamp': int
}
If nothing is found then an empty list/tuple is returned.
# AbstractSubcRestore.get_query(query_id)
Returns a query with ID == query_id
returns:
a dict with the following structure:
{
'id': str,
'user_id': int,
'corpname': str,
'subcname': str,
'struct_name': str,
'condition': str,
'timestamp': int
}
If nothing is found then None is returned.