Compare commits

..

15 Commits

Author SHA1 Message Date
aca95cc018 Switch: drone ---> gitea actions
All checks were successful
build / testUbuntu22 (push) Successful in 4m59s
build / testRockylinux9 (push) Successful in 5m41s
build / testRockylinux8 (push) Successful in 6m19s
build / testFedoraBuilder (push) Successful in 6m36s
build / buildAndPublish (push) Has been skipped
2025-01-12 13:11:27 +01:00
002e00f959 Test voor python 3.6 & 3.7 verwijderd en python 3.11 en 3.12 toegevoegd 2025-01-11 15:39:01 +01:00
Marcel Nijenhof
424e989681 Extra timeout for installing the module from pypi
Some checks failed
continuous-integration/drone/push Build is failing
- To make sure the newest version is returned.
2022-01-08 17:46:36 +01:00
Marcel Nijenhof
67ddec8e0d Correcie git pre-commit hook voor versie nummer
Some checks failed
continuous-integration/drone/push Build is failing
2022-01-08 17:32:04 +01:00
Marcel Nijenhof
2ea0a9c7fb Versie update
Some checks failed
continuous-integration/drone/push Build is failing
- Aanpassing README
 - Upload vanuit pipeline
2022-01-08 17:14:20 +01:00
Marcel Nijenhof
89aaa231fb Precommit hoek ook omgezet naar tox
Some checks failed
continuous-integration/drone/push Build is failing
2022-01-08 16:58:19 +01:00
Marcel Nijenhof
cdca3cc508 Correctie .drone 2022-01-08 16:57:12 +01:00
Marcel Nijenhof
17820bfb9b Upload pypi
Some checks failed
continuous-integration/drone/push Build is failing
- Changed to setup.cfg
 - Changed to tox
 - Moved module dir to src
 - Moved tests dir from module to tests dir
 - Corrected .drone for changes
 - Update to 0.9.0
2022-01-08 16:50:41 +01:00
Marcel Nijenhof
e417519ef8 Aanpassing drone pipeline fedora 35
Some checks failed
continuous-integration/drone/push Build is failing
2021-12-01 23:20:11 +01:00
Marcel Nijenhof
5a23c065c5 Correctie .drone
Some checks failed
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is failing
2021-08-06 20:51:24 +02:00
Marcel Nijenhof
10bf55f62c Correctie .drone
Some checks failed
continuous-integration/drone/push Build is failing
2021-08-06 20:46:57 +02:00
Marcel Nijenhof
58645da74f Syntax correctie drone
Some checks failed
continuous-integration/drone/push Build is failing
2021-08-06 19:59:26 +02:00
Marcel Nijenhof
38292af470 Post install test 2021-08-06 19:57:37 +02:00
Marcel Nijenhof
bfde38ea42 Correctie drone file
All checks were successful
continuous-integration/drone/push Build is passing
2021-08-06 19:15:14 +02:00
Marcel Nijenhof
b94dbd9ed3 Update README
Some checks failed
continuous-integration/drone/push Build is failing
2021-08-06 19:11:47 +02:00
12 changed files with 172 additions and 224 deletions

View File

@@ -1,170 +0,0 @@
---
kind: pipeline
type: exec
name: CentOS7_test
platform:
os: linux
arch: amd64
variant: CentOS7
steps:
- name: Run unit test
environment:
PYTHONPATH: .
commands:
- python3 setup.py test
---
kind: pipeline
type: exec
name: CentOS8_test
platform:
os: linux
arch: amd64
variant: CentOS8
steps:
- name: Run unit test
environment:
PYTHONPATH: .
commands:
- python3 setup.py test
---
kind: pipeline
type: exec
name: Ubuntu1804_test
platform:
os: linux
arch: amd64
variant: Ubuntu1804
steps:
- name: Run unit test
environment:
PYTHONPATH: .
commands:
- python3 setup.py test
---
kind: pipeline
type: exec
name: Fedora_test
platform:
os: linux
arch: amd64
variant: Fedora
steps:
- name: Run unit test
environment:
PYTHONPATH: .
commands:
- python3 setup.py test
---
kind: pipeline
type: docker
name: docker_python:3.6
steps:
- name: Run unit test
image: python:3.6
environment:
PYTHONPATH: .
commands:
- pip install python-dateutil flask
- python setup.py test
---
kind: pipeline
type: docker
name: docker_python:latest
steps:
- name: Run unit test
image: python:latest
environment:
PYTHONPATH: .
commands:
- pip install python-dateutil flask
- python setup.py test
---
kind: pipeline
type: exec
name: Build
platform:
os: linux
arch: amd64
vatiant: Fedora
steps:
- name: Build package files
commands:
- python setup.py sdist
- name: Versie toevoegen aan download
environment:
DOWNLOADDIR: /usr/share/nginx/html/download/python/ddoperapi
commands:
- mkdir -p "$${DOWNLOADDIR}"
- cd dist
- |
for f in *
do
if [ -f "$${DOWNLOADDIR}/$${f}" ]
then
echo version error
exit 1
else
cp "$${f}" "$${DOWNLOADDIR}"
fi
done
- ls -l "$${DOWNLOADDIR}"
when:
branch:
- master
depends_on:
- CentOS7_test
- CentOS8_test
- Ubuntu1804_test
- Fedora_test
- docker_python:latest
- docker_python:3.6
---
kind: pipeline
type: docker
name: installCheck
steps:
- name: install Check
image: python:3.6
# Make sure we run the pip installed version
commands:
- rm -rf ddOperApi
when:
branch:
- master
depends_on:
- Build
#
# todo: Uitzoeken
#
# - >
# pip install --extra-index-url
# https://marceln.org/download/python ddOperApi
# - python -c "import lmwsip"
# - python -c "import lmwsip; print(lmwsip.__version__)"
# - >
# [ $(python -c "import lmwsip; print(lmwsip.__version__)") =
# $(python setup.py --version) ]
# - python -m unittest -v lmwsip.tests

