def parse_spec(spec, default_module):
    name, args = (spec.split(':', 1) + [''])[:2]

    if '.' not in name:
        if default_module:
            module, klass = default_module, name
        else:
            module, klass = name, None
    else:
        module, klass = name.rsplit('.', 1)

    al = [a for a in args.split(',') if a and '=' not in a]
    kw = dict(a.split('=', 1) for a in args.split(',') if '=' in a)

    return module, klass, al, kw
This function is called at regular intervals by :func:`start`.
dataset/ETHPy150Open spotify/python-graphwalker/graphwalker/codeloader.py/parse_spec--crossover with--dataset/ETHPy150Open virantha/pypdfocr/pypdfocr/pypdfocr_watcher.py/PyPdfWatcher.check_queue