Skip to content
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ jobs:
- name: Install Ubuntu Translation Libraries
run: sudo apt install gettext
- name: Test IATI
env:
BROWSER: FirefoxHeadless
run: py.test -n 2 cove_iati --cov-append --cov
- name: Migrate Database
run: python manage.py migrate
Expand Down
4 changes: 2 additions & 2 deletions cove_iati/templates/cove_iati/explore.html
Original file line number Diff line number Diff line change
Expand Up @@ -398,7 +398,7 @@ <h4><span class="glyphicon glyphicon-share"></span> Share</h4>
</div>
<h4><span class="glyphicon glyphicon-new-window"></span> Preview</h4>
<p>Generate a private d-preview site with the IATI xml. For preview purposes only. Data will not be uploaded to the main live d-portal website.</p>
<p><a target="_blank" href="http://d-preview.codeforiati.org/upload?xmlurl={{ request.scheme }}://{{ request.get_host }}{% if conversion == 'unflatten' %}{{ converted_url }}{% else %}{{ original_file.url }}{% endif %}" class="btn btn-success btn-sm">Generate a d-preview</a></p>
<p><a target="_blank" href="https://preview.d-portal.iatistandard.org/upload?xmlurl={{ request.scheme }}://{{ request.get_host }}{% if conversion == 'unflatten' %}{{ converted_url }}{% else %}{{ original_file.url }}{% endif %}" class="btn btn-success btn-sm">Generate a d-preview</a></p>
{% comment %}Translators: Paragraph that describes the application{% endcomment %}
<br>
<p>{% blocktrans %}After 7 days all uploaded data is deleted from our servers, and the results will no longer be available. Anyone using the link to this page after that will be shown a message that tells them the file has been removed.{% endblocktrans %}</p>
Expand All @@ -423,7 +423,7 @@ <h4>Merge indicators by title</h4>
<p>This function will merge together any indicators in the result block, that share the same title. No other data will be altered or changed. This function is designed for instances where multiple periods exist within the same result/indicator, but are not uniquely referenced in the IATI standard or CoVE spreadsheet.<p/>
{% if merge_indicator_output %}
<p><a href="{{ merge_indicator_output }}">Output (xml)</a> {{ merge_indicator_output_file_size|filesizeformat }}</p>
<p><a target="_blank" href="http://d-preview.codeforiati.org/upload?xmlurl={{ request.scheme }}://{{ request.get_host }}{{ merge_indicator_output }}" class="btn btn-success btn-sm">Generate a d-preview</a></p>
<p><a target="_blank" href="https://preview.d-portal.iatistandard.org/upload?xmlurl={{ request.scheme }}://{{ request.get_host }}{{ merge_indicator_output }}" class="btn btn-success btn-sm">Generate a d-preview</a></p>
{% else %}
<p><a href="{% url 'explore_suffix' data_uuid 'merge_indicator' %}" class="btn btn-success btn-sm">Run</a></p>
{% endif %}
Expand Down
5 changes: 5 additions & 0 deletions cove_iati/tests_functional.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.firefox.options import Options as FirefoxOptions

