gatk-3.8/python/MPGQueuePipelineStatus.py

39 lines
1.7 KiB
Python
Raw Normal View History

import os
import glob
import time
#takes a path to a yaml and defines the project and a number of descriptive features
class status:
def __init__(self, yaml):
self.yaml = yaml
self.project = os.path.basename(self.yaml).split(".")[0]
self.directory = os.path.dirname(self.yaml)
self.version = self.directory.split("/")[4].split("v")[1]
self.dirkey = self.directory.split("/")[3]
if len(glob.glob(self.directory + "/SnpCalls/*.pdf")) >= 1:
self.edate=max([os.path.getmtime(i) for i in glob.iglob(self.directory + "/SnpCalls/*.pdf")])
self.status = "In Review"
elif len(glob.glob(self.directory + "/*/*.vcf")) >= 5:
self.edate=max([os.path.getmtime(i) for i in glob.iglob(self.directory + "/*/*.vcf")])
self.status= "Eval"
else:
self.edate=max([os.path.getmtime(i) for i in glob.iglob(self.directory)])
self.status= "Calling"
self.date = time.strftime("%a %b %d %H:%M",time.localtime(self.edate))
class update:
def __init__(self):
self.projects = glob.iglob('/humgen/gsa-pipeline/*/*/*/*.yaml')
self.updates = []
for each in self.projects:
Update = status(each)
self.updates.append(Update)
self.updates=sorted(self.updates, key=lambda update: update.edate)
print '{0:60} {1:15} {2:20} {3:7}'.format("Project (version)","status","date","dirkey") # waht is this expecting for these valuse?
for s in self.updates:
print '{0:60} {1:15} {2:20} {3:7}'.format(s.project+ " ("+ s.version + ")", s.status, s.date, s.dirkey)
if __name__ == "__main__":
go = update()