Author: dmeyer
Date: Fri Dec 15 15:13:47 2006
New Revision: 2236

Added:
   trunk/metadata/src/audio/ID3.py
      - copied unchanged from r2235, /trunk/metadata/src/audio/id3.py
   trunk/metadata/src/audio/ac3.py
      - copied, changed from r2235, /trunk/metadata/src/audio/ac3info.py
   trunk/metadata/src/audio/adts.py
      - copied, changed from r2235, /trunk/metadata/src/audio/adtsinfo.py
   trunk/metadata/src/audio/core.py
   trunk/metadata/src/audio/flac.py
      - copied, changed from r2235, /trunk/metadata/src/audio/flacinfo.py
   trunk/metadata/src/audio/m4a.py
      - copied, changed from r2235, /trunk/metadata/src/audio/m4ainfo.py
   trunk/metadata/src/audio/mp3.py
      - copied, changed from r2235, /trunk/metadata/src/audio/eyed3info.py
   trunk/metadata/src/audio/ogg.py
      - copied, changed from r2235, /trunk/metadata/src/audio/ogginfo.py
   trunk/metadata/src/audio/pcm.py
      - copied, changed from r2235, /trunk/metadata/src/audio/pcminfo.py
   trunk/metadata/src/audio/webradio.py
      - copied, changed from r2235, /trunk/metadata/src/audio/webradioinfo.py
Removed:
   trunk/metadata/src/audio/ac3info.py
   trunk/metadata/src/audio/adtsinfo.py
   trunk/metadata/src/audio/eyed3info.py
   trunk/metadata/src/audio/flacinfo.py
   trunk/metadata/src/audio/id3.py
   trunk/metadata/src/audio/m4ainfo.py
   trunk/metadata/src/audio/ogginfo.py
   trunk/metadata/src/audio/pcminfo.py
   trunk/metadata/src/audio/webradioinfo.py
Modified:
   trunk/metadata/src/disc/audioinfo.py
   trunk/metadata/src/factory.py
   trunk/metadata/src/mediainfo.py

Log:
Cleanup audio subdir
o rename fooinfo.py to foo.py
o rename FooInfo class to Foo
o create core module


Copied: trunk/metadata/src/audio/ac3.py (from r2235, 
/trunk/metadata/src/audio/ac3info.py)
==============================================================================
--- /trunk/metadata/src/audio/ac3info.py        (original)
+++ trunk/metadata/src/audio/ac3.py     Fri Dec 15 15:13:47 2006
@@ -1,6 +1,6 @@
 # -*- coding: iso-8859-1 -*-
 # -----------------------------------------------------------------------------
-# ac3info.py - AC3 file parser
+# ac3.py - AC3 file parser
 # -----------------------------------------------------------------------------
 # $Id$
 #
@@ -32,9 +32,8 @@
 # python imports
 import struct
 
-# kaa imports
-from kaa.metadata import mediainfo
-from kaa.metadata import factory
+# import kaa.metadata.audio core
+import core
 
 # http://www.atsc.org/standards/a_52a.pdf
 # fscod: Sample rate code, 2 bits
@@ -111,9 +110,9 @@
 FRMSIZCOD = [ 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192,
               224, 256, 320, 384, 448, 512, 576, 640 ]
 
-class AC3Info(mediainfo.MusicInfo):
+class AC3(core.Music):
     def __init__(self,file):
-        mediainfo.MusicInfo.__init__(self)
+        core.Music.__init__(self)
         if file.name.endswith('.ac3'):
             # when the ending is ac3, force the detection. It may not be
             # necessary the the header is at the beginning but in the first
@@ -125,7 +124,7 @@
             if file.read(2) == '\x0b\x77':
                 break
         else:
-            raise mediainfo.KaaMetadataParseError()
+            raise core.ParseError()
 
         info = struct.unpack('<HBBBB',file.read(6))
         self.samplerate = FSCOD[info[1] >> 6]
@@ -158,4 +157,4 @@
         self.mime = 'audio/ac3'
 
 
