123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- # This is a bash completion script for celery
- # Redirect it to a file, then source it or copy it to /etc/bash_completion.d
- # to get tab completion. celery must be on your PATH for this to work.
- _celery()
- {
- local cur basep opts base kval kkey loglevels prevp in_opt controlargs
- local pools
- COMPREPLY=()
- cur="${COMP_WORDS[COMP_CWORD]}"
- prevp="${COMP_WORDS[COMP_CWORD-1]}"
- basep="${COMP_WORDS[1]}"
- opts="worker events beat shell multi amqp status
- inspect control purge list migrate call result
- report upgrade flower graph logtool help"
- fargs="--app= --broker= --loader= --config= --version"
- dopts="--detach --umask= --gid= --uid= --pidfile=
- --logfile= --loglevel= --executable="
- controlargs="--timeout --destination"
- pools="prefork eventlet gevent solo"
- loglevels="critical error warning info debug"
- in_opt=0
- # find the current sub-command, store in basep'
- for index in $(seq 1 $((${#COMP_WORDS[@]} - 2)))
- do
- basep=${COMP_WORDS[$index]}
- if [ "${basep:0:2}" != "--" ]; then
- break;
- fi
- done
- if [ "${cur:0:2}" == "--" -a "$cur" != "${cur//=}" ]; then
- in_opt=1
- kkey="${cur%=*}"
- kval="${cur#*=}"
- elif [ "${prevp:0:1}" == "-" ]; then
- in_opt=1
- kkey="$prevp"
- kval="$cur"
- fi
- if [ $in_opt -eq 1 ]; then
- case "${kkey}" in
- --uid|-u)
- COMPREPLY=( $(compgen -u -- "$kval") )
- return 0
- ;;
- --gid|-g)
- COMPREPLY=( $(compgen -g -- "$kval") )
- return 0
- ;;
- --pidfile|--logfile|-p|-f|--statedb|-S|-s|--schedule-filename)
- COMPREPLY=( $(compgen -f -- "$kval") )
- return 0
- ;;
- --workdir)
- COMPREPLY=( $(compgen -d -- "$kval") )
- return 0
- ;;
- --loglevel|-l)
- COMPREPLY=( $(compgen -W "$loglevels" -- "$kval") )
- return 0
- ;;
- --pool|-P)
- COMPREPLY=( $(compgen -W "$pools" -- "$kval") )
- return 0
- ;;
- *)
- ;;
- esac
- fi
- case "${basep}" in
- worker)
- COMPREPLY=( $(compgen -W '--concurrency= --pool= --purge --logfile=
- --loglevel= --hostname= --beat --schedule= --scheduler= --statedb= --events
- --time-limit= --soft-time-limit= --maxtasksperchild= --queues=
- --include= --pidfile= $fargs' -- ${cur} ) )
- return 0
- ;;
- inspect)
- COMPREPLY=( $(compgen -W 'active active_queues ping registered report
- reserved revoked scheduled stats --help $controlargs $fargs' -- ${cur}) )
- return 0
- ;;
- control)
- COMPREPLY=( $(compgen -W 'add_consumer cancel_consumer
- disable_events enable_events pool_grow pool_shrink
- rate_limit time_limit --help $controlargs $fargs' -- ${cur}) )
- return 0
- ;;
- multi)
- COMPREPLY=( $(compgen -W 'start restart stopwait stop show
- kill names expand get help --quiet --nosplash
- --verbose --no-color --help $fargs' -- ${cur} ) )
- return 0
- ;;
- amqp)
- COMPREPLY=( $(compgen -W 'queue.declare queue.purge exchange.delete
- basic.publish exchange.declare queue.delete queue.bind
- basic.get --help $fargs' -- ${cur} ))
- return 0
- ;;
- list)
- COMPREPLY=( $(compgen -W 'bindings $fargs' -- ${cur} ) )
- return 0
- ;;
- shell)
- COMPREPLY=( $(compgen -W '--ipython --bpython --python
- --without-tasks --eventlet --gevent $fargs' -- ${cur} ) )
- return 0
- ;;
- beat)
- COMPREPLY=( $(compgen -W '--schedule= --scheduler=
- --max-interval= $dopts $fargs' -- ${cur} ))
- return 0
- ;;
- events)
- COMPREPLY=( $(compgen -W '--dump --camera= --freq=
- --maxrate= $dopts $fargs' -- ${cur}))
- return 0
- ;;
- *)
- ;;
- esac
- COMPREPLY=($(compgen -W "${opts} ${fargs}" -- ${cur}))
- return 0
- }
- complete -F _celery celery
|