Author: tack
Date: Wed Mar 21 19:49:31 2007
New Revision: 2578

Modified:
   trunk/metadata/src/__init__.py
   trunk/metadata/src/audio/ac3.py
   trunk/metadata/src/audio/adts.py
   trunk/metadata/src/audio/core.py
   trunk/metadata/src/audio/eyeD3/tag.py
   trunk/metadata/src/audio/flac.py
   trunk/metadata/src/audio/m4a.py
   trunk/metadata/src/audio/mp3.py
   trunk/metadata/src/audio/ogg.py
   trunk/metadata/src/audio/pcm.py
   trunk/metadata/src/audio/webradio.py
   trunk/metadata/src/disc/audio.py
   trunk/metadata/src/disc/core.py
   trunk/metadata/src/disc/data.py
   trunk/metadata/src/disc/dvd.py
   trunk/metadata/src/disc/vcd.py
   trunk/metadata/src/factory.py
   trunk/metadata/src/games/core.py
   trunk/metadata/src/games/gameboy.py
   trunk/metadata/src/games/snes.py
   trunk/metadata/src/image/bmp.py
   trunk/metadata/src/image/core.py
   trunk/metadata/src/image/gif.py
   trunk/metadata/src/image/jpg.py
   trunk/metadata/src/image/png.py
   trunk/metadata/src/image/tiff.py
   trunk/metadata/src/misc/directory.py
   trunk/metadata/src/misc/xmlfile.py
   trunk/metadata/src/video/asf.py
   trunk/metadata/src/video/core.py
   trunk/metadata/src/video/flv.py
   trunk/metadata/src/video/mkv.py
   trunk/metadata/src/video/mp4.py
   trunk/metadata/src/video/mpeg.py
   trunk/metadata/src/video/ogm.py
   trunk/metadata/src/video/real.py
   trunk/metadata/src/video/riff.py
   trunk/metadata/src/video/vcd.py

Log:
Import parsers on-demand -- significantly speeds up startup time when the
correct parsers can be discovered by file extensions; ignore DTDs in XML
files; MP3 parser should not fail just because file extension is not .mp3


Modified: trunk/metadata/src/__init__.py
==============================================================================
--- trunk/metadata/src/__init__.py      (original)
+++ trunk/metadata/src/__init__.py      Wed Mar 21 19:49:31 2007
@@ -35,8 +35,51 @@
 
 from core import Media, MEDIA_AUDIO, MEDIA_VIDEO, MEDIA_IMAGE, \
      MEDIA_AV, MEDIA_SUBTITLE, MEDIA_CONTAINER, MEDIA_DIRECTORY, MEDIA_DISC, \
-     MEDIA_GAME
-
+     MEDIA_GAME, EXTENSION_STREAM, EXTENSION_DEVICE, EXTENSION_DIRECTORY
 
 # use network functions
 USE_NETWORK = 1
