def register_mimetype(self, mt, mimetype):
     major, minor = split(mt)
     if not major or not minor or minor == "*":
         raise MimeTypeException("Can't register mime type %s" % mt)
     group = self._mimetypes.setdefault(major, PersistentMapping())
     if minor in group:
         if group.get(minor) != mimetype:
             log("Warning: redefining mime type %s (%s)" % (mt, mimetype.__class__))
     group[minor] = mimetype
Esempio n. 2
0
 def register_mimetype(self, mt, mimetype):
     major, minor = split(mt)
     if not major or not minor or minor == '*':
         raise MimeTypeException('Can\'t register mime type %s' % mt)
     group = self._mimetypes.setdefault(major, PersistentMapping())
     if minor in group:
         if group.get(minor) != mimetype:
             log('Warning: redefining mime type %s (%s)' %
                 (mt, mimetype.__class__))
     group[minor] = mimetype
Esempio n. 3
0
 def register_mimetype(self, mt, mimetype):
     major, minor = split(mt)
     if not major or not minor or minor == '*':
         raise MimeTypeException('Can\'t register mime type %s' % mt)
     group = self._mimetypes.setdefault(major, PersistentMapping())
     if group.has_key(minor):
         if group.get(minor) != mimetype:
             log('Warning: redefining mime type %s (%s)' % (
                 mt, mimetype.__class__))
     group[minor] = mimetype
Esempio n. 4
0
    def register_extension(self, extension, mimetype):
        """ Associate a file's extension to a IMimetype

        extension is a string representing a file extension (not
        prefixed by a dot) mimetype must implement IMimetype
        """
        mimetype = aq_base(mimetype)
        if extension in self.extensions:
            if self.extensions.get(extension) != mimetype:
                log('Warning: redefining extension %s from %s to %s' %
                    (extension, self.extensions[extension], mimetype))
        # we don't validate fmt yet, but its ["txt", "html"]
        self.extensions[extension] = mimetype
Esempio n. 5
0
    def register_extension(self, extension, mimetype):
        """ Associate a file's extension to a IMimetype

        extension is a string representing a file extension (not
        prefixed by a dot) mimetype must implement IMimetype
        """
        mimetype = aq_base(mimetype)
        if self.extensions.has_key(extension):
            if self.extensions.get(extension) != mimetype:
                log('Warning: redefining extension %s from %s to %s' % (
                    extension, self.extensions[extension], mimetype))
        # we don't validate fmt yet, but its ["txt", "html"]
        self.extensions[extension] = mimetype
    def register_glob(self, glob, mimetype):
        """ Associate a glob to a IMimetype

        glob is a shell-like glob that will be translated to a regex
        to match against whole filename.
        mimetype must implement IMimetype.
        """
        globs = getattr(self, "globs", None)
        if globs is None:
            self.globs = globs = OOBTree()
        mimetype = aq_base(mimetype)
        existing = globs.get(glob)
        if existing is not None:
            regex, mt = existing
            if mt != mimetype:
                log("Warning: redefining glob %s from %s to %s" % (glob, mt, mimetype))
        # we don't validate fmt yet, but its ["txt", "html"]
        pattern = re.compile(fnmatch.translate(glob))
        globs[glob] = (pattern, mimetype)
Esempio n. 7
0
    def register_glob(self, glob, mimetype):
        """ Associate a glob to a IMimetype

        glob is a shell-like glob that will be translated to a regex
        to match against whole filename.
        mimetype must implement IMimetype.
        """
        globs = getattr(self, 'globs', None)
        if globs is None:
            self.globs = globs = OOBTree()
        mimetype = aq_base(mimetype)
        existing = globs.get(glob)
        if existing is not None:
            regex, mt = existing
            if mt != mimetype:
                log('Warning: redefining glob %s from %s to %s' %
                    (glob, mt, mimetype))
        # we don't validate fmt yet, but its ["txt", "html"]
        pattern = re.compile(fnmatch.translate(glob))
        globs[glob] = (pattern, mimetype)