forked from toolshed/abra
		
	Gracefully handle README-parsing failures
This commit is contained in:
		| @ -137,20 +137,26 @@ def get_app_features(app_path): | ||||
|         log.info(f"{app_path}/README.md") | ||||
|         contents = handle.read() | ||||
|  | ||||
|     for match in findall(r"\*\*.*\s\*", contents): | ||||
|         title = search(r"(?<=\*\*).*(?=\*\*)", match).group().lower() | ||||
|     try: | ||||
|         for match in findall(r"\*\*.*\s\*", contents): | ||||
|             title = search(r"(?<=\*\*).*(?=\*\*)", match).group().lower() | ||||
|  | ||||
|         if title == "image": | ||||
|             value = { | ||||
|                 "image": search(r"(?<=`).*(?=`)", match).group(), | ||||
|                 "url": search(r"(?<=\().*(?=\))", match).group(), | ||||
|                 "rating": match.split(",")[1].strip(), | ||||
|                 "source": match.split(",")[-1].replace("*", "").strip(), | ||||
|             } | ||||
|         else: | ||||
|             value = match.split(":")[-1].replace("*", "").strip() | ||||
|             if title == "image": | ||||
|                 value = { | ||||
|                     "image": search(r"(?<=`).*(?=`)", match).group(), | ||||
|                     "url": search(r"(?<=\().*(?=\))", match).group(), | ||||
|                     "rating": match.split(",")[1].strip(), | ||||
|                     "source": match.split(",")[-1].replace("*", "").strip(), | ||||
|                 } | ||||
|             else: | ||||
|                 value = match.split(":")[-1].replace("*", "").strip() | ||||
|  | ||||
|         features[title] = value | ||||
|             features[title] = value | ||||
|     except (IndexError, AttributeError): | ||||
|         log.info(f"Can't parse {app_path}/README.md") | ||||
|         return {} | ||||
|     finally: | ||||
|         _run_cmd("git checkout HEAD") | ||||
|  | ||||
|     log.info(f"Parsed {features}") | ||||
|  | ||||
|  | ||||
		Reference in New Issue
	
	Block a user