示例#1
0
    def __init__(self, json_input=None, parent=None, check_attributes=True):
        self.parent = None
        ModelBase.__init__(self, json_input, check_attributes)
        if parent:
            self.parent = weakref.ref(parent)

        self.check_attribute('eventcontent', self.get('eventcontent'))
        self.check_attribute('datatier', self.get('datatier'))
示例#2
0
    def __init__(self, json_input=None, check_attributes=True):
        if json_input:
            json_input['runs_json_path'] = json_input.get(
                'runs_json_path', '').strip().lstrip('/')
            sequence_objects = []
            for sequence_json in json_input.get('sequences', []):
                sequence_objects.append(Sequence(json_input=sequence_json))

            json_input['sequences'] = sequence_objects

        ModelBase.__init__(self, json_input, check_attributes)
示例#3
0
    def __init__(self, json_input=None, check_attributes=True):
        if json_input:
            json_input = deepcopy(json_input)
            json_input['runs'] = [int(r) for r in json_input.get('runs', [])]
            sequence_objects = []
            for sequence_json in json_input.get('sequences', []):
                sequence_objects.append(
                    Sequence(json_input=sequence_json,
                             parent=self,
                             check_attributes=check_attributes))

            json_input['sequences'] = sequence_objects

        ModelBase.__init__(self, json_input, check_attributes)
示例#4
0
    def __init__(self, json_input=None, check_attributes=True):
        if json_input:
            json_input = deepcopy(json_input)
            json_input['workflow_ids'] = [
                float(wid) for wid in json_input['workflow_ids']
            ]
            json_input['recycle_gs'] = bool(json_input.get(
                'recycle_gs', False))
            if json_input.get('gpu', {}).get('requires') not in ('optional',
                                                                 'required'):
                json_input['gpu'] = self.schema().get('gpu')
                json_input['gpu']['requires'] = 'forbidden'
                json_input['gpu_steps'] = []

        ModelBase.__init__(self, json_input, check_attributes)
示例#5
0
    def __init__(self, json_input=None, parent=None, check_attributes=True):
        if json_input:
            json_input = deepcopy(json_input)
            # Remove -- from argument names
            schema = self.schema()
            if json_input.get('input', {}).get('dataset'):
                json_input['driver'] = schema.get('driver')
                json_input['gpu'] = schema.get('gpu')
                json_input['gpu']['requires'] = 'forbidden'
                step_input = json_input['input']
                for key, default_value in schema['input'].items():
                    if key not in step_input:
                        step_input[key] = default_value
            else:
                json_input['driver'] = {
                    k.lstrip('-'): v
                    for k, v in json_input['driver'].items()
                }
                json_input['input'] = schema.get('input')
                if json_input.get('gpu',
                                  {}).get('requires') not in ('optional',
                                                              'required'):
                    json_input['gpu'] = schema.get('gpu')
                    json_input['gpu']['requires'] = 'forbidden'

                driver = json_input['driver']
                for key, default_value in schema['driver'].items():
                    if key not in driver:
                        driver[key] = default_value

                if driver.get('data') and driver.get('mc'):
                    raise Exception(
                        'Both --data and --mc are not allowed in the same step'
                    )

                if driver.get('data') and driver.get('fast'):
                    raise Exception(
                        'Both --data and --fast are not allowed in the same step'
                    )

        ModelBase.__init__(self, json_input, check_attributes)
        if parent:
            self.parent = weakref.ref(parent)
        else:
            self.parent = None
示例#6
0
文件: ticket.py 项目: cms-PdmV/ReReco
    def __init__(self, json_input=None, check_attributes=True):
        if json_input:
            json_input = deepcopy(json_input)
            steps = []
            for step in json_input.get('steps', []):
                steps.append({
                    'subcampaign':
                    step.get('subcampaign', ''),
                    'processing_string':
                    step.get('processing_string', ''),
                    'time_per_event':
                    float(step.get('time_per_event', 0)),
                    'size_per_event':
                    float(step.get('size_per_event', 0)),
                    'priority':
                    int(step.get('priority', 0))
                })

            json_input['steps'] = steps

        ModelBase.__init__(self, json_input, check_attributes)
示例#7
0
 def __init__(self, json_input=None):
     ModelBase.__init__(self, json_input)
示例#8
0
 def __init__(self, json_input=None):
     ModelBase.__init__(self, json_input)
     self.collection = 'flows'