@@ -160,13 +160,19 @@ def get_metadata(self, package, is_dependency=False):
160
160
if is_dependency :
161
161
metadata_filename = 'dependency-metadata.json'
162
162
163
- try :
163
+ if package_file_exists ( package , metadata_filename ) :
164
164
metadata_json = read_package_file (package , metadata_filename )
165
165
if metadata_json :
166
- return json .loads (metadata_json )
167
-
168
- except (IOError , ValueError ):
169
- pass
166
+ try :
167
+ return json .loads (metadata_json )
168
+ except (ValueError ):
169
+ console_write (
170
+ u'''
171
+ An error occurred while trying to parse the package
172
+ metadata for %s.
173
+ ''' ,
174
+ package
175
+ )
170
176
171
177
return {}
172
178
@@ -182,19 +188,19 @@ def get_dependencies(self, package):
182
188
A list of dependency names
183
189
"""
184
190
185
- try :
186
- if not package_file_exists (package , 'dependencies.json' ):
187
- raise ValueError ()
188
-
191
+ if package_file_exists (package , 'dependencies.json' ):
189
192
dep_info_json = read_package_file (package , 'dependencies.json' )
190
- if not dep_info_json :
191
- raise ValueError ()
192
-
193
- dep_info = json .loads (dep_info_json )
194
- return self .select_dependencies (dep_info )
195
-
196
- except (IOError , ValueError ):
197
- pass
193
+ if dep_info_json :
194
+ try :
195
+ return self .select_dependencies (json .loads (dep_info_json ))
196
+ except (ValueError ):
197
+ console_write (
198
+ u'''
199
+ An error occurred while trying to parse the
200
+ dependencies.json for %s.
201
+ ''' ,
202
+ package
203
+ )
198
204
199
205
metadata = self .get_metadata (package )
200
206
if metadata :
@@ -1022,7 +1028,17 @@ def install_package(self, package_name, is_dependency=False):
1022
1028
if not is_dependency and not have_installed_dependencies :
1023
1029
try :
1024
1030
dep_info_json = package_zip .read (dependencies_path )
1025
- dep_info = json .loads (dep_info_json .decode ('utf-8' ))
1031
+ try :
1032
+ dep_info = json .loads (dep_info_json .decode ('utf-8' ))
1033
+ except (ValueError ):
1034
+ console_write (
1035
+ u'''
1036
+ An error occurred while trying to parse the
1037
+ dependencies.json for %s.
1038
+ ''' ,
1039
+ package_name
1040
+ )
1041
+ return False
1026
1042
1027
1043
dependencies = self .select_dependencies (dep_info )
1028
1044
if not self .install_dependencies (dependencies ):
0 commit comments