RepositoryAutoCheck/RepositoryAutoCheck.py

55 lines
2.5 KiB
Python

from ast import Continue
from sqlalchemy import create_engine
import urllib
from LabelHandler import LabelHandler
from TfsHandler import TfsHandler
from jproperties import Properties
import datetime
server = 'bi-dsa-udv\dsa' # to specify an alternate port
database = 'udv_denker'
tfsBasePath=r'F:\Users\admindenker\TFS Workspace'
tfPath=r'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer'
sqlpackage=r'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\130'
connection_string = "DRIVER={SQL Server};Database="+database+";SERVER="+server
connection_string = urllib.parse.quote_plus(connection_string)
connection_string = "mssql+pyodbc:///?odbc_connect=%s" % connection_string
engine = create_engine(connection_string, echo = True)
serverSource = 'bi-dsa-test\dsa' # to specify an alternate port
databaseSource = 'biadmin'
connection_string_source = "DRIVER={SQL Server};Database="+databaseSource+";SERVER="+serverSource
connection_string_source = urllib.parse.quote_plus(connection_string_source)
connection_string_source = "mssql+pyodbc:///?odbc_connect=%s" % connection_string_source
engineSource = create_engine(connection_string_source, echo = True)
labelHandler = LabelHandler(engine,engineSource)
tfsHandler = TfsHandler(tfPath,tfsBasePath)
newReleases=labelHandler.getNewReleases()
for a in newReleases:
print(a.Label)
failedPackages=tfsHandler.checkLabel(a.Label)
if(failedPackages is not None and len(failedPackages)>0):
logfile=open(r'f:\packageCheck\\'+str(datetime.datetime.today().year)+str(datetime.datetime.today().month)+str(datetime.datetime.today().day)+'_failedPackeges.txt','a')
logfile.write('---------------------------------------------------------------------------------------------------------------\n')
logfile.write(str(a.Label)+'\n')
logfile.write('Deployed af : ' + str(a.DeployedBy) + '\n')
logfile.write('---------------------------------------------------------------------------------------------------------------\n')
for packages in failedPackages:
logfile.write('File: '+ str(packages[0]) + '\n')
logfile.write('PropertyName: ' + str(packages[1]) + '\n')
logfile.write('---------------------------------------------------------------------------------------------------------------\n')
logfile.write('\n')
logfile.close()
print("done")