17 Commits
1.0.1 ... main

7 changed files with 45 additions and 19 deletions

BIN
.gitea/readme/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@@ -5,13 +5,15 @@ on:
branches:
- "dev"
paths:
- "cdl_downloader**"
- "src**"
- "requirements.txt"
pull_request:
branches:
- "dev"
- "main"
paths:
- "cdl_downloader**"
- "src**"
- "requirements.txt"
jobs:
analyze:
@@ -26,7 +28,7 @@ jobs:
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r cdl_downloader/requirements.txt
pip install -r requirements.txt
pip install pylint
- name: Analysing the code with pylint
run: pylint --exit-zero $(git ls-files 'cdl_downloader/*.py')
run: pylint --exit-zero $(git ls-files 'src/*.py')

View File

@@ -5,7 +5,8 @@ on:
branches:
- "main"
paths:
- "cdl_downloader**"
- "src**"
- "requirements.txt"
jobs:
analyze:
@@ -20,10 +21,10 @@ jobs:
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r cdl_downloader/requirements.txt
pip install -r requirements.txt
pip install pylint
- name: Analysing the code with pylint
run: pylint --exit-zero $(git ls-files 'cdl_downloader/*.py')
run: pylint --exit-zero $(git ls-files 'src/*.py')
publish:
name: Publish script
needs: analyze
@@ -45,23 +46,29 @@ jobs:
id: gitversion
with:
configFilePath: ./.gitea/config/gitversion.yml
- name: Create package root directory
run: |
mkdir package
mkdir package/cdl_downloader
cp -r src/* package/cdl_downloader/
cp requirements.txt package/requirements.txt
- name: Create .TAR.GZ archive
uses: ksm2/archive-action@v1
with:
format: "tar.gz"
name: cdl_downloader_${{steps.gitversion.outputs.SemVer}}
include: "./cdl_downloader"
root-directory: "package"
- name: Create .ZIP archive
uses: ksm2/archive-action@v1
with:
format: "zip"
name: cdl_downloader_${{steps.gitversion.outputs.SemVer}}
include: "./cdl_downloader"
root-directory: "package"
- name: Create Release
uses: akkuman/gitea-release-action@v1
with:
tag_name: ${{steps.gitversion.outputs.SemVer}}
release_name: ${{steps.gitversion.outputs.SemVer}}
name: ${{steps.gitversion.outputs.SemVer}}
files: |-
cdl_downloader_${{steps.gitversion.outputs.SemVer}}.tar.gz
cdl_downloader_${{steps.gitversion.outputs.SemVer}}.zip

View File

@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2026 mateuszskoczek
Copyright (c) 2026 Mateusz Skoczek
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

View File

@@ -1,3 +1,5 @@
<p align="center"><img src=".gitea/readme/icon.png"/></p>
<h1 align="center">CDL Downloader</h1>
<h3 align="center"><b>Automation script for downloading medical test results files from <a href="ewyniki.cdl.pl">ewyniki.cdl.pl</a></b></h3>
@@ -8,12 +10,18 @@
## Features
- Download medical test results files from <a href="ewyniki.cdl.pl">ewyniki.cdl.pl</a> automatically.
- Headless mode - can be used entirely without graphical interface
- Returns basic information after download - script returns basic data in JSON format, such as failure/success status and tests results as html table
- Return basic information after download in JSON format, such as failure/success status and tests results as html table
## Requirements
## Installation
Download latest package version from <a href="https://repos.mateuszskoczek.com/MateuszSkoczek/CDLDownloader/releases">Releases</a> tab, unpack, install requirements and you good to go
**Requirements**
- Chrome Driver installed
- Python installed
- PIP packages:
- `selenium`
- `webdriver-manager`
@@ -22,13 +30,13 @@
You can also use `requirements.txt` file to install PIP dependencies
```
pip install -r cdl_downloader/requirements.txt
pip install -r requirements.txt
```
## Usage
```
python cdl_downloader <pesel> <barcode>
python cdl_downloader <pesel> <barcode> [additional_options]
```
**Additional options:**
@@ -62,8 +70,18 @@ In case of success:
{
"success": true,
"id": "e1ce9235-9c36-4b7a-b245-e2f1c3d3b1c0",
"fileName": "/mnt/example/download_dir/e1ce9235-9c36-4b7a-b245-e2f1c3d3b1c0/TEST_FILE.pdf",
"fileName": "TEST_FILE.pdf",
"formattedDate": "2026.01.31",
"resultTableHTML": "<table>...</table>"
}
```
With `--path /mnt/example/download_dir/` file will be saved as `/mnt/example/download_dir/e1ce9235-9c36-4b7a-b245-e2f1c3d3b1c0/TEST_FILE.pdf`
## Attribution
You can copy this repository and create your own version of the app freely. However, it would be nice if you included URL to this repository in the description to your repository or in README file.
**Other sources:**
- Icon by <a href="icons8.com">Icons8</a>

View File

@@ -24,7 +24,6 @@ args = parser.parse_args()
id = str(uuid.uuid1())
directory = os.path.join(args.path, id)
options = Options()
if (args.headless):
options.add_argument("--headless")
@@ -35,10 +34,10 @@ options.add_experimental_option("prefs", {"download.default_directory": director
'download.prompt_for_download': False,
'plugins.always_open_pdf_externally': True})
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)
driver.get("https://ewyniki.cdl.pl/kl322-n/index.php?page=logowanie&barcodeLogin=true")
def click(element):
driver.execute_script("arguments[0].click();", element)