Merge branch 'master' into homepage
This commit is contained in:
4
.gitmodules
vendored
4
.gitmodules
vendored
@@ -13,7 +13,3 @@
|
||||
[submodule "submodules/materialize"]
|
||||
path = submodules/materialize
|
||||
url = https://github.com/materializecss/materialize.git
|
||||
|
||||
[submodule "submodules/video.js"]
|
||||
path = submodules/video.js
|
||||
url = https://github.com/videojs/video.js.git
|
||||
|
||||
29
infoZettelOrg/2023-02-07-ErinnerungSommerlager.md
Normal file
29
infoZettelOrg/2023-02-07-ErinnerungSommerlager.md
Normal file
@@ -0,0 +1,29 @@
|
||||
---
|
||||
title: Erinnerung Sommerlager
|
||||
---
|
||||
|
||||
Kurze Erinnerung an das Sommerlager. Bitte gebt mir bis nächste Woche Bescheid, wer noch gerne mitreisen möchte.
|
||||
|
||||
# Sommerlager 2023
|
||||
|
||||
Unsere Karateka haben uns eingeladen, dieses Jahr gemeinsam mit ihnen ins Sommerlager zu fahren. 10 Plätze ständen für uns zur Verfügung.
|
||||
|
||||
- Termin: 9.7.- 14.7.2023
|
||||
- Kosten: 240,00 €
|
||||
- [InfoZettel der Karateka][infoZettel] (Bei uns bin ich allerdings der Ansprechpartner und die Teilnehmergrenze ist 10)
|
||||
- Ort: Bungalowdorf Olganitz
|
||||
- Zum Bungalowdorf 1
|
||||
- 04758 Cavertitz / OT Olganitz
|
||||
- https://schullandheim-olganitz.de/
|
||||
|
||||
Unsere Karateka waren schon mehrfach dort und sind von der Umgebung begeistert.
|
||||
|
||||
|
||||
# Anstehende Wettkämpfe
|
||||
|
||||
- 2023-03-11 [26. Frühjahrskrümelrandori (U11--)][wk187]
|
||||
- 2023-03-18 [Bezirkseinzelmeisterschaften U13][bemU13] (noch keine offizielle Ausschreibung, nur der Termin im Kalender des JVS)
|
||||
|
||||
[inFozettel]: http://cwsvjudo.bplaced.net/downloads/zettel/Sommerlager-2023.pdf
|
||||
[bemU13]: https://judoverbandsachsen.de/events/bezirkseinzelmeisterschaften-11/
|
||||
[wk187]: http://cwsvjudo.bplaced.net/participo/events#187
|
||||
41
infoZettelOrg/2023-03-19-Generationenturnier.md
Normal file
41
infoZettelOrg/2023-03-19-Generationenturnier.md
Normal file
@@ -0,0 +1,41 @@
|
||||
---
|
||||
title: Generationenturnier Halle
|
||||
---
|
||||
|
||||
Am 29.04.2023 findet mit dem Generationenturnier in Halle ein Wettkampf statt, an dem alle Altersklassen des Vereines gemeinsam an den Start gehen können. Es wäre für alle Beteiligten ein besonderes Erlebnis.
|
||||
|
||||
Ich hoffe natürlich auf eine möglichst hohe Beteiligung. Bitte tragt in unserem [Wettkamplaner][wk191] ein ob Ihr gerne daran teilnehmen wollt. Auch die Leute, die nicht teilnehmen wollen/können geben mir bitte Bescheid (in dem Falle nicht "als Starter", sondern "keine Teilnahme" auswählen).
|
||||
|
||||
Da ich wie gesagt auf eine hohe Beteiligung hoffe, wird auch die Anreise eine Herausforderung. Das Wiegen findet gestaffelt statt. Eine spätere Anreise wäre für einige also denkbar. Auch hier bitte ich um Eure Mithilfe: Bitte gebt mir Bescheid, wer selber fahren kann, wer einen Fahrtplatz benötigt und wer vielleicht sogar noch einen mitnehmen kann.
|
||||
|
||||
|
||||
# [Generationenturnier Halle][wk191]
|
||||
|
||||
## Ausschreibung
|
||||
|
||||
Link: [13. Generationenturnier des Judo Club Halle][0]
|
||||
|
||||
## Wettkampfdaten
|
||||
|
||||
- Altersklassen:
|
||||
- U10 (bis jg. 2014)
|
||||
- U13 (2011-2013)
|
||||
- U16 (2008-2010)
|
||||
- M/F (2007-1994)
|
||||
- Ü30 (1993-1979)
|
||||
- Ü45 (1978 und älter)
|
||||
- Datum: [29.04.2023][wk191]
|
||||
- Ort: [Sporthalle Brandberge][1], Kreuzvorwerk 30, 06120 Halle
|
||||
- Wiegen:
|
||||
- U10/U13: 08.00 Uhr - 09.00 Uhr, Beginn ca. 9.45 Uhr
|
||||
- Senioren Ü30/Ü45: 10.00 Uhr - 11.00 Uhr, Beginn nach U10 / U13
|
||||
- U16/Männer/Frauen U30: 11.30 Uhr - 12.30 Uhr, Beginn nach Senioren Ü30/Ü45
|
||||
|
||||
|
||||
In Hoffnung auf eine wirklich große Beteiligung
|
||||
marko
|
||||
|
||||
|
||||
[0]: http://cwsvjudo.bplaced.net/downloads/Ausschreibungen/Ausschreibungen.2023/13.%20Hallesches%20Generationenturnier.pdf
|
||||
[1]: https://osm.org/go/0ME6omvwx-
|
||||
[wk191]: http://cwsvjudo.bplaced.net/participo/events#191
|
||||
18
infoZettelOrg/eMailReceiverLists/bemU13.json
Normal file
18
infoZettelOrg/eMailReceiverLists/bemU13.json
Normal file
@@ -0,0 +1,18 @@
|
||||
[
|
||||
{
|
||||
"id": "1",
|
||||
"loginName": "marko",
|
||||
"eMail": [
|
||||
"cwsvjudo@arcor.de",
|
||||
"marko.bunzel@arcor.de",
|
||||
"cwsvjudo@gmail.com"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "94",
|
||||
"loginName": "elternBritvin",
|
||||
"eMail": [
|
||||
"luidmyla60@gmail.com"
|
||||
]
|
||||
}
|
||||
]
|
||||
54
infoZettelOrg/eMailReceiverLists/fkr2023.json
Normal file
54
infoZettelOrg/eMailReceiverLists/fkr2023.json
Normal file
@@ -0,0 +1,54 @@
|
||||
[
|
||||
{
|
||||
"id": "1",
|
||||
"loginName": "marko",
|
||||
"eMail": [
|
||||
"cwsvjudo@arcor.de",
|
||||
"marko.bunzel@arcor.de",
|
||||
"cwsvjudo@gmail.com"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "77",
|
||||
"loginName": "elternHaeuberer",
|
||||
"eMail": [
|
||||
"julia.haeuberer@gmx.de",
|
||||
"norman.haeuberer@gmail.com"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "85",
|
||||
"loginName": "elternGerlach",
|
||||
"eMail": [
|
||||
"manja.bunzel@gmx.de"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "91",
|
||||
"loginName": "elternMeier",
|
||||
"eMail": [
|
||||
"meier.andrej@web.de"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "96",
|
||||
"loginName": "elternMaiatska",
|
||||
"eMail": [
|
||||
"ice_0605@i.ua"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "101",
|
||||
"loginName": "elternKraft",
|
||||
"eMail": [
|
||||
"a-kraft-@gmx.net"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "103",
|
||||
"loginName": "elternBoehme",
|
||||
"eMail": [
|
||||
"jeannette.boehme@mail.de"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -29,13 +29,6 @@
|
||||
"stephanie.brittnacher@gmail.com"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "31",
|
||||
"loginName": "elternFriedrich",
|
||||
"eMail": [
|
||||
"akf21182@aol.com"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "50",
|
||||
"loginName": "elternCuric",
|
||||
|
||||
32
infoZettelOrg/memberMails/2023-04-01-LemU13.md
Normal file
32
infoZettelOrg/memberMails/2023-04-01-LemU13.md
Normal file
@@ -0,0 +1,32 @@
|
||||
---
|
||||
title: Landeseinzelmeisterschaften 2023
|
||||
---
|
||||
|
||||
Hier erstmal der Link zu den Bildern/Videos der Bezirkseinzelmeisterschaft:
|
||||
|
||||
- Link: https://magentacloud.de/s/5D8scWBrqqMzcrF
|
||||
- Passwort: qCCzxp4N
|
||||
|
||||
|
||||
Mit seiner Platzierung zur Bezirksmeisterschaft hat sich Hlib für die Landesmeisterschaften am 01.04. qualifiziert. Ich hoffe, es passt in Euren Zeitplan. Falls es bei der Organisation der An-/Abreise Probleme gibt, bitte lasst mich wissen, ob und wie ich helfen kann.
|
||||
|
||||
|
||||
# [Landeseinzelmeisterschaften 2023][wk193]
|
||||
|
||||
Ausschreibung zur [Landeseinzelmeisterschaften U13 2023][0] (Nur zur Info, die Meldung beim Veranstalter erfolgt automatisch durch die Qualifikation bei der Bezirkseinzelmeisterschaft)
|
||||
|
||||
## Wettkampfdaten
|
||||
|
||||
- Altersklassen: Jg. 2011 / 2012 / 2013
|
||||
- Datum: [01.04.2023][wk182]
|
||||
- Ort: [Turnhalle des Gymnasiums Pieschen][1], Erfurter Str. 17, 01127 Dresden
|
||||
- Passkontrolle: 9:00 bis 09:20 Uhr
|
||||
- Erwärmung: 09:30 Uhr
|
||||
- Wettkampferöffnung: ca. 10:00 Uhr
|
||||
|
||||
MsG marko
|
||||
|
||||
[0]: http://cwsvjudo.bplaced.net/downloads/Ausschreibungen/Ausschreibungen.2023/167026642420230401_Ausschreibung_LEMU13.pdf
|
||||
[1]: https://osm.org/go/0MLkDtqD1-
|
||||
[wk182]: http://cwsvjudo.bplaced.net/participo/events#182
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
---
|
||||
title: Neujahrsturnier MediaSharing
|
||||
---
|
||||
|
||||
Hier der Link zu den Bildern/Videos von des Neujahrsturnieres zum Sammeln und Tauschen:
|
||||
|
||||
- Link: https://magentacloud.de/s/g5tdtiS7Fka3nwn
|
||||
- Passwort: iDxkDjyR
|
||||
|
||||
Vielleicht kann noch jemand die fehlenden Kämpfe beisteuern...
|
||||
|
||||
MsG marko
|
||||
12
infoZettelOrg/wkZettel/2023-03-11-fkr-mediasharing.md
Normal file
12
infoZettelOrg/wkZettel/2023-03-11-fkr-mediasharing.md
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
title: Frühjahrskrümelrandori MediaSharing
|
||||
---
|
||||
|
||||
Hier der Link zu den Bildern/Videos von des Frühjahrskrümelrandori zum Sammeln und Tauschen:
|
||||
|
||||
- Link: https://magentacloud.de/s/XAkS7FTkXXpMTf2
|
||||
- Passwort: WXoz3QgB
|
||||
|
||||
Vielleicht kann noch jemand die fehlenden Kämpfe beisteuern...
|
||||
|
||||
MsG marko
|
||||
44
infoZettelOrg/wkZettel/2023-03-11-fkr.md
Normal file
44
infoZettelOrg/wkZettel/2023-03-11-fkr.md
Normal file
@@ -0,0 +1,44 @@
|
||||
---
|
||||
title: Frühjahrskrümelrandori 2023
|
||||
---
|
||||
|
||||
# [Frühjahrskrümelrandori 2023][wk187]
|
||||
|
||||
Wir haben den Bus des Stadtsportbundes zur Verfügung. Dessen Sitzplätze würde ich auch gerne voll auslasten.
|
||||
|
||||
Ausschreibung zum [Frühjahrskrümelrandori 2023][0] (Nur zur Info, die Meldung beim Veranstalter habe ich bereits erledigt)
|
||||
|
||||
## Wettkampfdaten
|
||||
|
||||
- Altersklassen: Jg. 2013 bis 2017
|
||||
- Datum: [11.03.2023][wk187]
|
||||
- Ort: [Dreifelder-TH der Goethe-Oberschule Breitenbrunn, Dorfberg 10, 08359 Breitenbrunn][1]
|
||||
- Wiegen: 9:00--9:45 Uhr
|
||||
- Wettkampferöffnung: ca. 10:30 Uhr
|
||||
|
||||
## Treffpunkt
|
||||
|
||||
- Ort: [P+R Parkplatz Südring/Stollberger Straße][2]
|
||||
- Abfahrt: 7:15 Uhr
|
||||
- Kindersitz (die Mitfahrer im Bus) nicht vergessen!
|
||||
|
||||
## Nicht vergessen
|
||||
|
||||
- Judopass
|
||||
- Judogi (d. h. Jacke, Hose und Gürtel)
|
||||
- *Hallenschuhe* (Auch die Fans!)
|
||||
- Essen/Trinken
|
||||
- Warme Socken und Pullover
|
||||
|
||||
Das Betreten der Sportstätten in Straßenschuhen ist (auch den Fans)
|
||||
nicht gestattet. Bitte Ersatzschuhe (Badelatschen/Hallenschuhe)
|
||||
mitbringen. Sonst muss in Socken gegangen werden!
|
||||
|
||||
|
||||
MsG marko
|
||||
|
||||
[0]: http://cwsvjudo.bplaced.net/downloads/Ausschreibungen/Ausschreibungen.2023/HKR-2023.pdf
|
||||
[1]: https://osm.org/go/0JdSSbdXV
|
||||
[2]: https://osm.org/go/0MIYgsQn7
|
||||
[wk187]: http://cwsvjudo.bplaced.net/participo/events#187
|
||||
|
||||
12
infoZettelOrg/wkZettel/2023-03-18-BemU13-MediaSharing.md
Normal file
12
infoZettelOrg/wkZettel/2023-03-18-BemU13-MediaSharing.md
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
title: Neujahrsturnier MediaSharing
|
||||
---
|
||||
|
||||
Hier der Link zu den Bildern/Videos von des Neujahrsturnieres zum Sammeln und Tauschen:
|
||||
|
||||
- Link: https://magentacloud.de/s/g5tdtiS7Fka3nwn
|
||||
- Passwort: iDxkDjyR
|
||||
|
||||
Vielleicht kann noch jemand die fehlenden Kämpfe beisteuern...
|
||||
|
||||
MsG marko
|
||||
39
infoZettelOrg/wkZettel/2023-03-18-bemU13.md
Normal file
39
infoZettelOrg/wkZettel/2023-03-18-bemU13.md
Normal file
@@ -0,0 +1,39 @@
|
||||
---
|
||||
title: Bezirkseinzelmeisterschaft 2023
|
||||
---
|
||||
|
||||
# [Bezirkseinzelmeisterschaft 2023][wk193]
|
||||
|
||||
Ausschreibung zur [Bezirkseinzelmeisterschaft U13 2023][0] (Nur zur Info, die Meldung beim Veranstalter habe ich bereits erledigt)
|
||||
|
||||
## Wettkampfdaten
|
||||
|
||||
- Altersklassen: Jg. 2011 / 2012 / 2013
|
||||
- Datum: [18.03.2023][wk193]
|
||||
- Ort: [Zentraldojo CPSC BUDO e.V.][1], Sportforum Chemnitz, Einfahrt Südring, Reichenhainer Straße 254, 09125 Chemnitz
|
||||
- Passkontrolle: 8:45 bis 09:15 Uhr
|
||||
- Wettkampferöffnung: ca. 10:00 Uhr
|
||||
|
||||
## Treffpunkt
|
||||
|
||||
Entweder am Wettkampfort oder an unserem Dojo
|
||||
|
||||
## Nicht vergessen
|
||||
|
||||
- Judopass
|
||||
- Judogi (d. h. Jacke, Hose und Gürtel)
|
||||
- *Hallenschuhe* (Auch die Fans!)
|
||||
- Essen/Trinken
|
||||
- Warme Socken und Pullover
|
||||
|
||||
Das Betreten der Sportstätten in Straßenschuhen ist (auch den Fans)
|
||||
nicht gestattet. Bitte Ersatzschuhe (Badelatschen/Hallenschuhe)
|
||||
mitbringen. Sonst muss in Socken gegangen werden!
|
||||
|
||||
|
||||
MsG marko
|
||||
|
||||
[0]: https://judoverbandsachsen.de/fileadmin/kalender/2023/maerz/2023-03-18_C_Ausschreibung_BEM_U13_2023.pdf
|
||||
[1]: https://osm.org/go/0MIYij9F-
|
||||
[wk193]: http://cwsvjudo.bplaced.net/participo/events#193
|
||||
|
||||
6
mitglieder/pässe.2023/bestellungen-2023.md
Normal file
6
mitglieder/pässe.2023/bestellungen-2023.md
Normal file
@@ -0,0 +1,6 @@
|
||||
| Name | Vorname | Geb.dat. | Geb.ort | Nat. | Passbild | bestellt am | Passnummer |
|
||||
| :------- | :------ | :--------- | :---------- | :--------- | :------- | ----------: | ---------: |
|
||||
| Kraft | Nataly | 2013-10-11 | Chemnitz | deutsch | [x] | 2023-03-25 | |
|
||||
| Maiatska | Mariia | 2015-02-24 | Tschernihiw | ukrainisch | [x] | 2023-03-25 | |
|
||||
| Kraft | Alesya | 2015-03-14 | Chemnitz | deutsch | [x] | 2023-03-25 | |
|
||||
| Böhme | Hanna | 2016-01-26 | Chemnitz | deutsch | [x] | 2023-03-25 | |
|
||||
BIN
mitglieder/pässe.2023/bilder/Alesya-Kraft-2015-03-14-DEU.jpg
Normal file
BIN
mitglieder/pässe.2023/bilder/Alesya-Kraft-2015-03-14-DEU.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 55 KiB |
BIN
mitglieder/pässe.2023/bilder/Hanna- Boehme-2016-01-26-DEU.jpg
Normal file
BIN
mitglieder/pässe.2023/bilder/Hanna- Boehme-2016-01-26-DEU.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 101 KiB |
BIN
mitglieder/pässe.2023/bilder/Mariia-Maiatska-2015-02-24-UKR.jpg
Normal file
BIN
mitglieder/pässe.2023/bilder/Mariia-Maiatska-2015-02-24-UKR.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 19 KiB |
BIN
mitglieder/pässe.2023/bilder/Nataly-Kraft-2013-10-11-DEU.jpg
Normal file
BIN
mitglieder/pässe.2023/bilder/Nataly-Kraft-2013-10-11-DEU.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 54 KiB |
@@ -1,14 +1,17 @@
|
||||
include passwords
|
||||
|
||||
.PHONY: updateSubmodules
|
||||
updateSubmodules:
|
||||
updateSubmodules: checkoutSubmodulesDefaultBranches
|
||||
git submodule foreach git pull
|
||||
|
||||
.PHONY:
|
||||
checkoutSubmodulesDefaultBranches:
|
||||
git -C lite-youtube-embed checkout master
|
||||
git -C materialize checkout main
|
||||
git -C parsedown checkout master
|
||||
git -C spyc checkout master
|
||||
git -C zopfli checkout master
|
||||
|
||||
git submodule foreach git pull
|
||||
|
||||
.PHONY: buildMaterialize
|
||||
buildMaterialize: updateSubmodules
|
||||
|
||||
Submodule submodules/video.js deleted from 53cbfc6222
1
submodules/wkOrg
Submodule
1
submodules/wkOrg
Submodule
Submodule submodules/wkOrg added at 41fe0c5a45
14
wkOrg/Makefile
Executable file
14
wkOrg/Makefile
Executable file
@@ -0,0 +1,14 @@
|
||||
.PHONY: all
|
||||
all: dlCheck
|
||||
|
||||
# Download der Ausschreibungen und ablegen im Downloadordner
|
||||
.PHONY: download
|
||||
download:
|
||||
python wkScraper-JvsCal.py
|
||||
|
||||
.PHONY: dlCheck
|
||||
dlCheck: download
|
||||
./newNoticeCheck.py
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
82
wkOrg/checkDownloads.py
Executable file
82
wkOrg/checkDownloads.py
Executable file
@@ -0,0 +1,82 @@
|
||||
#! /usr/bin/env python3
|
||||
|
||||
# Python Script zum testen, ob neue Ausschreibungen hinzugekommen sind, oder bereits vorhandene sich geändert haben (kein herunterladen, es wird im Downloadordner wkOrgConfig.downpath gesucht)
|
||||
|
||||
# Name und Pfad der Datenbank als Variablen
|
||||
import wkOrgConfig
|
||||
import wkOrgAssis
|
||||
|
||||
import os
|
||||
import os.path
|
||||
import sqlite3
|
||||
|
||||
# Init der Datenbankverbindung
|
||||
if os.path.isfile(wkOrgConfig.db['pathname']+wkOrgConfig.db['filename']):
|
||||
dbConn = sqlite3.connect(
|
||||
wkOrgConfig.db['pathname']+wkOrgConfig.db['filename'])
|
||||
dbConn.text_factory = str
|
||||
dbCur = dbConn.cursor()
|
||||
else:
|
||||
print("Keine Datenbank vorhanden!")
|
||||
exit(-1)
|
||||
|
||||
# Hole Liste der Dateinamen im downloadVerzeichnis
|
||||
filenames = os.listdir(wkOrgConfig.downPath)
|
||||
# print filenames
|
||||
|
||||
# Für jeden Dateinamen:
|
||||
for filename in filenames:
|
||||
# Finde alle Einträge (id, dateiname, sha256 , wkID) zu diesen Dateinamen in der downloadTabelle -> dlList
|
||||
dbCur.execute(
|
||||
'SELECT id, dateiname, sha512 , wkID FROM downloads WHERE dateiname=?', (filename, ))
|
||||
ausschr = dbCur.fetchall()
|
||||
|
||||
# Falls dlList leer: (heißt ausschreibung wurde noch nicht zugeordnet)
|
||||
if ausschr == []:
|
||||
# füge Ausschreibung zur downloadTabelle hinzu (merke dir die ID)
|
||||
ausschrID = wkOrgAssis.dbAddDownload(
|
||||
dbCur, filename, wkOrgAssis.aFilesSHA512(wkOrgConfig.downPath+filename))
|
||||
dbConn.commit()
|
||||
# füge Wettkämpfe zur wkTabelle hinzu, merke die wkIDs
|
||||
print("Ausschreibung: "+filename)
|
||||
os.system('mupdf "'+wkOrgConfig.downPath +
|
||||
filename + '" >/dev/null 2>/dev/null &')
|
||||
wkIDs = wkOrgAssis.dbAddWks(dbCur, ausschrID)
|
||||
dbConn.commit()
|
||||
# update die wkIDs in der Ausschreibung in der downloadTabelle
|
||||
dbCur.execute('UPDATE downloads SET wkID=? WHERE id=?',
|
||||
(' '.join(str(wkIDs)), ausschrID))
|
||||
dbConn.commit()
|
||||
# Sonst:
|
||||
else:
|
||||
# (auch wenn mehrere dl mit diesem Dateinamen in der
|
||||
# downloadDatenbank gefunden werden, wir nehmen immer nur den
|
||||
# ersten)
|
||||
# Falls wkID == NULL:
|
||||
if ausschr[0][3] == 'NULL':
|
||||
# füge Wettkämpfe zur wkTabelle hinzu, merke die wkIDs
|
||||
wkIDs = dbAddWks(dbCur, ausschr[0][0])
|
||||
# update die wkIDs dieser Ausschreibung
|
||||
dbCur.execute('UPDATE downloads SET wkIDs=? WHERE id=?',
|
||||
(' '.join(wkIDs), ausschr[0][0]))
|
||||
dbConn.commit()
|
||||
# Sonst:
|
||||
else:
|
||||
# Falls wkID != 0:
|
||||
if ausschr[0][3] != '0':
|
||||
# Falls sich der Hash geändert hat:
|
||||
if ausschr[0][2] != wkOrgAssis.aFilesSHA512(wkOrgConfig.downPath+filename):
|
||||
# Finde alle wkEinträge, die diese AusschreibungsID haben:
|
||||
dbCur.execute(
|
||||
'SELECT (wkId) FROM downloads WHERE dateiname=?', (filename,))
|
||||
wkListList = dbCur.fetchall()
|
||||
# Für jeden diesen Eintrag:
|
||||
for wkList in wkListList:
|
||||
# Berichtige die Wettkampfdaten
|
||||
for wk in wkList:
|
||||
print("Ups: kein dbUpdateWk")
|
||||
# wkOrgAssis.dbUpdateWk(wk)
|
||||
|
||||
# Aufräumen
|
||||
dbConn.commit()
|
||||
dbConn.close()
|
||||
55
wkOrg/getCSV.py
Executable file
55
wkOrg/getCSV.py
Executable file
@@ -0,0 +1,55 @@
|
||||
#! /usr/bin/env python3
|
||||
|
||||
# Python Script zum exportieren der anstehenden Wettkämpfe als cvs
|
||||
# und Kopieren der Ausschreibungen in das zugehörige Verzeichnis zur
|
||||
# Synchro mit dem online download ordner
|
||||
|
||||
# Name und Pfad der Datenbank als Variablen
|
||||
import wkOrgConfig
|
||||
import wkOrgAssis
|
||||
|
||||
import os
|
||||
import os.path
|
||||
import sqlite3
|
||||
import time
|
||||
import shutil
|
||||
import dateutil.parser
|
||||
import sys
|
||||
|
||||
# Init der Datenbankverbindung
|
||||
if os.path.isfile(wkOrgConfig.db['pathname']+wkOrgConfig.db['filename']):
|
||||
dbConn = sqlite3.connect(wkOrgConfig.db['pathname']+wkOrgConfig.db['filename'])
|
||||
dbConn.text_factory = str
|
||||
dbCur = dbConn.cursor()
|
||||
else:
|
||||
print ("Keine Datenbank vorhanden!")
|
||||
exit(-1)
|
||||
|
||||
# Abfrage aller anstehenden Wettkämpfe
|
||||
dbCur.execute('SELECT id FROM wk WHERE datum>=?', (time.strftime("%Y-%m-%d"), ) )
|
||||
wkIds = dbCur.fetchall()
|
||||
|
||||
for wkId in wkIds:
|
||||
dbCur.execute('SELECT name, datum, ak, adrID, dlID FROM wk WHERE id=?', (wkId[0], ) )
|
||||
wkInfos = dbCur.fetchall()
|
||||
dbCur.execute('SELECT dateiname FROM downloads WHERE id=?', (wkInfos[0][4], ))
|
||||
ausschr = dbCur.fetchall()
|
||||
dbCur.execute('SELECT ort, lat, lon FROM adressen WHERE id=?', (wkInfos[0][3], ))
|
||||
addr = dbCur.fetchall()
|
||||
if not addr:
|
||||
addr = [["","",""]]
|
||||
|
||||
|
||||
|
||||
# Schreibweisen korrigieren
|
||||
ausschrFilename = ausschr[0][0]
|
||||
ausschrFilename = ausschrFilename.replace(" ", "%20")
|
||||
|
||||
sys.stderr.write("wkInfos: "+str(wkInfos)+"\n")
|
||||
# Reihenfolge der Spalten auf dem Server:
|
||||
# lfdeNr Datum Veranstaltung Altersklassen Ort Ausschreibung Routenplaner
|
||||
|
||||
print ("0," + wkInfos[0][1] + "," + wkInfos[0][0] + "," + wkInfos[0][2] + "," + addr[0][0] + "," + "/downloads/Ausschreibungen/Ausschreibungen." + str(dateutil.parser.parse(wkInfos[0][1]).year) + "/" + ausschrFilename + "," + "http://www.openstreetmap.org/directions?&route=50.80722%2C12.88236%3B" + addr[0][1] + "%2C" + addr[0][2] + ",," )
|
||||
if not os.path.exists('Ausschreibungen/Ausschreibungen.'+str(dateutil.parser.parse(wkInfos[0][1]).year)):
|
||||
os.makedirs('Ausschreibungen/Ausschreibungen.'+str(dateutil.parser.parse(wkInfos[0][1]).year))
|
||||
shutil.copyfile('download/'+ausschr[0][0], 'Ausschreibungen/Ausschreibungen.'+str(dateutil.parser.parse(wkInfos[0][1]).year)+'/'+ausschr[0][0])
|
||||
41
wkOrg/newNoticeCheck.py
Executable file
41
wkOrg/newNoticeCheck.py
Executable file
@@ -0,0 +1,41 @@
|
||||
#! /usr/bin/env python3
|
||||
|
||||
# Python Script zum testen, ob neue Ausschreibungen hinzugekommen sind, oder bereits vorhandene sich geändert haben (kein herunterladen, es wird im Downloadordner wkOrgConfig.downpath gesucht)
|
||||
|
||||
# Name und Pfad der Datenbank als Variablen
|
||||
import wkOrgConfig
|
||||
import wkOrgAssis
|
||||
|
||||
import os
|
||||
import os.path
|
||||
import sqlite3
|
||||
|
||||
# Init der Datenbankverbindung
|
||||
if os.path.isfile(wkOrgConfig.db['pathname']+wkOrgConfig.db['filename']):
|
||||
dbConn = sqlite3.connect(wkOrgConfig.db['pathname']+wkOrgConfig.db['filename'])
|
||||
dbConn.text_factory = str
|
||||
dbCur = dbConn.cursor()
|
||||
else:
|
||||
print ("Keine Datenbank vorhanden!")
|
||||
exit(-1)
|
||||
|
||||
# Hole Liste der Dateinamen im downloadVerzeichnis
|
||||
filenames = os.listdir(wkOrgConfig.downPath)
|
||||
#print filenames
|
||||
|
||||
# Für jeden Dateinamen:
|
||||
for filename in filenames:
|
||||
# Finde alle Einträge (id, dateiname, sha256 , wkID) zu diesen Dateinamen in der downloadTabelle -> dlList
|
||||
dbCur.execute('SELECT id, dateiname, sha512 , wkID FROM downloads WHERE dateiname=?', (filename, ) )
|
||||
ausschr = dbCur.fetchall()
|
||||
|
||||
# Falls dlList leer: (heißt ausschreibung wurde noch nicht zugeordnet)
|
||||
if ausschr == []:
|
||||
print("Neue Auschreibung: {}".format(filename))
|
||||
# Sonst:
|
||||
else:
|
||||
continue
|
||||
|
||||
# Aufräumen
|
||||
dbConn.commit()
|
||||
dbConn.close()
|
||||
40
wkOrg/readMe.md
Executable file
40
wkOrg/readMe.md
Executable file
@@ -0,0 +1,40 @@
|
||||
Python Scripts zur Verwaltung von Wettkampfterminen in einer SQLite Datenbank
|
||||
|
||||
Die einzelnen "Programme"
|
||||
- download.sh
|
||||
- Skript zum Herunterladen der Ausschreibungen
|
||||
- checkDownloads.py
|
||||
- sucht, welche Downloaddateien noch nicht in der Datenbank erfasst sind, und lässt sie den Benutzer hinzufügen (oder zum ignorieren vormerken)
|
||||
- getCVS.py
|
||||
- gibt die kommenden Wettkämpfe als csv aus zum Import in die Onlinedatenbank
|
||||
- die offline Datenbank kennt nicht:
|
||||
- die laufenden Nummern der Wettkämpfe in der Onlinedatenbank
|
||||
- den Inhalt der Onlinedatenbank
|
||||
Deshalb müssen:
|
||||
- die Reihenfolge der Spaltennamen muss beim Import in phpmyadmin manuell mit angegeben werden (Datum, Veranstaltung, Altersklassen, Ort, Ausschreibung, Routenplaner)
|
||||
- schon in der Onlinedatenbank vorhandene Wettkämpfe entfernt werden (wird auch so bleiben müssen, bis ich eine 'Synchronisation' der beiden Datenbanken hinbekomme)
|
||||
|
||||
Datenbankstruktur:
|
||||
|
||||
Tabellen:
|
||||
- downloads (Tabelle für alle Ausschreibungen im Downloadverzeichnis
|
||||
- id INTEGER PRIMARY KEY ASC
|
||||
- dateiname TEXT
|
||||
- sha256 TEXT
|
||||
- wkID TEXT (die IDs der Wettkämpfe dieser Ausschreibung per Whitespace getrennt)
|
||||
- adressen (Tabelle für die Addressen der Wettkampforte)
|
||||
- id INTEGER PRIMARY KEY ASC
|
||||
- verein TEXT
|
||||
- ort TEXT
|
||||
- plz TEXT
|
||||
- straße TEXT
|
||||
- hausnr TEXT
|
||||
- lat TEXT
|
||||
- lon TEXT
|
||||
- wk (Tabelle für die Wettkämpfe)
|
||||
- id INTEGER PRIMARY KEY ASC
|
||||
- name TEXT
|
||||
- datum TEXT
|
||||
- ak TEXT
|
||||
- adrID TEXT
|
||||
- ausschrID TEXT (id der ausschreibung in der downloadliste zum Wettkampf)
|
||||
1
wkOrg/wkScraper-JvsCal.py
Symbolic link
1
wkOrg/wkScraper-JvsCal.py
Symbolic link
@@ -0,0 +1 @@
|
||||
../submodules/wkOrg/src/wkScraper/wkScraper-JvsCal.py
|
||||
Reference in New Issue
Block a user