config = loadjson( configfn ) tz = TimeZone.getDefault() if config.has( "tz" ): tz = TimeZone.getTimeZone( config.getString( "tz" ) ) statefn = config.getString( "statefile" ) if os.path.isfile( statefn ): states = loadjson( statefn ) else: states = JSONObject() jobsdesc = config.getJSONArray( "jobs" ) jobs = {} for i in range( jobsdesc.length() ): j = Job( jobsdesc.getJSONObject( i ), tz ) if states.has( j.id ): j.setState( states.getJSONObject( j.id ) ) jobs[j.id] = j for i in startlist: jobs[i].start() for i in stoplist: jobs[i].stop() if lst: for i in jobs: print "Job:\t+" jobs[i].dump( " \t| ", " \t|- " ) if run: l = Lock( config.getString( "lockfile" ) )