invenio-app-rdm 14.0.0b0.dev2__py2.py3-none-any.whl → 14.0.0b0.dev4__py2.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.
@@ -17,6 +17,6 @@
17
17
  #
18
18
  # See PEP 0440 for details - https://www.python.org/dev/peps/pep-0440
19
19
 
20
- __version__ = "14.0.0b0.dev2"
20
+ __version__ = "14.0.0b0.dev4"
21
21
 
22
22
  __all__ = ("__version__",)
@@ -123,7 +123,7 @@ To access its content, please download it and open it locally.') }}
123
123
  <a href="{{ file_url_download }}">{{ file.key }}</a>
124
124
  </div>
125
125
  {%- if not is_remote_file %}
126
- <small class="ui text-muted font-tiny">{{ file.checksum }}
126
+ <small class="ui text-muted font-tiny">{{ file.checksum or _("Checksum not yet calculated.") }}
127
127
  <div class="ui icon inline-block" data-tooltip="{{_('This is the file fingerprint (checksum), which can be used to verify the file integrity.')}}">
128
128
  <i class="question circle checksum icon"></i>
129
129
  </div>
@@ -23,6 +23,7 @@ from invenio_rdm_records.proxies import current_rdm_records
23
23
  from invenio_rdm_records.resources.serializers.signposting import (
24
24
  FAIRSignpostingProfileLvl1Serializer,
25
25
  )
26
+ from invenio_rdm_records.services.errors import RecordDeletedException
26
27
  from invenio_records_resources.services.errors import PermissionDeniedError
27
28
  from sqlalchemy.orm.exc import NoResultFound
28
29
 
@@ -224,16 +225,28 @@ def pass_file_item(is_media=False):
224
225
  )
225
226
  record_service = media_files_service if is_media else files_service
226
227
 
227
- if is_preview:
228
- try:
229
- item = draft_service().get_file_content(**read_kwargs)
230
- except NoResultFound:
228
+ try:
229
+ if is_preview:
230
+ try:
231
+ item = draft_service().get_file_content(**read_kwargs)
232
+ except NoResultFound:
233
+ item = record_service().get_file_content(**read_kwargs)
234
+ else:
231
235
  item = record_service().get_file_content(**read_kwargs)
232
- else:
233
- item = record_service().get_file_content(**read_kwargs)
234
236
 
235
- kwargs["file_item"] = item
236
- return f(**kwargs)
237
+ kwargs["file_item"] = item
238
+ return f(**kwargs)
239
+
240
+ except RecordDeletedException:
241
+ # Redirect to the record page which has proper tombstone handling
242
+ return redirect(
243
+ url_for(
244
+ "invenio_app_rdm_records.record_detail",
245
+ pid_value=pid_value,
246
+ ),
247
+ # Use 302 (temporary) instead of 301 since records can be restored
248
+ code=302,
249
+ )
237
250
 
238
251
  return view
239
252
 
@@ -521,6 +521,12 @@ def deposit_edit(pid_value, draft=None, draft_files=None, files_locked=True):
521
521
  ui_serializer = UIJSONSerializer()
522
522
  record = ui_serializer.dump_obj(draft.to_dict())
523
523
 
524
+ published_record = None
525
+ # if editing draft of a published record
526
+ if record.get("status") == "published":
527
+ _record = service.read(g.identity, id_=record["id"]).to_dict()
528
+ published_record = ui_serializer.dump_obj(_record)
529
+
524
530
  community_ui = None
525
531
  community_theme = None
526
532
  community = record.get("expanded", {}).get("parent", {}).get("review", {}).get(
@@ -559,6 +565,7 @@ def deposit_edit(pid_value, draft=None, draft_files=None, files_locked=True):
559
565
  hide_community_selection=community_use_jinja_header,
560
566
  is_doi_required=is_doi_required,
561
567
  record=draft._record,
568
+ published_record=published_record,
562
569
  )
563
570
 
564
571
  if is_doi_required and not record.get("pids", {}).get("doi"):
@@ -275,6 +275,9 @@ def community_dashboard_request_view(request, community, community_ui, **kwargs)
275
275
  permissions = community.has_permissions_to(
276
276
  ["update", "read", "search_requests", "search_invites", "submit_record"]
277
277
  )
