From f198ca19d996a072752a677ace97e987f4120d15 Mon Sep 17 00:00:00 2001 From: Robert Schütz Date: Thu, 5 Apr 2018 09:59:13 +0200 Subject: home-assistant: support requirements that are commented out --- pkgs/servers/home-assistant/parse-requirements.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'pkgs/servers/home-assistant') diff --git a/pkgs/servers/home-assistant/parse-requirements.py b/pkgs/servers/home-assistant/parse-requirements.py index 791b8c039805..87ef65482ab6 100755 --- a/pkgs/servers/home-assistant/parse-requirements.py +++ b/pkgs/servers/home-assistant/parse-requirements.py @@ -22,7 +22,8 @@ import json import re from pkg_resources import Requirement, RequirementParseError -PREFIX = '# homeassistant.components.' +GENERAL_PREFIX = '# homeassistant.' +COMPONENT_PREFIX = GENERAL_PREFIX + 'components.' PKG_SET = 'python3Packages' def get_version(): @@ -37,12 +38,16 @@ def fetch_reqs(version='master'): for line in response.read().decode().splitlines(): if line == '': components = [] - elif line[:len(PREFIX)] == PREFIX: - component = line[len(PREFIX):] + elif line[:len(COMPONENT_PREFIX)] == COMPONENT_PREFIX: + component = line[len(COMPONENT_PREFIX):] components.append(component) if component not in requirements: requirements[component] = [] - elif line[0] != '#': + elif line[:len(GENERAL_PREFIX)] != GENERAL_PREFIX: # skip lines like "# homeassistant.scripts.xyz" + # Some dependencies are commented out because they don't build on all platforms + # Since they are still required for running the component, don't skip them + if line[:2] == '# ': + line = line[2:] # Some requirements are specified by url, e.g. https://example.org/foobar#xyz==1.0.0 # Therefore, if there's a "#" in the line, only take the part after it line = line[line.find('#') + 1:] -- cgit 1.4.1