Ejemplo n.º 1
0
def fixUpSMIGlobs(portal, out=None):
    from Products.MimetypesRegistry.mime_types import smi_mimetypes
    from Products.Archetypes.debug import log
    mtr = getToolByName(portal, 'mimetypes_registry')
    smi_mimetypes.initialize(mtr)

    # Now comes the fun part. For every glob, lookup a extension
    # matching the glob and unregister it.
    for glob in mtr.globs.keys():
        if mtr.extensions.has_key(glob):
            log('Found glob %s in extensions registry, removing.' % glob)
            mti = mtr.extensions[glob]
            del mtr.extensions[glob]
            if glob in mti.extensions:
                log('Found glob %s in mimetype %s extensions, '
                    'removing.' % (glob, mti))
                exts = list(mti.extensions)
                exts.remove(glob)
                mti.extensions = tuple(exts)
                mtr.register(mti)
Ejemplo n.º 2
0
def fixUpSMIGlobs(context, reinit=True):
    # This method is used both in migrations where we need the reinit and
    # during site creation, where the registry has already been initialized.
    mtr = getToolByName(context, 'mimetypes_registry')
    if reinit:
        smi_mimetypes.initialize(mtr)

    # Now comes the fun part. For every glob, lookup a extension
    # matching the glob and unregister it.
    for glob in mtr.globs.keys():
        if glob not in mtr.extensions:
            continue
        logger.debug('Found glob %s in extensions registry, removing.' % glob)
        mti = mtr.extensions[glob]
        del mtr.extensions[glob]
        if glob in mti.extensions:
            logger.debug('Found glob %s in mimetype %s extensions, '
                         'removing.' % (glob, mti))
            exts = list(mti.extensions)
            exts.remove(glob)
            mti.extensions = tuple(exts)
            mtr.register(mti)
Ejemplo n.º 3
0
def fixUpSMIGlobs(portal, out=None, reinit=True):
    # This method is used both in migrations where we need the reinit and
    # during site creation, where the registry has already been initialized.
    from Products.MimetypesRegistry.mime_types import smi_mimetypes
    mtr = getToolByName(portal, 'mimetypes_registry')
    if reinit:
        smi_mimetypes.initialize(mtr)

    # Now comes the fun part. For every glob, lookup a extension
    # matching the glob and unregister it.
    for glob in mtr.globs.keys():
        if mtr.extensions.has_key(glob):
            logger.debug('Found glob %s in extensions registry, removing.' % glob)
            mti = mtr.extensions[glob]
            del mtr.extensions[glob]
            if glob in mti.extensions:
                logger.debug('Found glob %s in mimetype %s extensions, '
                             'removing.' % (glob, mti))
                exts = list(mti.extensions)
                exts.remove(glob)
                mti.extensions = tuple(exts)
                mtr.register(mti)