Esempio n. 1
0
def issue(**kwargs):
    if "id" not in kwargs:
        return redirect("/")

    # Load de l'issue
    try:
        id_issue = kwargs.get("id")[0]
        issue = json.load(open(join(settings.issue_folder,id_issue)))
    except:
        return redirect("/")

    # Decode description
    issue['id']         = id_issue
    issue['content']    = decode_markdown(issue.get("content", "")).decode("utf8")

    issue["comments"]   = []
    # Get related comments
    for f in sorted_ls("{0}/r{1}_*".format(settings.issue_folder, id_issue)):
        try:
            data = json.load(open(f))
            data["id"]      = os.path.basename(f)
            data["content"] = decode_markdown(data.get("content", "")).decode("utf8")
            name, email     = extract_email_author(data.get("author", "Anon <*****@*****.**>"))
            data["hash"]    = hashlib.md5(email).hexdigest()
            issue["comments"].append(data)
        except Exception as e:
            print (e)
            pass

    return render("issue.html", {"issue": issue, "labels": settings.labels, "authors": json.loads(get_author())})
Esempio n. 2
0
def home(**kwargs):
    # Get issue liste
    issue_list = []
    for f in sorted_ls("{0}/i*".format(settings.issue_folder)):
        try:
            issue = load_issue(settings.issue_folder,  os.path.basename(f))
            issue["id"] = os.path.basename(f)
            issue_list.append(issue)
        except Exception as e:
            print (e)
            pass

    return render("liste.html", {"issues": issue_list, "authors": json.loads(get_author())})
Esempio n. 3
0
def main():
    # Get user configuration for issue creation
    try:
        settings.author_name = exec_command("git config user.name").pop()
    except:
        print ("Username unavailable. You are now : {0}".format(settings.author_name))

    try:
        settings.author_email = exec_command("git config user.email").pop()
    except:
        print ("Email unavailable. You are now : {0}".format(settings.author_email))

    count_issue = 0
    for f in sorted_ls("{0}/i*".format(settings.issue_folder)):
        try:
            issue = load_issue(settings.issue_folder,  os.path.basename(f))
            if issue["author"] == "{0} <{1}>".format(settings.author_name, settings.author_email):
                count_issue = count_issue+1
        except:
            pass

    print ("You have\033[1m {0} issue(s)\033[0m assigned to you.".format(count_issue))