diff options
| author | mikeos <mike.osipov@gmail.com> | 2013-09-30 02:21:16 +0400 |
|---|---|---|
| committer | mikeos <mike.osipov@gmail.com> | 2013-09-30 02:21:16 +0400 |
| commit | 10a50690b33ca7fefc7768d156eb2b75544082ea (patch) | |
| tree | ddf4e7fc2e1bd93b288660522069d332fdc2faa8 /formats/ogg.py | |
| parent | 0dae4f52d78d840451a8a841b30190e70aab5d7b (diff) | |
add ogg support
Diffstat (limited to 'formats/ogg.py')
| -rw-r--r-- | formats/ogg.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/formats/ogg.py b/formats/ogg.py new file mode 100644 index 0000000..c7352c2 --- /dev/null +++ b/formats/ogg.py @@ -0,0 +1,33 @@ +from formats.__base__ import * +from utils import to_bytes + +import subprocess + +class OggHandler(BaseHandler): + name = "ogg" + ext = "ogg" + + def encode(self, opt, info): + self.add("cust ext=%s sox -" % self.ext) + + if opt.compression is not None: + self.add("-C %d" % opt.compression) + + self.add_sox_args(opt, info) + self.add("%f") + + return self.build() + + def tag(self, path, tags): + args = ["vorbiscomment", "--raw", "--write", path] + + proc = subprocess.Popen(args, stdin = subprocess.PIPE) + for k, v in tags.items(): + if v is not "": + proc.stdin.write(to_bytes("%s=%s\n" % (k.upper(), v))) + proc.stdin.close() + + return proc.wait() is 0 + +def init(): + return OggHandler |
