1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-14 03:30:02 +00:00

build: apply make style to setup.py too

This commit is contained in:
matejcik 2018-09-03 15:44:38 +02:00
parent e8e61861f6
commit 3ccef14bb6
3 changed files with 62 additions and 60 deletions

View File

@ -2,7 +2,7 @@ PYTHON=python3
SETUP=$(PYTHON) setup.py SETUP=$(PYTHON) setup.py
EXCLUDES=.vscode EXCLUDES=.vscode
STYLE_TARGETS=trezorlib trezorctl STYLE_TARGETS=trezorlib trezorctl setup.py
EXCLUDE_TARGETS=trezorlib/messages EXCLUDE_TARGETS=trezorlib/messages
all: build all: build

118
setup.py
View File

@ -6,30 +6,30 @@ import shutil
import subprocess import subprocess
import sys import sys
import tempfile import tempfile
from setuptools import setup, Command, find_packages
from setuptools.command.build_py import build_py
from setuptools.command.develop import develop
from distutils.errors import DistutilsError from distutils.errors import DistutilsError
from setuptools import Command, find_packages, setup
from setuptools.command.build_py import build_py
from setuptools.command.develop import develop
install_requires = [ install_requires = [
'setuptools>=19.0', "setuptools>=19.0",
'ecdsa>=0.9', "ecdsa>=0.9",
'mnemonic>=0.17', "mnemonic>=0.17",
'requests>=2.4.0', "requests>=2.4.0",
'click>=6.2', "click>=6.2",
'pyblake2>=0.9.3', "pyblake2>=0.9.3",
'libusb1>=1.6.4', "libusb1>=1.6.4",
'construct>=2.9', "construct>=2.9",
] ]
CWD = os.path.dirname(os.path.realpath(__file__)) CWD = os.path.dirname(os.path.realpath(__file__))
TREZOR_COMMON = os.path.join(CWD, 'vendor', 'trezor-common') TREZOR_COMMON = os.path.join(CWD, "vendor", "trezor-common")
def read(*path): def read(*path):
filename = os.path.join(CWD, *path) filename = os.path.join(CWD, *path)
with open(filename, 'r') as f: with open(filename, "r") as f:
return f.read() return f.read()
@ -43,7 +43,7 @@ def find_version():
class PrebuildCommand(Command): class PrebuildCommand(Command):
description = 'update vendored files (coins.json, protobuf messages)' description = "update vendored files (coins.json, protobuf messages)"
user_options = [] user_options = []
def initialize_options(self): def initialize_options(self):
@ -54,28 +54,40 @@ class PrebuildCommand(Command):
def run(self): def run(self):
# check for existence of the submodule directory # check for existence of the submodule directory
common_defs = os.path.join(TREZOR_COMMON, 'defs') common_defs = os.path.join(TREZOR_COMMON, "defs")
if not os.path.exists(common_defs): if not os.path.exists(common_defs):
raise DistutilsError('trezor-common submodule seems to be missing.\n' + raise DistutilsError(
'Use "git submodule update --init" to retrieve it.') "trezor-common submodule seems to be missing.\n"
+ 'Use "git submodule update --init" to retrieve it.'
)
# generate and copy coins.json to the tree # generate and copy coins.json to the tree
with tempfile.TemporaryDirectory() as tmpdir: with tempfile.TemporaryDirectory() as tmpdir:
build_coins = os.path.join(TREZOR_COMMON, 'tools', 'build_coins.py') build_coins = os.path.join(TREZOR_COMMON, "tools", "cointool.py")
subprocess.check_call([sys.executable, build_coins], cwd=tmpdir) subprocess.check_call([sys.executable, build_coins], cwd=tmpdir)
shutil.copy(os.path.join(tmpdir, 'coins.json'), os.path.join(CWD, 'trezorlib', 'coins.json')) shutil.copy(
os.path.join(tmpdir, "coins.json"),
os.path.join(CWD, "trezorlib", "coins.json"),
)
# regenerate messages # regenerate messages
try: try:
proto_srcs = glob.glob(os.path.join(TREZOR_COMMON, "protob", "*.proto")) proto_srcs = glob.glob(os.path.join(TREZOR_COMMON, "protob", "*.proto"))
subprocess.check_call([ subprocess.check_call(
sys.executable, [
os.path.join(TREZOR_COMMON, "protob", "pb2py"), sys.executable,
"-o", os.path.join(CWD, "trezorlib", "messages"), os.path.join(TREZOR_COMMON, "protob", "pb2py"),
"-P", "..protobuf", "-o",
] + proto_srcs) os.path.join(CWD, "trezorlib", "messages"),
"-P",
"..protobuf",
]
+ proto_srcs
)
except Exception as e: except Exception as e:
raise DistutilsError("Generating protobuf failed. Make sure you have 'protoc' in your PATH.") from e raise DistutilsError(
"Generating protobuf failed. Make sure you have 'protoc' in your PATH."
) from e
def _patch_prebuild(cls): def _patch_prebuild(cls):
@ -83,7 +95,7 @@ def _patch_prebuild(cls):
orig_run = cls.run orig_run = cls.run
def new_run(self): def new_run(self):
self.run_command('prebuild') self.run_command("prebuild")
orig_run(self) orig_run(self)
cls.run = new_run cls.run = new_run
@ -94,43 +106,33 @@ _patch_prebuild(develop)
setup( setup(
name='trezor', name="trezor",
version=find_version(), version=find_version(),
author='TREZOR', author="TREZOR",
author_email='info@trezor.io', author_email="info@trezor.io",
license='LGPLv3', license="LGPLv3",
description='Python library for communicating with TREZOR Hardware Wallet', description="Python library for communicating with TREZOR Hardware Wallet",
long_description='{}\n\n{}'.format( long_description="{}\n\n{}".format(read("README.md"), read("CHANGELOG.md")),
read('README.md'), long_description_content_type="text/markdown",
read('CHANGELOG.md'), url="https://github.com/trezor/python-trezor",
),
long_description_content_type='text/markdown',
url='https://github.com/trezor/python-trezor',
packages=find_packages(), packages=find_packages(),
package_data={ package_data={"trezorlib": ["coins.json"]},
'trezorlib': ['coins.json'], scripts=["trezorctl"],
},
scripts=['trezorctl'],
install_requires=install_requires, install_requires=install_requires,
extras_require={ extras_require={
':python_version < "3.5"': ['typing>=3.0.0'], ':python_version < "3.5"': ["typing>=3.0.0"],
'hidapi': ['hidapi>=0.7.99.post20'], "hidapi": ["hidapi>=0.7.99.post20"],
'ethereum': [ "ethereum": ["rlp>=0.4.4", "ethjsonrpc>=0.3.0"],
'rlp>=0.4.4',
'ethjsonrpc>=0.3.0',
],
}, },
python_requires='>=3.3', python_requires=">=3.3",
include_package_data=True, include_package_data=True,
zip_safe=False, zip_safe=False,
classifiers=[ classifiers=[
'License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)', "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)",
'Operating System :: POSIX :: Linux', "Operating System :: POSIX :: Linux",
'Operating System :: Microsoft :: Windows', "Operating System :: Microsoft :: Windows",
'Operating System :: MacOS :: MacOS X', "Operating System :: MacOS :: MacOS X",
'Programming Language :: Python :: 3 :: Only', "Programming Language :: Python :: 3 :: Only",
], ],
cmdclass={ cmdclass={"prebuild": PrebuildCommand},
'prebuild': PrebuildCommand,
},
) )

@ -1 +1 @@
Subproject commit 3167bd63e389f1c27fe6ae07f1b87b5fbb889a61 Subproject commit d8f8c882d5dcad7b90cecb593b424556835c8961