+
+# Audio parsers
+register('audio/mpeg', ('mp3',), 'audio.mp3.MP3')
+register('audio/ac3', ('ac3',), 'audio.ac3.AC3')
+register('application/adts', ('aac',), 'audio.adts.ADTS')
+register('application/flac', ('flac',), 'audio.flac.Flac')
+register('audio/m4a', ('m4a',), 'audio.m4a.Mpeg4Audio')
+register('application/ogg', ('ogg',), 'audio.ogg.Ogg')
+register('application/pcm', ('aif','voc','au'), 'audio.pcm.PCM')
+register('text/plain', EXTENSION_STREAM, 'audio.webradio.WebRadio')
+
+# Video parsers
+register('video/asf', ('asf','wmv','wma'), 'video.asf.Asf')
+register('video/flv', ('flv',), 'video.flv.FlashVideo')
+register('application/mkv', ('mkv', 'mka'), 'video.mkv.Matroska')
+register('video/quicktime', ('mov', 'qt', 'mp4', 'mp4a', '3gp', '3gp2', 
'mk2'), 'video.mp4.MPEG4')
+register('video/mpeg', ('mpeg','mpg','mp4', 'ts'), 'video.mpeg.MPEG')
+register('application/ogg', ('ogm', 'ogg'), 'video.ogm.Ogm')
+register('video/real', ('rm', 'ra', 'ram'), 'video.real.RealVideo')
+register('video/avi', ('wav','avi'), 'video.riff.Riff')
+register('video/vcd', ('cue',), 'video.vcd.VCDFile')
+
+# Disc parsers
+register('audio/cd', EXTENSION_DEVICE, 'disc.audio.AudioDisc')
+register('cd/unknown', EXTENSION_DEVICE, 'disc.data.DataDisc')
+register('video/dvd', EXTENSION_DEVICE, 'disc.dvd.DVDInfo')
+register('video/dvd', EXTENSION_DIRECTORY, 'disc.dvd.DVDInfo')
+register('video/dvd', ('iso',), 'disc.dvd.DVDInfo')
+register('video/vcd', EXTENSION_DEVICE, 'disc.vcd.VCD')
+
+# Image parsers
+register('image/bmp', ('bmp', ), 'image.bmp.BMP')
+register('image/gif', ('gif', ), 'image.gif.GIF')
+register('image/jpeg', ('jpg','jpeg'), 'image.jpg.JPG')
+register('image/png', ('png',), 'image.png.PNG')
+register('image/tiff', ('tif','tiff'), 'image.tiff.TIFF')
+
+# Games parsers
+register('games/gameboy', ('gba', 'gb', 'gbc'), 'games.gameboy.Gameboy')
+register('games/snes', ('smc', 'sfc', 'fig'), 'games.snes.SNES')
+
+# Misc parsers
+register('directory', EXTENSION_DIRECTORY, 'misc.directory.Directory')
+register('text/xml', ('xml', 'fxd', 'html', 'htm'), 'misc.xmlfile.XML')

Modified: trunk/metadata/src/audio/ac3.py
==============================================================================
--- trunk/metadata/src/audio/ac3.py     (original)
+++ trunk/metadata/src/audio/ac3.py     Wed Mar 21 19:49:31 2007
@@ -155,6 +155,3 @@
             self.channels += 1
         self.codec = 0x2000 # fourcc code of ac3
         self.mime = 'audio/ac3'
-
-
-core.register( 'audio/ac3', ('ac3',), AC3 )

Modified: trunk/metadata/src/audio/adts.py
==============================================================================
--- trunk/metadata/src/audio/adts.py    (original)
+++ trunk/metadata/src/audio/adts.py    Wed Mar 21 19:49:31 2007
@@ -74,6 +74,3 @@
        if header[0] != 255 or (header[1] >> 4) != 15:
            raise core.ParseError()
        self.mime = 'audio/aac'
-       
-       
-core.register( 'application/adts', ('aac',), ADTS )

Modified: trunk/metadata/src/audio/core.py
==============================================================================
--- trunk/metadata/src/audio/core.py    (original)
+++ trunk/metadata/src/audio/core.py    Wed Mar 21 19:49:31 2007
@@ -29,9 +29,7 @@
 #
 # -----------------------------------------------------------------------------
 
-from kaa.metadata.core import ParseError, Media, MEDIA_AUDIO, \
-     EXTENSION_STREAM
-from kaa.metadata.factory import register
+from kaa.metadata.core import ParseError, Media, MEDIA_AUDIO
 
 AUDIOCORE = ['channels', 'samplerate', 'length', 'encoder', 'codec', 'format',
              'samplebits', 'bitrate', 'fourcc', 'trackno', 'id' ]

Modified: trunk/metadata/src/audio/eyeD3/tag.py
==============================================================================
--- trunk/metadata/src/audio/eyeD3/tag.py       (original)
+++ trunk/metadata/src/audio/eyeD3/tag.py       Wed Mar 21 19:49:31 2007
@@ -1573,8 +1573,9 @@
    def __init__(self, fileName, tagVersion = ID3_ANY_VERSION):
       TagFile.__init__(self, fileName);
 
-      if not isMp3File(fileName):
-         raise self.invalidFileExc;
+      # isMp3File is naive checks file extension only.
+      #if not isMp3File(fileName):
+      #   raise self.invalidFileExc;
 
       # Parse ID3 tag.
       f = file(self.fileName, "rb");