View File

@@ -0,0 +1,91 @@
---
name: build
on:
- push
jobs:
testFedoraBuilder:
runs-on: fedora-builder
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Test
run: tox
testRockylinux8:
runs-on: rockylinux8
steps:
- name: add ca
run: |
curl -o /etc/pki/ca-trust/source/anchors/ca-marceln.org.crt \
https://marceln.org/ca-marceln.org.crt
update-ca-trust
- name: Update yum conf
run: "/usr/bin/sed -i -e \
's@#baseurl=http://dl.rockylinux.org/$contentdir@\
baseurl=https://rock64.fritz.box/nluug/os/Linux/distr/rocky@' \
-e 's@^mirrorlist=https@#mirrorlist=https@' \
$(grep -l '#baseurl=http://dl.rockylinux.org/$contentdir' \
/etc/yum.repos.d/*)"
- name: Setup
run: |
dnf install -y git nodejs \
python36 python38 python39 python3.11 python3.12 \
python3.11-pip python3.12-pip
pip-3 install tox
- name: Check out repository code
uses: actions/checkout@v3
- name: Test
run: tox -e py36,py38,py39,py311
testRockylinux9:
runs-on: rockylinux9
steps:
- name: add ca
run: |
curl -o /etc/pki/ca-trust/source/anchors/ca-marceln.org.crt \
https://marceln.org/ca-marceln.org.crt
update-ca-trust
- name: Update yum conf
run: "/usr/bin/sed -i -e \
's@#baseurl=http://dl.rockylinux.org/$contentdir@\
baseurl=https://rock64.fritz.box/nluug/os/Linux/distr/rocky@' \
-e 's@^mirrorlist=https@#mirrorlist=https@' \
$(grep -l '#baseurl=http://dl.rockylinux.org/$contentdir' \
/etc/yum.repos.d/*)"
- name: Setup
run: |
dnf install -y git nodejs \
python39 python3.11 python3.12 \
python3-pip python3.11-pip python3.12-pip
pip-3 install tox
- name: Check out repository code
uses: actions/checkout@v3
- name: Test
run: tox -e py39,py311,py312
testUbuntu22:
runs-on: ubuntu-22.04
steps:
- name: Setup
run: |
apt update
apt install -y git nodejs python3 python3-pip tox
pip
- name: Check out repository code
uses: actions/checkout@v3
- name: Test
run: tox -e py310
buildAndPublish:
needs: [testFedoraBuilder, testRocky8, testRocky9, testUbuntu22]
runs-on: fedora-builder
env:
TWINE_USERNAME: $(( secrets.PYPI_USER ))
TWINE_PASSWORD: $(( secrets.PYPI_PASSWORD ))
if: gitea.ref_name == 'main'
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Build
run: python3 -m build
- name: Test
run: tox
- name: Upload naar pypi
run: python3 -m twine upload dist/*

1
.gitignore vendored
View File

@@ -7,3 +7,4 @@ PKG-INFO
requires.txt
SOURCES.txt
top_level.txt
.tox

21
LICENSE
View File

@@ -1 +1,20 @@
TODO
Copyright (c) 2022 Rijkswaterstaat
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -9,14 +9,14 @@ gebruikt voor het opvragen van:
* Verwachtingen
* Astronomisch getij
De digitale delta api is beschikbaar via:
De operationele digitale delta api is beschikbaar via:
* https://ddapi.rws.nl/dd-oper/2.0
De authenticatie op deze url is geregeld via PKI overheidscertificaten.
Zonder PKI overheidscertificaat is de api niet toegankelijk.
Deze git repository bevat een python module om de dd-oper api te benaderen
Deze git repository bevat een python module om de dd oper api te benaderen
inclusief:
* Autenticatie via certificaten.
@@ -24,34 +24,29 @@ inclusief:
## Installatie
De package is op dit moment nog niet beschikbaar via [PyPI](https://pypi.org/).
De package is beschikbaar via https://marceln.org/download/python
Het installeren gaat via:
```
pip install -i https://marceln.org/download/python ddOperApi
pip ddOperApi
```
## De inhoud van de git repository
TODO: Aanpassen aan module
* ddOperApi/: De module
* ddOperApi/tests: De module test code
* githooks: Standaard hooks voor een locale zelf test
* demo/DD-API-Oper demo.ipynb: [Jupyter notebook](https://jupyter.org/)
demo file
* ddapioper.py: Python module
* test-ddapi: Een klein voorbeeld en test programma voor de module
* DD-API-Oper demo.ipynb: Een [Jupyter notebook](met een demo).
### dd-oper-api
### ddOperApi
Deze module bevat documentatie. Deze is op te vragen door de module te
laden en vervolgens via de python hulp functie heb je toegang tot de
documentatie.
### test-ddapi
### ddOperApi/tests
Een werkend voorbeeld en test programma voor de api.
Wel moeten de paden van het certificaat en de bijbehorende private key
nog ingevuld worden. Er staat twee keer "<TODO>" in de code.
Bevat een flask webserver waartegen de module getest kan worden en
python unittest code.
### DD-API-Oper demo.ipynb
@@ -85,4 +80,4 @@ stabiele code!
## Vragen en/of uitbreidingen.
Vragen en of uitbreidingen kunnen gemaild worden naar ddoperapi@pion.xs4all.nl.
Vragen en of uitbreidingen kunnen gemaild worden naar ddoperapi(a)marceln(.)org.

View File

@@ -1,7 +1,10 @@
#!/bin/sh -e
VERSION=$(grep version setup.py | sed -e 's/.*="//' -e 's/",//')
sed -i "s/^__version__ = .*/__version__ = '${VERSION}'/" ddOperApi/__init__.py
git add ddOperApi/__init__.py
python setup.py test
yamllint .drone.yml
yamllint .gitea/workflows/build.yml
VERSION=$(python setup.py --version)
sed -i "s/^__version__ = .*/__version__ = '${VERSION}'/" src/ddOperApi/__init__.py
git add src/ddOperApi/__init__.py
tox

