defineCMS.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:comission 作者: Intrinsec 项目源码 文件源码
def check_addon_alteration(self, addon, dir_path, temp_directory):
        addon_url = "{}{}.{}.zip".format(self.download_addon_url, addon["name"], addon["version"])

        if addon["version"] == "trunk":
            addon_url = "{}{}.zip".format(self.download_addon_url, addon["name"])

        log.print_cms("default", "To download the addon: " + addon_url, "", 1)

        try:
            response = requests.get(addon_url)
            response.raise_for_status()

            if response.status_code == 200:
                zip_file = zipfile.ZipFile(io.BytesIO(response.content), 'r')
                zip_file.extractall(temp_directory)
                zip_file.close()

                project_dir = os.path.join(dir_path, self.wp_content, "plugins", addon["name"])
                project_dir_hash = dirhash(project_dir, 'sha1')
                ref_dir = os.path.join(temp_directory, addon["name"])
                ref_dir_hash = dirhash(ref_dir, 'sha1')

                if project_dir_hash == ref_dir_hash:
                    altered = "NO"
                    log.print_cms("good", "Different from sources : " + altered, "", 1)
                else:
                    altered = "YES"
                    log.print_cms("alert", "Different from sources : " + altered, "", 1)

                    ignored = ["css", "img", "js", "fonts", "images"]

                    dcmp = dircmp(project_dir, ref_dir, ignored)
                    uCMS.diff_files(dcmp, addon["alterations"], project_dir)

                addon["edited"] = altered

                if addon["alterations"] is not None:
                    msg = "[+] For further analysis, archive downloaded here : " + ref_dir
                    log.print_cms("info", msg, "", 1)

        except requests.exceptions.HTTPError as e:
            msg = "The download link is not standard. Search manually !"
            log.print_cms("alert", msg, "", 1)
            addon["notes"] = msg
            return msg, e

        return altered, None
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号