Modified: trunk/metadata/src/audio/flac.py
==============================================================================
--- trunk/metadata/src/audio/flac.py    (original)
+++ trunk/metadata/src/audio/flac.py    Wed Mar 21 19:49:31 2007
@@ -112,6 +112,3 @@
     def _extractHeaderString(self,header):
         len = struct.unpack( '<I', header[:4] )[0]
         return (len+4,unicode(header[4:4+len], 'utf-8'))
-
-
-core.register( 'application/flac', ('flac',), Flac )

Modified: trunk/metadata/src/audio/m4a.py
==============================================================================
--- trunk/metadata/src/audio/m4a.py     (original)
+++ trunk/metadata/src/audio/m4a.py     Wed Mar 21 19:49:31 2007
@@ -180,6 +180,3 @@
                 returnval = 1
         if not self.valid:
             raise core.ParseError()
-
-
-core.register( 'audio/m4a', ('m4a',), Mpeg4Audio)

Modified: trunk/metadata/src/audio/mp3.py
==============================================================================
--- trunk/metadata/src/audio/mp3.py     (original)
+++ trunk/metadata/src/audio/mp3.py     Wed Mar 21 19:49:31 2007
@@ -102,13 +102,13 @@
       self.codec = 0x0055 # fourcc code of mp3
       self.mime = 'audio/mpeg'
 
-      if not eyeD3_tag.isMp3File(file.name):
-         raise core.ParseError()
+      #if not eyeD3_tag.isMp3File(file.name):
+      #   raise core.ParseError()
 
       id3 = None
       try:
          id3 = eyeD3_tag.Mp3AudioFile(file.name)
-      except eyeD3_tag.TagException:
+      except (eyeD3_tag.TagException, eyeD3_tag.InvalidAudioFormatException):
          try:
             id3 = eyeD3_tag.Mp3AudioFile(file.name)
          except eyeD3_tag.InvalidAudioFormatException:
@@ -301,6 +301,3 @@
          return
 
       self._set('mode', _modes[mode])
-
-
-core.register( 'audio/mpeg', ('mp3',), MP3 )

Modified: trunk/metadata/src/audio/ogg.py
==============================================================================
--- trunk/metadata/src/audio/ogg.py     (original)
+++ trunk/metadata/src/audio/ogg.py     Wed Mar 21 19:49:31 2007
@@ -136,6 +136,3 @@
             log.debug("granule = %d / %d" % (granule_position, absPos))
         # the last one is the one we are interested in
         return (granule_position / self.samplerate)
-
-
-core.register( 'application/ogg', ('ogg',), Ogg)

Modified: trunk/metadata/src/audio/pcm.py
==============================================================================
--- trunk/metadata/src/audio/pcm.py     (original)
+++ trunk/metadata/src/audio/pcm.py     Wed Mar 21 19:49:31 2007
@@ -56,6 +56,3 @@
             if res:
                 return res
         return None
-
-
-core.register( 'application/pcm', ('aif','voc','au'), PCM )

Modified: trunk/metadata/src/audio/webradio.py
==============================================================================
--- trunk/metadata/src/audio/webradio.py        (original)
+++ trunk/metadata/src/audio/webradio.py        Wed Mar 21 19:49:31 2007
@@ -97,6 +97,3 @@
     def _finalize(self):
         core.Music._finalize(self)
         self.bitrate = string.atoi(self.bitrate)*1000
-
-
-core.register( 'text/plain', core.EXTENSION_STREAM, WebRadio )

Modified: trunk/metadata/src/disc/audio.py
==============================================================================
--- trunk/metadata/src/disc/audio.py    (original)
+++ trunk/metadata/src/disc/audio.py    Wed Mar 21 19:49:31 2007
@@ -171,6 +171,3 @@
                 t.title = t.title[len(self.title):].lstrip('/ \t-_')
 
         cdromfd.close()
-
-
-core.register( 'audio/cd', core.EXTENSION_DEVICE, AudioDisc )

Modified: trunk/metadata/src/disc/core.py
==============================================================================
--- trunk/metadata/src/disc/core.py     (original)
+++ trunk/metadata/src/disc/core.py     Wed Mar 21 19:49:31 2007
@@ -34,9 +34,7 @@
 import logging
 
 # kaa imports
