mirror of
https://github.com/Cian-H/invenio-config-iform.git
synced 2025-12-23 13:31:58 +00:00
Compare commits
16 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3f2cf9f800 | ||
|
|
db0c7a4e21 | ||
|
|
91464bbd7c | ||
|
|
d7fe2926c7 | ||
|
|
d5fcf60cf7 | ||
|
|
772b21c93a | ||
|
|
c39221378f | ||
|
|
a42f86fcdf | ||
|
|
0dd0db04e2 | ||
|
|
b02ce8a755 | ||
|
|
41dcb8f437 | ||
|
|
35854691bd | ||
|
|
f2e18b95c3 | ||
|
|
16c10593d6 | ||
|
|
dbd870d106 | ||
|
|
f02e992acd |
23
CHANGES.rst
23
CHANGES.rst
@@ -1,5 +1,5 @@
|
||||
..
|
||||
Copyright (C) 2020 Mojib Wali.
|
||||
Copyright (C) 2020 - 2022 Graz University of Technology.
|
||||
|
||||
invenio-config-tugraz is free software; you can redistribute it and/or
|
||||
modify it under the terms of the MIT License; see LICENSE file for more
|
||||
@@ -7,6 +7,27 @@
|
||||
|
||||
Changes
|
||||
=======
|
||||
Version 0.8.2 (released 2022-03-03)
|
||||
|
||||
- config: new introduced to v8 of invenioRDM
|
||||
|
||||
Version 0.8.1 (released 2022-02-28)
|
||||
|
||||
- config: set samesite cookie to strict
|
||||
- dep: bump in base dependencies
|
||||
|
||||
Version 0.8.0 (released 2022-02-09)
|
||||
|
||||
- dep: bump rdm-records version
|
||||
|
||||
Version 0.7.1 (released 2021-12-07)
|
||||
|
||||
- configs: adds new & changed configs for v7 #76
|
||||
|
||||
Version 0.7.0 (released 2021-12-06)
|
||||
|
||||
- fix: update blueprint reorder #74
|
||||
- dep: upgrade rdm-records version & OAI #72
|
||||
|
||||
Version 0.1.0 (released TBD)
|
||||
|
||||
|
||||
@@ -332,6 +332,8 @@ texinfo_documents = [
|
||||
# Example configuration for intersphinx: refer to the Python standard library.
|
||||
intersphinx_mapping = {
|
||||
"python": ("https://docs.python.org/", None),
|
||||
'flask': ('https://flask.palletsprojects.com/', None),
|
||||
'werkzeug': ('https://werkzeug.palletsprojects.com/', None),
|
||||
# TODO: Configure external documentation references, eg:
|
||||
# 'Flask-Admin': ('https://flask-admin.readthedocs.io/en/latest/', None),
|
||||
}
|
||||
|
||||
@@ -29,6 +29,7 @@ INVENIO_CONFIG_TUGRAZ_IP_RANGES =
|
||||
[["127.0.0.2", "127.0.0.99"], ["127.0.1.3", "127.0.1.5"]]
|
||||
"""
|
||||
|
||||
|
||||
CONFIG_TUGRAZ_ROUTES = {
|
||||
"guide": "/guide",
|
||||
"terms": "/terms",
|
||||
@@ -40,25 +41,12 @@ CONFIG_TUGRAZ_ROUTES = {
|
||||
# ===========
|
||||
# See https://invenio-app.readthedocs.io/en/latest/configuration.html
|
||||
|
||||
APP_ALLOWED_HOSTS = [
|
||||
"0.0.0.0",
|
||||
"localhost",
|
||||
"127.0.0.1",
|
||||
"invenio-dev01.tugraz.at",
|
||||
"invenio-test.tugraz.at",
|
||||
"repository.tugraz.at",
|
||||
]
|
||||
"""Allowed Hosts"""
|
||||
|
||||
APP_DEFAULT_SECURE_HEADERS = {
|
||||
"content_security_policy": {
|
||||
"default-src": [
|
||||
"'self'",
|
||||
"fonts.googleapis.com",
|
||||
"*.gstatic.com",
|
||||
"data:",
|
||||
"'unsafe-inline'",
|
||||
"'unsafe-eval'",
|
||||
"blob:",
|
||||
"ub-support.tugraz.at", # zammad contact form
|
||||
],
|
||||
@@ -78,6 +66,15 @@ APP_DEFAULT_SECURE_HEADERS = {
|
||||
"strict_transport_security_preload": False,
|
||||
}
|
||||
|
||||
# Invenio-I18N
|
||||
# ============
|
||||
# See https://invenio-i18n.readthedocs.io/en/latest/configuration.html
|
||||
BABEL_DEFAULT_LOCALE = "en"
|
||||
# Default time zone
|
||||
BABEL_DEFAULT_TIMEZONE = "Europe/Vienna"
|
||||
# Other supported languages (do not include BABEL_DEFAULT_LOCALE in list).
|
||||
I18N_LANGUAGES = [("de", _("German"))]
|
||||
|
||||
# Invenio-Mail
|
||||
# ===========
|
||||
# See https://invenio-mail.readthedocs.io/en/latest/configuration.html
|
||||
@@ -239,10 +236,22 @@ password from ``users.yaml`` will be used. If that is also absent, a password
|
||||
will be generated randomly.
|
||||
"""
|
||||
|
||||
DATACITE_FORMAT = "{prefix}/{id}"
|
||||
"""Customize the generated DOI string."""
|
||||
|
||||
DATACITE_DATACENTER_SYMBOL = ""
|
||||
""""The OAI-PMH server's metadata format oai_datacite
|
||||
that allows you to harvest record from InvenioRDM in DataCite XML needs
|
||||
to be configured with your DataCite data center symbol.
|
||||
This is only required if you want your records to be harvestable in DataCite XML format.
|
||||
"""
|
||||
|
||||
# Invenio-app-rdm
|
||||
# =========================
|
||||
# See https://github.com/inveniosoftware/invenio-app-rdm/blob/master/invenio_app_rdm/config.py
|
||||
APP_RDM_DEPOSIT_FORM_DEFAULTS = {}
|
||||
APP_RDM_DEPOSIT_FORM_DEFAULTS = {
|
||||
"publisher": "Graz University of Technology",
|
||||
}
|
||||
"""Default values for new records in the deposit UI.
|
||||
|
||||
The keys denote the dot-separated path, where in the record's metadata
|
||||
@@ -251,6 +260,12 @@ If the value is callable, its return value will be used for the field
|
||||
(e.g. lambda/function for dynamic calculation of values).
|
||||
"""
|
||||
|
||||
APP_RDM_DEPOSIT_FORM_AUTOCOMPLETE_NAMES = "search"
|
||||
"""Enable autocompleting names search field for creators/contributors.
|
||||
|
||||
(e,g, "searc_only" or "off")
|
||||
"""
|
||||
|
||||
SQLALCHEMY_ECHO = False
|
||||
"""Enable to see all SQL queries."""
|
||||
|
||||
@@ -312,3 +327,31 @@ reopened regularly.
|
||||
|
||||
See https://docs.sqlalchemy.org/en/latest/core/engines.html.
|
||||
"""
|
||||
|
||||
# Redis (cache)
|
||||
# ========
|
||||
# Cache or Redis configurations
|
||||
RATELIMIT_AUTHENTICATED_USER = "25000 per hour;1000 per minute"
|
||||
"""Increase defaults for authenticated users."""
|
||||
|
||||
RATELIMIT_GUEST_USER = "5000 per hour;500 per minute"
|
||||
"""Increase defaults for guest users."""
|
||||
|
||||
SESSION_COOKIE_SAMESITE = 'Strict'
|
||||
"""Sets cookie with the samesite flag to 'Strict' by default."""
|
||||
|
||||
|
||||
# OAI-PMH
|
||||
# =======
|
||||
# See https://github.com/inveniosoftware/invenio-oaiserver/blob/master/invenio_oaiserver/config.py
|
||||
|
||||
OAISERVER_ID_PREFIX = "repository.tugraz.at"
|
||||
"""The prefix that will be applied to the generated OAI-PMH ids."""
|
||||
|
||||
OAISERVER_ADMIN_EMAILS = [
|
||||
'oai@repository.tugraz.at',
|
||||
]
|
||||
"""The e-mail addresses of administrators of the repository.
|
||||
|
||||
It **must** include one or more instances.
|
||||
"""
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Copyright (C) 2020-2021 Graz University of Technology.
|
||||
# Copyright (C) 2020-2022 Graz University of Technology.
|
||||
#
|
||||
# invenio-config-tugraz is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the MIT License; see LICENSE file for more
|
||||
@@ -12,4 +12,4 @@ This file is imported by ``invenio_config_tugraz.__init__``,
|
||||
and parsed by ``setup.py``.
|
||||
"""
|
||||
|
||||
__version__ = "0.6.1"
|
||||
__version__ = "0.8.2"
|
||||
|
||||
@@ -33,21 +33,18 @@ def ui_blueprint(app):
|
||||
|
||||
@blueprint.before_app_first_request
|
||||
def rank_higher():
|
||||
"""Rank this modules blueprint higher than blueprint of security module."""
|
||||
blueprints = current_app._blueprint_order
|
||||
our_index = None
|
||||
security_index = None
|
||||
"""Rank this modules blueprint higher than blueprint of security module.
|
||||
|
||||
for index, bp in enumerate(blueprints):
|
||||
if bp.name == "security":
|
||||
security_index = index
|
||||
if bp.name == "invenio_config_tugraz":
|
||||
our_index = index
|
||||
Needed in order to overwrite email templates.
|
||||
|
||||
if (security_index is not None) and (our_index > security_index):
|
||||
temp = blueprints[security_index]
|
||||
blueprints[security_index] = blueprints[our_index]
|
||||
blueprints[our_index] = temp
|
||||
Since the blueprints are in a dict and the order of insertion is
|
||||
retained, popping and reinserting all items (except ours), ensures
|
||||
our blueprint will be in front.
|
||||
"""
|
||||
bps = current_app.blueprints
|
||||
for blueprint_name in list(bps.keys()):
|
||||
if blueprint_name != "invenio_config_tugraz":
|
||||
bps.update({blueprint_name: bps.pop(blueprint_name)})
|
||||
|
||||
return blueprint
|
||||
|
||||
|
||||
@@ -25,9 +25,9 @@ trap cleanup EXIT
|
||||
|
||||
|
||||
python -m check_manifest --ignore ".*-requirements.txt"
|
||||
python -m sphinx.cmd.build -qnNW docs docs/_build/html
|
||||
python -m sphinx.cmd.build -qnN docs docs/_build/html
|
||||
eval "$(docker-services-cli up --db ${DB:-postgresql} --search ${SEARCH:-elasticsearch} --cache ${CACHE:-redis} --env)"
|
||||
python -m pytest
|
||||
tests_exit_code=$?
|
||||
python -m sphinx.cmd.build -qnNW -b doctest docs docs/_build/doctest
|
||||
python -m sphinx.cmd.build -qnN -b doctest docs docs/_build/doctest
|
||||
exit "$tests_exit_code"
|
||||
|
||||
19
setup.py
19
setup.py
@@ -16,13 +16,12 @@ readme = open("README.rst").read()
|
||||
history = open("CHANGES.rst").read()
|
||||
|
||||
tests_require = [
|
||||
"pytest-invenio>=1.4.0",
|
||||
"invenio-app>=1.3.0,<2.0.0",
|
||||
"pytest-invenio>=1.4.1",
|
||||
]
|
||||
|
||||
# Should follow invenio-app-rdm
|
||||
invenio_search_version = ">=1.4.0,<1.5.0"
|
||||
invenio_db_version = ">=1.0.9,<1.1.0"
|
||||
invenio_search_version = ">=1.4.2,<1.5.0"
|
||||
invenio_db_version = ">=1.0.11,<1.1.0"
|
||||
|
||||
extras_require = {
|
||||
"elasticsearch7": [f"invenio-search[elasticsearch7]{invenio_search_version}"],
|
||||
@@ -30,7 +29,7 @@ extras_require = {
|
||||
"postgresql": [f"invenio-db[postgresql,versioning]{invenio_db_version}"],
|
||||
"sqlite": [f"invenio-db[versioning]{invenio_db_version}"],
|
||||
"docs": [
|
||||
"Sphinx>=3",
|
||||
"Sphinx==4.2.0",
|
||||
],
|
||||
"tests": tests_require,
|
||||
}
|
||||
@@ -47,14 +46,13 @@ for name, reqs in extras_require.items():
|
||||
extras_require["all"].extend(reqs)
|
||||
|
||||
setup_requires = [
|
||||
"Babel>=1.3",
|
||||
"pytest-runner>=3.0.0,<5",
|
||||
"Babel>=2.8,<3",
|
||||
]
|
||||
|
||||
install_requires = [
|
||||
"Flask-BabelEx>=0.9.4",
|
||||
# keep this in sync with invenioRDM release
|
||||
"invenio_app_rdm==4.0.0",
|
||||
"invenio-rdm-records>=0.34.5,<0.35.0",
|
||||
"invenio-cache>=1.1.0"
|
||||
]
|
||||
|
||||
packages = find_packages()
|
||||
@@ -110,6 +108,7 @@ setup(
|
||||
"Programming Language :: Python :: 3.6",
|
||||
"Programming Language :: Python :: 3.7",
|
||||
"Programming Language :: Python :: 3.8",
|
||||
"Development Status :: 3 - Alpha",
|
||||
"Programming Language :: Python :: 3.9",
|
||||
"Development Status :: 5 - Production/Stable",
|
||||
],
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user