278
+ request_permissions = request.has_permissions_to(["action_accept"])
279
+ # Add request specific permissions so that reviewers can be selected from community curators
280
+ permissions.update(request_permissions)
278
281
 
279
282
  if is_draft_submission or is_record_inclusion:
280
283
  topic = _resolve_topic_record(request)
@@ -204,7 +204,7 @@ export const RDMEmptyResults = ({ queryString, searchPath, resetQuery }) => {
204
204
  <Grid.Column width={12} textAlign="center">
205
205
  <Header as="h2">
206
206
  {i18next.t("We couldn't find any matches for {{- search}}", {
207
- search: (queryString && `'${queryString}'`) || "your search",
207
+ search: (queryString && `'${queryString}'`) || i18next.t("your search"),
208
208
  })}
209
209
  </Header>
210
210
  </Grid.Column>
@@ -156,13 +156,13 @@
156
156
  <h3>Fehlende Werte</h3>
157
157
  <p>
158
158
  Es ist möglich, mit den Feldnamen <code>_exists_</code> und
159
- <code>_missing_</code> nach Datensätzen zu suchen,
159
+ <code>NOT _exists_</code> nach Datensätzen zu suchen,
160
160
  in denen entweder ein Wert fehlt oder die einen Wert in einem bestimmten Feld haben.
161
161
  </p>
162
162
  <p>
163
163
  <strong>Beispiel:</strong>
164
164
  <a
165
- href="/search?page=1&amp;size=20&amp;q=_missing_:metadata.additional_titles"><code>_missing_:metadata.additional_titles</code></a>
165
+ href="/search?page=1&amp;size=20&amp;q=NOT%20_exists_:metadata.additional_titles"><code>NOT _exists_:metadata.additional_titles</code></a>
166
166
  (alle Datensätze ohne metadata.additional_titles)
167
167
  </p>
168
168
  <p>
@@ -184,13 +184,13 @@
184
184
  <p>
185
185
  It is possible to search for records that either are missing a value or have
186
186
  a value in a specific field using the <code>_exists_</code> and
187
- <code> not _exists_</code> field names.
187
+ <code>NOT _exists_</code> field names.
188
188
  </p>
189
189
  <p>
190
190
  <strong>Example:</strong>
191
- <a href="/search?page=1&amp;size=20&amp;q=_missing_:metadata.additional_titles"
192
- ><code>not _exists_:metadata.additional_titles</code></a
193
- >
191
+ <a href="/search?page=1&amp;size=20&amp;q=NOT%20_exists_:metadata.additional_titles">
192
+ <code>NOT _exists_:metadata.additional_titles</code>
193
+ </a>
194
194
  (all records without metadata.additional_titles)
195
195
  </p>
196
196
  <p>
@@ -176,13 +176,13 @@
176
176
  <p>
177
177
  Det är möjligt att söka efter poster som antingen saknar ett värde eller har
178
178
  ett värde i ett specifikt fält med hjälp av <code>_exists_</code> och
179
- <code>not _exists_</code> i kombination med fältnamn.
179
+ <code>NOT _exists_</code> i kombination med fältnamn.
180
180
  </p>
181
181
  <p>
182
182
  <strong>Exempel:</strong>
183
- <a href="/search?page=1&amp;size=20&amp;q=_missing_:metadata.additional_titles"
184
- ><code>not _exists_:metadata.additional_titles</code></a
185
- >
183
+ <a href="/search?page=1&amp;size=20&amp;q=NOT%20_exists_:metadata.additional_titles">
184
+ <code>NOT _exists_:metadata.additional_titles</code>
185
+ </a>
186
186
  (alla poster utan metadata.additional_titles)
187
187
  </p>
188
188
  <p>
@@ -28,7 +28,9 @@ from click import secho
28
28
  from invenio_access.permissions import system_identity
29
29
  from invenio_db import db
30
30
  from invenio_rdm_records.proxies import current_rdm_records_service as records_service
31
+ from invenio_search import current_search_client as search_client
31
32
  from invenio_search.engine import dsl
33
+ from invenio_search.utils import prefix_index
32
34
  from invenio_vocabularies.contrib.affiliations.api import Affiliation
33
35
  from invenio_vocabularies.contrib.names.api import Name
34
36
  from sqlalchemy import select
@@ -184,6 +186,28 @@ def run_upgrade_for_names():
184
186
  secho("Names upgrade succeeded.", fg="green")
185
187
 
186
188
 
189
+ def run_upgrade_for_event_stats_mappings():
190
+ """Update the live event stats mappings to add missing fields."""
191
+ secho("Event stats mappings upgrade has started.", fg="green")
192
+
193
+ # Find the latest mappings for views and download stats events
194
+ for event_type in ("record-view", "file-download"):
195
+ try:
196
+ events_index = prefix_index(f"events-stats-{event_type}-*")
197
+ res = search_client.indices.get(events_index)
198
+ last_two_indices = sorted(res.keys())[-2:]
199
+ for index in last_two_indices:
200
+ res = search_client.indices.put_mapping(
201
+ index=index,
202
+ body={"properties": {"is_machine": {"type": "boolean"}}},
203
+ )
204
+ except Exception as e:
205
+ secho(f"Mapping update for {event_type} failed with '{repr(e)}'.", fg="red")
206
+ trace = traceback.format_exc()
207
+ secho(f"Traceback {trace}", fg="red")
208
+ secho("Event stats mappings upgrade succeeded.", fg="green")
209
+
210
+
187
211
  def execute_upgrade():
188
212
  """Execute the upgrade from InvenioRDM 12.0 to 13.0.0.
189
213
 
@@ -203,6 +227,7 @@ def execute_upgrade():
203
227
  run_upgrade_for_thesis()
204
228
  run_upgrade_for_affiliations()
205
229
  run_upgrade_for_names()
230
+ run_upgrade_for_event_stats_mappings()
206
231
 
207
232
 
208
233
  # if the script is executed on its own, perform the upgrade
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: invenio-app-rdm
3
- Version: 14.0.0b0.dev2
3
+ Version: 14.0.0b0.dev4
4
4
  Summary: Invenio Research Data Management.
5
5
  Home-page: https://github.com/inveniosoftware/invenio-app-rdm
6
6
  Author: CERN
@@ -101,6 +101,19 @@ https://inveniordm.docs.cern.ch
101
101
  Changes
102
102
  =======
103
103
 
104
+ Version v14.0.0b0.dev4 (released 2025-09-01)
105
+
106
+ - views(deposit): pass to the form config the published record if we edit one
107
+ * The published record is used to compare published DOI but it can be
108
+ used also to compare with the published state of an editing draft.
109
+ - help: correct search instructions for missing fields
110
+
111
+ Version v14.0.0b0.dev3 (released 2025-08-26)
112
+
113
+ - fix(community-requests): request permissions were missing from UI
114
+ * The community requests page was not showing the request reviewers section
115
+ because the permissions were not passed to the template.
116
+
104
117
  Version v14.0.0b0.dev2 (released 2025-08-08)
105
118
 
106
119
  - fix(views): use correct community value
@@ -1,4 +1,4 @@
1
- invenio_app_rdm/__init__.py,sha256=YnOgO6cbNQXzzkcAA2wTGVo9kayF70_p_V8fa9P3Dig,704
1
+ invenio_app_rdm/__init__.py,sha256=wvhsvt-EY0A5QR4vhZi1xv28aqlQEPOgq9IfyyVrSN4,704
2
2
  invenio_app_rdm/cli.py,sha256=G6QqNU2W6n6ICtTMnpeKFXIsdorncDmVXwwwsGH5F2k,2746
3
3
  invenio_app_rdm/config.py,sha256=T5pTzoBAAsxyp4ACAnfIhHcMowVkAnk8fWXlHR2OrRA,52107
4
4
  invenio_app_rdm/ext.py,sha256=K7syn5CU5If7yOclFeNOCZX_u5q6VB7NJEQVm41mlng,5286
@@ -80,13 +80,13 @@ invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details
80
80
  invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/creatibutors.html,sha256=N53nwtlEZjxweCx70qFJa1s6uL1pPSzWZgk8p1vodE4,4277
81
81
  invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/detail.html,sha256=2H6A4YzS8-4LRcPwyU04HsvnvieseVrrf_kndZl92zI,10622
82
82
  invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/doi.html,sha256=32Yknq5PgvJpYg9Z3Brod9wui9yrpDNE11_esG-20jw,1656
83
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/files.html,sha256=hxkjBwkpDKvE-E6wzHoTVhzVXJ6KkNdvUNr7fm8UNcw,9527
83
+ invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/files.html,sha256=6OIavFXP1BeV1Xozkv-2SOea9M5RUwjRI6gEGzBUle4,9564
84
84
  invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/locations.html,sha256=27-KyPqb05pu-yRXHvxCgZWRSi5bFP6xf7XBn91sbeA,1741
85
85
  invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/stats_popup.html,sha256=5SVzfIS15Aro2Itd2BiaLbMXm0cvvwk6ZCdYjuSwhBw,625
86
86
  invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/version.html,sha256=eA8-n81XUezkwPXvcG5v2sgLPQNTgr7hB36-_Gr-tVI,758
87
87
  invenio_app_rdm/records_ui/views/__init__.py,sha256=9DaDls04IQv7fYttDjLofIWGsRRjk-FwUYnIfxV3OWk,5840
88
- invenio_app_rdm/records_ui/views/decorators.py,sha256=JWiypClbUsTzpwKB0YuDGffowP_WaJfdjX_-Hm6sJl4,15930
89
- invenio_app_rdm/records_ui/views/deposits.py,sha256=W5H6QxIcxAopDCt7IAQ--l2d0VaZPEv5uwwTEon8MyU,22790
88
+ invenio_app_rdm/records_ui/views/decorators.py,sha256=-GdyPh2qIxV_wacAv5uChNx-HW2LiKjHQiRujiu42B4,16510
89
+ invenio_app_rdm/records_ui/views/deposits.py,sha256=NGdnAz1VLdVryuV4mOti51TwFW07ZjmrXjT0SkwmxWU,23081
90
90
  invenio_app_rdm/records_ui/views/filters.py,sha256=zKuqjM_Yb9MmBmloStjasASYCwVG7mUe0eolI2MtPXg,6998
91
91
  invenio_app_rdm/records_ui/views/records.py,sha256=8uA8JKhHU9UvpkqxZ9zcExyceOXibHIq4bMvtJ0DMBc,16220
92
92
  invenio_app_rdm/redirector/__init__.py,sha256=AYCTGmfbmkHW3YJXMqXlWBXcBrUsta-QmL9ULX2bjwA,243
@@ -103,7 +103,7 @@ invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/subcommunity/
103
103
  invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/subcommunity-invitation/index.html,sha256=347Saf8Fv78uevCbK2nFiOtNFUT0QyZSZS7lgoNzHdQ,1448
104
104
  invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/user-access-request/index.html,sha256=ltSP9sYPnpmCKMDYpZYU25Wxr3Dfqe2RNDxm6bVjX_I,1779
105
105
  invenio_app_rdm/requests_ui/views/__init__.py,sha256=7QiAyRq8Eu84IXwjzxK63vNeTZnowZ5P85xtw7XgRjs,397
106
- invenio_app_rdm/requests_ui/views/requests.py,sha256=dzajYZPoxPvHGUHB1-WHZK8im81QlMx3uK29NgPIZxI,14312
106
+ invenio_app_rdm/requests_ui/views/requests.py,sha256=8LtOfABMLy1drvb2qew3LyNg-BuPm8uM9R3uZ7r2Ndk,14525
107
107
  invenio_app_rdm/requests_ui/views/ui.py,sha256=DBysYQa__gOCg-pikO6HmoVLmRmMAVWeTBiYhPa7PmA,2359
108
108
  invenio_app_rdm/theme/__init__.py,sha256=QbkxNjjOmGKRlie96HfTXgnFeVQjOX0GdiZnHP7pIhs,277
109
109
  invenio_app_rdm/theme/views.py,sha256=mrcxejY9PlYwEqh8f0ojKX4CtmD9jz4f9rU-5aLZszU,4457
@@ -220,7 +220,7 @@ invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/requests/index.js,sh
220
220
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/requests/timeline/AccessRequestTimelineEdit.js,sha256=rM5iSICtNsqXgOzNAWSpV61qJf8oE7XxqVTHMmhqkFk,5639
221
221
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/requests/timeline/AccessRequestTimelineRead.js,sha256=ezxgh43UbgthNNGL2hoh1YwNBlPl1fC_TI0RcnFHd1w,1389
222
222
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/requests/timeline/overrides/TimelineFeedHeader.js,sha256=vU_D4F5jabAghjfPtpC3JvErrBVy39Je-PARgqwMD4w,1164
223
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/search/components.js,sha256=SRX2L3nBtcpoe-XYVPmIsHMsSNhlVdWIBD16E-lVECU,7223
223
+ invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/search/components.js,sha256=HfGLz_FZYePPEnS4fJ9-CVa8BzHPOgRi1_d21FgVrFg,7234
224
224
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/search/index.js,sha256=xvc8dtcPsTABiSpbt8azBVuZJuhXi39Nj4N8mPiFd40,2190
225
225
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/subcommunity/browse.js,sha256=N6tCJ4_NBlfQSRaiYfp4K-keHCC6xgFWmh1UCgBTyXA,921
226
226
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/user_dashboard/base.js,sha256=OoSdV2v5hdXFxqL7rLB7un6X2kxiXWh1V-bVu6RhmUc,6879
@@ -387,9 +387,9 @@ invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/robots.txt,sha256=Kl
387
387
  invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/searchbar.html,sha256=tvzez_2CE86wl_lipD44MD1swZcZw5uYqXEvvPMkBIo,2222
388
388
  invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/site_footer.html,sha256=C0xluZe7KCkvRKeeMIt6P8v_EfWyuMCQ_JQvlI0M9Xw,1037
389
389
  invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/files_integrity_report/email/files_integrity_report.html,sha256=mwbLrf2xabxq0dLQzUNWGHeYVoySo9GaaydT-FKC9g8,1237
390
- invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/help/search.de.html,sha256=gefXaGv-ylkBUbvXXJe5EcTS66qoY0-v0XesXICX5_E,9310
391
- invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/help/search.en.html,sha256=-EZdjhc4JslSq37_QN3KRL01LBwLJENkRtwBJ-PLSzc,8792
392
- invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/help/search.sv.html,sha256=PHSLAuYtRTtsDgArshe5SIDs_M-dw8MUrSIrnNky2gw,9123
390
+ invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/help/search.de.html,sha256=2T90KVwy4ldNrkFuMUQ21TkQMPRO52--RslxBGDWA4Q,9321
391
+ invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/help/search.en.html,sha256=n6fa9WSuiS4sNaGJ3Thw9E9ZqWBA1QTh-DkvhMnAx4Q,8796
392
+ invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/help/search.sv.html,sha256=wbUp8gs4TFEjGuE8d-2A-qywOppntd8tu1ExNut7T3M,9128
393
393
  invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/help/statistics.en.html,sha256=gQSJsmsXaLLA8KqEjkyxn7j299Kc0hnjA0sXq0oXeuI,7780
394
394
  invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/help/statistics.sv.html,sha256=YauDJm4zKxaSUmAIStlODMKS7eM68SbImJfk8vJj1C0,8081
395
395
  invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/help/versioning.en.html,sha256=Rfd4-1vpU92VxppMTLGlS7uzqXWZUtGBARJTalUFuxg,6066
@@ -463,7 +463,7 @@ invenio_app_rdm/upgrade_scripts/fix_migrated_records_from_1_0_to_2_0.py,sha256=S
463
463
  invenio_app_rdm/upgrade_scripts/fix_migrated_records_from_8_0_to_9_0.py,sha256=p6qTNjUMAJ-0tnrSwar7jtDX_sg6V9kFj7fzH-wrbkY,2769
464
464
  invenio_app_rdm/upgrade_scripts/migrate_10_0_to_11_0.py,sha256=TX6FCWXY4qM4z7IYzDO5qaMTheo3zAjFrmR1sXaEf4U,1333
465
465
  invenio_app_rdm/upgrade_scripts/migrate_11_0_to_12_0.py,sha256=Tp7jfT2JHrYCFzF2qIYqG7yr7k-GhX2zkw61CWJGA78,6941
466
- invenio_app_rdm/upgrade_scripts/migrate_12_0_to_13_0.py,sha256=bN10r6gancomX6P-yBHtNjWImgSYltw1A5qtcXWjZz8,7038
466
+ invenio_app_rdm/upgrade_scripts/migrate_12_0_to_13_0.py,sha256=pyO68jyGyKXVTcja8tpi2XgNx_FxXk7JhgDTV-wx3xM,8205
467
467
  invenio_app_rdm/upgrade_scripts/migrate_1_0_records_to_2_0.py,sha256=mRDv_Ao5zMgA6X0aogMfvhspO1CIApKtDW_ziJp5fjI,3325
468
468
  invenio_app_rdm/upgrade_scripts/migrate_2_0_to_3_0.py,sha256=jL_2I61Q9qt3fjBzYYueeT4EMQ9FlNPxYE4nzDQbLEY,2698
469
469
  invenio_app_rdm/upgrade_scripts/migrate_3_0_to_4_0.py,sha256=BNjGufwLBvLHnu0gz5b_Are-FuxYjXlCtkLgNQckV3U,4768
@@ -484,9 +484,9 @@ invenio_app_rdm/users_ui/views/__init__.py,sha256=SMdY2NJj9GICfr3Xuok7qdNYVtA2bJ
484
484
  invenio_app_rdm/users_ui/views/dashboard.py,sha256=iUn2PrODAwb8ugmMosJKAjPhUzjCiWiAWoXQr9RUFuc,1793
485
485
  invenio_app_rdm/users_ui/views/ui.py,sha256=W_eXM8dLVIrNHQB2UEh37C9BYoHauft6RyvcDNFHovA,1742
486
486
  invenio_app_rdm/utils/files.py,sha256=CruDyO2gDVadSlWEJD-WHpWHeOQ0juh-Ei9jz3D9yjc,3923
487
- invenio_app_rdm-14.0.0b0.dev2.dist-info/licenses/LICENSE,sha256=AZXFHRrZa5s4m9DV7zZr4bPGTMUvcEPCodeV_AmFI8k,1204
488
- invenio_app_rdm-14.0.0b0.dev2.dist-info/METADATA,sha256=_xLGTs8NBJrJWkOXLQybqZ5XASNLulc5Juc4LZ0swAw,16697
489
- invenio_app_rdm-14.0.0b0.dev2.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
490
- invenio_app_rdm-14.0.0b0.dev2.dist-info/entry_points.txt,sha256=rfzEeOEdtGy99NlpWzeW-32CoO5XrEpBvlZwLD2Th88,2158
491
- invenio_app_rdm-14.0.0b0.dev2.dist-info/top_level.txt,sha256=quZejDUw2vLfKQboNIuVLJ9fxZifdnCT_s2PNf1dfmk,16
492
- invenio_app_rdm-14.0.0b0.dev2.dist-info/RECORD,,
487
+ invenio_app_rdm-14.0.0b0.dev4.dist-info/licenses/LICENSE,sha256=AZXFHRrZa5s4m9DV7zZr4bPGTMUvcEPCodeV_AmFI8k,1204
488
+ invenio_app_rdm-14.0.0b0.dev4.dist-info/METADATA,sha256=OllJoGUQrjBvv_0WSbvsJnpkz49R7CjCVa7h43koweM,17282
489
+ invenio_app_rdm-14.0.0b0.dev4.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
490
+ invenio_app_rdm-14.0.0b0.dev4.dist-info/entry_points.txt,sha256=rfzEeOEdtGy99NlpWzeW-32CoO5XrEpBvlZwLD2Th88,2158
491
+ invenio_app_rdm-14.0.0b0.dev4.dist-info/top_level.txt,sha256=quZejDUw2vLfKQboNIuVLJ9fxZifdnCT_s2PNf1dfmk,16
492
+ invenio_app_rdm-14.0.0b0.dev4.dist-info/RECORD,,