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 5254 """A MP3 file object""" 5512957 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
Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Sat Jan 31 00:38:01 2015 | http://epydoc.sourceforge.net |