| Trees | Indices | Help |
|
|---|
|
|
1 #!/usr/bin/python
2 # -*- coding: utf-8 -*-
3 #
4 # Copyright Guillaume Pellerin (2006-2009)
5
6 # <yomguy@parisson.com>
7
8 # This software is a computer program whose purpose is to stream audio
9 # and video data through icecast2 servers.
10
11 # This software is governed by the CeCILL license under French law and
12 # abiding by the rules of distribution of free software. You can use,
13 # modify and/ or redistribute the software under the terms of the CeCILL
14 # license as circulated by CEA, CNRS and INRIA at the following URL
15 # "http://www.cecill.info".
16
17 # As a counterpart to the access to the source code and rights to copy,
18 # modify and redistribute granted by the license, users are provided only
19 # with a limited warranty and the software's author, the holder of the
20 # economic rights, and the successive licensors have only limited
21 # liability.
22
23 # In this respect, the user's attention is drawn to the risks associated
24 # with loading, using, modifying and/or developing or reproducing the
25 # software by the user in light of its specific status of free software,
26 # that may mean that it is complicated to manipulate, and that also
27 # therefore means that it is reserved for developers and experienced
28 # professionals having in-depth computer knowledge. Users are therefore
29 # encouraged to load and test the software's suitability as regards their
30 # requirements in conditions enabling the security of their systems and/or
31 # data to be ensured and, more generally, to use and operate it in the
32 # same conditions as regards security.
33
34 # The fact that you are presently reading this means that you have had
35 # knowledge of the CeCILL license and that you accept its terms.
36
37 # Author: Guillaume Pellerin <yomguy@parisson.com>
38
39 import os
40 import string
41 import datetime
42 from mutagen.easyid3 import EasyID3
43 from mutagen.mp3 import MP3, MPEGInfo
44 from mutagen import id3
45 from utils import *
46
47 EasyID3.valid_keys["comment"] = "COMM::'XXX'"
48 EasyID3.valid_keys["copyright"] = "TCOP::'XXX'"
49 EasyID3.valid_keys["country"] = "TXXX:COUNTRY:'XXX'"
50 EasyID3.RegisterTXXXKey("country", "COUNTRY")
51
52
54 """A MP3 file object"""
55
57 MediaBase.__init__(self)
58
59 self.description = "MPEG audio Layer III"
60 self.mime_type = 'audio/mpeg'
61 self.extension = 'mp3'
62 self.format = 'MP3'
63
64 self.media = newmedia
65 self.source = self.media
66 self.bitrate_default = 192
67 self.tagdata = {
68 'title': 'TIT2',
69 'artist': 'TPE1',
70 'album': 'TALB',
71 'date': 'TDRC',
72 'comment': 'COMM',
73 'country': 'COUNTRY',
74 'genre': 'TCON',
75 'copyright': 'TCOP'
76 }
77 self.sourceobj = MP3(self.media, ID3=EasyID3)
78 self.info = self.sourceobj.info
79 self.bitrate = self.bitrate_default
80 try:
81 self.bitrate = int(self.info.bitrate / 1024)
82 except:
83 pass
84
85 self.media_info = get_file_info(self.media)
86 self.file_name = self.media_info[0]
87 self.file_title = self.media_info[1]
88 self.file_ext = self.media_info[2]
89 self.size = os.path.getsize(self.media)
90 self.length = datetime.timedelta(0, self.info.length)
91 self.read_file_metadata()
92
129
| Trees | Indices | Help |
|
|---|
| Generated by Epydoc 3.0.1 on Sat Jan 31 00:38:01 2015 | http://epydoc.sourceforge.net |