From e92fe149febaee281e612dde0b34293ca8395baa Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 17 Nov 2015 00:28:22 -0800 Subject: [PATCH] Comment out requirements that break on certain platforms --- requirements_all.txt | 4 ++-- script/gen_requirements_all.py | 16 +++++++++++++++- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/requirements_all.txt b/requirements_all.txt index 081c8235b12..7df9584e7fa 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -105,7 +105,7 @@ blockchain==1.1.2 py-cpuinfo==0.1.6 # homeassistant.components.sensor.dht -http://github.com/mala-zaba/Adafruit_Python_DHT/archive/4101340de8d2457dd194bca1e8d11cbfc237e919.zip#Adafruit_DHT==1.1.0 +# http://github.com/mala-zaba/Adafruit_Python_DHT/archive/4101340de8d2457dd194bca1e8d11cbfc237e919.zip#Adafruit_DHT==1.1.0 # homeassistant.components.sensor.forecast python-forecastio==1.3.3 @@ -118,7 +118,7 @@ pyowm==2.2.1 # homeassistant.components.sensor.rpi_gpio # homeassistant.components.switch.rpi_gpio -RPi.GPIO==0.5.11 +# RPi.GPIO==0.5.11 # homeassistant.components.sensor.sabnzbd https://github.com/jamespcole/home-assistant-nzb-clients/archive/616cad59154092599278661af17e2a9f2cf5e2a9.zip#python-sabnzbd==0.1 diff --git a/script/gen_requirements_all.py b/script/gen_requirements_all.py index 15b11063efa..b10c0f38ed8 100755 --- a/script/gen_requirements_all.py +++ b/script/gen_requirements_all.py @@ -9,6 +9,11 @@ import os import pkgutil import re +COMMENT_REQUIREMENTS = [ + 'RPi.GPIO', + 'Adafruit_Python_DHT' +] + def explore_module(package, explore_children): module = importlib.import_module(package) @@ -35,6 +40,11 @@ def core_requirements(): return re.findall(r"'(.*?)'", reqs_raw) +def comment_requirement(req): + """ Some requirements don't install on all systems. """ + return any(ign in req for ign in COMMENT_REQUIREMENTS) + + def main(): if not os.path.isfile('requirements_all.txt'): print('Run this from HA root dir') @@ -69,7 +79,11 @@ def main(): for req in sorted(requirements, key=lambda name: (len(name.split('.')), name)): print('#', req) - print(pkg) + + if comment_requirement(pkg): + print('#', pkg) + else: + print(pkg) print() if __name__ == '__main__':