moved 2025 to archive
This commit is contained in:
@@ -125,7 +125,40 @@ dist: all
|
||||
mkdir -p $(distDir)/httpdocs/ressourcen/fonts
|
||||
find ./res/fonts -type f -exec $(LN) {} $(distDir)/httpdocs/ressourcen/fonts \;
|
||||
|
||||
<<<<<<< Updated upstream
|
||||
# htaccess
|
||||
=======
|
||||
# sitemap
|
||||
$(LN) ./sitemaps/cwsvjudo-de.xml $(distWebRoot)/sitemap.xml
|
||||
|
||||
# @todo shouldn't be used any more
|
||||
$(LN) configs/local/db.config.php $(distDir)/.local/db.config.php
|
||||
|
||||
# participo
|
||||
|
||||
mkdir -p $(participoTarget)
|
||||
for dir in api api/inc config css images lib lib/participoLib local shared sidenav; do mkdir $(participoTarget)/$$dir; done;
|
||||
$(LN) $(participoSource)/.htaccess $(participoTarget)
|
||||
$(LN) $(participoSource)/api/*.php $(participoTarget)/api/
|
||||
$(LN) $(participoSource)/api/inc/*.php $(participoTarget)/api/inc
|
||||
$(LN) $(participoSource)/*.php $(participoTarget)
|
||||
$(LN) $(participoSource)/*.js $(participoTarget)
|
||||
$(LN) $(participoSource)/css/*.css $(participoTarget)/css/
|
||||
$(LN) $(participoSource)/images/*.svg $(participoTarget)/images/
|
||||
for dir in lib lib/participoLib shared sidenav; do $(LN) $(participoSource)/$$dir/*.php $(participoTarget)/$$dir; done;
|
||||
# @todo Make bash call work in Makefile
|
||||
# ./scripts/deep-directory-linking $(participoSource)/markdown $(participoTarget)/markdown
|
||||
cp -r $(participoSource)/markdown/ $(participoTarget)/
|
||||
# @todo check why a linked file isn't validating as php function `is_file` proberly.
|
||||
cp -r $(participoSource)/videos/ $(participoTarget)/
|
||||
|
||||
# library
|
||||
# - games
|
||||
# - @todo decide about a directory structure (libary of exercices)
|
||||
mkdir $(distDir)/games
|
||||
$(LN) ./src/games/*.md $(distDir)/games/
|
||||
# htaccess
|
||||
>>>>>>> Stashed changes
|
||||
$(LN) ./src/htaccess/heliohost/.htaccess $(distDir)/httpdocs/.htaccess
|
||||
$(LN) ./src/htaccess/heliohost/pages/responsive/.htaccess $(distDir)/httpdocs/pages/responsive/.htaccess
|
||||
|
||||
|
||||
17
homepage/cwsvJudo/configs/heliohost/config.json
Normal file
17
homepage/cwsvJudo/configs/heliohost/config.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"cwsvJudo": {
|
||||
"http": {
|
||||
"serve_dir": "httpdocs"
|
||||
},
|
||||
"db": {
|
||||
"host": "localhost",
|
||||
"name": "cwsvjudo_main",
|
||||
"user": "cwsvjudo_marko",
|
||||
"dbCharset": "ISO-8859-1",
|
||||
"outCharset": "UTF-8"
|
||||
},
|
||||
"paths": {
|
||||
"wallpapers": "/ressourcen/graphiken/wallpapers"
|
||||
}
|
||||
}
|
||||
}
|
||||
63
homepage/cwsvJudo/docker-compose.yaml
Normal file
63
homepage/cwsvJudo/docker-compose.yaml
Normal file
@@ -0,0 +1,63 @@
|
||||
version: "3.3"
|
||||
services:
|
||||
web:
|
||||
# check the php version you need for your project
|
||||
# image: php:8.2-apache
|
||||
build:
|
||||
context: .
|
||||
dockerfile: PHP.dockerfile
|
||||
network: host
|
||||
ports:
|
||||
# this line maps your pc port to the container port
|
||||
- "8080:80"
|
||||
depends_on:
|
||||
# this line links this container to the db container
|
||||
- db
|
||||
volumes:
|
||||
# this line maps the content of ./html in your pc to the /var/www/html of the container
|
||||
- ./build/dist/heliohost/httpdocs:/var/www/html
|
||||
- ./build/dist/heliohost/pages:/var/www/pages
|
||||
- ./build/dist/heliohost/games:/var/www/games
|
||||
- ./build/dist/heliohost/shared:/var/www/shared
|
||||
- ./build/dist/heliohost/libs:/var/www/libs
|
||||
- ./configs/localDocker/config.json:/var/www/.local/config.json
|
||||
- ./configs/localDocker/secrets.json:/var/www/.local/secrets.json
|
||||
db:
|
||||
# check the mysql version you need for your project
|
||||
image: mariadb:latest
|
||||
restart: always
|
||||
environment:
|
||||
MARIADB_USER: "cwsvjudo_marko"
|
||||
MARIADB_DATABASE: "cwsvjudo_main"
|
||||
MARIADB_ROOT_PASSWORD_FILE: /run/secrets/db_root_password
|
||||
MARIADB_PASSWORD_FILE: /run/secrets/db_password
|
||||
MARIADB_TCP_PORT: "3306"
|
||||
volumes:
|
||||
# this line maps the content of ./mysql_data in your pc to the /var/lib/mysql of the container
|
||||
- mysqldata:/var/lib/mysql
|
||||
- ./cwsvjudo.sql:/docker-entrypoint-initdb.d/cwsvjudo.sql
|
||||
secrets:
|
||||
- db_root_password
|
||||
- db_password
|
||||
# phpmyadmin
|
||||
phpmyadmin:
|
||||
image: phpmyadmin:latest
|
||||
restart: always
|
||||
depends_on:
|
||||
- db
|
||||
- web
|
||||
ports:
|
||||
- 8081:80
|
||||
environment:
|
||||
# name of the host is the name of the db service started above! Why? I don't know!
|
||||
- PMA_HOST=db
|
||||
- PMA_PORT=3306
|
||||
volumes:
|
||||
# data storage for the db
|
||||
mysqldata: {}
|
||||
|
||||
secrets:
|
||||
db_root_password:
|
||||
file: db_root_password.txt
|
||||
db_password:
|
||||
file: db_password.txt
|
||||
14
homepage/cwsvJudo/scripts/upload-heliohost
Normal file
14
homepage/cwsvJudo/scripts/upload-heliohost
Normal file
@@ -0,0 +1,14 @@
|
||||
#! /usr/bin/env bash
|
||||
|
||||
open cwsvjudo.de
|
||||
user cwsvjudo CTI/eiT4RYe6?ac5
|
||||
# @todo enable ssl check
|
||||
set ssl:verify-certificate no
|
||||
set ftp:ssl-allow off
|
||||
# upload:
|
||||
mirror --only-newer --ignore-time --verbose --continue --parallel=8 --reverse ./build/dist/heliohost /
|
||||
put configs/heliohost/config.json -o .local/config.json
|
||||
put configs/heliohost/secrets.json -o .local/secrets.json
|
||||
put configs/heliohost/pages.config.inc.php -o httpdocs/pages/responsive/config.php
|
||||
put configs/heliohost/participo/config.php -o httpdocs/participo/config.php
|
||||
put configs/heliohost/participo/api/config.php -o httpdocs/participo/api/config.php
|
||||
@@ -0,0 +1,33 @@
|
||||
---
|
||||
title: (Korrektur) Räucherkerzenpokal und Nikolausrandori
|
||||
---
|
||||
|
||||
*In der letzten Mail haben leider die Links nicht richtig funktioniert! Deshalb hier dieselbe Mail nochmal mit funktionierenden Links*
|
||||
|
||||
Hallo liebe Judoka,
|
||||
hallo liebe Eltern!
|
||||
|
||||
Die Adventszeit hat es in sich:
|
||||
|
||||
## [Räucherkerzenpokal 2025-11-22][RKP]
|
||||
|
||||
Die Teilnehmer für den Räucherkerzenpokal geben mir bitte Bescheid, ob für die Anreise noch Mitfahrplätze gebraucht werden, oder auch zur Verfügung gestellt werden können. Vielleicht können wir ein wenig Carpooling betreiben, damit nicht jeder in einem einzelnen Auto fahren muss.
|
||||
|
||||
## [Nikolausrandori][Nikolausrandori]
|
||||
|
||||
Für den 5.12. (Freitag!) sind wir nach Rochlitz zu einem kleinem gemeinsamen Randori eingeladen worden. Das ganze wird anstelle des üblichen Trainings in Rochlitz stattfinden. Neben den [Teilnehmern][Nikolausrandori] suche ich hier dann auch nach Unterstützung in Form von Fahrern, die helfen könnten uns alle nach Rochlitz zu bringen. Bitte gebt mir Bescheid, ob ihr helfen könnt.
|
||||
|
||||
## [Nikolausturnier 2025-12-06][Nikolausturnier]
|
||||
|
||||
Am 06.12. danach gibt es dann auch gleich das Nikolausturnier für die U9/U11. Bitte [tragt euch dafür ein][Nikolausturnier].
|
||||
|
||||
## [LionsCup 2025-11-30][LionsCup]
|
||||
|
||||
Am 30.11. (Sonntag!) wäre dann für die U13 die Gelegenheit mal gemeinsam mit der U11 und U9 in Leipzig anzutreten. Auch hier [schreibt euch bitte im Planer][LionsCup] ein.
|
||||
|
||||
MsG marko
|
||||
|
||||
[Nikolausrandori]: https://cwsvjudo.de/participo/event?eventId=257
|
||||
[RKP]: https://cwsvjudo.de/participo/event?eventId=254
|
||||
[LionsCup]: https://cwsvjudo.de/participo/event?eventId=256
|
||||
[Nikolausturnier]: https://cwsvjudo.de/participo/event?eventId=245
|
||||
@@ -0,0 +1,39 @@
|
||||
---
|
||||
title: Nikolausrandori und Nikolausturnier
|
||||
---
|
||||
|
||||
Hallo liebe Judoka,
|
||||
hallo liebe Eltern!
|
||||
|
||||
## [Nikolausrandori][Nikolausrandori]
|
||||
|
||||
Da ich immer wieder nachgefragt habe, weiß ich, dass sehr viele zum Nikolausrandori kommen wollen. Allerdings hat sich kaum jemand [im Planer eingetragen gehabt][Nikolausturnier]. Ich habe jetzt mal aus dem Kopf alle eingetragen, mit denen ich rechnen würde. Bitte schaut nach, ob ich jemanden zuviel eingetragen habe oder noch jemand fehlt.
|
||||
|
||||
### Zeitplan
|
||||
|
||||
- Zeit: 16:30 Uhr
|
||||
- Ort: [Sporthalle "Ziegeleiweg", Am Regenbogen 1, 09306 Rochlitz][Ziegeleiweg]
|
||||
- *Achtung, Verwechslungsgefahr*: Es gibt fast nebenan noch die Turnhalle "Am Regenbogen". Die ist es nicht. Nehmt, wenn ihr in die Straße Am Regenbogen einbiegt, gleich den Parkplatz und lauft rechts den Ziegeleiweg hoch (und nicht links Am Regenbogen).
|
||||
|
||||
Das gemeinsame Training soll am 16:30 Uhr starten. Da wir mit Freitag-Feierabend-Verkehr rechnen müssen, würde ich gerne bereits 15:30 in Chemnitz losfahren. Ich rechne aber damit, dass einige erst 16:00 am Dojo seien können. Deshalb würde ich am liebsten einen Teil bereits 15:30 Uhr nach Rochlitz schicken und ich würde dann in einer zweiten Welle hinterherkommen.
|
||||
|
||||
Ich habe für die, wo ich es wusste, bereits Mitfahrgelegenheiten organisiert. Insgesamt sollten wir trotzdem mehr Mitfahrgelegenheiten als Sportler haben. Es würde mich freuen, wenn wir die Mitfahrer schön verteilen könnten.
|
||||
|
||||
## [Nikolausturnier 2025-12-06][Nikolausturnier]
|
||||
|
||||
Auch für das [Nikolausturnier in Werdeau][Nikolausturnier] hatten sich zwar Interessenten gemeldet, aber tatsächlich eingetragen hatten sich dann doch sehr viel weniger. Bitte kontrolliert noch mal.
|
||||
|
||||
## [Dojoübernachtung 28./29.12.2025][Dojoübernachtung]
|
||||
|
||||
Nach langer Zeit würde ich auch gerne wieder mal eine Übernachtung Dojo durchführen. Beginn soll am 28.12. 16:00 Uhr sein. Danach wird es ein ausgedehntes Spiele-Training geben, danach ein gemeinsames Abendessen und anschließend wird auf der Matte der Schlafsack ausgebreitet. Am 29.12. gibt es noch ein gemeinsames Frühstück und zwischen 10 und 11 Uhr können dann die Kinder wieder abgeholt werden.
|
||||
|
||||
Ich bitte wieder mal darum, dass sich [im Planer eingetragen wird][Dojoübernachtung].
|
||||
|
||||
Auch suche ich Unterstützung in Form von Nahrung: Kann jemand leckere, selbstgemachte Sachen (Salate, Obstteller, Brot, ....) beisteuern?
|
||||
|
||||
MsG marko
|
||||
|
||||
[Nikolausrandori]: https://cwsvjudo.de/participo/event?eventId=257
|
||||
[Ziegeleiweg]: https://osm.org/go/0MJDxHvCt
|
||||
[Nikolausturnier]: https://cwsvjudo.de/participo/event?eventId=245
|
||||
[Dojoübernachtung]: https://cwsvjudo.de/participo/event?eventId=258
|
||||
@@ -0,0 +1,38 @@
|
||||
---
|
||||
title: Newsletter Jahreswechsel 2025/26
|
||||
---
|
||||
|
||||
Hallo liebe Eltern,
|
||||
Hallo liebe Judoka!
|
||||
|
||||
## [Dojoübernachtung 28./29.12.2025][Dojoübernachtung]
|
||||
|
||||
Nach langer Zeit würde ich auch gerne wieder mal eine Übernachtung Dojo durchführen. Beginn soll am 28.12. 16:00 Uhr sein. Danach wird es ein ausgedehntes Spiele-Training geben, danach ein gemeinsames Abendessen und anschließend wird auf der Matte der Schlafsack ausgebreitet.
|
||||
|
||||
Am 29.12. ist der Zeitplan etwas enger geworden. Bis 9:30 Uhr müssen wir das Dojo ausgeräumt und den Beratungsraum gesäubert haben.
|
||||
|
||||
Bisher haben erst recht wenige [im Planer signalisiert][Dojoübernachtung], ob sie teilnehmen oder nicht. Bitte holt das noch nach. Und zwar sowohl wer teilnimmt als auch wer nicht. Einfach nur [hier klicken][Dojoübernachtung].
|
||||
|
||||
### Mitbringliste
|
||||
|
||||
Mitgebracht nicht vergessen werden sollte:
|
||||
|
||||
- Essgeschirr
|
||||
- Schlafsack
|
||||
- Luftmatratze
|
||||
|
||||
Auch suche ich immer noch Unterstützung in Form von Nahrung: Kann jemand leckere, selbstgemachte Sachen (Salate, Obstteller, Brot, ....) beisteuern?
|
||||
|
||||
### Letzter Trainingstag 2025
|
||||
|
||||
- Freitag, 19.12.2024
|
||||
- 16:00-17:45 Uhr Kinder/Jugend
|
||||
- 17:30-19:15 Uhr Jugend/Erwachsene
|
||||
|
||||
### Erster Trainingstag 2025
|
||||
|
||||
- Freitag, 02.01.2026
|
||||
- 16:00-17:45 Uhr Kinder/Jugend
|
||||
- 17:30-19:15 Uhr Jugend/Erwachsene
|
||||
|
||||
[Dojoübernachtung]: https://cwsvjudo.de/participo/event?eventId=258
|
||||
@@ -0,0 +1,3 @@
|
||||
shiaiName: 44. Nikolausturnier Werdau
|
||||
cloudPassword: Wt8tZzHG
|
||||
cloudLink: https://magentacloud.de/s/t2jEsN63e4F7LmL
|
||||
@@ -0,0 +1,3 @@
|
||||
shiaiName: 26. Räucherkerzenpokal
|
||||
cloudPassword: tztoK3ns
|
||||
cloudLink: https://magentacloud.de/s/K2XLBCMN8a47Zgd
|
||||
@@ -1,6 +1,6 @@
|
||||
[
|
||||
{
|
||||
"id": "1",
|
||||
"id": "2",
|
||||
"loginName": "marko",
|
||||
"pwHash": "$2y$10$Dw0HYuSGqU58lpRp0Em46.b.X0KYTrUNtgdkIH6lWVWOnD.lMvuJS",
|
||||
"pwAlg": "",
|
||||
@@ -8,7 +8,7 @@
|
||||
"vorname": "Marko",
|
||||
"gebDatum": "1982-05-22",
|
||||
"kinder": "1,2,13,30,40,45,49,80,82,83,84,89,93,95,97,98,99,100",
|
||||
"eltern": "",
|
||||
"eltern": null,
|
||||
"eMail": ["cwsvjudo@arcor.de"],
|
||||
"attribute": "wantsNewsletter=true",
|
||||
"config": "{\"colors\":{\"backgroundColor\":\"#7f7f7f\",\"highlightColor\":\"#3f3f3f\",\"buttonColor\":\"#1f1f1f\"}}",
|
||||
@@ -16,10 +16,12 @@
|
||||
"corona_telephon": "015901631103",
|
||||
"corona_PLZ": "09117",
|
||||
"machsUploadUrl": "https://www.magentacloud.de/share/itaja0u0ho",
|
||||
"machsUploadPw": "dohk3Ei0"
|
||||
"machsUploadPw": "dohk3Ei0",
|
||||
"userId": "1",
|
||||
"attributeId": "2"
|
||||
},
|
||||
{
|
||||
"id": "2",
|
||||
"id": "3",
|
||||
"loginName": "NickW",
|
||||
"pwHash": "$2y$10$I9KY//8lSiOVhN.MTqQk0.G4PejVSa82yoGjFhBTaU7fYQ3AuY5de",
|
||||
"pwAlg": "",
|
||||
@@ -27,18 +29,20 @@
|
||||
"vorname": "Nick",
|
||||
"gebDatum": "1997-05-02",
|
||||
"kinder": "2",
|
||||
"eltern": "",
|
||||
"eltern": null,
|
||||
"eMail": ["nick.weidensager@web.de"],
|
||||
"attribute": "wantsNewsletter=true",
|
||||
"config": "",
|
||||
"corona_eMail": "",
|
||||
"corona_telephon": "",
|
||||
"corona_PLZ": "",
|
||||
"config": null,
|
||||
"corona_eMail": null,
|
||||
"corona_telephon": null,
|
||||
"corona_PLZ": null,
|
||||
"machsUploadUrl": "https://www.magentacloud.de/share/jnz7kxem1p",
|
||||
"machsUploadPw": "ooz6va0E"
|
||||
"machsUploadPw": "ooz6va0E",
|
||||
"userId": "2",
|
||||
"attributeId": "2"
|
||||
},
|
||||
{
|
||||
"id": "6",
|
||||
"id": "167",
|
||||
"loginName": "AlexanderDumler",
|
||||
"pwHash": "",
|
||||
"pwAlg": "",
|
||||
@@ -46,15 +50,17 @@
|
||||
"vorname": "Alexander",
|
||||
"gebDatum": "0000-00-00",
|
||||
"kinder": "7",
|
||||
"eltern": "",
|
||||
"eltern": null,
|
||||
"eMail": ["alled82@gmx.de"],
|
||||
"attribute": "wantsNewsletter=true",
|
||||
"config": "",
|
||||
"corona_eMail": "",
|
||||
"corona_telephon": "",
|
||||
"corona_PLZ": "",
|
||||
"machsUploadUrl": "",
|
||||
"machsUploadPw": ""
|
||||
"config": null,
|
||||
"corona_eMail": null,
|
||||
"corona_telephon": null,
|
||||
"corona_PLZ": null,
|
||||
"machsUploadUrl": null,
|
||||
"machsUploadPw": null,
|
||||
"userId": "6",
|
||||
"attributeId": "2"
|
||||
},
|
||||
{
|
||||
"id": "7",
|
||||
@@ -64,19 +70,42 @@
|
||||
"name": "Dumler",
|
||||
"vorname": "Arthur",
|
||||
"gebDatum": "2007-12-24",
|
||||
"kinder": "",
|
||||
"kinder": null,
|
||||
"eltern": "6",
|
||||
"eMail": ["dumlerarthur2412@gmail.com"],
|
||||
"attribute": "",
|
||||
"config": "",
|
||||
"corona_eMail": "",
|
||||
"corona_telephon": "",
|
||||
"corona_PLZ": "",
|
||||
"attribute": null,
|
||||
"config": null,
|
||||
"corona_eMail": null,
|
||||
"corona_telephon": null,
|
||||
"corona_PLZ": null,
|
||||
"machsUploadUrl": "https://www.magentacloud.de/share/9h8jg3qojw",
|
||||
"machsUploadPw": "ne4Meit4"
|
||||
"machsUploadPw": "ne4Meit4",
|
||||
"userId": "7",
|
||||
"attributeId": "2"
|
||||
},
|
||||
{
|
||||
"id": "20",
|
||||
"id": "7",
|
||||
"loginName": "nSchmidl",
|
||||
"pwHash": "$2y$10$6HSKdKlTn1OLebrKQdohreAfPlz.BD.FrOBWnkr8yfWI/ImG0Osn.",
|
||||
"pwAlg": "",
|
||||
"name": "Schmidl",
|
||||
"vorname": "Norman",
|
||||
"gebDatum": "0000-00-00",
|
||||
"kinder": "13",
|
||||
"eltern": null,
|
||||
"eMail": ["post@was7.de"],
|
||||
"attribute": "wantsNewsletter=true",
|
||||
"config": null,
|
||||
"corona_eMail": null,
|
||||
"corona_telephon": null,
|
||||
"corona_PLZ": null,
|
||||
"machsUploadUrl": null,
|
||||
"machsUploadPw": null,
|
||||
"userId": "15",
|
||||
"attributeId": "2"
|
||||
},
|
||||
{
|
||||
"id": "8",
|
||||
"loginName": "elternBrittnacher",
|
||||
"pwHash": "$2y$10$HBejDZ.Ke7bYoaRZcATwAeTb.qqb1WjdzWho.aI987sOVFtMDlc62",
|
||||
"pwAlg": "",
|
||||
@@ -84,18 +113,20 @@
|
||||
"vorname": "Eltern",
|
||||
"gebDatum": "0000-00-00",
|
||||
"kinder": "19",
|
||||
"eltern": "",
|
||||
"eltern": null,
|
||||
"eMail": ["stephanie.brittnacher@gmail.com"],
|
||||
"attribute": "wantsNewsletter=true",
|
||||
"config": "",
|
||||
"corona_eMail": "",
|
||||
"corona_telephon": "",
|
||||
"corona_PLZ": "",
|
||||
"machsUploadUrl": "",
|
||||
"machsUploadPw": ""
|
||||
"config": null,
|
||||
"corona_eMail": null,
|
||||
"corona_telephon": null,
|
||||
"corona_PLZ": null,
|
||||
"machsUploadUrl": null,
|
||||
"machsUploadPw": null,
|
||||
"userId": "20",
|
||||
"attributeId": "2"
|
||||
},
|
||||
{
|
||||
"id": "59",
|
||||
"id": "76",
|
||||
"loginName": "fuchshund",
|
||||
"pwHash": "$2y$10$5d8bWf/xSktW/QNDDsdeC.tm1gJok7FGCpBcauUuiFg3ezWWcyoHu",
|
||||
"pwAlg": "",
|
||||
@@ -103,18 +134,41 @@
|
||||
"vorname": "Thomas",
|
||||
"gebDatum": "0000-00-00",
|
||||
"kinder": "19",
|
||||
"eltern": "",
|
||||
"eltern": null,
|
||||
"eMail": ["thomas@blankfuchs.de"],
|
||||
"attribute": "wantsNewsletter=true",
|
||||
"config": "",
|
||||
"corona_eMail": "",
|
||||
"corona_telephon": "",
|
||||
"corona_PLZ": "",
|
||||
"machsUploadUrl": "",
|
||||
"machsUploadPw": ""
|
||||
"config": null,
|
||||
"corona_eMail": null,
|
||||
"corona_telephon": null,
|
||||
"corona_PLZ": null,
|
||||
"machsUploadUrl": null,
|
||||
"machsUploadPw": null,
|
||||
"userId": "59",
|
||||
"attributeId": "2"
|
||||
},
|
||||
{
|
||||
"id": "85",
|
||||
"id": "81",
|
||||
"loginName": "mohamadZahra",
|
||||
"pwHash": "",
|
||||
"pwAlg": "",
|
||||
"name": "Zahra",
|
||||
"vorname": "Mohamad",
|
||||
"gebDatum": "0000-00-00",
|
||||
"kinder": null,
|
||||
"eltern": null,
|
||||
"eMail": ["mohamad.zahra1986@gmail.com"],
|
||||
"attribute": null,
|
||||
"config": null,
|
||||
"corona_eMail": ["mohamad.zahra1986@gmail.com"],
|
||||
"corona_telephon": "+4917657906737",
|
||||
"corona_PLZ": "09111",
|
||||
"machsUploadUrl": null,
|
||||
"machsUploadPw": null,
|
||||
"userId": "81",
|
||||
"attributeId": "2"
|
||||
},
|
||||
{
|
||||
"id": "169",
|
||||
"loginName": "elternGerlach",
|
||||
"pwHash": "$2y$10$WfSIntzXxRbfmFXi7fFV4ehHXyOdBwPArWYl1tzu6VWcDQBfeI1b2",
|
||||
"pwAlg": "",
|
||||
@@ -122,37 +176,41 @@
|
||||
"vorname": "Eltern",
|
||||
"gebDatum": "0000-00-00",
|
||||
"kinder": "82,83,84",
|
||||
"eltern": "",
|
||||
"eltern": null,
|
||||
"eMail": ["manja.bunzel@gmx.de", "michael_gerlach@gmx.net"],
|
||||
"attribute": "",
|
||||
"config": "",
|
||||
"attribute": null,
|
||||
"config": null,
|
||||
"corona_eMail": "manja.bunzel@gmx.de",
|
||||
"corona_telephon": "01637529146",
|
||||
"corona_PLZ": "09224",
|
||||
"machsUploadUrl": "",
|
||||
"machsUploadPw": ""
|
||||
"machsUploadUrl": null,
|
||||
"machsUploadPw": null,
|
||||
"userId": "85",
|
||||
"attributeId": "2"
|
||||
},
|
||||
{
|
||||
"id": "103",
|
||||
"id": "172",
|
||||
"loginName": "elternBoehme",
|
||||
"pwHash": "$2y$10$wvmShRitXx12hKy8uGogQemifFPOJ1O0/g5Ne5.ht672BJPE51CYK",
|
||||
"pwAlg": "",
|
||||
"name": "B\u00f6hme",
|
||||
"name": "Böhme",
|
||||
"vorname": "Eltern",
|
||||
"gebDatum": "0000-00-00",
|
||||
"kinder": "102",
|
||||
"eltern": "",
|
||||
"eltern": null,
|
||||
"eMail": ["jeannette.boehme@mail.de", "marcus.boehme@mail.de"],
|
||||
"attribute": "",
|
||||
"config": "",
|
||||
"corona_eMail": "",
|
||||
"corona_telephon": "",
|
||||
"corona_PLZ": "",
|
||||
"machsUploadUrl": "",
|
||||
"machsUploadPw": ""
|
||||
"attribute": null,
|
||||
"config": null,
|
||||
"corona_eMail": null,
|
||||
"corona_telephon": null,
|
||||
"corona_PLZ": null,
|
||||
"machsUploadUrl": null,
|
||||
"machsUploadPw": null,
|
||||
"userId": "103",
|
||||
"attributeId": "2"
|
||||
},
|
||||
{
|
||||
"id": "108",
|
||||
"id": "173",
|
||||
"loginName": "elternRichter",
|
||||
"pwHash": "",
|
||||
"pwAlg": "",
|
||||
@@ -160,18 +218,20 @@
|
||||
"vorname": "Eltern",
|
||||
"gebDatum": "0000-00-00",
|
||||
"kinder": "106,107",
|
||||
"eltern": "",
|
||||
"eltern": null,
|
||||
"eMail": ["grericht@gmail.com"],
|
||||
"attribute": "",
|
||||
"attribute": null,
|
||||
"config": "",
|
||||
"corona_eMail": "",
|
||||
"corona_telephon": "",
|
||||
"corona_PLZ": "",
|
||||
"machsUploadUrl": "",
|
||||
"machsUploadPw": ""
|
||||
"corona_eMail": null,
|
||||
"corona_telephon": null,
|
||||
"corona_PLZ": null,
|
||||
"machsUploadUrl": null,
|
||||
"machsUploadPw": null,
|
||||
"userId": "108",
|
||||
"attributeId": "2"
|
||||
},
|
||||
{
|
||||
"id": "110",
|
||||
"id": "174",
|
||||
"loginName": "elternOrtmans",
|
||||
"pwHash": "",
|
||||
"pwAlg": "",
|
||||
@@ -179,18 +239,20 @@
|
||||
"vorname": "Eltern",
|
||||
"gebDatum": "0000-00-00",
|
||||
"kinder": "109",
|
||||
"eltern": "",
|
||||
"eltern": null,
|
||||
"eMail": ["jortmans@gmx.de"],
|
||||
"attribute": "",
|
||||
"attribute": null,
|
||||
"config": "",
|
||||
"corona_eMail": "",
|
||||
"corona_telephon": "",
|
||||
"corona_PLZ": "",
|
||||
"machsUploadUrl": "",
|
||||
"machsUploadPw": ""
|
||||
"corona_eMail": null,
|
||||
"corona_telephon": null,
|
||||
"corona_PLZ": null,
|
||||
"machsUploadUrl": null,
|
||||
"machsUploadPw": null,
|
||||
"userId": "110",
|
||||
"attributeId": "2"
|
||||
},
|
||||
{
|
||||
"id": "113",
|
||||
"id": "175",
|
||||
"loginName": "ElternEberlein",
|
||||
"pwHash": "",
|
||||
"pwAlg": "",
|
||||
@@ -198,18 +260,20 @@
|
||||
"vorname": "Eltern",
|
||||
"gebDatum": "0000-00-00",
|
||||
"kinder": "111,112",
|
||||
"eltern": "",
|
||||
"eltern": null,
|
||||
"eMail": ["jana.eberlein@yahoo.de"],
|
||||
"attribute": "",
|
||||
"attribute": null,
|
||||
"config": "",
|
||||
"corona_eMail": "",
|
||||
"corona_telephon": "",
|
||||
"corona_PLZ": "",
|
||||
"machsUploadUrl": "",
|
||||
"machsUploadPw": ""
|
||||
"corona_eMail": null,
|
||||
"corona_telephon": null,
|
||||
"corona_PLZ": null,
|
||||
"machsUploadUrl": null,
|
||||
"machsUploadPw": null,
|
||||
"userId": "113",
|
||||
"attributeId": "2"
|
||||
},
|
||||
{
|
||||
"id": "115",
|
||||
"id": "176",
|
||||
"loginName": "elternKutschmann",
|
||||
"pwHash": "",
|
||||
"pwAlg": "",
|
||||
@@ -217,21 +281,23 @@
|
||||
"vorname": "Eltern",
|
||||
"gebDatum": "0000-00-00",
|
||||
"kinder": "114",
|
||||
"eltern": "",
|
||||
"eltern": null,
|
||||
"eMail": [
|
||||
"uwe.schwerdtfeger@uni-dortmund.de",
|
||||
"pia.kutschmann@uni-dortmund.de"
|
||||
],
|
||||
"attribute": "",
|
||||
"attribute": null,
|
||||
"config": "",
|
||||
"corona_eMail": "",
|
||||
"corona_telephon": "",
|
||||
"corona_PLZ": "",
|
||||
"machsUploadUrl": "",
|
||||
"machsUploadPw": ""
|
||||
"corona_eMail": null,
|
||||
"corona_telephon": null,
|
||||
"corona_PLZ": null,
|
||||
"machsUploadUrl": null,
|
||||
"machsUploadPw": null,
|
||||
"userId": "115",
|
||||
"attributeId": "2"
|
||||
},
|
||||
{
|
||||
"id": "117",
|
||||
"id": "177",
|
||||
"loginName": "elternLafdhal",
|
||||
"pwHash": "",
|
||||
"pwAlg": "",
|
||||
@@ -239,18 +305,20 @@
|
||||
"vorname": "Eltern",
|
||||
"gebDatum": "0000-00-00",
|
||||
"kinder": "116",
|
||||
"eltern": "",
|
||||
"eltern": null,
|
||||
"eMail": ["Saddam20@outlook.it"],
|
||||
"attribute": "",
|
||||
"config": "",
|
||||
"corona_eMail": "",
|
||||
"corona_telephon": "",
|
||||
"corona_PLZ": "",
|
||||
"machsUploadUrl": "",
|
||||
"machsUploadPw": ""
|
||||
"attribute": null,
|
||||
"config": null,
|
||||
"corona_eMail": null,
|
||||
"corona_telephon": null,
|
||||
"corona_PLZ": null,
|
||||
"machsUploadUrl": null,
|
||||
"machsUploadPw": null,
|
||||
"userId": "117",
|
||||
"attributeId": "2"
|
||||
},
|
||||
{
|
||||
"id": "127",
|
||||
"id": "209",
|
||||
"loginName": "elternWolf",
|
||||
"pwHash": "",
|
||||
"pwAlg": "",
|
||||
@@ -258,33 +326,79 @@
|
||||
"vorname": "Eltern",
|
||||
"gebDatum": "0000-00-00",
|
||||
"kinder": "126",
|
||||
"eltern": "",
|
||||
"eltern": null,
|
||||
"eMail": ["mail_markus@web.de"],
|
||||
"attribute": "",
|
||||
"config": "",
|
||||
"corona_eMail": "",
|
||||
"corona_telephon": "",
|
||||
"corona_PLZ": "",
|
||||
"machsUploadUrl": "",
|
||||
"machsUploadPw": ""
|
||||
"attribute": null,
|
||||
"config": null,
|
||||
"corona_eMail": null,
|
||||
"corona_telephon": null,
|
||||
"corona_PLZ": null,
|
||||
"machsUploadUrl": null,
|
||||
"machsUploadPw": null,
|
||||
"userId": "127",
|
||||
"attributeId": "2"
|
||||
},
|
||||
{
|
||||
"id": "131",
|
||||
"id": "221",
|
||||
"loginName": "elternMeyerhoff",
|
||||
"pwHash": "",
|
||||
"pwAlg": "",
|
||||
"name": "Meyerhoff",
|
||||
"vorname": "Eltern",
|
||||
"gebDatum": "0000-00-00",
|
||||
"kinder": "",
|
||||
"eltern": "",
|
||||
"kinder": null,
|
||||
"eltern": null,
|
||||
"eMail": ["marina.parschina@gmail.com"],
|
||||
"attribute": "",
|
||||
"config": "",
|
||||
"corona_eMail": "",
|
||||
"corona_telephon": "",
|
||||
"corona_PLZ": "",
|
||||
"machsUploadUrl": "",
|
||||
"machsUploadPw": ""
|
||||
"attribute": null,
|
||||
"config": null,
|
||||
"corona_eMail": null,
|
||||
"corona_telephon": null,
|
||||
"corona_PLZ": null,
|
||||
"machsUploadUrl": null,
|
||||
"machsUploadPw": null,
|
||||
"userId": "131",
|
||||
"attributeId": "2"
|
||||
},
|
||||
{
|
||||
"id": "220",
|
||||
"loginName": "elternUrlass",
|
||||
"pwHash": null,
|
||||
"pwAlg": "",
|
||||
"name": "Urlaß",
|
||||
"vorname": "Eltern",
|
||||
"gebDatum": null,
|
||||
"kinder": null,
|
||||
"eltern": null,
|
||||
"eMail": ["winklerurlass@hotmail.de"],
|
||||
"attribute": null,
|
||||
"config": null,
|
||||
"corona_eMail": null,
|
||||
"corona_telephon": null,
|
||||
"corona_PLZ": null,
|
||||
"machsUploadUrl": null,
|
||||
"machsUploadPw": null,
|
||||
"userId": "133",
|
||||
"attributeId": "2"
|
||||
},
|
||||
{
|
||||
"id": "219",
|
||||
"loginName": "martinaGerlach",
|
||||
"pwHash": null,
|
||||
"pwAlg": "",
|
||||
"name": "Gerlach",
|
||||
"vorname": "Martina",
|
||||
"gebDatum": null,
|
||||
"kinder": null,
|
||||
"eltern": null,
|
||||
"eMail": ["martinajoel@gmail.com"],
|
||||
"attribute": null,
|
||||
"config": null,
|
||||
"corona_eMail": null,
|
||||
"corona_telephon": null,
|
||||
"corona_PLZ": null,
|
||||
"machsUploadUrl": null,
|
||||
"machsUploadPw": null,
|
||||
"userId": "135",
|
||||
"attributeId": "2"
|
||||
}
|
||||
]
|
||||
|
||||
@@ -18,10 +18,9 @@ import logging
|
||||
|
||||
|
||||
# only for develop
|
||||
endDate = (datetime.datetime.now() +
|
||||
datetime.timedelta(days=7)).strftime("%Y-%m-%d")
|
||||
endDate = (datetime.datetime.now() + datetime.timedelta(days=7)).strftime("%Y-%m-%d")
|
||||
|
||||
participoUrl = "http://cwsvjudo.bplaced.net/participo"
|
||||
PARTICIPO_URL = "https://cwsvjudo.de/participo"
|
||||
|
||||
|
||||
class Email:
|
||||
@@ -32,21 +31,21 @@ class Email:
|
||||
self.title = title
|
||||
self.mdText = mdText
|
||||
|
||||
def addApiKeyToUrls(self, apiKey, url=participoUrl):
|
||||
self.mdText = re.sub(url+"([^#,\n]*)", url + "\\1" +
|
||||
"?apiKey="+apiKey, self.mdText)
|
||||
def addApiKeyToUrls(self, apiKey, url=PARTICIPO_URL):
|
||||
self.mdText = re.sub(
|
||||
url + "([^#,\n]*)", url + "\\1" + "&apiKey=" + apiKey, self.mdText
|
||||
)
|
||||
|
||||
@staticmethod
|
||||
def loadFromMdFile(path):
|
||||
from yaml import safe_load
|
||||
|
||||
|
||||
# read markdownfile as header and text
|
||||
mdHeader = None
|
||||
with open(argv.mdFilePath) as f:
|
||||
mdHeader = safe_load(get_yaml(f))
|
||||
|
||||
title = mdHeader['title'] if checkHeader(
|
||||
mdHeader) else "cwsvJudo newsLetter"
|
||||
title = mdHeader["title"] if checkHeader(mdHeader) else "cwsvJudo newsLetter"
|
||||
|
||||
mdText = None
|
||||
with open(argv.mdFilePath) as f:
|
||||
@@ -56,16 +55,16 @@ class Email:
|
||||
|
||||
|
||||
def get_yaml(f):
|
||||
'''Extracts the yamlHeader from a Markdown file'''
|
||||
"""Extracts the yamlHeader from a Markdown file"""
|
||||
yamlHeader = None
|
||||
pointer = f.tell()
|
||||
if f.readline() != '---\n':
|
||||
if f.readline() != "---\n":
|
||||
f.seek(pointer)
|
||||
return ''
|
||||
readline = iter(f.readline, '')
|
||||
readline = iter(readline.__next__, '---\n')
|
||||
return ""
|
||||
readline = iter(f.readline, "")
|
||||
readline = iter(readline.__next__, "---\n")
|
||||
|
||||
yamlHeader = ''.join(readline)
|
||||
yamlHeader = "".join(readline)
|
||||
|
||||
return yamlHeader
|
||||
|
||||
@@ -82,34 +81,33 @@ def checkHeader(header):
|
||||
bool: true if header is alright, false if an error was detected
|
||||
"""
|
||||
retVal = True
|
||||
if not 'title' in header:
|
||||
if not "title" in header:
|
||||
logging.info("Header has no 'title' attribute!")
|
||||
retVal = False
|
||||
else:
|
||||
if header['title'] is False:
|
||||
if header["title"] is False:
|
||||
logging.info("Empty title!")
|
||||
retVal = False
|
||||
return retVal
|
||||
|
||||
|
||||
def getArguments():
|
||||
argParser = argparse.ArgumentParser(
|
||||
description="Send an Markdown-File as eMail"
|
||||
argParser = argparse.ArgumentParser(description="Send an Markdown-File as eMail")
|
||||
argParser.add_argument("mdFilePath", help="Path to MarkdownFile to send")
|
||||
argParser.add_argument("-r", "--receiver", help="json file with the receiver")
|
||||
argParser.add_argument("--dontSend", action="store_true")
|
||||
argParser.add_argument(
|
||||
"-c",
|
||||
"--config",
|
||||
nargs="+",
|
||||
type=argparse.FileType("r"),
|
||||
help="yaml formatted config file(s)",
|
||||
)
|
||||
argParser.add_argument(
|
||||
"mdFilePath",
|
||||
help="Path to MarkdownFile to send"
|
||||
)
|
||||
argParser.add_argument(
|
||||
"-r", "--receiver", help="json file with the receiver")
|
||||
argParser.add_argument(
|
||||
"--dontSend",
|
||||
action="store_true"
|
||||
)
|
||||
argParser.add_argument(
|
||||
"-c", "--config",
|
||||
nargs="+", type=argparse.FileType("r"),
|
||||
help="yaml formatted config file(s)"
|
||||
"-p",
|
||||
"--participoUrl",
|
||||
help="url for the participo app (e.g. indicator for appending the personal apiKey to the event url)",
|
||||
default=PARTICIPO_URL,
|
||||
)
|
||||
|
||||
return argParser.parse_args()
|
||||
@@ -125,7 +123,7 @@ def loadFromJson(path):
|
||||
|
||||
def loadFromYamlFile(yamlFile):
|
||||
from yaml import safe_load
|
||||
|
||||
|
||||
with yamlFile as f:
|
||||
return safe_load(yamlFile)
|
||||
|
||||
@@ -142,17 +140,16 @@ def createApiKey(allowKey, userId, rights, endDate):
|
||||
return: new api key or none on failure
|
||||
"""
|
||||
postData = {
|
||||
'apiKey': allowKey,
|
||||
'userId': userId,
|
||||
'rights': rights,
|
||||
'endDate': endDate
|
||||
"apiKey": allowKey,
|
||||
"userId": userId,
|
||||
"rights": rights,
|
||||
"endDate": endDate,
|
||||
}
|
||||
response = requests.post(
|
||||
participoUrl+"/api.apiKeys.add", json=postData)
|
||||
response = requests.post(argv.participoUrl + "/api.apiKeys.add", json=postData)
|
||||
|
||||
jsonResponse = response.json()
|
||||
|
||||
return jsonResponse['apiKey'] if 'apiKey' else None
|
||||
return jsonResponse["apiKey"] if "apiKey" else None
|
||||
|
||||
|
||||
def randomSleep(min=60, max=600):
|
||||
@@ -181,9 +178,15 @@ if __name__ == "__main__":
|
||||
|
||||
for user in receivers:
|
||||
apiKey = createApiKey(
|
||||
config['apiKey']['createApiKey'], user['id'], "login", endDate)
|
||||
config["apiKey"]["createApiKey"],
|
||||
user.get("userId", user.get("id")),
|
||||
"login",
|
||||
endDate,
|
||||
)
|
||||
if apiKey is None:
|
||||
logging.info(f"Couldn't get apiKey for apiKey creation! Ok if no apiKey needs to be created.")
|
||||
logging.error(
|
||||
f"Failed to create apiKey for user {user['id']} ({user['loginName']})"
|
||||
)
|
||||
continue
|
||||
|
||||
email = Email.loadFromMdFile(argv.mdFilePath) # emailTemplate
|
||||
@@ -193,23 +196,31 @@ if __name__ == "__main__":
|
||||
# text = pypandoc.convert_text(email.mdText, "plain", format='md', extra_args=[
|
||||
# "--self-contained", "--resource-path=../aufgaben"])
|
||||
# plain text did swallow the Url. As workaround we are trying markdown for the plain text
|
||||
text = pypandoc.convert_text(email.mdText, "markdown", format='md', extra_args=[
|
||||
"--self-contained", "--resource-path=../aufgaben"])
|
||||
html = pypandoc.convert_text(email.mdText, "html", format='md', extra_args=[
|
||||
"--self-contained", "--resource-path=../aufgaben"])
|
||||
text = pypandoc.convert_text(
|
||||
email.mdText,
|
||||
"markdown",
|
||||
format="md",
|
||||
extra_args=["--self-contained", "--resource-path=../aufgaben"],
|
||||
)
|
||||
html = pypandoc.convert_text(
|
||||
email.mdText,
|
||||
"html",
|
||||
format="md",
|
||||
extra_args=["--self-contained", "--resource-path=../aufgaben"],
|
||||
)
|
||||
|
||||
# Turn these into plain/html MIMEText objects
|
||||
txtMimeText = MIMEText(text, "plain")
|
||||
htmlMimeText = MIMEText(html, "html")
|
||||
|
||||
# @todo the message has to be recreated for every email address since it seems to be added by reference to the queue. meaning changing the emailAddress changes it in the previously added also
|
||||
for toAddress in user['eMail']:
|
||||
for toAddress in user["eMail"]:
|
||||
# create the mail
|
||||
message = MIMEMultipart("alternative")
|
||||
# Setting header data
|
||||
message["Subject"] = email.title
|
||||
message["From"] = config['senderEmailAddress']
|
||||
message["Reply-To"] = config['senderEmailAddress']
|
||||
message["From"] = config["senderEmailAddress"]
|
||||
message["Reply-To"] = config["senderEmailAddress"]
|
||||
message["Date"] = str(utils.formatdate(localtime=True))
|
||||
|
||||
# only set the to-header one time: setting it multiple
|
||||
@@ -231,18 +242,21 @@ if __name__ == "__main__":
|
||||
context.check_hostname = False
|
||||
context.verify_mode = ssl.CERT_NONE
|
||||
|
||||
|
||||
for message in messageQueue:
|
||||
# randomSleep(min=10, max=20)
|
||||
|
||||
with smtplib.SMTP_SSL(config['smtp']['serverAddress'], config['smtp']['serverPort'], context=context) as server:
|
||||
server.login(config['smtp']['login'], config['smtp']['password'])
|
||||
with smtplib.SMTP_SSL(
|
||||
config["smtp"]["serverAddress"],
|
||||
config["smtp"]["serverPort"],
|
||||
context=context,
|
||||
) as server:
|
||||
server.login(config["smtp"]["login"], config["smtp"]["password"])
|
||||
if not argv.dontSend:
|
||||
logging.info(f"sending to {message['To']}")
|
||||
server.sendmail(
|
||||
from_addr=config['senderEmailAddress'],
|
||||
from_addr=config["senderEmailAddress"],
|
||||
to_addrs=message["To"],
|
||||
msg=message.as_string()
|
||||
msg=message.as_string(),
|
||||
)
|
||||
# except smtplib.SMTPSenderRefused as exception:
|
||||
# if exception.smtp_code == 450:
|
||||
@@ -250,4 +264,3 @@ if __name__ == "__main__":
|
||||
# time.sleep(60 * 60)
|
||||
# server.login(config['smtp']['login'], config['smtp']['password'])
|
||||
# logging.error(f"Unexpected SMTPSenderRefused exception: {exception} - {repr(exception)}")
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
---
|
||||
title: 28. Frühjahrskrümelrandori - Mediasharing
|
||||
---
|
||||
|
||||
Hier der Link zu den Videos und Bildern des 28. Frühjahrskrümelrandori:
|
||||
|
||||
- Passwort: xkw762YL
|
||||
- Link: https://magentacloud.de/s/akRTozY5MrKTxQF
|
||||
|
||||
Wie immer würde ich mich freuen, wenn auch alle anderen ihre gemachten Bilder und Videos mit hochladen.
|
||||
|
||||
MsG marko
|
||||
@@ -1,12 +0,0 @@
|
||||
---
|
||||
title: Judo Safari - Mediasharing
|
||||
---
|
||||
|
||||
Hier der Link zu den Videos und Bildern der Judo Safari:
|
||||
|
||||
- Passwort: smTS39WK
|
||||
- Link: https://magentacloud.de/s/4qyJCxHyD2aspkq
|
||||
|
||||
Wie immer würde ich mich freuen, wenn auch alle anderen ihre gemachten Bilder und Videos mit hochladen.
|
||||
|
||||
MsG marko
|
||||
Reference in New Issue
Block a user