-factory.register( 'audio/ac3', ('ac3',), AC3Info )
+core.register( 'audio/ac3', ('ac3',), AC3 )

Copied: trunk/metadata/src/audio/adts.py (from r2235, 
/trunk/metadata/src/audio/adtsinfo.py)
==============================================================================
--- /trunk/metadata/src/audio/adtsinfo.py       (original)
+++ trunk/metadata/src/audio/adts.py    Fri Dec 15 15:13:47 2006
@@ -1,6 +1,6 @@
 # -*- coding: iso-8859-1 -*-
 # -----------------------------------------------------------------------------
-# pcminfo.py - pcm file parser
+# adts.py - pcm file parser
 # -----------------------------------------------------------------------------
 # $Id$
 #
@@ -33,9 +33,8 @@
 
 import struct
 
-# kaa imports
-from kaa.metadata import mediainfo
-from kaa.metadata import factory
+# import kaa.metadata.audio core
+import core
 
 # ADTS Fixed header: these don't change from frame to frame
 #
@@ -64,17 +63,17 @@
 #
 # crc_check                      16  only if protection_absent == 0
 #
-class ADTSInfo(mediainfo.AudioInfo):
+class ADTS(core.Music):
     def __init__(self,file):
-       mediainfo.AudioInfo.__init__(self)
+       core.Music.__init__(self)
        if not file.name.endswith('aac'):
            # we have a bad detection here, so if the filename does
            # not match, we skip.
-           raise mediainfo.KaaMetadataParseError()
+           raise core.ParseError()
        header = struct.unpack('>7B', file.read(7))
        if header[0] != 255 or (header[1] >> 4) != 15:
-           raise mediainfo.KaaMetadataParseError()
+           raise core.ParseError()
        self.mime = 'audio/aac'
        
        
-factory.register( 'application/adts', ('aac',), ADTSInfo )
+core.register( 'application/adts', ('aac',), ADTS )

Added: trunk/metadata/src/audio/core.py
==============================================================================
--- (empty file)
+++ trunk/metadata/src/audio/core.py    Fri Dec 15 15:13:47 2006
@@ -0,0 +1,57 @@
+# -*- coding: iso-8859-1 -*-
+# -----------------------------------------------------------------------------
+# core.py - basic audio class
+# -----------------------------------------------------------------------------
+# $Id: core.py 2216 2006-12-10 20:32:21Z dmeyer $
+#
+# -----------------------------------------------------------------------------
+# kaa-Metadata - Media Metadata for Python
+# Copyright (C) 2003-2006 Thomas Schueppel, Dirk Meyer
+#
+# First Edition: Thomas Schueppel <[EMAIL PROTECTED]>
+# Maintainer:    Dirk Meyer <[EMAIL PROTECTED]>
+#
+# Please see the file AUTHORS for a complete list of authors.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of MER-
+# CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# -----------------------------------------------------------------------------
+
+from kaa.metadata import mediainfo
+from kaa.metadata.factory import register
+
+ParseError = mediainfo.KaaMetadataParseError
+EXTENSION_STREAM = mediainfo.EXTENSION_STREAM
+
+class Music(mediainfo.AudioInfo):
+    """
+    Digital Music.
+    """
+    _keys = mediainfo.AudioInfo._keys + mediainfo.MUSICCORE
+
+    def _finalize(self):
+        """
+        Correct same data based on specific rules
+        """
+        mediainfo.AudioInfo._finalize(self)
+        if self.trackof:
+            try:
+                # XXX Why is this needed anyway?
+                if int(self.trackno) < 10:
+                    self.trackno = u'0%s' % int(self.trackno)
+            except (KeyboardInterrupt, SystemExit):
+                sys.exit(0)
+            except:
+                pass

Copied: trunk/metadata/src/audio/flac.py (from r2235, 
/trunk/metadata/src/audio/flacinfo.py)
==============================================================================
--- /trunk/metadata/src/audio/flacinfo.py       (original)
+++ trunk/metadata/src/audio/flac.py    Fri Dec 15 15:13:47 2006
@@ -1,6 +1,6 @@
 # -*- coding: iso-8859-1 -*-
 # -----------------------------------------------------------------------------
