def __init__()

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