BROWSER = os.environ.get('BROWSER', 'ChromeHeadless')
CHROME_SNAP = bool(os.environ.get('CHROME_SNAP', False))
Expand All @@ -19,6 +20,10 @@ def browser(request):
if CHROME_SNAP:
options.add_argument("--remote-debugging-port=9222")
browser = webdriver.Chrome(options=options)
elif BROWSER == 'FirefoxHeadless':
options = FirefoxOptions()
options.add_argument("-headless")
browser = webdriver.Firefox(options=options)
else:
browser = getattr(webdriver, BROWSER)()
browser.implicitly_wait(3)
Expand Down
112 changes: 58 additions & 54 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,129 +8,131 @@
# via -r requirements.in
-e git+https://github.com/OpenDataServices/iati-utils.git@704fa589ad2d3743d3928dcbeeeb06a5e73f8437#egg=iatiutils
# via -r requirements.in
asgiref==3.8.1
asgiref==3.11.0
# via django
attrs==24.2.0
attrs==25.4.0
# via
# cattrs
# jsonschema
# referencing
# requests-cache
backports-datetime-fromisoformat==2.0.1
backports-datetime-fromisoformat==2.0.3
# via flattentool
behave==1.2.5
# via bdd-tester
bleach==6.1.0
bleach==6.3.0
# via -r requirements.in
btrees==6.0
btrees==6.3
# via zodb
cached-property==1.5.2
cached-property==2.0.1
# via -r requirements.in
cattrs==23.2.3
cattrs==25.3.0
# via requests-cache
certifi==2024.7.4
certifi==2026.1.4
# via
# requests
# sentry-sdk
cffi==1.17.0
cffi==2.0.0
# via persistent
charset-normalizer==3.3.2
charset-normalizer==3.4.4
# via requests
click==8.1.7
click==8.3.1
# via iatiutils
commonmark==0.9.1
# via -r requirements.in
dealer==2.1.0
# via -r requirements.in
defusedxml==0.7.1
# via odfpy
django==4.2.15
django==4.2.27
# via
# -r requirements.in
# django-bootstrap3
# django-debug-toolbar
# libcoveweb
django-bootstrap3==24.2
django-bootstrap3==26.1
# via
# -r requirements.in
# libcoveweb
django-debug-toolbar==4.4.6
django-debug-toolbar==6.2.0
# via -r requirements.in
django-environ==0.11.2
django-environ==0.12.0
# via -r requirements.in
et-xmlfile==1.1.0
et-xmlfile==2.0.0
# via openpyxl
flattentool==0.26.0
flattentool==0.27.0
# via
# -r requirements.in
# libcove
# libcoveweb
gunicorn==23.0.0
gunicorn==24.1.1
# via -r requirements.in
idna==3.7
# via requests
ijson==3.3.0
idna==3.11
# via
# requests
# url-normalize
ijson==3.4.0.post0
# via flattentool
json-merge-patch==0.2
json-merge-patch==0.3.0
# via -r requirements.in
jsonref==1.1.0
# via
# flattentool
# libcove
jsonschema==4.23.0
jsonschema==4.26.0
# via
# -r requirements.in
# libcove
jsonschema-specifications==2023.12.1
jsonschema-specifications==2025.9.1
# via jsonschema
libcove==0.32.1
# via
# -r requirements.in
# libcoveweb
libcoveweb==0.30.4
libcoveweb==0.31.1
# via -r requirements.in
lxml==4.9.4
# via
# -r requirements.in
# bdd-tester
# flattentool
# iatiutils
markupsafe==2.1.5
markupsafe==3.0.3
# via werkzeug
odfpy==1.4.1
# via flattentool
openpyxl==3.1.2
# via
# -r requirements.in
# flattentool
packaging==24.1
packaging==26.0
# via gunicorn
parse==1.20.2
# via
# behave
# parse-type
parse-type==0.6.2
parse-type==0.6.6
# via behave
persistent==6.0
persistent==6.5
# via
# btrees
# zodb
platformdirs==4.2.2
platformdirs==4.5.1
# via requests-cache
pycparser==2.22
pycparser==3.0
# via cffi
python-dateutil==2.9.0.post0
# via -r requirements.in
pytz==2024.1
pytz==2025.2
# via flattentool
rangedict==0.1.7
# via -r requirements.in
referencing==0.35.1
referencing==0.37.0
# via
# jsonschema
# jsonschema-specifications
# libcove
requests==2.32.3
requests==2.32.5
# via
# -r requirements.in
# bdd-tester
Expand All @@ -146,71 +148,73 @@ rfc3987==1.3.8
# via
# -r requirements.in
# libcove
rpds-py==0.20.0
rpds-py==0.30.0
# via
# jsonschema
# referencing
schema==0.7.7
schema==0.7.8
# via flattentool
sentry-sdk==2.13.0
sentry-sdk==2.50.0
# via -r requirements.in
six==1.16.0
six==1.17.0
# via
# bdd-tester
# behave
# bleach
# parse-type
# python-dateutil
# rfc3339-validator
# url-normalize
sqlparse==0.5.1
sqlparse==0.5.5
# via
# django
# django-debug-toolbar
strict-rfc3339==0.7
# via -r requirements.in
transaction==4.0
transaction==5.0
# via zodb
url-normalize==1.4.3
typing-extensions==4.15.0
# via
# cattrs
# referencing
url-normalize==2.2.1
# via requests-cache
urllib3==2.2.2
urllib3==2.6.3
# via
# requests
# requests-cache
# sentry-sdk
webencodings==0.5.1
# via bleach
werkzeug==3.0.4
werkzeug==3.1.5
# via libcoveweb
xmltodict==0.13.0
xmltodict==1.0.2
# via
# -r requirements.in
# flattentool
zc-lockfile==3.0.post1
zc-lockfile==4.0
# via zodb
zc-zlibstorage==1.2.0
# via flattentool
zconfig==4.1
zconfig==4.3
# via zodb
zipp==3.20.0
zipp==3.23.0
# via -r requirements.in
zodb==6.0
zodb==6.2
# via
# flattentool
# zc-zlibstorage
zodbpickle==4.0
zodbpickle==4.3
# via zodb
zope-deferredimport==5.0
zope-deferredimport==6.0
# via persistent
zope-interface==7.0.1
zope-interface==8.2
# via
# btrees
# persistent
# transaction
# zc-zlibstorage
# zodb
# zope-proxy
zope-proxy==5.3
zope-proxy==7.1
# via zope-deferredimport

# The following packages are considered to be unsafe in a requirements file:
Expand Down
Loading