-from kaa.metadata.core import ParseError, Collection, EXTENSION_DEVICE, \
-     EXTENSION_DIRECTORY, MEDIA_DISC
-from kaa.metadata.factory import register
+from kaa.metadata.core import ParseError, Collection, MEDIA_DISC
 from kaa.metadata.video.core import VideoStream
 
 # extra cdrom parser

Modified: trunk/metadata/src/disc/data.py
==============================================================================
--- trunk/metadata/src/disc/data.py     (original)
+++ trunk/metadata/src/disc/data.py     Wed Mar 21 19:49:31 2007
@@ -42,5 +42,3 @@
         self.type = 'CD'
         self.subtype = 'data'
 
-
-core.register( 'cd/unknown', core.EXTENSION_DEVICE, DataDisc )

Modified: trunk/metadata/src/disc/dvd.py
==============================================================================
--- trunk/metadata/src/disc/dvd.py      (original)
+++ trunk/metadata/src/disc/dvd.py      Wed Mar 21 19:49:31 2007
@@ -207,8 +207,3 @@
 
         # OK, try libdvdread
         self._parse(f.name)
-
-
-core.register( 'video/dvd', core.EXTENSION_DEVICE, DVDInfo )
-core.register('video/dvd', core.EXTENSION_DIRECTORY, DVDInfo)
-core.register('video/dvd', ['iso'], DVDInfo)

Modified: trunk/metadata/src/disc/vcd.py
==============================================================================
--- trunk/metadata/src/disc/vcd.py      (original)
+++ trunk/metadata/src/disc/vcd.py      Wed Mar 21 19:49:31 2007
@@ -93,6 +93,3 @@
             num += 1
             lmin, lsec = min, sec
         device.close()
-
-
-core.register( 'video/vcd', core.EXTENSION_DEVICE, VCD )

Modified: trunk/metadata/src/factory.py
==============================================================================
--- trunk/metadata/src/factory.py       (original)
+++ trunk/metadata/src/factory.py       Wed Mar 21 19:49:31 2007
@@ -65,7 +65,6 @@
     # One-time init
     if _factory == None:
         _factory = _Factory()
-        _factory.import_parser()
     return _factory
 
 
@@ -93,6 +92,11 @@
     return result
 
 
