def set_jobname()

in pygenie/adapter/genie_3.py [0:0]


def set_jobname(func):
    """Decorator to update job name with script."""

    @wraps(func)
    def wrapper(*args, **kwargs):
        """Wraps func."""

        payload = func(*args, **kwargs)

        job = args[0]
        script = job.get('script')

        # handle job name if not set
        if not job.get('job_name') and script:
            if is_file(script):
                script_name = os.path.splitext(os.path.basename(script))[0]
                payload['name'] = "{}.{}.Script.{}".format(
                    job.get('username'),
                    job.__class__.__name__,
                    script_name.upper())
            else:
                payload['name'] = "{}.{}.Query.{}".format(
                    job.get('username'),
                    job.__class__.__name__,
                    int(time.time()*1000))

        return payload

    return wrapper