summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xextras/autoship.py28
1 files changed, 18 insertions, 10 deletions
diff --git a/extras/autoship.py b/extras/autoship.py
index 7469f74..17d969f 100755
--- a/extras/autoship.py
+++ b/extras/autoship.py
@@ -34,16 +34,24 @@ def get_project_info(top=None):
loader = importlib.machinery.SourceFileLoader("wscript", wscript_path)
spec = importlib.util.spec_from_loader("wscript", loader)
wscript = importlib.util.module_from_spec(spec)
- spec.loader.exec_module(wscript)
-
- return {
- "name": wscript.APPNAME,
- "version": wscript.VERSION,
- "uri": getattr(wscript, "uri", None),
- "title": getattr(wscript, "title", wscript.APPNAME.title()),
- "dist_pattern": wscript.dist_pattern,
- "post_tags": wscript.post_tags,
- }
+
+ try:
+ spec.loader.exec_module(wscript)
+
+ info = {"name": wscript.APPNAME, "version": wscript.VERSION}
+
+ for key in ["uri", "title", "dist_pattern", "post_tags"]:
+ value = getattr(wscript, key, None)
+ if value is not None:
+ info[key] = value
+
+ if "title" not in info:
+ info["title"] = wscript.APPNAME.title()
+
+ return info
+
+ except Exception:
+ return {}
def parse_version(revision):