Merge branch 'master' of https://github.com/rg3/youtube-dl
[youtube-dl] / devscripts / bash-completion.py
1 #!/usr/bin/env python
2 import os
3 from os.path import dirname as dirn
4 import sys
5
6 sys.path.append(dirn(dirn((os.path.abspath(__file__)))))
7 import youtube_dl
8
9 BASH_COMPLETION_FILE = "youtube-dl.bash-completion"
10 BASH_COMPLETION_TEMPLATE = "devscripts/bash-completion.in"
11
12 def 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
22         filled_template = template.replace("{{flags}}", " ".join(opts_flag))
23         f.write(filled_template)
24
25 parser = youtube_dl.parseOpts()[0]
26 build_completion(parser)