+class NullParser(object):
+    def __init__(self, file):
+        raise core.ParseError
+
+
 class _Factory:
     """
     Abstract Factory for the creation of Media instances. The different
@@ -101,50 +105,27 @@
     def __init__(self):
         self.extmap = {}
         self.mimemap = {}
+        self.classmap = {}
         self.types = []
         self.device_types = []
         self.directory_types = []
         self.stream_types = []
 
 
-    def import_parser(self):
-        """
-        This functions imports all known parser.
-        """
-        import audio.ogg
-        import audio.m4a
-        import audio.ac3
-        import audio.pcm
-        import audio.adts
-        import video.riff
-        import video.mpeg
-        import video.asf
-        import video.mp4
-        import video.flv
-        import image.jpg
-        import image.png
-        import image.tiff
-        import image.bmp
-        import image.gif
-        import video.vcd
-        import video.real
-        import video.ogm
-        import video.mkv
-        import misc.xmlfile
-
-        import disc.vcd
-        import disc.audio
-        import disc.dvd
-        import disc.data
-
-        import audio.mp3
-        import audio.webradio
-        import audio.flac
+    def get_class(self, name):
+        if name not in self.classmap:
+            # Import the parser class for the given name.
+            modname, clsname = name.rsplit('.', 1)
+            # FIXME: why aren't relative imports working?
+            try:
+                module = __import__('kaa.metadata.' + modname, [], [], 
[clsname])
+                self.classmap[name] = getattr(module, clsname)
+            except:
+                log.exception('Error importing parser')
+                self.classmap[name] = NullParser
 
-        import games.gameboy
-        import games.snes
+        return self.classmap[name]
 
-        import misc.directory
 
     def get_scheme_from_info(self, info):
         import disc.dvd
@@ -165,7 +146,7 @@
             log.debug("trying ext %s" % e[1:])
             file.seek(0,0)
             try:
-                parser = self.extmap[e[1:]][R_CLASS]
+                parser = self.get_class(self.extmap[e[1:]][R_CLASS])
                 return parser(file)
             except core.ParseError:
                 pass
@@ -181,13 +162,13 @@
         log.info('No Type found by Extension. Trying all')
 
         for e in self.types:
-            if e[R_CLASS] == parser:
+            if self.get_class(e[R_CLASS]) == parser:
                 # We already tried this parser, don't bother again.
                 continue
             log.debug('trying %s' % e[R_MIMETYPE])
             file.seek(0,0)
             try:
-                return e[R_CLASS](file)
+                return self.get_class(e[R_CLASS])(file)
             except (KeyboardInterrupt, SystemExit):
                 sys.exit(0)
             except:
@@ -220,7 +201,7 @@
             for e in self.stream_types:
                 log.debug('Trying %s' % e[R_MIMETYPE])
                 try:
-                    return e[R_CLASS](url)
+                    return self.get_class(e[R_CLASS])(url)
                 except core.ParseError:
                     pass
                 except (KeyboardInterrupt, SystemExit):
@@ -243,7 +224,7 @@
             log.debug("Trying %s" % mime)
             if self.mimemap.has_key(mime):
                 try:
-                    return self.mimemap[mime][R_CLASS](file)
+                    return self.get_class(self.mimemap[mime][R_CLASS])(file)
                 except core.ParseError:
                     pass
                 except (KeyboardInterrupt, SystemExit):
@@ -282,7 +263,7 @@
         for e in self.device_types:
             log.debug('Trying %s' % e[R_MIMETYPE])
             try:
-                t = e[R_CLASS](devicename)
+                t = self.get_class(e[R_CLASS])(devicename)
                 t.url = '%s://%s' % (self.get_scheme_from_info(t), 
os.path.abspath(devicename))
                 return t
             except core.ParseError:
@@ -299,7 +280,7 @@
         for e in self.directory_types:
             log.debug('Trying %s' % e[R_MIMETYPE])
             try:
-                return e[R_CLASS](dirname)
+                return self.get_class(e[R_CLASS])(dirname)
             except core.ParseError:
                 pass
             except (KeyboardInterrupt, SystemExit):
@@ -368,5 +349,5 @@
 
         for info in l:
             if info[R_MIMETYPE] == mimetype and info[R_EXTENSION] == 
extensions:
-                return info[R_CLASS]
+                return self.get_class(info[R_CLASS])
         return None

Modified: trunk/metadata/src/games/core.py
==============================================================================
--- trunk/metadata/src/games/core.py    (original)
+++ trunk/metadata/src/games/core.py    Wed Mar 21 19:49:31 2007
@@ -30,7 +30,6 @@
 # -----------------------------------------------------------------------------
 
 from kaa.metadata.core import ParseError, Media, MEDIA_GAME
-from kaa.metadata.factory import register
 
 class Game(Media):
     media = MEDIA_GAME

Modified: trunk/metadata/src/games/gameboy.py
==============================================================================
--- trunk/metadata/src/games/gameboy.py (original)
+++ trunk/metadata/src/games/gameboy.py Wed Mar 21 19:49:31 2007
@@ -93,5 +93,3 @@
             # Check that the Fized Value is 0x96, if not then error.
             if file.read(1) != '\x96':
                 raise core.ParseError()
-
-core.register( 'games/gameboy', ('gba', 'gb', 'gbc', ), Gameboy )

Modified: trunk/metadata/src/games/snes.py
==============================================================================
--- trunk/metadata/src/games/snes.py    (original)
+++ trunk/metadata/src/games/snes.py    Wed Mar 21 19:49:31 2007
@@ -94,6 +94,3 @@
             # not detected as rom
             raise core.ParseError()
         self.title = romName.strip()
-
-
-core.register( 'games/snes', ('smc', 'sfc', 'fig', ), SNES )

Modified: trunk/metadata/src/image/bmp.py
==============================================================================
--- trunk/metadata/src/image/bmp.py     (original)
+++ trunk/metadata/src/image/bmp.py     Wed Mar 21 19:49:31 2007
@@ -56,6 +56,3 @@
 
         if bfType != 'BM' or bfSize != file.tell():
             raise core.ParseError()
-
-
-core.register( 'image/bmp', ('bmp', ), BMP )

Modified: trunk/metadata/src/image/core.py
==============================================================================
--- trunk/metadata/src/image/core.py    (original)
+++ trunk/metadata/src/image/core.py    Wed Mar 21 19:49:31 2007
@@ -37,7 +37,6 @@
 import xml.sax
 
 # kaa.metadata imports
-from kaa.metadata.factory import register
 from kaa.metadata.core import ParseError, Media, MEDIA_IMAGE
 
 # get logging object

Modified: trunk/metadata/src/image/gif.py
==============================================================================
--- trunk/metadata/src/image/gif.py     (original)
+++ trunk/metadata/src/image/gif.py     Wed Mar 21 19:49:31 2007
@@ -55,6 +55,3 @@
             raise core.ParseError()
 
         self.type = gifType.lower()
-
-
-core.register( 'image/gif', ('gif', ), GIF )

Modified: trunk/metadata/src/image/jpg.py
==============================================================================
--- trunk/metadata/src/image/jpg.py     (original)
+++ trunk/metadata/src/image/jpg.py     Wed Mar 21 19:49:31 2007
@@ -169,5 +169,3 @@
         for key, value in self.meta.items():
             if key.startswith('Thumb:') or key == 'Software':
                 self._set(key, value)
-
-core.register( 'image/jpeg', ('jpg','jpeg'), JPG )

Modified: trunk/metadata/src/image/png.py
==============================================================================
--- trunk/metadata/src/image/png.py     (original)
+++ trunk/metadata/src/image/png.py     Wed Mar 21 19:49:31 2007
@@ -122,5 +122,3 @@
         if key is not None and key.lower() == "comment":
             self.comment = self.meta[key]
         return 1
-
-core.register( 'image/png', ('png',), PNG )

Modified: trunk/metadata/src/image/tiff.py
==============================================================================
--- trunk/metadata/src/image/tiff.py    (original)
+++ trunk/metadata/src/image/tiff.py    Wed Mar 21 19:49:31 2007
@@ -110,6 +110,3 @@
 
         if iptc:
             self._appendtable('IPTC', iptc)
-
-
-core.register( 'image/tiff', ('tif','tiff'), TIFF)

Modified: trunk/metadata/src/misc/directory.py
==============================================================================
--- trunk/metadata/src/misc/directory.py        (original)
+++ trunk/metadata/src/misc/directory.py        Wed Mar 21 19:49:31 2007
@@ -81,6 +81,3 @@
                         self._set('image', image)
                     continue
                 self._set(key, value)
-
-# register to kaa.metadata core
-factory.register('directory', core.EXTENSION_DIRECTORY, Directory)

Modified: trunk/metadata/src/misc/xmlfile.py
==============================================================================
--- trunk/metadata/src/misc/xmlfile.py  (original)
+++ trunk/metadata/src/misc/xmlfile.py  Wed Mar 21 19:49:31 2007
@@ -71,6 +71,7 @@
         handler = xml.sax.ContentHandler()
         handler.startElement = self.startElement
         parser = xml.sax.make_parser()
+        
parser.setFeature('http://xml.org/sax/features/external-general-entities', 
False)
         parser.setContentHandler(handler)
         try:
             parser.parse(file)
@@ -86,5 +87,3 @@
         else:
             self.type = 'XML file'
         raise Identified
-        
-factory.register( 'text/xml', ('xml', 'fxd', 'html', 'htm'), XML )

Modified: trunk/metadata/src/video/asf.py
==============================================================================
--- trunk/metadata/src/video/asf.py     (original)
+++ trunk/metadata/src/video/asf.py     Wed Mar 21 19:49:31 2007
@@ -370,7 +370,3 @@
                 u = "%.8X-%.4X-%.4X-%.2X%.2X-%s" % guid
                 log.debug("unknown: %s [%d]" % (u, objsize))
         return r
-
-
-
-core.register( 'video/asf', ('asf','wmv','wma'), Asf)

Modified: trunk/metadata/src/video/core.py
==============================================================================
--- trunk/metadata/src/video/core.py    (original)
+++ trunk/metadata/src/video/core.py    Wed Mar 21 19:49:31 2007
@@ -32,7 +32,6 @@
 from kaa.metadata.core import ParseError, Media, MEDIA_VIDEO, \
      MEDIA_SUBTITLE, MEDIA_AV, MEDIA_AUDIO, MEDIA_AV, Collection
 
-from kaa.metadata.factory import register
 from kaa.metadata.audio.core import Audio as AudioStream
 
 

Modified: trunk/metadata/src/video/flv.py
==============================================================================
--- trunk/metadata/src/video/flv.py     (original)
+++ trunk/metadata/src/video/flv.py     Wed Mar 21 19:49:31 2007
@@ -175,6 +175,3 @@
 
         log.info('unknown code: %x. Stop metadata parser', ord(data[0]))
         return 0, None
-
-    
-core.register( 'video/flv', ('flv',), FlashVideo )

Modified: trunk/metadata/src/video/mkv.py
==============================================================================
--- trunk/metadata/src/video/mkv.py     (original)
+++ trunk/metadata/src/video/mkv.py     Wed Mar 21 19:49:31 2007
@@ -604,5 +604,3 @@
             self.thumbnail = data
 
         log.debug('Attachment "%s" found' % name)
-
-core.register( 'application/mkv', ('mkv', 'mka',), Matroska )

Modified: trunk/metadata/src/video/mp4.py
==============================================================================
--- trunk/metadata/src/video/mp4.py     (original)
+++ trunk/metadata/src/video/mp4.py     Wed Mar 21 19:49:31 2007
@@ -358,7 +358,3 @@
                 return 0
 
         return atomsize
-
-
-exts = ('mov', 'qt', 'mp4', 'mp4a', '3gp', '3gp2', 'mk2')
-core.register( 'video/quicktime', exts, MPEG4)

Modified: trunk/metadata/src/video/mpeg.py
==============================================================================
--- trunk/metadata/src/video/mpeg.py    (original)
+++ trunk/metadata/src/video/mpeg.py    Wed Mar 21 19:49:31 2007
@@ -856,6 +856,3 @@
 
         file.close()
         log.debug('done scanning file')
-
-
-core.register( 'video/mpeg', ('mpeg','mpg','mp4', 'ts'), MPEG )

Modified: trunk/metadata/src/video/ogm.py
==============================================================================
--- trunk/metadata/src/video/ogm.py     (original)
+++ trunk/metadata/src/video/ogm.py     Wed Mar 21 19:49:31 2007
@@ -304,6 +304,3 @@
         except (KeyError, IndexError, UnicodeDecodeError):
             return (len+4,None)
 
-
-
-core.register( 'application/ogg', ('ogm', 'ogg',), Ogm )

Modified: trunk/metadata/src/video/real.py
==============================================================================
--- trunk/metadata/src/video/real.py    (original)
+++ trunk/metadata/src/video/real.py    Wed Mar 21 19:49:31 2007
@@ -106,6 +106,3 @@
             pos += copyright_len+2
             (comment_len,) = struct.unpack('>H', s[pos:pos+2])
             self.comment = s[pos+2:pos+comment_len+2]
-
-
-core.register( 'video/real', ('rm', 'ra', 'ram'), RealVideo )

Modified: trunk/metadata/src/video/riff.py
==============================================================================
--- trunk/metadata/src/video/riff.py    (original)
+++ trunk/metadata/src/video/riff.py    Wed Mar 21 19:49:31 2007
@@ -567,5 +567,3 @@
             log.debug("Bad or broken avi")
             return False
         return True
-
-core.register( 'video/avi', ('wav','avi',), Riff )

Modified: trunk/metadata/src/video/vcd.py
==============================================================================
--- trunk/metadata/src/video/vcd.py     (original)
+++ trunk/metadata/src/video/vcd.py     Wed Mar 21 19:49:31 2007
@@ -90,6 +90,3 @@
                     else:
                         vi.codec = 'MPEG2'
                     self.tracks.append(vi)
-
-
-core.register( 'video/vcd', ('cue',), VCDFile )

-------------------------------------------------------------------------
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