28
setup.cfg Normal file
View File

@@ -0,0 +1,28 @@
[metadata]
name = ddOperApi
version = 0.9.3
author = Marcel Nijenhof
author_email = pypi@marceln.org
description = Interface for the dd-oper protocol
long_description = file: README.md
long_description_content_type = text/markdown
url = https://git.marceln.org/marceln/ddOperApi
classifiers =
Programming Language :: Python :: 3
License :: OSI Approved :: MIT License
Operating System :: OS Independent
Development Status :: 4 - Beta
[options]
package_dir =
= src
install_requires =
python-dateutil
requests
numpy
pyopenssl
packages = find:
python_requires = >= 3.6
[options.packages.find]
where = src

View File

@@ -1,29 +1,4 @@
import setuptools
from setuptools import setup
with open("README.md", "r") as fh:
long_description = fh.read()
setuptools.setup(
name="ddOperApi", # Replace with your own username
version="0.1.0",
author="Marcel Nijenhof",
author_email="pip@pion.xs4all.nl",
description="Interface for dd-oper protocol",
long_description=long_description,
long_description_content_type="text/markdown",
url="https://marceln.org/git/Werk/lmwsip",
packages=setuptools.find_packages(),
install_requires=[
'python-dateutil',
'requests',
'numpy',
'pyopenssl'
],
classifiers=[
"Programming Language :: Python :: 3",
"License :: TODO",
"Operating System :: OS Independent",
"Topic :: dd-oper api"
],
python_requires='>=3.6',
)
if __name__ == "__main__":
setup()

View File

@@ -20,7 +20,7 @@ from datetime import datetime, timedelta
from dateutil.parser import parse
""" Version info changed by git hook """
__version__ = '0.1.0'
__version__ = '0.9.3'
class ddOperApi:
"""

View File

@@ -3,7 +3,7 @@
import unittest
import ddOperApi
from time import sleep
from ddOperApi.tests.testServer import forkTestServer, stopTestServer
from testServer import forkTestServer, stopTestServer
class ddOperApiTest(unittest.TestCase):

6
tox.ini Normal file
View File

@@ -0,0 +1,6 @@
[tox]
envlist = py38,py39,py310,py311,py312
[testenv]
deps = flask
commands = python tests/main.py