-# flacinfo.py - flac file parser
+# flac.py - flac file parser
 # -----------------------------------------------------------------------------
 # $Id$
 #
@@ -34,21 +34,19 @@
 import re
 import logging
 
-# kaa imports
-from kaa.metadata import mediainfo
-from kaa.metadata import factory
-import ogginfo
+# import kaa.metadata.audio core
+import core
 
 # get logging object
 log = logging.getLogger('metadata')
 
 # See: http://flac.sourceforge.net/format.html
 
-class FlacInfo(mediainfo.MusicInfo):
+class Flac(core.Music):
     def __init__(self,file):
-        mediainfo.MusicInfo.__init__(self)
+        core.Music.__init__(self)
         if file.read(4) != 'fLaC':
-            raise mediainfo.KaaMetadataParseError()
+            raise core.ParseError()
 
         while 1:
             (blockheader,) = struct.unpack('>I',file.read(4))
@@ -116,4 +114,4 @@
         return (len+4,unicode(header[4:4+len], 'utf-8'))
 
 
-factory.register( 'application/flac', ('flac',), FlacInfo )
+core.register( 'application/flac', ('flac',), Flac )

Copied: trunk/metadata/src/audio/m4a.py (from r2235, 
/trunk/metadata/src/audio/m4ainfo.py)
==============================================================================
--- /trunk/metadata/src/audio/m4ainfo.py        (original)
+++ trunk/metadata/src/audio/m4a.py     Fri Dec 15 15:13:47 2006
@@ -1,6 +1,6 @@
 # -*- coding: iso-8859-1 -*-
 # -----------------------------------------------------------------------------
-# m4ainfo.py - m4a file parser
+# m4a.py - m4a file parser
 # -----------------------------------------------------------------------------
 # $Id$
 #
@@ -36,20 +36,23 @@
 import struct
 import logging
 
-# kaa imports
-from kaa.metadata import mediainfo
-from kaa.metadata import factory
+# import kaa.metadata.audio core
+import core
 
 # get logging object
 log = logging.getLogger('metadata')
 
-class Mpeg4(mediainfo.MusicInfo):
-    def __init__(self, file):
-        self.containerTags = ('moov', 'udta', 'trak', 'mdia', 'minf', 'dinf',
-                              'stbl', 'meta', 'ilst', '----')
-        self.skipTags = {'meta':4 }
 
-        mediainfo.MusicInfo.__init__(self)
+CONTAINER_TAGS = ('moov', 'udta', 'trak', 'mdia', 'minf',
+                  'dinf', 'stbl', 'meta', 'ilst', '----')
+
+SKIP_TAGS = {'meta':4 }
+
+
+class Mpeg4Audio(core.Music):
+
+    def __init__(self, file):
+        core.Music.__init__(self)
         self.valid = 0
         returnval = 0
         while returnval == 0:
@@ -58,7 +61,7 @@
             except ValueError:
                 returnval = 1
         if not self.valid:
-            raise mediainfo.KaaMetadataParseError()
+            raise core.ParseError()
 
 
     def readNextTag(self, file):
@@ -67,8 +70,8 @@
         if length < 0 or length > 1000:
             raise ValueError, "Oops?"
 
-        if name in self.containerTags:
-            self.read(self.skipTags.get(name, 0), file)
+        if name in CONTAINER_TAGS:
+            self.read(SKIP_TAGS.get(name, 0), file)
             data = '[container tag]'
         else:
             data = self.read(length, file)
@@ -103,4 +106,4 @@
         return struct.unpack('>I', self.read(4, file))[0]
 
 
-factory.register( 'application/m4a', ('m4a',), Mpeg4)
+core.register( 'application/m4a', ('m4a',), Mpeg4Audio)

Copied: trunk/metadata/src/audio/mp3.py (from r2235, 
/trunk/metadata/src/audio/eyed3info.py)
==============================================================================
--- /trunk/metadata/src/audio/eyed3info.py      (original)
+++ trunk/metadata/src/audio/mp3.py     Fri Dec 15 15:13:47 2006
@@ -1,6 +1,6 @@
 # -*- coding: iso-8859-1 -*-
 # -----------------------------------------------------------------------------
