]> git.phdru.name Git - audio-cdr-video.git/blob - audio/mp3/remove-tag.py
Initail import
[audio-cdr-video.git] / audio / mp3 / remove-tag.py
1 #! /usr/bin/env python
2
3 import sys
4
5 def usage(msg):
6    sys.stderr.write("remove-tag.py: %s\n" % msg)
7    sys.stderr.write("Usage: remove-tag.py -[12] filename\n")
8    sys.exit(1)
9
10 from getopt import getopt, GetoptError
11 try:
12    optlist, args = getopt(sys.argv[1:], "12", ["id3v1", "id3v2"]
13    )
14 except GetoptError:
15    usage("invalid option")
16
17 write_id3v1 = True
18 write_id3v2 = True
19
20 for _opt, _arg in optlist:
21    if _opt == "-1":
22       write_id3v1 = False
23    elif _opt == "--id3v1":
24       write_id3v1 = False
25    elif _opt == "-2":
26       write_id3v2 = False
27    elif _opt == "--id3v2":
28       write_id3v2 = False
29 try:
30    del _opt, _arg
31 except NameError:
32    pass
33
34 if args:
35    if len(args) > 1:
36       usage("too many arguments")
37
38    filename = args[0]
39
40 else:
41    usage("too few arguments")
42
43
44 from os import utime
45 from os.path import getmtime
46 mtime = getmtime(filename)
47
48 import eyeD3
49
50 versions = []
51 if not write_id3v2:
52    versions.append(eyeD3.ID3_V2)
53 if not write_id3v1:
54    versions.append(eyeD3.ID3_V1)
55
56 for version in versions:
57    id3tag = eyeD3.Tag()
58    id3tag.link(filename, version)
59    id3tag.setVersion(version)
60
61    id3tag.remove()
62 utime(filename, (mtime, mtime))