Prettify roomservice.py and make it python3-ready
Multipe exceptions need to be listed in tuples
Lines shouldn't bee too long
Too many indents are the root of all evil
Change-Id: I30aa21c3877b4f12674fde54db2969c9e239fef1
Signed-off-by: Felix Elsner <google@ix5.org>
diff --git a/build/tools/roomservice.py b/build/tools/roomservice.py
index 84c67e8..cad299e 100755
--- a/build/tools/roomservice.py
+++ b/build/tools/roomservice.py
@@ -69,10 +69,10 @@
git_req = urllib.request.Request(git_search_url)
try:
response = urllib.request.urlopen(git_req)
- except urllib.request.HTTPError as e:
+ except urllib.request.HTTPError:
print("There was an issue connecting to gerrit."
- " Please try again in a minute")
- except urllib.request.URLError as e:
+ " Please try again in a minute")
+ except urllib.request.URLError:
print("WARNING: No network connection available.")
else:
# Skip silly gerrit "header"
@@ -106,7 +106,7 @@
try:
man = ES.parse(file)
man = man.getroot()
- except IOError, ES.ParseError:
+ except (IOError, ES.ParseError):
print("WARNING: error while parsing %s" % file)
else:
for project in man.findall("project"):
@@ -115,7 +115,9 @@
def check_project_exists(url, revision, path):
for project in iterate_manifests():
- if project.get("name") == url and project.get("revision") == revision and project.get("path") == path:
+ if project.get("name") == url \
+ and project.get("revision") == revision \
+ and project.get("path") == path:
return True
return False
@@ -163,7 +165,7 @@
try:
lm = ES.parse('/'.join([local_manifest_dir, "roomservice.xml"]))
lm = lm.getroot()
- except IOError, ES.ParseError:
+ except (IOError, ES.ParseError):
lm = ES.Element("manifest")
lm.append(project)
return lm
@@ -221,6 +223,7 @@
raise Exception("ERROR: malformed dependency file")
return dependencies
+
# if there is any conflict with existing and new
# delete the roomservice.xml file and create new
def check_manifest_problems(dependencies):
@@ -228,22 +231,26 @@
repository = dependency.get("repository")
target_path = dependency.get("target_path")
revision = dependency.get("revision", default_rev)
- remote = dependency.get("remote", default_rem)
# check for existing projects
for project in iterate_manifests():
- if project.get("revision") is not None and project.get("path") is not None:
- if project.get("path") == target_path and project.get("revision") != revision:
- print("WARNING: detected conflict in revisions for repository ", repository)
- current_dependency = str(project.get(repository))
- file = ES.parse('/'.join([local_manifest_dir, "roomservice.xml"]))
- file_root = file.getroot()
- for current_project in file_root.findall('project'):
- new_dependency = str(current_project.find('revision'))
- if new_dependency == current_dependency:
- file_root.remove(current_project)
- file.write('/'.join([local_manifest_dir, "roomservice.xml"]))
- return
+ if project.get("revision") is not None \
+ and project.get("path") is not None \
+ and project.get("path") == target_path \
+ and project.get("revision") != revision:
+ print("WARNING: detected conflict in revisions for repository ",
+ repository)
+ current_dependency = str(project.get(repository))
+ file = ES.parse('/'.join([local_manifest_dir,
+ "roomservice.xml"]))
+ file_root = file.getroot()
+ for current_project in file_root.findall('project'):
+ new_dependency = str(current_project.find('revision'))
+ if new_dependency == current_dependency:
+ file_root.remove(current_project)
+ file.write('/'.join([local_manifest_dir, "roomservice.xml"]))
+ return
+
def create_dependency_manifest(dependencies):
projects = []
@@ -293,7 +300,7 @@
if common_deps is not None:
print("Looking for dependencies on: ",
- dependency['target_path'])
+ dependency['target_path'])
check_manifest_problems(common_deps)
create_dependency_manifest(common_deps)
create_common_dependencies_manifest(common_deps)
@@ -310,6 +317,7 @@
create_common_dependencies_manifest(dependencies)
fetch_device(device)
+
def check_device_exists(device):
location = parse_device_from_folder(device)
if location is None:
@@ -325,8 +333,8 @@
device_url = git_data['id']
device_dir = parse_device_directory(device_url, device)
project = create_manifest_project(device_url,
- device_dir,
- remote=default_team_rem)
+ device_dir,
+ remote=default_team_rem)
if project is not None:
manifest = append_to_manifest(project)
write_to_manifest(manifest)