-# eyed3info.py - mp3 file parser using eyeD3
+# mp3.py - mp3 file parser using eyeD3
 # -----------------------------------------------------------------------------
 # $Id$
 #
@@ -36,15 +36,14 @@
 import logging
 import struct
 
-# kaa imports
-from kaa.metadata import mediainfo
-from kaa.metadata import factory
+# import kaa.metadata.audio core
+import core
+import ID3 as ID3
 
 # eyeD3 imports
 from eyeD3 import tag as eyeD3_tag
 from eyeD3 import frames as eyeD3_frames
 
-import id3 as id3info
 
 # get logging object
 log = logging.getLogger('metadata')
@@ -92,19 +91,19 @@
 
 _MP3_HEADER_SEEK_LIMIT = 4096
 
-class eyeD3Info(mediainfo.MusicInfo):
+class MP3(core.Music):
 
    fileName       = str();
    fileSize       = int();
 
    def __init__(self, file, tagVersion = eyeD3_tag.ID3_ANY_VERSION):
-      mediainfo.MusicInfo.__init__(self)
+      core.Music.__init__(self)
       self.fileName = file.name;
       self.codec = 0x0055 # fourcc code of mp3
       self.mime = 'audio/mp3'
 
       if not eyeD3_tag.isMp3File(file.name):
-         raise mediainfo.KaaMetadataParseError()
+         raise core.ParseError()
 
       id3 = None
       try:
@@ -114,7 +113,7 @@
             id3 = eyeD3_tag.Mp3AudioFile(file.name)
          except eyeD3_tag.InvalidAudioFormatException:
             # File is not an MP3
-            raise mediainfo.KaaMetadataParseError()
+            raise core.ParseError()
          except (KeyboardInterrupt, SystemExit):
             sys.exit(0)
          except:
@@ -139,7 +138,7 @@
                # again, not good
                if not re.compile(r'0*\xFF\xFA\xB0\x04$').search(s):
                   # that's it, it is no mp3 at all
-                  raise mediainfo.KaaMetadataParseError()
+                  raise core.ParseError()
 
       try:
          if id3 and id3.tag:
@@ -200,7 +199,7 @@
                      genre = tcon
                if genre is not None:
                   try:
-                     self.genre = id3info.GENRE_LIST[genre]
+                     self.genre = ID3.GENRE_LIST[genre]
                   except KeyError:
                      self.genre = str(genre)
             # and some tools store it as trackno/trackof in TRCK
@@ -300,4 +299,4 @@
       self._set('mode', _modes[mode])
 
 
-factory.register( 'audio/mp3', ('mp3',), eyeD3Info )
+core.register( 'audio/mp3', ('mp3',), MP3 )

Copied: trunk/metadata/src/audio/ogg.py (from r2235, 
/trunk/metadata/src/audio/ogginfo.py)
==============================================================================
--- /trunk/metadata/src/audio/ogginfo.py        (original)
+++ trunk/metadata/src/audio/ogg.py     Fri Dec 15 15:13:47 2006
@@ -1,6 +1,6 @@
 # -*- coding: iso-8859-1 -*-
 # -----------------------------------------------------------------------------
-# ogginfo.py - ogg file parser
+# ogg.py - ogg file parser
 # -----------------------------------------------------------------------------
 # $Id$
 #
@@ -36,9 +36,8 @@
 import struct
 import logging
 
-# kaa imports
-from kaa.metadata import mediainfo
-from kaa.metadata import factory
+# import kaa.metadata.audio core
+import core
 
 # get logging object
 log = logging.getLogger('metadata')
@@ -47,13 +46,13 @@
 VORBIS_PACKET_HEADER = '\03vorbis'
 VORBIS_PACKET_SETUP = '\05vorbis'
 
-class OggInfo(mediainfo.MusicInfo):
+class Ogg(core.Music):
     def __init__(self,file):
