__init__.py :  » Media-Sound-Audio » Media-Metadata-for-Python » mmpython-0.4.10 » Python Open Source

Home
Python Open Source
1.3.1.2 Python
2.Ajax
3.Aspect Oriented
4.Blog
5.Build
6.Business Application
7.Chart Report
8.Content Management Systems
9.Cryptographic
10.Database
11.Development
12.Editor
13.Email
14.ERP
15.Game 2D 3D
16.GIS
17.GUI
18.IDE
19.Installer
20.IRC
21.Issue Tracker
22.Language Interface
23.Log
24.Math
25.Media Sound Audio
26.Mobile
27.Network
28.Parser
29.PDF
30.Project Management
31.RSS
32.Search
33.Security
34.Template Engines
35.Test
36.UML
37.USB Serial
38.Web Frameworks
39.Web Server
40.Web Services
41.Web Unit
42.Wiki
43.Windows
44.XML
Python Open Source » Media Sound Audio » Media Metadata for Python 
Media Metadata for Python » mmpython 0.4.10 » __init__.py
#!/usr/bin/python
#if 0
# -----------------------------------------------------------------------
# $Id: __init__.py 382 2004-10-15 09:02:11Z dischi $
# -----------------------------------------------------------------------
# $Log$
# Revision 1.35  2004/10/15 09:02:11  dischi
# add ac3 parser
#
# Revision 1.34  2004/05/20 15:55:08  dischi
# add xml file detection
#
# Revision 1.33  2004/05/02 08:28:20  dischi
# dvd iso support
#
# Revision 1.32  2004/04/18 09:11:36  dischi
# improved lsdvd support
#
# Revision 1.31  2004/04/17 18:38:54  dischi
# add lsdvd parser to avoid problems with our own
#
# Revision 1.30  2004/01/31 12:24:39  dischi
# add basic matroska info
#
# Revision 1.29  2004/01/27 20:27:52  dischi
# remove cache, it does not belong in mmpython
#
# Revision 1.28  2004/01/03 17:44:04  dischi
# catch OSError in case the file is removed file scanning
#
# Revision 1.27  2003/11/24 20:30:17  dischi
# fix again, dvd may fail, but datadir may not
#
# Revision 1.26  2003/11/24 20:29:26  dischi
# resort to let dvd work again
#
# Revision 1.25  2003/11/07 13:58:52  dischi
# extra check for dvd
#
# Revision 1.24  2003/09/22 16:24:58  the_krow
# o added flac
# o try-except block around ioctl since it is not avaiable in all OS
#
# Revision 1.23  2003/09/14 13:50:42  dischi
# make it possible to scan extention based only
#
# Revision 1.22  2003/09/10 18:41:44  dischi
# add USE_NETWORK, maybe there is no network connection
#
# Revision 1.20  2003/08/26 13:16:41  outlyer
# Enabled m4a support
#
# Revision 1.19  2003/07/10 11:17:35  the_krow
# ogminfo is used to parse ogg files
#
# Revision 1.18  2003/07/01 21:07:42  dischi
# switch back to eyed3info
#
# Revision 1.17  2003/06/30 13:17:18  the_krow
# o Refactored mediainfo into factory, synchronizedobject
# o Parsers now register directly at mmpython not at mmpython.mediainfo
# o use mmpython.Factory() instead of mmpython.mediainfo.get_singleton()
# o Bugfix in PNG parser
# o Renamed disc.AudioInfo into disc.AudioDiscInfo
# o Renamed disc.DataInfo into disc.DataDiscInfo
#
# -----------------------------------------------------------------------
# MMPython - Media Metadata for Python
# Copyright (C) 2003 Thomas Schueppel, Dirk Meyer
#
# 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
# 
# -----------------------------------------------------------------------
#endif

# Do this stuff before importing the info instances since they 
# depend on this function

import factory

from synchronizedobject import SynchronizedObject

_factory = None

def Factory():
    global _factory

    # One-time init
    if _factory == None:
        _factory = SynchronizedObject(factory.Factory())
        
    return _factory

def registertype(mimetype,extensions,type,c):
    f = Factory()
    f.register(mimetype,extensions,type,c)    

def gettype(mimetype,extensions):
    f = Factory()
    return f.get(mimetype,extensions)    
    

# Okay Regular imports and code follow

import sys
import os
import mediainfo
#import audio.ogginfo
import audio.pcminfo
import audio.m4ainfo
import audio.ac3info
import video.riffinfo
import video.mpeginfo
import video.asfinfo
import video.movinfo
import image.jpginfo
import image.pnginfo
import image.tiffinfo
import image.ImageInfo
import video.vcdinfo
import video.realinfo
import video.ogminfo
import video.mkvinfo
import misc.xmlinfo

# import some disc modules (may fail)
try:
    import disc.discinfo
    import disc.vcdinfo
    import disc.audioinfo
except ImportError:
    pass

# find the best working DVD module
try:
    import disc.lsdvd
except ImportError:
    pass

try:
    import disc.dvdinfo
except ImportError:
    pass

# use fallback disc module
try:
    import disc.datainfo
except ImportError:
    pass

import audio.eyed3info
#import audio.mp3info
import audio.webradioinfo
import audio.flacinfo



USE_NETWORK     = 1


def parse(filename, ext_only = 0):
    """
    parse the file
    """
    return Factory().create(filename, ext_only)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.