diff options
Diffstat (limited to 'extra/demo_entities/enrich_examples.py')
-rw-r--r-- | extra/demo_entities/enrich_examples.py | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/extra/demo_entities/enrich_examples.py b/extra/demo_entities/enrich_examples.py index 72aa719b..9b74a954 100644 --- a/extra/demo_entities/enrich_examples.py +++ b/extra/demo_entities/enrich_examples.py @@ -1,10 +1,13 @@ #!/usr/bin/env python3 """ This file started life as an ipython log file + +Ugh, it needs to be copied to ../../python (with ./files/) to actually run. Derp. """ import datetime import fatcat_client +from fatcat_client.rest import ApiException from fatcat_client import * from fatcat_tools import * @@ -65,7 +68,7 @@ def upsert_container(issnl, fname): return c.ident except ApiException: pass - c = entity_from_json(open(fname, 'r').read(), ReleaseEntity) + c = entity_from_json(open(fname, 'r').read(), ContainerEntity) c.ident = None c.release_rev = None c.container_id = None @@ -78,13 +81,17 @@ def upsert_container(issnl, fname): return resp.ident def math_universe(): - c_ident = upsert_container("0015-9018", "files/foundations_physics.json") + c_ident = upsert_container("0015-9018", "files/foundations_of_physics.json") ident = upsert_release("10.1007/s10701-007-9186-9", "files/math_universe.json") base = api.get_release(ident, expand="files") base.container_id = c_ident - files = [api.get_file(f['ident']) for f in base.files] + files = [api.get_file(f.ident) for f in base.files] + + if len(files) <= 1: + print("already updated math_universe, skipping") + return # create the pre-print version preprint = api.get_release(base.ident) @@ -100,7 +107,7 @@ def math_universe(): preprint.work_id = base.work_id eg = api.create_editgroup(Editgroup(editor_id=admin_id)) - resp = api.create_release_batch(preprint, editgroup=eg.id) + resp = api.create_release(preprint, editgroup=eg.id) files[1].releases = [resp.ident] files[2].releases = [resp.ident] api.update_file(files[1].ident, files[1], editgroup=eg.id) @@ -136,7 +143,7 @@ def distill_pub(): api.create_file(momentum_page, editgroup=eg.id) api.accept_editgroup(eg.id) -def dlib(): +def dlib_example(): # and now a d-lib exammple c_ident = upsert_container("1082-9873", "files/dlib.json") ident = upsert_release("10.1045/november14-jahja", "files/dlib_example.json") @@ -146,15 +153,16 @@ def dlib(): authors = [api.create_creator(CreatorEntity(display_name=a.raw_name), editgroup=eg.id) for a in dlib.contribs] for i in range(3): dlib.contribs[i].creator_id = authors[i].ident - - dlib.release_type = 'article-journal' - r = api.create_release(dlib, editgroup=eg.id) - dlib.ident = None - dlib.work_id = None - dlib.release_rev = None - dlib.container_id = c_ident r = api.update_release(dlib.ident, dlib, editgroup=eg.id) + dlib_page = FileEntity(sha1='a637f1d27d9bcb237310ed29f19c07e1c8cf0aa5', mimetype='text/html') + dlib_page.urls = [FileEntityUrls(url="http://www.dlib.org/dlib/november14/jahja/11jahja.html", rel="publisher"), FileEntityUrls(url="http://web.archive.org/web/20180602033542/http://www.dlib.org/dlib/november14/jahja/11jahja.html", rel="webarchive")] + dlib_page.releases = [dlib.ident] + api.create_file(dlib_page, editgroup=eg.id) api.accept_editgroup(eg.id) # TODO: the actual web file here? + +math_universe() +distill_pub() +dlib_example() |