-        mediainfo.MusicInfo.__init__(self)
+        core.Music.__init__(self)
         h = file.read(4+1+1+20+1)
         if h[:5] != "OggS\00":
             log.info("Invalid header")
-            raise mediainfo.KaaMetadataParseError()
+            raise core.ParseError()
         if ord(h[5]) != 2:
             log.info("Invalid header type flag (trying to go ahead anyway)")
         self.pageSegCount = ord(h[-1])
@@ -62,7 +61,7 @@
         h = file.read(7)
         if h != VORBIS_PACKET_INFO:
             log.info("Wrong vorbis header type, giving up.")
-            raise mediainfo.KaaMetadataParseError()
+            raise core.ParseError()
 
         self.mime = 'application/ogg'
         header = {}
@@ -138,4 +137,4 @@
         return (granule_position / self.samplerate)
 
 
-factory.register( 'application/ogg', ('ogg',), OggInfo)
+core.register( 'application/ogg', ('ogg',), Ogg)

Copied: trunk/metadata/src/audio/pcm.py (from r2235, 
/trunk/metadata/src/audio/pcminfo.py)
==============================================================================
--- /trunk/metadata/src/audio/pcminfo.py        (original)
+++ trunk/metadata/src/audio/pcm.py     Fri Dec 15 15:13:47 2006
@@ -1,6 +1,6 @@
 # -*- coding: iso-8859-1 -*-
 # -----------------------------------------------------------------------------
-# pcminfo.py - pcm file parser
+# pcm.py - pcm file parser
 # -----------------------------------------------------------------------------
 # $Id$
 #
@@ -32,21 +32,20 @@
 # python imports
 import sndhdr
 
-# kaa imports
-from kaa.metadata import mediainfo
-from kaa.metadata import factory
+# import kaa.metadata.audio core
+import core
 
-class PCMInfo(mediainfo.AudioInfo):
+class PCM(core.Music):
     def __init__(self,file):
-       mediainfo.AudioInfo.__init__(self)
+       core.Music.__init__(self)
        t = self._what(file)
        if not t:
-           raise mediainfo.KaaMetadataParseError()
+           raise core.ParseError()
        (self.type, self.samplerate, self.channels, self.bitrate, \
         self.samplebits) = t
        if self.bitrate == -1:
            # doesn't look right
-           raise mediainfo.KaaMetadataParseError()
+           raise core.ParseError()
        self.mime = "audio/%s" % self.type
 
     def _what(self,f):
@@ -59,4 +58,4 @@
         return None
 
 
-factory.register( 'application/pcm', ('wav','aif','voc','au'), PCMInfo )
+core.register( 'application/pcm', ('wav','aif','voc','au'), PCM )

Copied: trunk/metadata/src/audio/webradio.py (from r2235, 
/trunk/metadata/src/audio/webradioinfo.py)
==============================================================================
--- /trunk/metadata/src/audio/webradioinfo.py   (original)
+++ trunk/metadata/src/audio/webradio.py        Fri Dec 15 15:13:47 2006
@@ -1,6 +1,6 @@
 # -*- coding: iso-8859-1 -*-
 # -----------------------------------------------------------------------------
-# webradioinfo.py - read webradio attributes
+# webradio.py - read webradio attributes
 # -----------------------------------------------------------------------------
 # $Id$
 #
@@ -34,9 +34,9 @@
 import string
 import urllib
 
-# kaa imports
-from kaa.metadata import mediainfo
-from kaa.metadata import factory
+# import kaa.metadata.audio core
+import core
+
 
 # http://205.188.209.193:80/stream/1006
 
@@ -46,16 +46,16 @@
         'icy-url': 'caption'
       }
 
-class WebRadioInfo(mediainfo.MusicInfo):
+class WebRadio(core.Music):
 
     table_mapping = { 'ICY' : ICY }
 
     def __init__(self, url):
-        mediainfo.MusicInfo.__init__(self)
+        core.Music.__init__(self)
         tup = urlparse.urlsplit(url)
         scheme, location, path, query, fragment = tup
         if scheme != 'http':
