LSSTApplications  11.0-13-gbb96280,12.1.rc1,12.1.rc1+1,12.1.rc1+2,12.1.rc1+5,12.1.rc1+8,12.1.rc1-1-g06d7636+1,12.1.rc1-1-g253890b+5,12.1.rc1-1-g3d31b68+7,12.1.rc1-1-g3db6b75+1,12.1.rc1-1-g5c1385a+3,12.1.rc1-1-g83b2247,12.1.rc1-1-g90cb4cf+6,12.1.rc1-1-g91da24b+3,12.1.rc1-2-g3521f8a,12.1.rc1-2-g39433dd+4,12.1.rc1-2-g486411b+2,12.1.rc1-2-g4c2be76,12.1.rc1-2-gc9c0491,12.1.rc1-2-gda2cd4f+6,12.1.rc1-3-g3391c73+2,12.1.rc1-3-g8c1bd6c+1,12.1.rc1-3-gcf4b6cb+2,12.1.rc1-4-g057223e+1,12.1.rc1-4-g19ed13b+2,12.1.rc1-4-g30492a7
LSSTDataManagementBasePackage
GenericFileWaiter.py
Go to the documentation of this file.
1 #!/usr/bin/env python
2 
3 #
4 # LSST Data Management System
5 # Copyright 2008, 2009, 2010 LSST Corporation.
6 #
7 # This product includes software developed by the
8 # LSST Project (http://www.lsst.org/).
9 #
10 # This program is free software: you can redistribute it and/or modify
11 # it under the terms of the GNU General Public License as published by
12 # the Free Software Foundation, either version 3 of the License, or
13 # (at your option) any later version.
14 #
15 # This program is distributed in the hope that it will be useful,
16 # but WITHOUT ANY WARRANTY; without even the implied warranty of
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 # GNU General Public License for more details.
19 #
20 # You should have received a copy of the LSST License Statement and
21 # the GNU General Public License along with this program. If not,
22 # see <http://www.lsstcorp.org/LegalNotices/>.
23 #
24 
25 
26 import os
27 import sys
28 import time
29 import lsst.log as log
30 
31 
32 ##
33 # waits for files to come into existence
34 #
36  ## initialize
37  def __init__(self, fileNames):
38  log.debug("GenericFileWaiter:__init__")
39  ## list of file names
40  self.fileNames = fileNames
41 
42  ## wait for the first file in the list to come into existence
43  def waitForFirstFile(self):
44  log.debug("GenericFileWaiter:waitForFirstFile")
45  print "waiting for log file to be created to confirm launch."
46 
47  while os.path.exists(self.fileNames[0]) == False:
48  time.sleep(1)
49  return
50 
51  ## wait for all files in the list to come into existence
52  def waitForAllFiles(self):
53  log.debug("GenericFileWaiter:waitForAllFiles")
54 
55  print "waiting for all log files to be created to confirm launch"
56 
57  list = self.fileNames
58  while len(list):
59  newlist = [ item for item in list if (os.path.exists(item) == False)]
60  list = newlist
61  time.sleep(1)
62  return
def waitForAllFiles
wait for all files in the list to come into existence
def waitForFirstFile
wait for the first file in the list to come into existence
Definition: Log.h:716
waits for files to come into existence