def _identify(obj):
     obj.info = {}
     for detector in iter_detectors():
         tool = detector(obj.filename)
         tool.detect()
         obj.info[len(obj.info)] = tool.info
         obj.mimetype = mimetype
         obj.version = version
Exemplo n.º 2
0
    def _identify(self):
        """Identify file format and version."""
        self.info = {}
        for detector in iter_detectors():
            tool = detector(self.filename, self._given_mimetype,
                            self._given_version)
            self._update_filetype(tool)

        # Unless version is given by the user, PDF files should be scrutinized
        # further to determine if they are PDF/A
        if (self.mimetype == "application/pdf"
                and not (self._given_mimetype and self._given_version)):
            vera_detector = VerapdfDetector(self.filename)
            self._update_filetype(vera_detector)
Exemplo n.º 3
0
 def _identify(self):
     """Identify file format and version."""
     self.info = {}
     for detector in iter_detectors():
         tool = detector(self.filename)
         tool.detect()
         self.info[len(self.info)] = tool.info
         important = tool.get_important()
         if self.mimetype in LOSE:
             self.mimetype = tool.mimetype
         if self.mimetype == tool.mimetype and \
                 self.version in LOSE:
             self.version = tool.version
         if 'mimetype' in important and \
                 important['mimetype'] is not None:
             self.mimetype = important['mimetype']
         if 'version' in important and \
                 important['version'] is not None:
             self.mimetype = important['version'][self.mimetype]
Exemplo n.º 4
0
    def _identify(self):
        """Identify file format and version.
        """
        self.info = {}
        _mime = self._predefined_mimetype
        _version = self._predefined_version
        self._params["detected_mimetype"] = UNAV
        self._params["detected_version"] = UNAV
        for detector in iter_detectors():
            tool = detector(self.filename, _mime, _version)
            self._update_filetype(tool)

        # PDF files should always be scrutinized further to determine if
        # they are PDF/A
        if self._predefined_mimetype == "application/pdf":
            vera_detector = VerapdfDetector(self.filename)
            self._update_filetype(vera_detector)

        if MagicCharset.is_supported(self._predefined_mimetype) and \
                self._params.get("charset", None) is None:
            charset_detector = MagicCharset(self.filename)
            charset_detector.detect()
            self._params["charset"] = charset_detector.charset
Exemplo n.º 5
0
def test_iter_detectors():
    """Test detector discovery."""
    detectors = iter_detectors()
    assert {x.__name__
            for x in detectors
            } == set(["FidoDetector", "MagicDetector", "PredefinedDetector"])
Exemplo n.º 6
0
def test_iter_detectors():
    """Test detector discovery."""
    detectors = iter_detectors()
    assert set([x.__name__
                for x in detectors]) == set(["FidoDetector", "MagicDetector"])