in pygenie/jobs/core.py [0:0]
def __init__(self, conf=None):
assert conf is None or isinstance(conf, GenieConf), \
"invalid conf '{}', should be None or GenieConf".format(conf)
cls = self.__class__.__name__
job_type = cls.rsplit('Job', 1)[0].lower() if cls.endswith('Job') \
else cls.lower()
self._conf = conf or GenieConf()
self.default_command_tags = str_to_list(
self._conf.get('{}.default_command_tags'.format(cls),
['type:{}'.format(job_type)])
)
self.default_cluster_tags = str_to_list(
self._conf.get('{}.default_cluster_tags'.format(cls),
['type:{}'.format(job_type)])
)
self.repr_obj = Repr(self.__class__.__name__)
self._application_ids = list()
self._archive = True
self._cluster_tag_mapping = defaultdict(list)
self._command_arguments = None
self._command_options = defaultdict(OrderedDict)
self._command_tags = list()
self._configs = list()
self._dependencies = list()
self._description = None
self._email = None
self._genie_cpu = None
self._genie_grouping = None
self._genie_grouping_instance = None
self._genie_memory = None
self._group = None
self._job_id = uuid_str()
self._job_name = None
self._job_version = 'NA'
self._metadata = None
self._parameters = OrderedDict()
self._post_cmd_args = list()
self._setup_file = None
self._tags = list()
self._timeout = None
self._username = self._conf.get('genie.username')
#initialize repr
self.repr_obj.append('job_id', (self._job_id,))
self.repr_obj.append('genie_username', (self._username,))
#initialize cluster tags with default set of tags
self._cluster_tag_mapping[GenieJob.DEFAULT_CLUSTER_TAG] = self.default_cluster_tags