A quick python script to give the status of the projects in the humgen/gsa-pipeline/ directory
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@5070 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
parent
b3c9b9bfbe
commit
32cdcc933c
|
|
@ -0,0 +1,37 @@
|
|||
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.dirkey = self.directory.split("/")[3]
|
||||
if len(glob.glob(self.directory + "/SnpCalls/*.pdf")) >= 2:
|
||||
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","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.status, s.date, s.dirkey)
|
||||
|
||||
if __name__ == "__main__":
|
||||
go = update()
|
||||
Loading…
Reference in New Issue