]> jfr.im git - yt-dlp.git/blame - devscripts/bash-completion.py
Merge branch 'compat-getenv-and-expanduser' of https://github.com/dstftw/youtube...
[yt-dlp.git] / devscripts / bash-completion.py
CommitLineData
a9d2f7e8 1#!/usr/bin/env python
2import os
3from os.path import dirname as dirn
4import sys
5
6sys.path.append(dirn(dirn((os.path.abspath(__file__)))))
bdff3455 7import youtube_dl
8
4c1d273e 9BASH_COMPLETION_FILE = "youtube-dl.bash-completion"
a4680a59 10BASH_COMPLETION_TEMPLATE = "devscripts/bash-completion.in"
bdff3455 11
12def build_completion(opt_parser):
13 opts_flag = []
14 for group in opt_parser.option_groups:
15 for option in group.option_list:
16 #for every long flag
17 opts_flag.append(option.get_opt_string())
18 with open(BASH_COMPLETION_TEMPLATE) as f:
19 template = f.read()
20 with open(BASH_COMPLETION_FILE, "w") as f:
21 #just using the special char
bdff3455 22 filled_template = template.replace("{{flags}}", " ".join(opts_flag))
23 f.write(filled_template)
24
25parser = youtube_dl.parseOpts()[0]
26build_completion(parser)