-            raise mediainfo.KaaMetadataParseError()
+            raise core.ParseError()
 
         # Open an URL Connection
         fi = urllib.urlopen(url)
@@ -71,7 +71,7 @@
         if statuslist[1] != "200":
             if fi:
                 fi.close()
-            raise mediainfo.KaaMetadataParseError()
+            raise core.ParseError()
 
         self.type = 'audio'
         self.subtype = 'mp3'
@@ -95,8 +95,8 @@
 
 
     def _finalize(self):
-        mediainfo.MusicInfo._finalize(self)
+        core.Music._finalize(self)
         self.bitrate = string.atoi(self.bitrate)*1000
 
 
-factory.register( 'text/plain', mediainfo.EXTENSION_STREAM, WebRadioInfo )
+core.register( 'text/plain', core.EXTENSION_STREAM, WebRadio )

Modified: trunk/metadata/src/disc/audioinfo.py
==============================================================================
--- trunk/metadata/src/disc/audioinfo.py        (original)
+++ trunk/metadata/src/disc/audioinfo.py        Fri Dec 15 15:13:47 2006
@@ -37,6 +37,7 @@
 import kaa.metadata
 from kaa.metadata import mediainfo
 from kaa.metadata import factory
+from kaa.audio.core import Music as MusicInfo
 
 # disc imports
 import discinfo
@@ -104,7 +105,7 @@
 
             if read_stat == 210:
                 for i in range(0, disc_id[1]):
-                    mi = mediainfo.MusicInfo()
+                    mi = MusicInfo()
                     mi.title = read_info['TTITLE' + `i`]
                     mi.album = self.title
                     mi.artist = self.artist
@@ -129,7 +130,7 @@
             log.error("failure getting disc info, status %i" % query_stat)
             self.no_caching = 1
             for i in range(0, disc_id[1]):
-                mi = mediainfo.MusicInfo()
+                mi = MusicInfo()
                 mi.title = 'Track %s' % (i+1)
                 mi.codec = 'PCM'
                 mi.samplerate = 44.1

Modified: trunk/metadata/src/factory.py
==============================================================================
--- trunk/metadata/src/factory.py       (original)
+++ trunk/metadata/src/factory.py       Fri Dec 15 15:13:47 2006
@@ -112,11 +112,11 @@
         This functions imports all known parser.
         """
         import mediainfo
-        import audio.ogginfo
-        import audio.m4ainfo
-        import audio.ac3info
-        import audio.pcminfo
-        import audio.adtsinfo
+        import audio.ogg
+        import audio.m4a
+        import audio.ac3
+        import audio.pcm
+        import audio.adts
         import video.riffinfo
         import video.mpeginfo
         import video.asfinfo
@@ -156,9 +156,9 @@
             if log.level < 30:
                 log.error(e)
 
-        import audio.eyed3info
-        import audio.webradioinfo
-        import audio.flacinfo
+        import audio.mp3
+        import audio.webradio
+        import audio.flac
 
         import games.gameboy
         import games.snes

Modified: trunk/metadata/src/mediainfo.py
==============================================================================
--- trunk/metadata/src/mediainfo.py     (original)
+++ trunk/metadata/src/mediainfo.py     Fri Dec 15 15:13:47 2006
@@ -302,28 +302,6 @@
             self.fourcc, self.codec = fourcc.resolve(self.codec)
 
 
-class MusicInfo(AudioInfo):
-    """
-    Digital Music.
-    """
-    _keys = AudioInfo._keys + MUSICCORE
-
-    def _finalize(self):
-        """
-        Correct same data based on specific rules
-        """
-        AudioInfo._finalize(self)
-        if self.trackof:
-            try:
-                # XXX Why is this needed anyway?
-                if int(self.trackno) < 10:
-                    self.trackno = u'0%s' % int(self.trackno)
-            except (KeyboardInterrupt, SystemExit):
-                sys.exit(0)
-            except:
-                pass
-
-
 class VideoInfo(MediaInfo):
     """
     Video Tracks in a Multiplexed Container.

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog

Reply via email to