mirror of https://github.com/avast/PurpleDome
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
2.5 KiB
Python
82 lines
2.5 KiB
Python
#!/usr/bin/env python3
|
|
|
|
# A python tool to compress the relevant project files.
|
|
|
|
import glob
|
|
import zipfile
|
|
import os
|
|
|
|
filename = "shipit.zip"
|
|
|
|
globs = ["TODO.md",
|
|
".gitignore",
|
|
"*.py",
|
|
"CONTRIBUTING.txt",
|
|
"*.yaml",
|
|
"Makefile",
|
|
"*.sh",
|
|
"README.md",
|
|
"requirements.txt",
|
|
"tox.ini",
|
|
"app/*.py",
|
|
"tools/*.py",
|
|
"tests/*.py",
|
|
"systems/Vagrantfile",
|
|
"systems/*/*.sh",
|
|
"systems/*/*.bat",
|
|
"systems/azure_attacker"
|
|
"doc/source",
|
|
"doc/source/conf.py",
|
|
"doc/source/asciinema/*",
|
|
"doc/source/index.rst",
|
|
"doc/Makefile",
|
|
"doc/purpledome.pdf",
|
|
"doc/documentation.zip",
|
|
"doc/source/*/*.rst",
|
|
"doc/source/_static/*.png",
|
|
"doc/source/_templates/*",
|
|
"tests/data/*.yaml",
|
|
"plugins/base/*.py",
|
|
"plugins/default/*/**/*.py",
|
|
"plugins/default/*/**/*.txt",
|
|
"plugins/default/*/**/*.md",
|
|
"plugins/default/*/**/*.exe",
|
|
"plugins/default/*/**/*.ps1",
|
|
"plugins/default/*/**/*.yaml",
|
|
"plugins/default/*/**/*.dll",
|
|
"plugins/default/*/**/*.dll_*",
|
|
"plugins/default/*/**/*.reg",
|
|
"plugins/avast_internal_plugins/*/**/*.py",
|
|
"plugins/avast_internal_plugins/*/**/*.bat",
|
|
"plugins/avast_internal_plugins/*/**/*.ps1",
|
|
"plugins/avast_internal_plugins/*/**/*.txt",
|
|
"plugins/avast_internal_plugins/*/**/*.md",
|
|
"plugins/avast_internal_plugins/*/**/*.yaml",
|
|
"plugins/avast_internal_plugins/*/**/*.exe",
|
|
"plugins/avast_internal_plugins/*/**/*.com",
|
|
"plugins/avast_internal_plugins/*/**/*.dll",
|
|
"plugins/avast_internal_plugins/*/**/*.dll_*",
|
|
"plugins/avast_internal_plugins/*/**/*.reg",
|
|
"plugins/avast_internal_plugins/*/**/idpx",
|
|
"plugins/avast_internal_plugins/*/**/hosts",
|
|
"plugins/README.md",
|
|
"pylint.rc",
|
|
"shipit_log.txt",
|
|
"all_caldera_attacks_unique.txt",
|
|
"caldera_subset.txt",
|
|
"templates/*.rst",
|
|
"tools/human_readable_documentation/source/conf.py",
|
|
"tools/human_readable_documentation/Makefile",
|
|
]
|
|
|
|
try:
|
|
os.remove(filename)
|
|
except FileNotFoundError:
|
|
pass
|
|
|
|
with zipfile.ZipFile(filename, "w") as zfh:
|
|
for gs in globs:
|
|
for g in glob.iglob(gs, recursive=True):
|
|
print(g)
|
|
zfh.write(g)
|