commonmeta-py 0.114__py3-none-any.whl → 0.116__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
commonmeta/__init__.py CHANGED
@@ -10,7 +10,7 @@ commonmeta-py is a Python library to convert scholarly metadata
10
10
  """
11
11
 
12
12
  __title__ = "commonmeta-py"
13
- __version__ = "0.114"
13
+ __version__ = "0.116"
14
14
  __author__ = "Martin Fenner"
15
15
  __license__ = "MIT"
16
16
 
@@ -521,7 +521,13 @@ def create_draft_record(record, host, token, input):
521
521
  response = requests.post(
522
522
  f"https://{host}/api/records", headers=headers, json=input
523
523
  )
524
- response.raise_for_status()
524
+ if response.status_code == 429:
525
+ record["status"] = "failed_rate_limited"
526
+ return record
527
+ if response.status_code != 201:
528
+ print(response.json())
529
+ record["status"] = "failed_create_draft"
530
+ return record
525
531
  data = response.json()
526
532
  record["id"]: data.get("id", None)
527
533
  record["created"] = data.get("created", None)
@@ -544,8 +550,6 @@ def edit_published_record(record, host, token):
544
550
  )
545
551
  response.raise_for_status()
546
552
  data = response.json()
547
- record["doi"] = py_.get(data, "pids.doi.identifier")
548
- record["created"] = data.get("created", None)
549
553
  record["updated"] = data.get("updated", None)
550
554
  record["status"] = "edited"
551
555
  return record
@@ -581,12 +585,20 @@ def publish_draft_record(record, host, token):
581
585
  "Authorization": f"Bearer {token}",
582
586
  "Content-Type": "application/json",
583
587
  }
588
+ if not record.get("id", None):
589
+ raise InvenioRDMError("Error publishing draft record")
584
590
  try:
585
591
  response = requests.post(
586
592
  f"https://{host}/api/records/{record['id']}/draft/actions/publish",
587
593
  headers=headers,
588
594
  )
589
- response.raise_for_status()
595
+ if response.status_code == 429:
596
+ record["status"] = "failed_rate_limited"
597
+ return record
598
+ if response.status_code != 202:
599
+ print(response.json())
600
+ record["status"] = "failed_publish_draft"
601
+ return record
590
602
  data = response.json()
591
603
  record["uuid"] = py_.get(data, "metadata.identifiers.0.identifier")
592
604
  record["created"] = data.get("created", None)
@@ -624,8 +636,6 @@ def update_legacy_record(record, legacy_key: str):
624
636
  raise ValueError("no legacy key provided")
625
637
  if not record.get("uuid", None):
626
638
  raise ValueError("no UUID provided")
627
- if not record.get("doi", None):
628
- raise ValueError("no valid doi to update")
629
639
 
630
640
  now = f"{int(time())}"
631
641
  if record.get("id", None) is not None:
@@ -643,6 +653,7 @@ def update_legacy_record(record, legacy_key: str):
643
653
  "archived": "true",
644
654
  }
645
655
  else:
656
+ print(f"nothing to update for id {record.get("uuid")}")
646
657
  return record # nothing to update
647
658
 
648
659
  request_url = f"https://{legacy_host}/rest/v1/posts?id=eq.{record['uuid']}"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: commonmeta-py
3
- Version: 0.114
3
+ Version: 0.116
4
4
  Summary: Library for conversions to/from the Commonmeta scholarly metadata format
5
5
  Project-URL: Homepage, https://python.commonmeta.org
6
6
  Project-URL: Repository, https://github.com/front-matter/commonmeta-py
@@ -1,4 +1,4 @@
1
- commonmeta/__init__.py,sha256=G4y5yCVJHisJQAgUH6EKoM6g79z1I5zu8mfvG9tuYpE,2098
1
+ commonmeta/__init__.py,sha256=BlEBVV1F2oGv-LZdRZvwqFf6_KmiMaahHV-G8Uq1Quk,2098
2
2
  commonmeta/api_utils.py,sha256=y5KLfIOWOjde7LXZ36u-eneQJ-Q53yXUZg3hWpCBS2E,2685
3
3
  commonmeta/author_utils.py,sha256=3lYW5s1rOUWNTKs1FP6XLfEUY3yCLOe_3L_VdJTDMp0,8585
4
4
  commonmeta/base_utils.py,sha256=-MGy9q2uTiJEkPWQUYOJMdq-3tRpNnvBwlLjvllQ5g8,11164
@@ -80,11 +80,11 @@ commonmeta/writers/commonmeta_writer.py,sha256=QpfyhG__7o_XpsOTCPWxGymO7YKwZi2LQ
80
80
  commonmeta/writers/crossref_xml_writer.py,sha256=d-Rb2Vd_g3UW8GM4APIT7fivSQ5GMssZ6Ubi3OykHaw,33479
81
81
  commonmeta/writers/csl_writer.py,sha256=4gDYs1EzK4_L2UIRTfs25wgHmYRwdRP2zmfxF9387oU,2779
82
82
  commonmeta/writers/datacite_writer.py,sha256=bcinpwhq7XnVthKHH8-sdXA34dSlvFH4ImYH768iaQU,6428
83
- commonmeta/writers/inveniordm_writer.py,sha256=1WgFPT6no2v-rurNo-02RcgN3Ic88MdbnKBnVQlv9zo,24142
83
+ commonmeta/writers/inveniordm_writer.py,sha256=IxWEAQBzvPWQqROISJtEuTuWr7bZybhHAz_SqZTQtZY,24577
84
84
  commonmeta/writers/ris_writer.py,sha256=3SdyEvMRaPRP1SV1MB-MXBlunE7x6og7RF1zuWtetPc,2094
85
85
  commonmeta/writers/schema_org_writer.py,sha256=s18_x0ReXwAGBoEAwp2q-HCgFQ-h5qRg6JyAlqCoSFE,5871
86
- commonmeta_py-0.114.dist-info/METADATA,sha256=a0JivRZx0DkvMk3O1na9HIMHGgUZuvBBDk0Smc8H-Qc,7652
87
- commonmeta_py-0.114.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
88
- commonmeta_py-0.114.dist-info/entry_points.txt,sha256=U4w4BoRuS3rN5t5Y-uYSyOeU5Lh_VRVMS9OIDzIgw4w,50
89
- commonmeta_py-0.114.dist-info/licenses/LICENSE,sha256=wsIvxF9Q9GC9vA_s79zTWP3BkXJdfUNRmALlU8GbW1s,1074
90
- commonmeta_py-0.114.dist-info/RECORD,,
86
+ commonmeta_py-0.116.dist-info/METADATA,sha256=aWZQLapM3o9hI0t4EgePoyAGCEj_X8HDDdMp-vbHVEc,7652
87
+ commonmeta_py-0.116.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
88
+ commonmeta_py-0.116.dist-info/entry_points.txt,sha256=U4w4BoRuS3rN5t5Y-uYSyOeU5Lh_VRVMS9OIDzIgw4w,50
89
+ commonmeta_py-0.116.dist-info/licenses/LICENSE,sha256=wsIvxF9Q9GC9vA_s79zTWP3BkXJdfUNRmALlU8GbW1s,1074
90
+ commonmeta_py-0.116.dist-info/RECORD,,