Blame tools/debug-helper.py

Packit 5756e2
#!/usr/bin/python
Packit 5756e2
# Copyright (C) 2011 Mathieu Trudel-Lapierre <mathieu.tl@gmail.com>
Packit 5756e2
Packit 5756e2
import dbus
Packit 5756e2
import argparse
Packit 5756e2
Packit 5756e2
bus = dbus.SystemBus()
Packit 5756e2
Packit 5756e2
parser = argparse.ArgumentParser(
Packit 5756e2
    description="Interface to easily control logging levels for NetworkManager, ModemManager, and wpasupplicant."
Packit 5756e2
)
Packit 5756e2
Packit 5756e2
# NM options
Packit 5756e2
parser.add_argument(
Packit 5756e2
    "--nm",
Packit 5756e2
    dest="do_set_nm_logging",
Packit 5756e2
    action="store",
Packit 5756e2
    help="modify log level for NetworkManager (debug, info, etc.)",
Packit 5756e2
)
Packit 5756e2
parser.add_argument(
Packit 5756e2
    "--domains",
Packit 5756e2
    dest="log_domains",
Packit 5756e2
    action="store",
Packit 5756e2
    default=[],
Packit 5756e2
    nargs="+",
Packit 5756e2
    help='log "domains" to use with NetworkManager (HW, CORE, etc.)',
Packit 5756e2
)
Packit 5756e2
Packit 5756e2
# MM options
Packit 5756e2
parser.add_argument(
Packit 5756e2
    "--mm",
Packit 5756e2
    dest="do_set_mm_logging",
Packit 5756e2
    action="store",
Packit 5756e2
    help="modify log level for ModemManager (debug, info, etc.)",
Packit 5756e2
)
Packit 5756e2
Packit 5756e2
# wpasupplicant options
Packit 5756e2
parser.add_argument(
Packit 5756e2
    "--wpa",
Packit 5756e2
    dest="do_set_wpa_logging",
Packit 5756e2
    action="store",
Packit 5756e2
    help="modify log level for wpasupplicant (debug, msgdump, info, etc.)",
Packit 5756e2
)
Packit 5756e2
Packit 5756e2
args = parser.parse_args()
Packit 5756e2
Packit 5756e2
if args.do_set_nm_logging:
Packit 5756e2
    # print args.log_domains
Packit 5756e2
    dom_msg = ""
Packit 5756e2
    if args.log_domains:
Packit 5756e2
        dom_msg = " for domains: " + ",".join(args.log_domains)
Packit 5756e2
    print(
Packit 5756e2
        "Setting NetworkManager log level to '" + args.do_set_nm_logging + "'" + dom_msg
Packit 5756e2
    )
Packit 5756e2
Packit 5756e2
    nm_bus = bus.get_object(
Packit 5756e2
        "org.freedesktop.NetworkManager", "/org/freedesktop/NetworkManager"
Packit 5756e2
    )
Packit 5756e2
    nm = dbus.Interface(nm_bus, dbus_interface="org.freedesktop.NetworkManager")
Packit 5756e2
    nm.SetLogging(args.do_set_nm_logging, ",".join(args.log_domains))
Packit 5756e2
Packit 5756e2
if args.do_set_mm_logging:
Packit 5756e2
    print("Setting ModemManager log level to '" + args.do_set_mm_logging + "'")
Packit 5756e2
Packit 5756e2
    mm_bus = bus.get_object(
Packit 5756e2
        "org.freedesktop.ModemManager", "/org/freedesktop/ModemManager"
Packit 5756e2
    )
Packit 5756e2
    mm = dbus.Interface(mm_bus, dbus_interface="org.freedesktop.ModemManager")
Packit 5756e2
    mm.SetLogging(args.do_set_mm_logging)
Packit 5756e2
Packit 5756e2
if args.do_set_wpa_logging:
Packit 5756e2
    print("Setting wpa_supplicant log level to '" + args.do_set_wpa_logging + "'")
Packit 5756e2
Packit 5756e2
    if "debug" in args.do_set_wpa_logging or "msgdump" in args.do_set_wpa_logging:
Packit 5756e2
        print("Enabling timestamps for wpasupplicant debugging logs")
Packit 5756e2
        use_timestamps = dbus.Boolean(True, variant_level=1)
Packit 5756e2
    else:
Packit 5756e2
        print("Disabling timestamps for wpasupplicant debugging logs")
Packit 5756e2
        use_timestamps = dbus.Boolean(False, variant_level=1)
Packit 5756e2
Packit 5756e2
    wpa_bus = bus.get_object("fi.w1.wpa_supplicant1", "/fi/w1/wpa_supplicant1")
Packit 5756e2
    wpa_properties = dbus.Interface(
Packit 5756e2
        wpa_bus, dbus_interface="org.freedesktop.DBus.Properties"
Packit 5756e2
    )
Packit 5756e2
    wpa_properties.Set("fi.w1.wpa_supplicant1", "DebugTimestamp", use_timestamps)
Packit 5756e2
    wpa_properties.Set(
Packit 5756e2
        "fi.w1.wpa_supplicant1",
Packit 5756e2
        "DebugLevel",
Packit 5756e2
        dbus.String(args.do_set_wpa_logging, variant_level=1),
Packit 5756e2
    )