Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
limbra
limbra
Commits
6346233c
Commit
6346233c
authored
Sep 25, 2015
by
LE GAC Renaud
Browse files
Describe the automaton logic in the class docstring.
parent
ff79fc63
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
28 additions
and
0 deletions
+28
-0
modules/harvest_tools/automaton.py
modules/harvest_tools/automaton.py
+28
-0
No files found.
modules/harvest_tools/automaton.py
View file @
6346233c
...
...
@@ -37,6 +37,34 @@ class Automaton(object):
The parameters of the search as well as the parameters of the harvester
are defined by the current request.
The logic implements in the `Automaton` class is the following
1. Ask to the store, all the `record_id` satisfying the user request.
2. Reject `record_id` matching the `origin` field of a database entry.
3. Request to the store, the XML description of the publication
and decode it.
4. Check that the *oai* of the publication is defined and well formed.
Recover it if it is not the case. From time to time, the `id`
encoded in the `oai` field is different from the `record` id.
This happens when an old record is redirected to new one
for obscure reasons. The record is ignore if a database entry
is found with the bad OAI.
5. Reject temporarily publication.
6. Check that *authors* are defined.
Reject the publication if it is not the case.
7. Check that *my institute* is in the list of the institutes
signing the publication. Reject the publication if it is
not the case. When the affiliation are not defined,
try to recover this case, by finding the author of my institute
signing the publication. This recovery procedure uses
the *author rescue list*. Reject the record when the recovery
procedure failed.
8. Check that the *collaboration*, if defined, is well formed.
Reject the publication if it is not the case
10. Several check are applied depending on the publication type.
11. At the end of this process, the publisher, the authors are
formatted and the list of signatories of my institute extracted.
"""
def
__init__
(
self
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment