FlintSable
5/25/2017 - 11:45 PM

For loop, ping, file check, log

For loop, ping, file check, log

import datetime
import time
import os
import glob
import pyodbc
import smtplib

# Revolution Design Workflow 2016

COMPS = ['\\\\ws780',
		'\\\\ws782', 
		'\\\\ws821', 
		'\\\\ws824', 
		'\\\\ws847',
		'\\\\ws857',
		'\\\\ws864',
		'\\\\ws867',
		'\\\\ws869',
		'\\\\ws872',
		'\\\\ws877',
		'\\\\ws878',
		'\\\\ws882',
		'\\\\ws883'
		]
rootC = '\\\\c$'
programFiles = '\\\\Program Files (x86)\\\\Revolution Design\\\\Workflow'
programData = '\\\\ProgramData\\\\Autodesk\\\\Revit\\\\Addins\\\\2016\\\\workFlow.addin'

logPath = 'D:\\\\Autodesk\\\\scripts\\\\RevolutionDesignWorkflow\\\\log.log'


for comp in COMPS:
	compName = comp[2:]
	response = os.system("ping -n 1 " + compName)
	if response == 0:
		print('Machine is online')
		addinDir = os.path.isdir(comp + rootC +programFiles)
		addinFile =  os.path.exists(comp + rootC + programData)
		with open(logPath, "a") as logger:
			timestamp = ' Timestamp:{:%Y-%b-%d %H:%M:%S}'.format(datetime.datetime.now())
			logger.write(compName + timestamp + '\n')
			logger.write(str(addinDir) + '\n')
			logger.write(str(addinFile) + '\n')
	else: 
		print('Machine is not online') 
		with open(logPath, "a") as logger:
			timestamp = ' Timestamp:{:%Y-%b-%d %H:%M:%S}'.format(datetime.datetime.now())
			logger.write(compName + timestamp + ' not online' + '\n')