def is_client_bug()

in foundation_security_advisories/update_hof.py [0:0]


def is_client_bug(bug):
    # We have a limited number of for-certain web products
    # but for the most part we rely on !client
    if bug['product'] in web_products:
        return False

    if bug['product'] == "Testing" and bug['component'] == "geckodriver":
        return True

    # A lot of Pocket bugs are web bugs, but some are client
    if bug['product'] == "Pocket":
        return not bug['component'] == "getpocket.com"

    if bug['classification'] == "Client Software":
        if bug['product'] == "Emerging Markets" and bug['component'] in ["Security:  Firefox Lite"]:
            return True

        if bug['product'] == "Web Compatibility" and bug['component'] == "Tooling & Investigations":
            return True

        if bug['product'] not in client_products:
            # this is an edge case we should validate and improve
            raise Exception("Bug: {3} Classification: '{0}' Product: '{1}' Component: '{2}' is not considered a client bug, please confirm.".format(bug['classification'], bug['product'], bug['component'], bug["id"]))
    
    if bug['product'] == 'Firefox' and bug['component'] in ["Firefox Monitor"]:
        return False

    return bug['product'] in client_products