#!/usr/bin/env python3
# -*- coding: utf-8 -*-

# https://slurm.schedmd.com/sbatch.html
_SBATCH_KEYWORDS = {
    'A': 'account', 'account': 'account',
    'acctg-freq': 'acctg-freq',
    'a': 'array', 'array': 'array',
    'batch': 'batch',
    'bb': 'bb',
    'bbf': 'bbf',
    'b': 'begin', 'begin': 'begin',
    'D': 'chdir', 'chdir': 'chdir',
    'cluster-constraint': 'cluster-constraint',
    'M': 'clusters', 'clusters': 'clusters',
    'comment': 'comment',
    'C': 'constraint', 'constraint': 'constraint',
    'container': 'container',
    'contiguous': 'contiguous',
    'S': 'core-spec', 'core-spec': 'core-spec',
    'cores-per-socket': 'cores-per-socket',
    'cpu-freq': 'cpu-freq',
    'cpus-per-gpu': 'cpus-per-gpu',
    'c': 'cpus-per-task', 'cpus-per-task': 'cpus-per-task',
    'deadline': 'deadline',
    'delay-boot': 'delay-boot',
    'd': 'dependency', 'dependency': 'dependency',
    'm': 'distribution', 'distribution': 'distribution',
    'e': 'error', 'error': 'error',
    'x': 'exclude', 'exclude': 'exclude',
    'exclusive': 'exclusive',
    'export': 'export',
    'export-file': 'export-file',
    'B': 'extra-node-info', 'extra-node-info': 'extra-node-info',
    'get-user-env': 'get-user-env',
    'gid': 'gid',
    'gpu-bind': 'gpu-bind',
    'gpu-freq': 'gpu-freq',
    'G': 'gpus', 'gpus': 'gpus',
    'gpus-per-node': 'gpus-per-node',
    'gpus-per-socket': 'gpus-per-socket',
    'gpus-per-task': 'gpus-per-task',
    'gres': 'gres',
    'gres-flags': 'gres-flags',
    'h': 'help', 'help': 'help',
    'hint': 'hint',
    'H': 'hold', 'hold': 'hold',
    'ignore-pbs': 'ignore-pbs',
    'i': 'input', 'input': 'input',
    'J': 'job-name', 'job-name': 'job-name',
    'kill-on-invalid-dep': 'kill-on-invalid-dep',
    'L': 'licenses', 'licenses': 'licenses',
    'mail-type': 'mail-type',
    'mail-user': 'mail-user',
    'mcs-label': 'mcs-label',
    'mem': 'mem',
    'mem-bind': 'mem-bind',
    'mem-per-cpu': 'mem-per-cpu',
    'mem-per-gpu': 'mem-per-gpu',
    'mincpus': 'mincpus',
    'network': 'network',
    'nice': 'nice',
    'k': 'no-kill', 'no-kill': 'no-kill',
    'no-requeue': 'no-requeue',
    'F': 'nodefile', 'nodefile': 'nodefile',
    'w': 'nodelist', 'nodelist': 'nodelist',
    'N': 'nodes', 'nodes': 'nodes',
    'n': 'ntasks', 'ntasks': 'ntasks',
    'ntasks-per-core': 'ntasks-per-core',
    'ntasks-per-gpu': 'ntasks-per-gpu',
    'ntasks-per-node': 'ntasks-per-node',
    'ntasks-per-socket': 'ntasks-per-socket',
    'open-mode': 'open-mode',
    'o': 'output', 'output': 'output',
    'O': 'overcommit', 'overcommit': 'overcommit',
    's': 'oversubscribe', 'oversubscribe': 'oversubscribe',
    'parsable': 'parsable',
    'p': 'partition', 'partition': 'partition',
    'power': 'power',
    'priority': 'priority',
    'profile': 'profile',
    'propagate': 'propagate',
    'q': 'qos', 'qos': 'qos',
    'Q': 'quiet', 'quiet': 'quiet',
    'reboot': 'reboot',
    'requeue': 'requeue',
    'reservation': 'reservation',
    'signal': 'signal',
    'sockets-per-node': 'sockets-per-node',
    'spread-job': 'spread-job',
    'switches': 'switches',
    'test-only': 'test-only',
    'thread-spec': 'thread-spec',
    'threads-per-core': 'threads-per-core',
    # Acceptable time formats include "minutes", "minutes:seconds", "hours:minutes:seconds", "days-hours",
    # "days-hours:minutes" and "days-hours:minutes:seconds".
    't': 'time', 'time': 'time',
    'tmp': 'tmp',
    'uid': 'uid',
    'usage': 'usage',
    'use-min-nodes':  'use-min-nodes',
    'v': 'verbose', 'verbose': 'verbose',
    'V': 'version', 'version': 'version',
    'W': 'wait', 'wait': 'wait',
    'wait-all-nodes': 'wait-all-nodes',
    'wckey': 'wckey',
    'wrap': 'wrap',
}


if __name__ == '__main__':
    pass
