Пример #1
0
def module_test(module_class, config=None):

    if not config:
        config = {}

    py3_config = {
        "general": {
            "color_bad": "#FF0000",
            "color_degraded": "#FFFF00",
            "color_good": "#00FF00",
        },
        "py3status": {},
        ".module_groups": {},
        "test_module": config,
    }

    mock = MockPy3statusWrapper(py3_config)

    module = module_class()
    m = Module("test_module", {}, mock, module)
    m.sleeping = True
    m.prepare_module()

    while not m.error_messages:
        try:
            for meth in m.methods:
                m.methods[meth]["cached_until"] = time()
            m.run()
            output = m.get_latest()
            for item in output:
                if "instance" in item:
                    del item["instance"]
                if "name" in item:
                    del item["name"]

            if "--term" in argv:
                line = "\033[0m"
                for item in output:
                    if item.get("urgent"):
                        line += "\033[41m"
                    else:
                        color = item.get("color")
                        if color:
                            line += "\033[38;2;{};{};{}m".format(*[
                                int(color[1:][i:i + 2], 16) for i in (0, 2, 4)
                            ])
                    line += item["full_text"] + "\033[0m"
                print(line)
            else:
                if len(output) == 1:
                    output = output[0]
                print(output)

            sleep(1)
        except KeyboardInterrupt:
            m.kill()
            break
Пример #2
0
def module_test(module_class, config=None):

    if not config:
        config = {}

    py3_config = {
        'general': {
            'color_bad': '#FF0000',
            'color_degraded': '#FFFF00',
            'color_good': '#00FF00',
        },
        'py3status': {},
        '.module_groups': {},
        'test_module': config
    }

    mock = MockPy3statusWrapper(py3_config)

    module = module_class()
    m = Module('test_module', {}, mock, module)
    m.sleeping = True
    m.prepare_module()

    while not m.error_messages:
        try:
            for meth in m.methods:
                m.methods[meth]['cached_until'] = time()
            m.run()
            output = m.get_latest()
            for item in output:
                if 'instance' in item:
                    del item['instance']
                if 'name' in item:
                    del item['name']
            if len(output) == 1:
                output = output[0]
            print(output)
            sleep(1)
        except KeyboardInterrupt:
            m.kill()
            break
Пример #3
0
def module_test(module_class, config=None):

    if not config:
        config = {}

    py3_config = {
        'general': {
            'color_bad': '#FF0000',
            'color_degraded': '#FFFF00',
            'color_good': '#00FF00',
        },
        'py3status': {},
        '.module_groups': {},
        'test_module': config
    }

    mock = MockPy3statusWrapper(py3_config)

    module = module_class()
    m = Module('test_module', {}, mock, module)
    m.sleeping = True
    m.prepare_module()

    while not m.error_messages:
        try:
            for meth in m.methods:
                m.methods[meth]['cached_until'] = time()
            m.run()
            output = m.get_latest()
            for item in output:
                if 'instance' in item:
                    del item['instance']
                if 'name' in item:
                    del item['name']
            if len(output) == 1:
                output = output[0]
            print(output)
            sleep(1)
        except KeyboardInterrupt:
            m.kill()
            break
Пример #4
0
def module_test(module_class, config=None):

    if not config:
        config = {}

    py3_config = {
        "general": {
            "color_bad": "#FF0000",
            "color_degraded": "#FFFF00",
            "color_good": "#00FF00",
        },
        "py3status": {},
        ".module_groups": {},
        "test_module": config,
    }

    mock = MockPy3statusWrapper(py3_config)

    module = module_class()
    m = Module("test_module", {}, mock, module)
    m.sleeping = True
    m.prepare_module()

    while not m.error_messages:
        try:
            for meth in m.methods:
                m.methods[meth]["cached_until"] = time()
            m.run()
            output = m.get_latest()
            for item in output:
                if "instance" in item:
                    del item["instance"]
                if "name" in item:
                    del item["name"]
            if len(output) == 1:
                output = output[0]
            print(output)
            sleep(1)
        except KeyboardInterrupt:
            m.kill()
            break
Пример #5
0
def module_test(module_class, config=None):

    if not config:
        config = {}

    # config cli arguments
    arguments, term = argv[1:], False
    for index, arg in enumerate(arguments):
        if "--term" in arg:
            term = True
        elif arg[0:2] == "--":
            key = arguments[index][2:]
            value = arguments[index + 1]
            try:
                value = literal_eval(value)
            except (SyntaxError, ValueError):
                pass
            config[key] = value

    py3_config = {
        "general": {
            "color_bad": "#FF0000",
            "color_degraded": "#FFFF00",
            "color_good": "#00FF00",
        },
        "py3status": {},
        ".module_groups": {},
        "test_module": config,
    }

    mock = MockPy3statusWrapper(py3_config)

    module = module_class()
    m = Module("test_module", {}, mock, module)
    m.sleeping = True
    m.prepare_module()

    while not m.error_messages:
        try:
            for my_method in m.methods.values():
                my_method["cached_until"] = time.perf_counter()
            m.run()
            output = m.get_latest()
            for item in output:
                if "instance" in item:
                    del item["instance"]
                if "name" in item:
                    del item["name"]

            if term:
                line = "\033[0m"
                for item in output:
                    if item.get("urgent"):
                        line += "\033[41m"
                    else:
                        color = item.get("color")
                        if color:
                            line += "\033[38;2;{};{};{}m".format(
                                *[int(color[1:][i : i + 2], 16) for i in (0, 2, 4)]
                            )
                    line += item["full_text"] + "\033[0m"
                print(line)
            else:
                if len(output) == 1:
                    output = output[0]
                print(output)

            time.sleep(1)
        except KeyboardInterrupt:
            m.kill()
            break