๐Ÿก index : quine-global/quine-anaconda-webui.git

import json
import os
from xmlrpc.client import Fault

MOCK_BUGS_PATH = "/tmp/anaconda-bugzilla-mock-bugs.json"


class Bug:
    def __init__(self, bug_id, summary, status):
        self.id = bug_id
        self.summary = summary
        self.status = status


class Bugzilla:
    def __init__(self, url, api_key=None):
        self.url = url
        self.api_key = api_key

    @property
    def logged_in(self):
        if not self.api_key or self.api_key == "invalid-api-key":
            raise Fault(300, "The API key you specified is invalid")
        return True

    def build_query(self, **kwargs):
        return kwargs

    def query(self, query):
        if not os.path.exists(MOCK_BUGS_PATH):
            return []
        with open(MOCK_BUGS_PATH, encoding="utf-8") as handle:
            data = json.load(handle)
        return [Bug(item["id"], item["summary"], item["status"]) for item in data]

    def createbug(self, **kwargs):
        class NewBug:
            id = 999999
        return NewBug()

    def attachfile(self, *args, **kwargs):
        return 1