invenio-app-rdm 13.0.0rc4__py2.py3-none-any.whl → 13.0.0rc6__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.
- invenio_app_rdm/__init__.py +1 -1
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/doi.html +7 -5
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/CopyButton.js +38 -19
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ExportDropdown.js +7 -2
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/theme.js +4 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/theme.js +9 -0
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/globals/site.overrides +6 -1
- invenio_app_rdm/theme/webpack.py +0 -1
- invenio_app_rdm/upgrade_scripts/migrate_12_0_to_13_0.py +94 -65
- {invenio_app_rdm-13.0.0rc4.dist-info → invenio_app_rdm-13.0.0rc6.dist-info}/METADATA +17 -2
- {invenio_app_rdm-13.0.0rc4.dist-info → invenio_app_rdm-13.0.0rc6.dist-info}/RECORD +15 -55
- {invenio_app_rdm-13.0.0rc4.dist-info → invenio_app_rdm-13.0.0rc6.dist-info}/top_level.txt +0 -1
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/i18next-scanner.config.js +0 -64
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/package-lock.json +0 -2129
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/scripts/compileCatalog.js +0 -118
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/scripts/fixTrailingNewlines.js +0 -23
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/scripts/initCatalog.js +0 -20
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/scripts/postExtractMessages.js +0 -36
- tests/__init__.py +0 -8
- tests/api/__init__.py +0 -8
- tests/api/conftest.py +0 -24
- tests/api/test_protect_files_rest.py +0 -73
- tests/api/test_record_api.py +0 -175
- tests/api/test_stats_api.py +0 -26
- tests/conftest.py +0 -390
- tests/fixtures/__init__.py +0 -8
- tests/fixtures/app_data/oai_sets.yaml +0 -3
- tests/fixtures/app_data/pages/about.html +0 -1
- tests/fixtures/app_data/pages.yaml +0 -4
- tests/fixtures/conftest.py +0 -27
- tests/fixtures/test_cli.py +0 -25
- tests/fixtures/test_fixtures.py +0 -46
- tests/mock_module/__init__.py +0 -7
- tests/mock_module/templates/mock_mail.html +0 -27
- tests/mock_module/views.py +0 -32
- tests/redirector/__init__.py +0 -8
- tests/redirector/conftest.py +0 -54
- tests/redirector/test_redirector.py +0 -28
- tests/test_tasks.py +0 -209
- tests/test_utils.py +0 -67
- tests/test_version.py +0 -16
- tests/test_views.py +0 -43
- tests/ui/__init__.py +0 -8
- tests/ui/conftest.py +0 -115
- tests/ui/test_deposits.py +0 -115
- tests/ui/test_export_formats.py +0 -37
- tests/ui/test_file_download.py +0 -73
- tests/ui/test_filters.py +0 -10
- tests/ui/test_robotstxt.py +0 -35
- tests/ui/test_signposting_ui.py +0 -95
- tests/ui/test_sitemaps.py +0 -85
- tests/ui/test_stats_ui.py +0 -92
- {invenio_app_rdm-13.0.0rc4.dist-info → invenio_app_rdm-13.0.0rc6.dist-info}/WHEEL +0 -0
- {invenio_app_rdm-13.0.0rc4.dist-info → invenio_app_rdm-13.0.0rc6.dist-info}/entry_points.txt +0 -0
- {invenio_app_rdm-13.0.0rc4.dist-info → invenio_app_rdm-13.0.0rc6.dist-info}/licenses/LICENSE +0 -0
invenio_app_rdm/__init__.py
CHANGED
|
@@ -6,15 +6,17 @@
|
|
|
6
6
|
#}
|
|
7
7
|
|
|
8
8
|
{% macro show_doi(doi_value, record_ui, badge_id="record-doi-badge", modal_id="doi-modal", subheader=None, parent_doi=false) %}
|
|
9
|
+
{%- set doi_link = record_ui["links"]["doi"] if not parent_doi else record_ui["links"]["parent_doi"] %}
|
|
9
10
|
<dt class="ui tiny header">{{_('DOI')}}
|
|
10
11
|
{% if subheader %}
|
|
11
|
-
<i><span class="doi sub header">{{subheader}}</span></i
|
|
12
|
+
<i><span class="doi sub header">{{subheader}}</span></i>
|
|
12
13
|
{% endif %}
|
|
14
|
+
</dt>
|
|
13
15
|
<dd>
|
|
14
|
-
<span class="get-badge" data-toggle="tooltip" data-placement="bottom"
|
|
15
|
-
title="{{ _('Get the DOI badge!') }}"
|
|
16
|
-
<img id='{{badge_id}}' data-target="[data-modal='{{ doi_value }}']"
|
|
16
|
+
<span class="get-badge details-doi-section" data-toggle="tooltip" data-placement="bottom">
|
|
17
|
+
<img id='{{badge_id}}' data-target="[data-modal='{{ doi_value }}']" title="{{ _('Get the DOI badge!') }}"
|
|
17
18
|
src="{{ url_for('invenio_formatter_badges.badge', title='DOI', value=doi_value, ext='svg') }}" alt="{{ doi_value }}" />
|
|
19
|
+
<div id="copy-button-{{ badge_id }}" class="copy-doi-button" data-value={{ doi_link }} data-size="mini"></div>
|
|
18
20
|
</span>
|
|
19
21
|
|
|
20
22
|
<div id="{{modal_id}}" class="ui modal fade badge-modal" data-modal="{{ doi_value }}">
|
|
@@ -27,7 +29,7 @@
|
|
|
27
29
|
<pre>{{ doi_value }}</pre>
|
|
28
30
|
</h4>
|
|
29
31
|
{% from "semantic-ui/invenio_formatter/macros/badges.html" import badges_formats_list %}
|
|
30
|
-
{{ badges_formats_list(url_for('invenio_formatter_badges.badge', title='DOI', value=doi_value, ext='svg', _external=True, _scheme='https'),
|
|
32
|
+
{{ badges_formats_list(url_for('invenio_formatter_badges.badge', title='DOI', value=doi_value, ext='svg', _external=True, _scheme='https'), doi_link) }}
|
|
31
33
|
</div>
|
|
32
34
|
</div>
|
|
33
35
|
</dd>
|
|
@@ -7,29 +7,38 @@
|
|
|
7
7
|
import React, { Component } from "react";
|
|
8
8
|
import PropTypes from "prop-types";
|
|
9
9
|
import { Button, Popup } from "semantic-ui-react";
|
|
10
|
-
import { CopyToClipboard } from "react-copy-to-clipboard";
|
|
11
10
|
import { i18next } from "@translations/invenio_app_rdm/i18next";
|
|
12
11
|
|
|
13
12
|
class SimpleCopyButton extends React.Component {
|
|
13
|
+
fetchUrl = async (url) => {
|
|
14
|
+
return await (await fetch(url)).text();
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
handleClick = async () => {
|
|
18
|
+
const { url, text, onCopy } = this.props;
|
|
19
|
+
let textToCopy = text;
|
|
20
|
+
if (url) {
|
|
21
|
+
textToCopy = await this.fetchUrl(url);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
await navigator.clipboard.writeText(textToCopy);
|
|
25
|
+
onCopy(text);
|
|
26
|
+
};
|
|
27
|
+
|
|
14
28
|
render() {
|
|
15
|
-
const {
|
|
29
|
+
const { hoverState, size } = this.props;
|
|
16
30
|
|
|
17
31
|
return (
|
|
18
|
-
<
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
aria-label={i18next.t("Copy to clipboard")}
|
|
29
|
-
onMouseEnter={hoverState}
|
|
30
|
-
onMouseLeave={hoverState}
|
|
31
|
-
/>
|
|
32
|
-
</CopyToClipboard>
|
|
32
|
+
<Button
|
|
33
|
+
className="copy"
|
|
34
|
+
basic
|
|
35
|
+
size={size}
|
|
36
|
+
icon="copy"
|
|
37
|
+
aria-label={i18next.t("Copy to clipboard")}
|
|
38
|
+
onClick={this.handleClick} // Handle click to fetch from url if url passed, otherwise use text from props
|
|
39
|
+
onMouseEnter={hoverState}
|
|
40
|
+
onMouseLeave={hoverState}
|
|
41
|
+
/>
|
|
33
42
|
);
|
|
34
43
|
}
|
|
35
44
|
}
|
|
@@ -37,11 +46,15 @@ class SimpleCopyButton extends React.Component {
|
|
|
37
46
|
SimpleCopyButton.propTypes = {
|
|
38
47
|
text: PropTypes.string.isRequired,
|
|
39
48
|
onCopy: PropTypes.func.isRequired,
|
|
49
|
+
url: PropTypes.func,
|
|
40
50
|
hoverState: PropTypes.func,
|
|
51
|
+
size: PropTypes.string,
|
|
41
52
|
};
|
|
42
53
|
|
|
43
54
|
SimpleCopyButton.defaultProps = {
|
|
44
55
|
hoverState: null,
|
|
56
|
+
url: null,
|
|
57
|
+
size: "medium",
|
|
45
58
|
};
|
|
46
59
|
|
|
47
60
|
export class CopyButton extends Component {
|
|
@@ -86,12 +99,12 @@ export class CopyButton extends Component {
|
|
|
86
99
|
};
|
|
87
100
|
|
|
88
101
|
render() {
|
|
89
|
-
const { text,
|
|
102
|
+
const { popUpPosition, text, url, size } = this.props;
|
|
90
103
|
const { confirmationPopupMsg, confirmationPopupIsOpen, hoverPopupIsOpen } =
|
|
91
104
|
this.state;
|
|
92
105
|
|
|
93
106
|
return (
|
|
94
|
-
text && (
|
|
107
|
+
(text || url) && ( // Ensure text or url is provided
|
|
95
108
|
<Popup
|
|
96
109
|
role="alert"
|
|
97
110
|
open={hoverPopupIsOpen || confirmationPopupIsOpen}
|
|
@@ -103,7 +116,9 @@ export class CopyButton extends Component {
|
|
|
103
116
|
<SimpleCopyButton
|
|
104
117
|
text={text}
|
|
105
118
|
onCopy={this.onCopy}
|
|
119
|
+
url={url}
|
|
106
120
|
hoverState={this.hoverStateHandler}
|
|
121
|
+
size={size}
|
|
107
122
|
/>
|
|
108
123
|
}
|
|
109
124
|
/>
|
|
@@ -115,9 +130,13 @@ export class CopyButton extends Component {
|
|
|
115
130
|
CopyButton.propTypes = {
|
|
116
131
|
popUpPosition: PropTypes.string,
|
|
117
132
|
text: PropTypes.string,
|
|
133
|
+
url: PropTypes.func,
|
|
134
|
+
size: PropTypes.string,
|
|
118
135
|
};
|
|
119
136
|
|
|
120
137
|
CopyButton.defaultProps = {
|
|
121
138
|
popUpPosition: "right center",
|
|
122
139
|
text: "",
|
|
140
|
+
url: "",
|
|
141
|
+
size: "medium",
|
|
123
142
|
};
|
|
@@ -9,6 +9,7 @@ import React, { Component } from "react";
|
|
|
9
9
|
import PropTypes from "prop-types";
|
|
10
10
|
import { Grid, Dropdown, Button } from "semantic-ui-react";
|
|
11
11
|
import { i18next } from "@translations/invenio_app_rdm/i18next";
|
|
12
|
+
import { CopyButton } from "@js/invenio_app_rdm/components/CopyButton";
|
|
12
13
|
|
|
13
14
|
export class ExportDropdown extends Component {
|
|
14
15
|
constructor(props) {
|
|
@@ -18,6 +19,7 @@ export class ExportDropdown extends Component {
|
|
|
18
19
|
selectedFormatUrl: formats[0]?.export_url,
|
|
19
20
|
};
|
|
20
21
|
}
|
|
22
|
+
|
|
21
23
|
render() {
|
|
22
24
|
const { formats } = this.props;
|
|
23
25
|
const { selectedFormatUrl } = this.state;
|
|
@@ -31,7 +33,7 @@ export class ExportDropdown extends Component {
|
|
|
31
33
|
|
|
32
34
|
return (
|
|
33
35
|
<Grid>
|
|
34
|
-
<Grid.Column width={
|
|
36
|
+
<Grid.Column width={10}>
|
|
35
37
|
<Dropdown
|
|
36
38
|
aria-label={i18next.t("Export selection")}
|
|
37
39
|
selection
|
|
@@ -42,7 +44,7 @@ export class ExportDropdown extends Component {
|
|
|
42
44
|
defaultValue={selectedFormatUrl}
|
|
43
45
|
/>
|
|
44
46
|
</Grid.Column>
|
|
45
|
-
<Grid.Column width={
|
|
47
|
+
<Grid.Column width={4} className="pl-0">
|
|
46
48
|
<Button
|
|
47
49
|
as="a"
|
|
48
50
|
role="button"
|
|
@@ -53,6 +55,9 @@ export class ExportDropdown extends Component {
|
|
|
53
55
|
{i18next.t("Export")}
|
|
54
56
|
</Button>
|
|
55
57
|
</Grid.Column>
|
|
58
|
+
<Grid.Column width={2} className="pl-0">
|
|
59
|
+
<CopyButton url={selectedFormatUrl} />
|
|
60
|
+
</Grid.Column>
|
|
56
61
|
</Grid>
|
|
57
62
|
);
|
|
58
63
|
}
|
|
@@ -12,6 +12,10 @@ $("#record-doi-badge").on("click", function () {
|
|
|
12
12
|
$("#doi-modal").modal("show");
|
|
13
13
|
});
|
|
14
14
|
|
|
15
|
+
$("#record-conceptdoi-badge").on("click", function () {
|
|
16
|
+
$("#conceptdoi-modal").modal("show");
|
|
17
|
+
});
|
|
18
|
+
|
|
15
19
|
$(".preview-link").on("click", function (event) {
|
|
16
20
|
$("#preview-file-title").html(event.target.dataset.fileKey);
|
|
17
21
|
});
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import $ from "jquery";
|
|
9
9
|
import { MultipleOptionsSearchBar } from "@js/invenio_search_ui/components";
|
|
10
|
+
import { CopyButton } from "@js/invenio_app_rdm/components/CopyButton";
|
|
10
11
|
import { i18next } from "@translations/invenio_app_rdm/i18next";
|
|
11
12
|
import ReactDOM from "react-dom";
|
|
12
13
|
import React from "react";
|
|
@@ -153,3 +154,11 @@ if (window.invenio) {
|
|
|
153
154
|
}
|
|
154
155
|
};
|
|
155
156
|
}
|
|
157
|
+
|
|
158
|
+
// Copy Buttons for DOI
|
|
159
|
+
document.querySelectorAll(".copy-doi-button").forEach((element) => {
|
|
160
|
+
ReactDOM.render(
|
|
161
|
+
<CopyButton text={element.dataset.value} size={element.dataset.size} />,
|
|
162
|
+
element
|
|
163
|
+
);
|
|
164
|
+
});
|
invenio_app_rdm/theme/webpack.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
2
|
#
|
|
3
3
|
# Copyright (C) 2023-2024 CERN.
|
|
4
|
-
# Copyright (C) 2024 Graz University of Technology.
|
|
4
|
+
# Copyright (C) 2024-2025 Graz University of Technology.
|
|
5
5
|
#
|
|
6
6
|
# Invenio-App-RDM is free software; you can redistribute it and/or modify
|
|
7
7
|
# it under the terms of the MIT License; see LICENSE file for more details.
|
|
@@ -20,86 +20,115 @@ This script has been tested with following data:
|
|
|
20
20
|
- internal_notes
|
|
21
21
|
"""
|
|
22
22
|
|
|
23
|
-
import sys
|
|
24
|
-
|
|
25
23
|
from click import secho
|
|
24
|
+
from invenio_access.permissions import system_identity
|
|
26
25
|
from invenio_db import db
|
|
27
|
-
from invenio_rdm_records.
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
26
|
+
from invenio_rdm_records.proxies import current_rdm_records_service as records_service
|
|
27
|
+
from invenio_search.engine import dsl
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def run_upgrade(has, migrate):
|
|
31
|
+
"""Run upgrade."""
|
|
32
|
+
record_success_counter = 0
|
|
33
|
+
record_error_counter = 0
|
|
34
|
+
draft_success_counter = 0
|
|
35
|
+
draft_error_counter = 0
|
|
36
|
+
|
|
37
|
+
# Handle published records
|
|
38
|
+
published_records = records_service.search(
|
|
39
|
+
system_identity,
|
|
40
|
+
params={"allversions": True, "include_deleted": True},
|
|
41
|
+
extra_filter=has,
|
|
42
|
+
)
|
|
43
|
+
for result in published_records.hits:
|
|
44
|
+
record = records_service.record_cls.pid.resolve(result["id"])
|
|
45
|
+
try:
|
|
46
|
+
migrate(record)
|
|
47
|
+
record_success_counter += 1
|
|
48
|
+
except Exception as error:
|
|
49
|
+
secho(f"> Error {repr(error)}", fg="red")
|
|
50
|
+
error = f"Record {record.pid.pid_value} failed to update"
|
|
51
|
+
record_error_counter += 1
|
|
52
|
+
|
|
53
|
+
# Handle draft records
|
|
54
|
+
draft_records = records_service.search_drafts(
|
|
55
|
+
system_identity,
|
|
56
|
+
params={"allversions": True},
|
|
57
|
+
extra_filter=has,
|
|
58
|
+
)
|
|
59
|
+
for result in draft_records.hits:
|
|
60
|
+
draft = records_service.draft_cls.pid.resolve(
|
|
61
|
+
result["id"],
|
|
62
|
+
registered_only=False,
|
|
63
|
+
)
|
|
64
|
+
try:
|
|
65
|
+
migrate(draft)
|
|
66
|
+
draft_success_counter += 1
|
|
67
|
+
except Exception as error:
|
|
68
|
+
secho(f"> Error {repr(error)}", fg="red")
|
|
69
|
+
error = f"Draft {draft.pid.pid_value} failed to update"
|
|
70
|
+
draft_error_counter += 1
|
|
71
|
+
|
|
72
|
+
if draft_error_counter > 0 or record_error_counter > 0:
|
|
73
|
+
db.session.rollback()
|
|
74
|
+
secho(
|
|
75
|
+
f"{record_error_counter} records had failures and {draft_error_counter} drafts had failures",
|
|
76
|
+
fg="red",
|
|
77
|
+
)
|
|
78
|
+
secho(
|
|
79
|
+
"The changes have been rolled back. Please fix the above listed errors and try the upgrade again",
|
|
80
|
+
fg="yellow",
|
|
81
|
+
err=True,
|
|
82
|
+
)
|
|
83
|
+
elif draft_success_counter > 0 or record_success_counter > 0:
|
|
84
|
+
db.session.commit()
|
|
85
|
+
secho(
|
|
86
|
+
f"{record_success_counter} records have been updated and {draft_error_counter} drafts have been updated",
|
|
87
|
+
fg="green",
|
|
88
|
+
)
|
|
89
|
+
else:
|
|
90
|
+
secho("nothing has been updated")
|
|
37
91
|
|
|
38
|
-
def update_record(record):
|
|
39
|
-
# skipping deleted records because can't be committed
|
|
40
|
-
if record.is_deleted:
|
|
41
|
-
return
|
|
42
92
|
|
|
43
|
-
|
|
44
|
-
|
|
93
|
+
def run_upgrade_for_thesis():
|
|
94
|
+
"""Run upgrade for thesis."""
|
|
45
95
|
|
|
46
|
-
|
|
47
|
-
|
|
96
|
+
def migrate_thesis_university(record_or_draft):
|
|
97
|
+
custom_fields = record_or_draft.get("custom_fields", {})
|
|
98
|
+
university = custom_fields.get("thesis:university")
|
|
99
|
+
if university and "thesis:thesis" not in custom_fields:
|
|
100
|
+
custom_fields["thesis:thesis"] = {"university": university}
|
|
48
101
|
|
|
49
|
-
|
|
50
|
-
secho(f"> Updated record: {record.pid.pid_value}\n", fg="green")
|
|
51
|
-
return None
|
|
52
|
-
except Exception as e:
|
|
53
|
-
secho(f"> Error {repr(e)}", fg="red")
|
|
54
|
-
error = f"Record {record.pid.pid_value} failed to update"
|
|
55
|
-
return error
|
|
102
|
+
record_or_draft.commit()
|
|
56
103
|
|
|
57
|
-
|
|
104
|
+
# Common query filter
|
|
105
|
+
has_thesis = dsl.Q("exists", field="custom_fields.thesis:university")
|
|
58
106
|
|
|
59
|
-
|
|
60
|
-
errors = []
|
|
61
|
-
for record_metadata in RDMRecord.model_cls.query.all():
|
|
62
|
-
record = RDMRecord(record_metadata.data, model=record_metadata)
|
|
63
|
-
error = update_record(record)
|
|
107
|
+
secho("run upgrade for thesis has been started", fg="green")
|
|
64
108
|
|
|
65
|
-
|
|
66
|
-
errors.append(error)
|
|
109
|
+
run_upgrade(has_thesis, migrate_thesis_university)
|
|
67
110
|
|
|
68
|
-
for
|
|
69
|
-
draft = RDMDraft(draft_metadata.data, model=draft_metadata)
|
|
70
|
-
error = update_record(draft)
|
|
71
|
-
if error:
|
|
72
|
-
errors.append(error)
|
|
111
|
+
secho("run upgrade for thesis has been finished", fg="green")
|
|
73
112
|
|
|
74
|
-
success = not errors
|
|
75
113
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
db.session.commit()
|
|
79
|
-
secho(
|
|
80
|
-
"Data migration completed, please rebuild the search indices now.",
|
|
81
|
-
fg="green",
|
|
82
|
-
)
|
|
114
|
+
def execute_upgrade():
|
|
115
|
+
"""Execute the upgrade from InvenioRDM 12.0 to 13.0.0.
|
|
83
116
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
secho(
|
|
88
|
-
"Upgrade aborted due to the following errors:",
|
|
89
|
-
fg="red",
|
|
90
|
-
err=True,
|
|
91
|
-
)
|
|
117
|
+
Please read the disclaimer on this module before thinking about executing
|
|
118
|
+
this function!
|
|
119
|
+
THIS MODULE IS WORK IN PROGRESS, UNTIL official v13 release
|
|
92
120
|
|
|
93
|
-
|
|
94
|
-
|
|
121
|
+
NOTE:
|
|
122
|
+
since the data upgrade steps are more selective now, the approach how to do
|
|
123
|
+
it has been changed. now the records/drafts which should be updated are
|
|
124
|
+
searched by a filter and then the updates are applied to those
|
|
125
|
+
records/drafts explicitly. this should improve speed and should make it
|
|
126
|
+
easier to upgrade large instances
|
|
95
127
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
"Please fix the above listed errors and try the upgrade again",
|
|
99
|
-
)
|
|
100
|
-
secho(msg, fg="yellow", err=True)
|
|
128
|
+
"""
|
|
129
|
+
secho("Starting data migration...", fg="green")
|
|
101
130
|
|
|
102
|
-
|
|
131
|
+
run_upgrade_for_thesis()
|
|
103
132
|
|
|
104
133
|
|
|
105
134
|
# 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: 13.0.
|
|
3
|
+
Version: 13.0.0rc6
|
|
4
4
|
Summary: Invenio Research Data Management.
|
|
5
5
|
Home-page: https://github.com/inveniosoftware/invenio-app-rdm
|
|
6
6
|
Author: CERN
|
|
@@ -60,7 +60,7 @@ Requires-Dist: invenio-search[opensearch1]<4.0.0,>=3.0.0; extra == "opensearch1"
|
|
|
60
60
|
Provides-Extra: opensearch2
|
|
61
61
|
Requires-Dist: invenio-search[opensearch2]<4.0.0,>=3.0.0; extra == "opensearch2"
|
|
62
62
|
Provides-Extra: s3
|
|
63
|
-
Requires-Dist: invenio-s3<
|
|
63
|
+
Requires-Dist: invenio-s3<4.0.0,>=3.0.0; extra == "s3"
|
|
64
64
|
Dynamic: license-file
|
|
65
65
|
|
|
66
66
|
..
|
|
@@ -101,6 +101,21 @@ https://inveniordm.docs.cern.ch
|
|
|
101
101
|
Changes
|
|
102
102
|
=======
|
|
103
103
|
|
|
104
|
+
Version v13.0.0rc6 (released 2025-07-21)
|
|
105
|
+
|
|
106
|
+
- fix: package.json and package-lock mismatch
|
|
107
|
+
|
|
108
|
+
Version v13.0.0rc5 (released 2025-07-17)
|
|
109
|
+
|
|
110
|
+
- migration: optimize script
|
|
111
|
+
- upgrade_scripts: handle thesis custom field migration
|
|
112
|
+
- version: bumped invenio-s3 version to include multipart upload
|
|
113
|
+
- templates: macros: doi: Add copy button for DOIs
|
|
114
|
+
- semantic-ui: components: CopyButton: add size prop
|
|
115
|
+
- semantic-ui: landing_page: ExportButton: Add copy button
|
|
116
|
+
- semantic-ui: componenets: add url fetching in copy button
|
|
117
|
+
- semantic-ui: landing_page: add click event for cite all versions
|
|
118
|
+
|
|
104
119
|
Version v13.0.0rc4 (released 2025-07-10)
|
|
105
120
|
|
|
106
121
|
- pid-config: cast to bool RDM_(PARENT)_PERSISTENT_IDENTIFIERS required check
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
invenio_app_rdm/__init__.py,sha256=
|
|
1
|
+
invenio_app_rdm/__init__.py,sha256=jbRG7GKQuwXg_ZLx7IuMu9QRxCTn85P9FDGBXpTW-iU,700
|
|
2
2
|
invenio_app_rdm/cli.py,sha256=G6QqNU2W6n6ICtTMnpeKFXIsdorncDmVXwwwsGH5F2k,2746
|
|
3
3
|
invenio_app_rdm/config.py,sha256=MQYHg0C5p5xAphuGOh3lqxp7k9Dboi27uxn7WHkv2JU,52040
|
|
4
4
|
invenio_app_rdm/ext.py,sha256=K7syn5CU5If7yOclFeNOCZX_u5q6VB7NJEQVm41mlng,5286
|
|
@@ -79,7 +79,7 @@ invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details
|
|
|
79
79
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/versions.html,sha256=fIa8R0blN2rWkrP0K43qvSTye4Gt6-5yo3HN5FLdLTA,935
|
|
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
|
-
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/doi.html,sha256=
|
|
82
|
+
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/doi.html,sha256=32Yknq5PgvJpYg9Z3Brod9wui9yrpDNE11_esG-20jw,1656
|
|
83
83
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/files.html,sha256=hxkjBwkpDKvE-E6wzHoTVhzVXJ6KkNdvUNr7fm8UNcw,9527
|
|
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
|
|
@@ -107,8 +107,8 @@ invenio_app_rdm/requests_ui/views/requests.py,sha256=psHuNbN4JJ2zoOiopRAic1RpB93
|
|
|
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
|
|
110
|
-
invenio_app_rdm/theme/webpack.py,sha256=
|
|
111
|
-
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/theme.js,sha256=
|
|
110
|
+
invenio_app_rdm/theme/webpack.py,sha256=0IGXIwq-fhD_-mGGsK65I8M-xhxm_SjCMA4dK8YxNPg,5282
|
|
111
|
+
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/theme.js,sha256=LIgneJY0lNGB4ePpEvGL1KFcUKVsOjNctP45uWVc3wE,4875
|
|
112
112
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/utils.js,sha256=oTCQkmr7j6FwVsOfM6hsKrPHfadW7m9IurrqYVDgxDw,3628
|
|
113
113
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/auditLogs/AuditLogActions.js,sha256=ugQ-0b_6_O5rDeP7JUlNJ5SLGGlip_tP3OoTT4hRcak,3984
|
|
114
114
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/auditLogs/ViewJson.js,sha256=UX4-c4gtXOih4T7GQ1c_9zvlAEa0ljTiz22GU8A05Ps,955
|
|
@@ -166,7 +166,7 @@ invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/communityRecordsSear
|
|
|
166
166
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/communityRecordsSearch/components.js,sha256=k26jDWt0BWIrhnuGF-t0iNmudXdniO8YPkquF8VK7gk,271
|
|
167
167
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/communityRecordsSearch/index.js,sha256=8Ev-tdRIWl2HhB7Y8YR30dXK-A4ePyShOsb9A9X-GhQ,2193
|
|
168
168
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/CompactStats.js,sha256=lYsI7O5Z8ZMwzImx_VZ25PKx2SyRgFezAOdEeTOM4as,1278
|
|
169
|
-
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/CopyButton.js,sha256=
|
|
169
|
+
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/CopyButton.js,sha256=uBcEXzGJYZ7dPIdQBxPqxLvwP6Z5QVg1x-YRncRDW3k,3550
|
|
170
170
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/DisplayPartOfCommunities.js,sha256=bSmhuwSWk4CW80mqa4ZZbjfa-_NsiJ1IxQ9veDy6sAM,2751
|
|
171
171
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/DisplayVerifiedCommunity.js,sha256=m3rT8jJ3440ZX22zZog8bHatWltYXwvmw_tu6tJUM9k,1506
|
|
172
172
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/RecordsResultsListItem.js,sha256=RTSQBlGQY7ww7fVGHDvDfWQNyJ07mnEoyboTGIcCgD4,6694
|
|
@@ -180,7 +180,7 @@ invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/AccessR
|
|
|
180
180
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/CommunitiesManagement.js,sha256=YnRSutAGqKCN4pWfUcEELpQBzQEvZz7rKRxhkLjnM3g,5699
|
|
181
181
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/CommunitiesManagementDropdown.js,sha256=qocsinvtbWEqAi8kgqNqx7c0X-_evRmCz2bPTaMQlcI,5953
|
|
182
182
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/EditButton.js,sha256=WJ5lNpbPcd_Kymn_TYklSTfkCJRPhpFeT6cWcR48mSQ,1452
|
|
183
|
-
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ExportDropdown.js,sha256=
|
|
183
|
+
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ExportDropdown.js,sha256=fDqs5sel6Zo1oPkJT1XbR3dtHXvvgVuDhe_sg_-D690,1969
|
|
184
184
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ManageButton.js,sha256=79DO4JKJDU0AI1uaLzE2AAQRxTPx2rFKNj-CJ_UKP54,2934
|
|
185
185
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCitationField.js,sha256=9bfvaNvr55jJ55kyv0vsNSliHAlNuw7lqwxpJM4gYQA,4700
|
|
186
186
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCommunitiesList.js,sha256=wORVCOjlyX2mIsDU9J0MwWFE4Zw9CCL5inWpV7m8lsM,4004
|
|
@@ -188,7 +188,7 @@ invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordM
|
|
|
188
188
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordVersionsList.js,sha256=ZJaD4fW2z00tcektXVz0eLXu6oGLLW-NUjV86neuDjM,7141
|
|
189
189
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/access.js,sha256=FVcpKl22zMi1GssbLZAj1pO98c6Em_wg_yBIdfBJor0,938
|
|
190
190
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/index.js,sha256=FkCbK5FrXlSaD_TDO1eUMDORULhBJccf7FEvhmto-GM,5029
|
|
191
|
-
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/theme.js,sha256=
|
|
191
|
+
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/theme.js,sha256=KrvpMMv46SNhOfd-kML-bcnPwcyt2rcQA-1qA1gf7_E,3242
|
|
192
192
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ManageDefaultBrandingAction/ManageDefaultBrandingAction.js,sha256=qNWpe3KyZ8NDHKocG6XKJzb6w3fIQk3muWN126pUo9w,3529
|
|
193
193
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/PendingCommunitiesModal/PendingCommunitiesModal.js,sha256=G9OwLxKqX73w_7D1k7BHOzMeLmokowMfJQg5Km7J8RA,1797
|
|
194
194
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/PendingCommunitiesModal/PendingCommunitiesSearch.js,sha256=8kiiICVaJ0m2K_5cPbiHo8tN8Q_AweSmlBIkx-aJ-dA,2753
|
|
@@ -264,7 +264,7 @@ invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/elements/seg
|
|
|
264
264
|
invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/elements/segment.variables,sha256=HwtfX97PrCMjVYBHj323pUmrjBuUl41yVthXQL_8YHs,141
|
|
265
265
|
invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/globals/reset.overrides,sha256=ms-coZLC-kFoWoZ4UNyJq0FRQ0bSLRziXzbyP7tnmNA,139
|
|
266
266
|
invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/globals/reset.variables,sha256=Luyh-V1w5wDFv2j77bYmTxfn22Cp7h1vLjRsqhf207Y,139
|
|
267
|
-
invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/globals/site.overrides,sha256=
|
|
267
|
+
invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/globals/site.overrides,sha256=EBhnYyEUy057UPvqLBBov-tORBgUEOio-cWHUVUevNs,9127
|
|
268
268
|
invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/globals/site.variables,sha256=IQZqcNQ1AwmrpiPwkWZ6Zk67kyCMf8DJBqNgC1porDY,3043
|
|
269
269
|
invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/modules/accordion.overrides,sha256=DSPOm3I4dFfRrO73IYCBkj3A_T_wKW9J-Y1BlKb2Vg4,3508
|
|
270
270
|
invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/modules/accordion.variables,sha256=JFUnfiL_Xve48EwxRjYq0T-QJA8jboC606L08IjrBXg,322
|
|
@@ -284,9 +284,7 @@ invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/views/feed.o
|
|
|
284
284
|
invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/views/feed.variables,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
285
285
|
invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/views/item.overrides,sha256=m8gkMU_yKP9YIbVQ-A9eZIAj7dTmz0R25aZ5nWOYuCE,3059
|
|
286
286
|
invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/views/item.variables,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
287
|
-
invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/i18next-scanner.config.js,sha256=bJmkmpH_yUGFxb8TIAJ4YThv-RviTMy-2vUhtgOennA,1855
|
|
288
287
|
invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/i18next.js,sha256=un5pmzpJeMu6UeZygWGnsIIuNu8RTVQhZXMINj2mXk8,1065
|
|
289
|
-
invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/package-lock.json,sha256=ooW7oENJLFyFov2WqAYstJhrLVjfeAWKijzkMl-_lzs,79009
|
|
290
288
|
invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/package.json,sha256=j-ncE2nITQInJ8B5RKihnpSRRWbp8PtY2wIuqKqA7sg,567
|
|
291
289
|
invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/translations.pot,sha256=OmYY8Smb_kBuIVb_wI5LpAP3XCaWtrSNgHnm0Mo7XuY,20996
|
|
292
290
|
invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/_generatedTranslations.js,sha256=8Oo9iRj292_YsEWJRxMJqV9ABdPUOn1H77S31lx3Rdc,2805
|
|
@@ -351,10 +349,6 @@ invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/z
|
|
|
351
349
|
invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/zh_CN/translations.json,sha256=_wziGsFEV4BhaUdw2UElPeUyXBYHGQQ8nNJJsOP1GZY,10494
|
|
352
350
|
invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/zh_TW/messages.po,sha256=BeF2P9_Oj7k_pZxfPJme538Kue5ylONyCtsZo611Vc4,13195
|
|
353
351
|
invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/zh_TW/translations.json,sha256=1pO6eTP6UZgZXneHwRCBAM3QRKAOGYzH-OzemZ2nqUM,9525
|
|
354
|
-
invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/scripts/compileCatalog.js,sha256=Y4s1zDCOl-8C81JiRx6lex1EYUelPUIQjkDWon_3tzU,4033
|
|
355
|
-
invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/scripts/fixTrailingNewlines.js,sha256=8-QmsxDU27q71Zs-6iLRKTwPnVpmxBTuS7wmTtAyXxs,692
|
|
356
|
-
invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/scripts/initCatalog.js,sha256=PyJbqVfNCBvrG3o_feIt0JbpEe-AVf5jMLl8F7T4698,723
|
|
357
|
-
invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/scripts/postExtractMessages.js,sha256=NEcv44zs4RhieJgMRoMtAOOUVTS6xX5nP3hDPpBwQfE,1206
|
|
358
352
|
invenio_app_rdm/theme/static/icons/licenses/cc-by-icon.svg,sha256=Aogts2TDR_M090vHNBA2UhEDu79cdTPyjnoNmeDxFII,9719
|
|
359
353
|
invenio_app_rdm/theme/static/icons/licenses/cc-by-nc-eu-icon.svg,sha256=rJQn1RpDLLHUjVXs3nsxfduzOta1HZ1hBAhtNsvLtcU,15478
|
|
360
354
|
invenio_app_rdm/theme/static/icons/licenses/cc-by-nc-icon.svg,sha256=65P9CKCvlT-AL8a1mkf1ugPBnQqyBVpDBgiSg20fa8w,15083
|
|
@@ -466,7 +460,7 @@ invenio_app_rdm/upgrade_scripts/fix_migrated_records_from_1_0_to_2_0.py,sha256=S
|
|
|
466
460
|
invenio_app_rdm/upgrade_scripts/fix_migrated_records_from_8_0_to_9_0.py,sha256=p6qTNjUMAJ-0tnrSwar7jtDX_sg6V9kFj7fzH-wrbkY,2769
|
|
467
461
|
invenio_app_rdm/upgrade_scripts/migrate_10_0_to_11_0.py,sha256=TX6FCWXY4qM4z7IYzDO5qaMTheo3zAjFrmR1sXaEf4U,1333
|
|
468
462
|
invenio_app_rdm/upgrade_scripts/migrate_11_0_to_12_0.py,sha256=Tp7jfT2JHrYCFzF2qIYqG7yr7k-GhX2zkw61CWJGA78,6941
|
|
469
|
-
invenio_app_rdm/upgrade_scripts/migrate_12_0_to_13_0.py,sha256=
|
|
463
|
+
invenio_app_rdm/upgrade_scripts/migrate_12_0_to_13_0.py,sha256=jGGoNJUQInxpTQw49HkNJOINBe6_QwyFx1kumarU4Sg,4477
|
|
470
464
|
invenio_app_rdm/upgrade_scripts/migrate_1_0_records_to_2_0.py,sha256=mRDv_Ao5zMgA6X0aogMfvhspO1CIApKtDW_ziJp5fjI,3325
|
|
471
465
|
invenio_app_rdm/upgrade_scripts/migrate_2_0_to_3_0.py,sha256=jL_2I61Q9qt3fjBzYYueeT4EMQ9FlNPxYE4nzDQbLEY,2698
|
|
472
466
|
invenio_app_rdm/upgrade_scripts/migrate_3_0_to_4_0.py,sha256=BNjGufwLBvLHnu0gz5b_Are-FuxYjXlCtkLgNQckV3U,4768
|
|
@@ -487,43 +481,9 @@ invenio_app_rdm/users_ui/views/__init__.py,sha256=SMdY2NJj9GICfr3Xuok7qdNYVtA2bJ
|
|
|
487
481
|
invenio_app_rdm/users_ui/views/dashboard.py,sha256=iUn2PrODAwb8ugmMosJKAjPhUzjCiWiAWoXQr9RUFuc,1793
|
|
488
482
|
invenio_app_rdm/users_ui/views/ui.py,sha256=W_eXM8dLVIrNHQB2UEh37C9BYoHauft6RyvcDNFHovA,1742
|
|
489
483
|
invenio_app_rdm/utils/files.py,sha256=CruDyO2gDVadSlWEJD-WHpWHeOQ0juh-Ei9jz3D9yjc,3923
|
|
490
|
-
invenio_app_rdm-13.0.
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
tests/test_views.py,sha256=Q0mSOqd6xVrAxQMdc0MAdZRUnxv7gFAkKcBQY-gQtUI,1420
|
|
497
|
-
tests/api/__init__.py,sha256=yKVf0yYRuxmXvyAtLjmfpHGVCsEkZOhs_FojAAM_w-8,244
|
|
498
|
-
tests/api/conftest.py,sha256=0HkavUGeZLAF6aP5j8yFoyPFaEQj790x57L_otwvFTo,635
|
|
499
|
-
tests/api/test_protect_files_rest.py,sha256=wbe_PaUbWKnlq5nWDkfqTA2h0HxvI4we4PtxW_ma5tc,2423
|
|
500
|
-
tests/api/test_record_api.py,sha256=9fHo6tWSakVG1bj12JfY1xY2QnYmDAaX_b_QIDj5woM,6000
|
|
501
|
-
tests/api/test_stats_api.py,sha256=UePoplUtJPOZcW0ih22Uw7QFT4h5gPN4pfXGGlOe1W0,1052
|
|
502
|
-
tests/fixtures/__init__.py,sha256=yKVf0yYRuxmXvyAtLjmfpHGVCsEkZOhs_FojAAM_w-8,244
|
|
503
|
-
tests/fixtures/conftest.py,sha256=XeHBsck2uwtOM0d0fcKhu2gPMVq6-_Xp2WxT-2AgQNU,700
|
|
504
|
-
tests/fixtures/test_cli.py,sha256=HivtaI3dqdWZml-rBif_FfyFfi1iG-pAJOol0ckiGHc,751
|
|
505
|
-
tests/fixtures/test_fixtures.py,sha256=dOFejrkfK5LsJyvDem9wa5I03e-yH40TALlelEinre0,1319
|
|
506
|
-
tests/fixtures/app_data/oai_sets.yaml,sha256=nQt7ZNQCUOEJBR6txo5Cc845SbjEnvNfLR4lAeRMBA0,84
|
|
507
|
-
tests/fixtures/app_data/pages.yaml,sha256=t4pyjwMBVI6MxEkwCtg9urMXo5fh0mzWy-Zr8NvCXuQ,73
|
|
508
|
-
tests/fixtures/app_data/pages/about.html,sha256=obB_g3uL1ligwguh0a0-tRLRBB-eGXN1NE-3odp2j-E,11
|
|
509
|
-
tests/mock_module/__init__.py,sha256=gu6vRcXqYTKCXZjvAIHZRv2w1IvpGiDs7atQJbij5M0,236
|
|
510
|
-
tests/mock_module/views.py,sha256=TWJQfcql5XaBNtdR9phVl4tHB0YG6g5IG5n08VZTzXE,770
|
|
511
|
-
tests/mock_module/templates/mock_mail.html,sha256=w7eiZbbs1gErCXelGN7NeiTavcDM9yUM702Mygz0oAc,943
|
|
512
|
-
tests/redirector/__init__.py,sha256=yKVf0yYRuxmXvyAtLjmfpHGVCsEkZOhs_FojAAM_w-8,244
|
|
513
|
-
tests/redirector/conftest.py,sha256=KAbp0R8tgGoNvMr8mJ1G2AZX6PzLw-PChtbucrLn5_o,1676
|
|
514
|
-
tests/redirector/test_redirector.py,sha256=iATYglIw3QSoUKpspQCAM4SaG_WmzjL7r1Nmew_KlGY,1002
|
|
515
|
-
tests/ui/__init__.py,sha256=yKVf0yYRuxmXvyAtLjmfpHGVCsEkZOhs_FojAAM_w-8,244
|
|
516
|
-
tests/ui/conftest.py,sha256=Yx6_wQtAaPG3dll4UtxxN37nEr87Y_8kos8TzrijHbw,3380
|
|
517
|
-
tests/ui/test_deposits.py,sha256=BehQzo1r3_f4Uc9jcXRddd9bS5GfQ3jRRYOM0AMbi3w,3792
|
|
518
|
-
tests/ui/test_export_formats.py,sha256=pCXJCTp9ykEWb2oB-ynGjQDhFaVsOs31ym0stwfWCaQ,909
|
|
519
|
-
tests/ui/test_file_download.py,sha256=o4JHkFyJxZDaQ5NHRZR_PV98jS9UtklbOZPpduzwWKw,2436
|
|
520
|
-
tests/ui/test_filters.py,sha256=Q90wsJffjMVir7wNX8taGf2KZleLtPbXZXHLTkBpzLA,284
|
|
521
|
-
tests/ui/test_robotstxt.py,sha256=Gn0bVPJTDRQH6DO5GGZyD6iMel1UxWRHP5MnGQZ0j18,1138
|
|
522
|
-
tests/ui/test_signposting_ui.py,sha256=KCSjQlMD2VKlwQCyZYDwYjtVNL35x3u-ZC4ceD5y21w,3847
|
|
523
|
-
tests/ui/test_sitemaps.py,sha256=hPeGbo9v5Q55swr-ZyudAVYm7aJ6lCKV51Vtupk450Q,3180
|
|
524
|
-
tests/ui/test_stats_ui.py,sha256=LHa_0hjvpYvliSk_jknWy-90CO82jVElUfK5Ua_ZmfA,3554
|
|
525
|
-
invenio_app_rdm-13.0.0rc4.dist-info/METADATA,sha256=yxeUyyX6NLAL02RaTCUvQQkJQVv3l1VCQn-zsQlgS_4,17548
|
|
526
|
-
invenio_app_rdm-13.0.0rc4.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
|
|
527
|
-
invenio_app_rdm-13.0.0rc4.dist-info/entry_points.txt,sha256=rfzEeOEdtGy99NlpWzeW-32CoO5XrEpBvlZwLD2Th88,2158
|
|
528
|
-
invenio_app_rdm-13.0.0rc4.dist-info/top_level.txt,sha256=NqTqrntInEAci7EXcNBvouXFMqwyjVQhEI0b7izYRBY,22
|
|
529
|
-
invenio_app_rdm-13.0.0rc4.dist-info/RECORD,,
|
|
484
|
+
invenio_app_rdm-13.0.0rc6.dist-info/licenses/LICENSE,sha256=AZXFHRrZa5s4m9DV7zZr4bPGTMUvcEPCodeV_AmFI8k,1204
|
|
485
|
+
invenio_app_rdm-13.0.0rc6.dist-info/METADATA,sha256=JlxATEQ3IdWlWNCKAcerqgj8Wt2Z8A34249hrDsrKT4,18120
|
|
486
|
+
invenio_app_rdm-13.0.0rc6.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
|
|
487
|
+
invenio_app_rdm-13.0.0rc6.dist-info/entry_points.txt,sha256=rfzEeOEdtGy99NlpWzeW-32CoO5XrEpBvlZwLD2Th88,2158
|
|
488
|
+
invenio_app_rdm-13.0.0rc6.dist-info/top_level.txt,sha256=quZejDUw2vLfKQboNIuVLJ9fxZifdnCT_s2PNf1dfmk,16
|
|
489
|
+
invenio_app_rdm-13.0.0rc6.dist-info/RECORD,,
|