1
2
3 """
4 **Curation use case invocation scripts**. Every curation use case has its own
5 subdirectory (or package) within invocations. The script to invoke the use case
6 is named simply cuX.py, where X is the number of the use case. Each CU package
7 may also contain additional modules for use by that CU script.
8
9 Package Organization
10 ====================
11
12 .. packagetree::
13 :style: UML
14
15 Curation Use Case Design
16 ========================
17
18 Each curation use case script follows the same design template.
19
20 1. An instance of the command-line interface tool class, `wsatools.CLI`, is
21 created, containing the particular details -- name, documentation, etc. -- of
22 that CU.
23
24 2. The message logger, `wsatools.Logger`, is turned on, and reports on the
25 name and version of the CU being run.
26
27 3. An instance of this particular curation use case class is created, and its
28 run() method is invoked.
29
30 This curation use case class is derived from curation session class,
31 `wsatools.DbConnect.CuSession`, which manages all of the start-up and shutdown
32 procedures that all CUs must perform, such as the database connection. Please
33 see the API of this class for further information.
34
35 * Additional command-line interface arguments and options are provided in the
36 definition of the derived curation session class.
37
38 * All CUs must define an __init__() method of this class that passes the
39 correct curation use-case ID number to CuSession.
40
41 * The code that actually performs the curation task should be defined in
42 the _onRun() method. This method is automatically invoked by the run()
43 method, which provides all the necessary exception handling.
44
45 :requires: `wsatools`, PIL
46
47 :group Curation scripts: cu0, cu1, cu2, cu3, cu4, cu5, cu6, cu7, cu8, cu9,
48 cu13, cu16, cu19, cu21
49 :group Monitoring scripts: monitoring
50
51 """
52 __docformat__ = 'restructuredtext en'
53