From db3d63d91a7e97fe03875307640033bd0e50a8d7 Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Sat, 12 May 2018 17:28:04 +0100 Subject: [PATCH] Add more metadata to importer --- app/static/package_create.js | 10 ++++------ app/tasks/importtasks.py | 22 ++++++++++++++++++---- 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/app/static/package_create.js b/app/static/package_create.js index 65685505..0cad6ebf 100644 --- a/app/static/package_create.js +++ b/app/static/package_create.js @@ -27,12 +27,10 @@ $(function() { console.log(result) $("#name").val(result.name || "") $("#title").val(result.title || "") - const desc = result.description || "" - if (desc.length > 0) { - const idx = desc.indexOf(".") - $("#shortDesc").val((idx < 5 || idx > 100) ? desc.substring(0, Math.min(desc.length, 100)) : desc.substring(0, idx)) - $("#desc").val(desc) - } + $("#repo").val(result.repo || repoURL) + $("#issueTracker").val(result.issueTracker || "") + $("#desc").val(result.description || "") + $("#shortDesc").val(result.short_description || "") finish() }).catch(function(e) { alert(e) diff --git a/app/tasks/importtasks.py b/app/tasks/importtasks.py index 1950d5b4..7940a17d 100644 --- a/app/tasks/importtasks.py +++ b/app/tasks/importtasks.py @@ -30,6 +30,12 @@ class GithubURLMaker: def isValid(self): return self.baseUrl is not None + def getRepoURL(self): + return "https://github.com/" + self.user + "/" + self.repo + ".git" + + def getIssueTrackerURL(self): + return "https://github.com/" + self.user + "/" + self.repo + "/issues/" + def getModConfURL(self): return self.baseUrl + "/mod.conf" @@ -70,10 +76,11 @@ def getMeta(urlstr): if not urlmaker.isValid(): raise TaskError("Error! Url maker not valid") - print(urlmaker.getModConfURL()) - result = {} + result["repo"] = urlmaker.getRepoURL() + result["issueTracker"] = urlmaker.getIssueTrackerURL() + try: contents = urllib.request.urlopen(urlmaker.getModConfURL()).read().decode("utf-8") conf = parseConf(contents) @@ -82,11 +89,12 @@ def getMeta(urlstr): result[key] = conf[key] except KeyError: pass - - print(conf) except OSError: print("mod.conf does not exist") + if "name" in result: + result["title"] = result["name"].replace("_", " ").title() + if not "description" in result: try: contents = urllib.request.urlopen(urlmaker.getDescURL()).read().decode("utf-8") @@ -94,6 +102,12 @@ def getMeta(urlstr): except OSError: print("description.txt does not exist!") + if "description" in result: + desc = result["description"] + idx = desc.find(".") + 1 + cutIdx = min(len(desc), 200 if idx < 5 else idx) + result["short_description"] = desc[:cutIdx] + return result @celery.task()