Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Made the project installable with pip
- Loading branch information
Showing
6 changed files
with
227 additions
and
13 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
# Created by .ignore support plugin (hsz.mobi) | ||
### Python template | ||
# Byte-compiled / optimized / DLL files | ||
__pycache__/ | ||
*.py[cod] | ||
*$py.class | ||
|
||
# C extensions | ||
*.so | ||
|
||
# Distribution / packaging | ||
.Python | ||
env/ | ||
build/ | ||
develop-eggs/ | ||
dist/ | ||
downloads/ | ||
eggs/ | ||
.eggs/ | ||
lib/ | ||
lib64/ | ||
parts/ | ||
sdist/ | ||
var/ | ||
*.egg-info/ | ||
.installed.cfg | ||
*.egg | ||
|
||
# PyInstaller | ||
# Usually these files are written by a python script from a template | ||
# before PyInstaller builds the exe, so as to inject date/other infos into it. | ||
*.manifest | ||
*.spec | ||
|
||
# Installer logs | ||
pip-log.txt | ||
pip-delete-this-directory.txt | ||
|
||
# Unit test / coverage reports | ||
htmlcov/ | ||
.tox/ | ||
.coverage | ||
.coverage.* | ||
.cache | ||
nosetests.xml | ||
coverage.xml | ||
*,cover | ||
.hypothesis/ | ||
|
||
# Translations | ||
*.mo | ||
*.pot | ||
|
||
# Django stuff: | ||
*.log | ||
local_settings.py | ||
|
||
# Flask stuff: | ||
instance/ | ||
.webassets-cache | ||
|
||
# Scrapy stuff: | ||
.scrapy | ||
|
||
# Sphinx documentation | ||
docs/_build/ | ||
|
||
# PyBuilder | ||
target/ | ||
|
||
# IPython Notebook | ||
.ipynb_checkpoints | ||
|
||
# pyenv | ||
.python-version | ||
|
||
# celery beat schedule file | ||
celerybeat-schedule | ||
|
||
# dotenv | ||
.env | ||
|
||
# virtualenv | ||
venv/ | ||
ENV/ | ||
|
||
# Spyder project settings | ||
.spyderproject | ||
|
||
# Rope project settings | ||
.ropeproject |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
[bdist_wheel] | ||
universal = 1 | ||
|
||
[metadata] | ||
license_file = LICENSE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,102 @@ | ||
#!/usr/bin/env python | ||
|
||
import codecs | ||
import os | ||
import re | ||
|
||
try: | ||
from setuptools import setup | ||
except ImportError: | ||
from distutils.core import setup | ||
|
||
try: | ||
from pypandoc import convert | ||
|
||
def read_md(f): return convert(f, 'rst', format='md') | ||
|
||
except ImportError: | ||
print("warning: pypandoc module not found, " | ||
"could not convert Markdown to RST") | ||
|
||
def read_md(f): return open(f, 'r').read() | ||
|
||
################################################################### | ||
|
||
NAME = 'pcodedmp' | ||
PACKAGES = [NAME] | ||
META_PATH = os.path.join(NAME, NAME + '.py') | ||
KEYWORDS = ['vba', 'p-code', 'disassembler'] | ||
CLASSIFIERS = [ | ||
'Development Status :: 5 - Production/Stable', | ||
'Environment :: Console', | ||
'Intended Audience :: Developers', | ||
'License :: OSI Approved :: GNU General Public License v3 (GPLv3)', | ||
'Natural Language :: English', | ||
'Operating System :: OS Independent', | ||
'Programming Language :: Python', | ||
'Programming Language :: Python :: 2', | ||
'Programming Language :: Python :: 2.7', | ||
'Programming Language :: Python :: 3', | ||
'Programming Language :: Python :: 3.3', | ||
'Programming Language :: Python :: 3.4', | ||
'Programming Language :: Python :: 3.5', | ||
'Programming Language :: Python :: 3.6', | ||
'Topic :: Security', | ||
'Topic :: Software Development :: Disassemblers', | ||
'Topic :: Utilities', | ||
] | ||
INSTALL_REQUIRES = ['oletools>=0.50'] | ||
|
||
################################################################### | ||
|
||
HERE = os.path.abspath(os.path.dirname(__file__)) | ||
|
||
|
||
def read(*parts): | ||
""" | ||
Build an absolute path from *parts* and and return the contents of the | ||
resulting file. Assume UTF-8 encoding. | ||
""" | ||
with codecs.open(os.path.join(HERE, *parts), 'r', 'utf-8') as f: | ||
return f.read() | ||
|
||
|
||
META_FILE = read(META_PATH) | ||
|
||
|
||
def find_meta(meta): | ||
""" | ||
Extract __*meta*__ from META_FILE. | ||
""" | ||
meta_match = re.search( | ||
r"^__{meta}__ = ['\"]([^'\"]*)['\"]".format(meta=meta), | ||
META_FILE, re.M | ||
) | ||
if meta_match: | ||
return meta_match.group(1) | ||
raise RuntimeError('Unable to find __{meta}__ string.'.format(meta=meta)) | ||
|
||
entry_points = { | ||
'console_scripts': [ | ||
NAME + '=' + NAME + '.' + NAME + ':main', | ||
], | ||
} | ||
|
||
if __name__ == '__main__': | ||
setup( | ||
name=NAME, | ||
description=find_meta('description'), | ||
license=find_meta('license'), | ||
url=find_meta('uri'), | ||
version=find_meta('VERSION'), | ||
author=find_meta('author'), | ||
author_email=find_meta('email'), | ||
maintainer=find_meta('author'), | ||
maintainer_email=find_meta('email'), | ||
keywords=KEYWORDS, | ||
long_description=read_md('README.md'), | ||
packages=PACKAGES, | ||
classifiers=CLASSIFIERS, | ||
install_requires=INSTALL_REQUIRES, | ||
entry_points=entry_points, | ||
) |