blob: 258b122265a28cd9edda2649b2d56afc4b50add9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
from formats.__base__ import *
from utils import to_bytes
import subprocess
class FlacHandler(BaseHandler):
name = "flac"
ext = "flac"
def encode(self, opt, info):
self.add("flac sox -")
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 = ["metaflac", "--remove-all-tags", "--import-tags-from=-", path]
self.log("Tag [%s] : ", 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()
if proc.wait():
self.log("FAILED\n")
return False
self.log("OK\n")
return True
def init():
return FlacHandler
|