diff --git a/.gitmodules b/.gitmodules index 322d9dc..a5a3134 100644 --- a/.gitmodules +++ b/.gitmodules @@ -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 diff --git a/infoZettelOrg/2023-02-07-ErinnerungSommerlager.md b/infoZettelOrg/2023-02-07-ErinnerungSommerlager.md new file mode 100644 index 0000000..b360c87 --- /dev/null +++ b/infoZettelOrg/2023-02-07-ErinnerungSommerlager.md @@ -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ümel­randori (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 \ No newline at end of file diff --git a/infoZettelOrg/2023-03-19-Generationenturnier.md b/infoZettelOrg/2023-03-19-Generationenturnier.md new file mode 100644 index 0000000..6901020 --- /dev/null +++ b/infoZettelOrg/2023-03-19-Generationenturnier.md @@ -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 \ No newline at end of file diff --git a/infoZettelOrg/eMailReceiverLists/bemU13.json b/infoZettelOrg/eMailReceiverLists/bemU13.json new file mode 100644 index 0000000..da8d763 --- /dev/null +++ b/infoZettelOrg/eMailReceiverLists/bemU13.json @@ -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" + ] + } +] \ No newline at end of file diff --git a/infoZettelOrg/eMailReceiverLists/fkr2023.json b/infoZettelOrg/eMailReceiverLists/fkr2023.json new file mode 100644 index 0000000..ac3c20b --- /dev/null +++ b/infoZettelOrg/eMailReceiverLists/fkr2023.json @@ -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" + ] + } +] \ No newline at end of file diff --git a/infoZettelOrg/eMailReceiverLists/wkParticipo_Users.json b/infoZettelOrg/eMailReceiverLists/wkParticipo_Users.json index 19b6ad0..fc5abdd 100644 --- a/infoZettelOrg/eMailReceiverLists/wkParticipo_Users.json +++ b/infoZettelOrg/eMailReceiverLists/wkParticipo_Users.json @@ -29,13 +29,6 @@ "stephanie.brittnacher@gmail.com" ] }, - { - "id": "31", - "loginName": "elternFriedrich", - "eMail": [ - "akf21182@aol.com" - ] - }, { "id": "50", "loginName": "elternCuric", diff --git a/infoZettelOrg/memberMails/2023-04-01-LemU13.md b/infoZettelOrg/memberMails/2023-04-01-LemU13.md new file mode 100644 index 0000000..e2852b6 --- /dev/null +++ b/infoZettelOrg/memberMails/2023-04-01-LemU13.md @@ -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 + diff --git a/infoZettelOrg/2023-01-21-OGL2023-1.md b/infoZettelOrg/wkZettel/2023-01-21-OGL2023-1.md similarity index 100% rename from infoZettelOrg/2023-01-21-OGL2023-1.md rename to infoZettelOrg/wkZettel/2023-01-21-OGL2023-1.md diff --git a/infoZettelOrg/2023-01-22-OGL2023-1-MediaSharing.md b/infoZettelOrg/wkZettel/2023-01-22-OGL2023-1-MediaSharing.md similarity index 100% rename from infoZettelOrg/2023-01-22-OGL2023-1-MediaSharing.md rename to infoZettelOrg/wkZettel/2023-01-22-OGL2023-1-MediaSharing.md diff --git a/infoZettelOrg/2023-02-04+05-Neujahrsturnier.md b/infoZettelOrg/wkZettel/2023-02-04+05-Neujahrsturnier.md similarity index 100% rename from infoZettelOrg/2023-02-04+05-Neujahrsturnier.md rename to infoZettelOrg/wkZettel/2023-02-04+05-Neujahrsturnier.md diff --git a/infoZettelOrg/wkZettel/2023-02-05-Neujahrsturnier-MediaSharing.md b/infoZettelOrg/wkZettel/2023-02-05-Neujahrsturnier-MediaSharing.md new file mode 100644 index 0000000..9f56d48 --- /dev/null +++ b/infoZettelOrg/wkZettel/2023-02-05-Neujahrsturnier-MediaSharing.md @@ -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 \ No newline at end of file diff --git a/infoZettelOrg/wkZettel/2023-03-11-fkr-mediasharing.md b/infoZettelOrg/wkZettel/2023-03-11-fkr-mediasharing.md new file mode 100644 index 0000000..3ddea58 --- /dev/null +++ b/infoZettelOrg/wkZettel/2023-03-11-fkr-mediasharing.md @@ -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 \ No newline at end of file diff --git a/infoZettelOrg/wkZettel/2023-03-11-fkr.md b/infoZettelOrg/wkZettel/2023-03-11-fkr.md new file mode 100644 index 0000000..6a5d819 --- /dev/null +++ b/infoZettelOrg/wkZettel/2023-03-11-fkr.md @@ -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 + diff --git a/infoZettelOrg/wkZettel/2023-03-18-BemU13-MediaSharing.md b/infoZettelOrg/wkZettel/2023-03-18-BemU13-MediaSharing.md new file mode 100644 index 0000000..9f56d48 --- /dev/null +++ b/infoZettelOrg/wkZettel/2023-03-18-BemU13-MediaSharing.md @@ -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 \ No newline at end of file diff --git a/infoZettelOrg/wkZettel/2023-03-18-bemU13.md b/infoZettelOrg/wkZettel/2023-03-18-bemU13.md new file mode 100644 index 0000000..9be95e6 --- /dev/null +++ b/infoZettelOrg/wkZettel/2023-03-18-bemU13.md @@ -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 + diff --git a/mitglieder/pässe.2023/bestellungen-2023.md b/mitglieder/pässe.2023/bestellungen-2023.md new file mode 100644 index 0000000..37f26b2 --- /dev/null +++ b/mitglieder/pässe.2023/bestellungen-2023.md @@ -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 | | diff --git a/mitglieder/pässe.2023/bilder/Alesya-Kraft-2015-03-14-DEU.jpg b/mitglieder/pässe.2023/bilder/Alesya-Kraft-2015-03-14-DEU.jpg new file mode 100644 index 0000000..fe0a5c1 Binary files /dev/null and b/mitglieder/pässe.2023/bilder/Alesya-Kraft-2015-03-14-DEU.jpg differ diff --git a/mitglieder/pässe.2023/bilder/Hanna- Boehme-2016-01-26-DEU.jpg b/mitglieder/pässe.2023/bilder/Hanna- Boehme-2016-01-26-DEU.jpg new file mode 100644 index 0000000..9c3af59 Binary files /dev/null and b/mitglieder/pässe.2023/bilder/Hanna- Boehme-2016-01-26-DEU.jpg differ diff --git a/mitglieder/pässe.2023/bilder/Mariia-Maiatska-2015-02-24-UKR.jpg b/mitglieder/pässe.2023/bilder/Mariia-Maiatska-2015-02-24-UKR.jpg new file mode 100644 index 0000000..2fd6db5 Binary files /dev/null and b/mitglieder/pässe.2023/bilder/Mariia-Maiatska-2015-02-24-UKR.jpg differ diff --git a/mitglieder/pässe.2023/bilder/Nataly-Kraft-2013-10-11-DEU.jpg b/mitglieder/pässe.2023/bilder/Nataly-Kraft-2013-10-11-DEU.jpg new file mode 100644 index 0000000..9419eec Binary files /dev/null and b/mitglieder/pässe.2023/bilder/Nataly-Kraft-2013-10-11-DEU.jpg differ diff --git a/submodules/Makefile b/submodules/Makefile index de7786c..f3254b3 100644 --- a/submodules/Makefile +++ b/submodules/Makefile @@ -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 diff --git a/submodules/video.js b/submodules/video.js deleted file mode 160000 index 53cbfc6..0000000 --- a/submodules/video.js +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 53cbfc62226255e2435cde10624bcafb54502fbb diff --git a/submodules/wkOrg b/submodules/wkOrg new file mode 160000 index 0000000..41fe0c5 --- /dev/null +++ b/submodules/wkOrg @@ -0,0 +1 @@ +Subproject commit 41fe0c5a45ec7a480fd3b10719560b4b47ce4fdb diff --git a/wkOrg/Makefile b/wkOrg/Makefile new file mode 100755 index 0000000..cf611ea --- /dev/null +++ b/wkOrg/Makefile @@ -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: diff --git a/wkOrg/checkDownloads.py b/wkOrg/checkDownloads.py new file mode 100755 index 0000000..95074f3 --- /dev/null +++ b/wkOrg/checkDownloads.py @@ -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() diff --git a/wkOrg/getCSV.py b/wkOrg/getCSV.py new file mode 100755 index 0000000..549d39d --- /dev/null +++ b/wkOrg/getCSV.py @@ -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]) diff --git a/wkOrg/newNoticeCheck.py b/wkOrg/newNoticeCheck.py new file mode 100755 index 0000000..7abd7e1 --- /dev/null +++ b/wkOrg/newNoticeCheck.py @@ -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() diff --git a/wkOrg/readMe.md b/wkOrg/readMe.md new file mode 100755 index 0000000..b6087d7 --- /dev/null +++ b/wkOrg/readMe.md @@ -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) diff --git a/wkOrg/wkScraper-JvsCal.py b/wkOrg/wkScraper-JvsCal.py new file mode 120000 index 0000000..be4adcf --- /dev/null +++ b/wkOrg/wkScraper-JvsCal.py @@ -0,0 +1 @@ +../submodules/wkOrg/src/wkScraper/wkScraper-JvsCal.py \ No newline at end of file