56 lines
2.2 KiB
Python
Executable File
56 lines
2.2 KiB
Python
Executable File
#! /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])
|