def __init__(self, filename = None, configString = None, cleanOutDir = False): # parallelization parameters # Default values, see explanations below: #self.name = 'Launcher' self._isSerial = True self._mergedTask = False configDic = { 'useTorque' : 'False', 'paraTorqueParams': '-l nodes=1:ppn=1', 'serialTorqueParams': '-l nodes=1:ppn=1', 'paraPrefix': '', 'paraPostfix': '', 'serialPrefix': '', 'serialPostfix': '', 'paraRemoteShell': '', 'outdir': None } if filename == None and configString == None: filename = 'config.ini' self.setting = Setting(filename, configString) self.setting.section(QETask.name(self), configDic) self.cleanOutDir = cleanOutDir if self.setting.get('useTorque') == 'True': self.setting.set('useTorque', True) else: self.setting.set('useTorque', False) if self.setting.get('useTorque'): if self.isSerial(): self._torque = QETorque(self.setting.get('serialTorqueParams')) else: self._torque = QETorque(self.setting.get('paraTorqueParams'))
def __init__(self, filename, cleanOutDir=None): # parallelization parameters # Default values, see explanations below: self.name = 'Launcher' configDic = { 'useTorque': 'False', 'torqueResourceList': '-l nodes=1:ppn=1', 'paraPrefix': '', 'paraPostfix': '' } self.setting = Setting(filename) self.setting.section(self.name, configDic) self.cleanOutDir = cleanOutDir if self.setting.useTorque == 'True': self.setting.useTorque = True else: self.setting.useTorque = False if self.setting.useTorque: self._torque = QETorque(self.setting.torqueResourceList)
def readSetting(self, filename = None, configString = None, \ sectionName = None): """ Initializes setting class """ configDic = { 'useTorque': 'False', 'paraTorqueParams': '-l nodes=1:ppn=1', 'serialTorqueParams': '-l nodes=1:ppn=1', 'paraPrefix': '', 'paraPostfix': '', 'serialPrefix': '', 'serialPostfix': '', 'paraRemoteShell': '', 'outdir': None } # if filename == None and configString == None: # configString = '' # filename = 'config.ini' if filename == None and configString == None: self.setting = Setting(configString="") else: self.setting = Setting(filename, configString) self.setting.section(QETask.name(self), configDic) if self.setting.get('useTorque') == 'True': self.setting.set('useTorque', True) else: self.setting.set('useTorque', False) if self.setting.get('useTorque'): if self.isSerial(): self._torque = QETorque(self.setting.get('serialTorqueParams')) else: self._torque = QETorque(self.setting.get('paraTorqueParams')) # ********************************************************************** # Task subclass specific part: if hasattr(self, '_type'): defaultModName = 'QESInput' modname = self._inputConstructor #Input = __import__("qeparser." + modname.lower(), globals(), \ # locals(), [modname], -1) mod_cmd = "from qeparser.%s import %s as Input" % (modname.lower(), modname) exec(mod_cmd) from qeparser.qeoutput import QEOutput if sectionName == None: name = self.name() else: name = sectionName self.setting.section(name, self._configDic) # add pointer to setting for input filenames synchronization #self.input._setting = self.setting self.output = QEOutput(self.setting, type=self._type) args = { 'setting': self.setting, } if modname == defaultModName: args['type'] = self._type if filename != None or configString != None: self.input = Input(**args) self.syncSetting() else: # add parse: args['parse'] = False self.input = Input(**args)