Exemplo n.º 1
0
Arquivo: util.py Projeto: yar0d/pootle
def test_format_chooser():
    project = Project.objects.get(code="project0")
    registry = formats.get()
    po = Format.objects.get(name="po")
    po2 = registry.register("special_po_2", "po")
    po3 = registry.register("special_po_3", "po")
    xliff = Format.objects.get(name="xliff")
    project.filetypes.add(xliff)
    project.filetypes.add(po2)
    project.filetypes.add(po3)
    filetypes = ProjectFiletypes(project)

    assert filetypes.choose_filetype("foo.po") == po
    assert filetypes.choose_filetype("foo.pot") == po
    assert filetypes.choose_filetype("foo.xliff") == xliff

    # push po to the back of the queue
    project.filetypes.remove(po)
    project.filetypes.add(po)
    assert filetypes.choose_filetype("foo.po") == po2
    assert filetypes.choose_filetype("foo.pot") == po
    assert filetypes.choose_filetype("foo.xliff") == xliff

    with pytest.raises(UnrecognizedFiletype):
        filetypes.choose_filetype("foo.bar")
Exemplo n.º 2
0
    def file_belongs_to_project(self, filename, match_templates=True):
        """Tests if ``filename`` matches project filetype (ie. extension).

        If ``match_templates`` is ``True``, this will also check if the file
        matches the template filetype.
        """
        ext = os.path.splitext(filename)[1][1:]
        filetypes = ProjectFiletypes(self)
        return (ext in filetypes.filetype_extensions
                or (match_templates and ext in filetypes.template_extensions))