Beispiel #1
0
 def dataLooksValid(
     self, tree: mobase.IFileTree
 ) -> mobase.ModDataChecker.CheckReturn:
     if tree.exists("db") or tree.exists("appdata") or tree.exists("gamedata"):
         return mobase.ModDataChecker.VALID
     else:
         return mobase.ModDataChecker.INVALID
    def dataLooksValid(
        self, tree: mobase.IFileTree
    ) -> mobase.ModDataChecker.CheckReturn:
        # Check if we have a Resources / Maps folder or .ds2res/.ds2map
        ress, maps = self.get_resources_and_maps(tree)

        if not ress and not maps:
            if tree.exists("Resources") or tree.exists("Maps"):
                return mobase.ModDataChecker.VALID
            else:
                return mobase.ModDataChecker.INVALID

        return mobase.ModDataChecker.FIXABLE
Beispiel #3
0
    def dataLooksValid(
            self, tree: mobase.IFileTree) -> mobase.ModDataChecker.CheckReturn:

        folders: List[mobase.IFileTree] = []
        files: List[mobase.FileTreeEntry] = []

        for entry in tree:
            if isinstance(entry, mobase.IFileTree):
                folders.append(entry)
            else:
                files.append(entry)

        if len(folders) != 1:
            return mobase.ModDataChecker.INVALID

        folder = folders[0]
        pakfile = folder.name() + ".pak"
        if folder.exists(pakfile):
            if tree.exists(pakfile):
                return mobase.ModDataChecker.VALID
            else:
                return mobase.ModDataChecker.FIXABLE

        return mobase.ModDataChecker.INVALID