#! /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])