def version_by_eval(self, file_path):  # type: (str) ->Dict[str,str]
        """
        Version by ast evaluation. Didn't find more versions that existing methods
        :param file_path:
        :return:
        """
        source = self.file_opener.read_this(file_path)
        sb = "{"
        for line in source.split("\n"):
            if "=" in line:
                parts = line.split("=")
                sb += "'" + parts[0] + "':" + parts[1]
        sb += "}"
        if sb == "{}":
            return {}
        try:
            thing = ast.literal_eval(sb)
        except:
            return {}
        for version_token in dunder_version.version_tokens:
            if version_token in thing:
                return {"literal_eval": thing[version_token]}
        return {}
Version by ast evaluation. Didn't find more versions that existing methods
        :param file_path:
        :return: