Files
cwsvJudo/wkOrg/getCSV.py

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])