# Path: fluxghost/pipe_route.py
# def get_match_pipe_service(task):
#     if task in ROUTES:
#         module_name, klass_name = ROUTES[task].rsplit(".", 1)
#         module_instance = importlib.import_module(module_name)
#         klass = module_instance.__getattribute__(klass_name)
#         return klass
# 
# ROUTES = {
#     # Device related
#     "discover":
#         "fluxghost.pipe.discover.PipeDiscover",
#     # "upnp-config":
#     #     "fluxghost.websocket.upnp_ws.WebsocketUpnp",
#     # "touch":
#     #     "fluxghost.websocket.touch.WebsocketTouch",
#     # "control":
#     #     "fluxghost.websocket.control.WebsocketControl",
#     # "camera":
#     #     "fluxghost.websocket.camera.WebsocketCamera",
#     # "3d-scan-control":
#     #     "fluxghost.websocket.scan_control.Websocket3DScanControl",
#     "usb-config":
#         "fluxghost.pipe.usb_config.PipeUsbConfig",
# 
#     # Data related
#     "3d-scan-modeling":
#         "fluxghost.pipe.scan_modeling.Pipe3DScannModeling",
#     "3dprint-slicing":
#         "fluxghost.pipe.stl_slicing_parser.Pipe3DSlicing",
#     "bitmap-laser-parser":
#         "fluxghost.pipe.laser_bitmap_parser.PipeLaserBitmapParser",
#     "svg-laser-parser":
#         "fluxghost.pipe.laser_svg_parser.PipeLaserSvgParser",
#     "pen-svg-parser":
#         "fluxghost.pipe.pen_svg_parser.PipePenSvgParser",
#     "fcode-reader":
#         "fluxghost.pipe.fcode_reader.PipeFcodeReader",
# }
# 
# Path: fluxghost/launcher.py
# def setup_env(options):
#     check_fluxclient()
#     setup_logger(options)
# 
# def show_version(verbose):
#     from fluxghost import __version__ as gfv
#     print("fluxghost %s" % gfv)
#     from fluxclient import __version__ as cfv
#     print("fluxclient %s" % cfv)


import argparse
import sys
import os
from fluxghost.pipe_route import get_match_pipe_service, ROUTES
from fluxghost.launcher import setup_env, show_version
        from tests.main import main
#!/usr/bin/env python3




def main():
    parser = argparse.ArgumentParser(description='FLUX Shadow')
    parser.add_argument("--log", dest='logfile', type=str, default=None,
                        help="Output log to specific")
    parser.add_argument('-d', '--debug', dest='debug', action='store_const',
                        const=True, default=False, help='Enable debug')
    parser.add_argument('-s', '--simulate', dest='simulate',
                        action='store_const', const=True, default=False,
                        help='Simulate data')
    parser.add_argument("--slic3r", dest='slic3r', type=str,
                        default='../Slic3r/slic3r.pl',
                        help="Set slic3r location")
    parser.add_argument("--cura", dest='cura', type=str,
                        default='',
                        help="Set cura location")
    parser.add_argument("--sentry", dest='sentry', type=str, default=None,

# Path: fluxghost/pipe_route.py
# def get_match_pipe_service(task):
#     if task in ROUTES:
#         module_name, klass_name = ROUTES[task].rsplit(".", 1)
#         module_instance = importlib.import_module(module_name)
#         klass = module_instance.__getattribute__(klass_name)
#         return klass
# 
# ROUTES = {
#     # Device related
#     "discover":
#         "fluxghost.pipe.discover.PipeDiscover",
#     # "upnp-config":
#     #     "fluxghost.websocket.upnp_ws.WebsocketUpnp",
#     # "touch":
#     #     "fluxghost.websocket.touch.WebsocketTouch",
#     # "control":
#     #     "fluxghost.websocket.control.WebsocketControl",
#     # "camera":
#     #     "fluxghost.websocket.camera.WebsocketCamera",
#     # "3d-scan-control":
#     #     "fluxghost.websocket.scan_control.Websocket3DScanControl",
#     "usb-config":
#         "fluxghost.pipe.usb_config.PipeUsbConfig",
# 
#     # Data related
#     "3d-scan-modeling":
#         "fluxghost.pipe.scan_modeling.Pipe3DScannModeling",
#     "3dprint-slicing":
#         "fluxghost.pipe.stl_slicing_parser.Pipe3DSlicing",
#     "bitmap-laser-parser":
#         "fluxghost.pipe.laser_bitmap_parser.PipeLaserBitmapParser",
#     "svg-laser-parser":
#         "fluxghost.pipe.laser_svg_parser.PipeLaserSvgParser",
#     "pen-svg-parser":
#         "fluxghost.pipe.pen_svg_parser.PipePenSvgParser",
#     "fcode-reader":
#         "fluxghost.pipe.fcode_reader.PipeFcodeReader",
# }
# 
# Path: fluxghost/launcher.py
# def setup_env(options):
#     check_fluxclient()
#     setup_logger(options)
# 
# def show_version(verbose):
#     from fluxghost import __version__ as gfv
#     print("fluxghost %s" % gfv)
#     from fluxclient import __version__ as cfv
#     print("fluxclient %s" % cfv)


# Path: shadow.py
import argparse
import sys
import os
from fluxghost.pipe_route import get_match_pipe_service, ROUTES
from fluxghost.launcher import setup_env, show_version
        from tests.main import main

#!/usr/bin/env python3




def main():
    parser = argparse.ArgumentParser(description='FLUX Shadow')
    parser.add_argument("--log", dest='logfile', type=str, default=None,
                        help="Output log to specific")
    parser.add_argument('-d', '--debug', dest='debug', action='store_const',
                        const=True, default=False, help='Enable debug')
    parser.add_argument('-s', '--simulate', dest='simulate',
                        action='store_const', const=True, default=False,
                        help='Simulate data')
    parser.add_argument("--slic3r", dest='slic3r', type=str,
                        default='../Slic3r/slic3r.pl',
                        help="Set slic3r location")
    parser.add_argument("--cura", dest='cura', type=str,
                        default='',
                        help="Set cura location")
    parser.add_argument("--sentry", dest='sentry', type=str, default=None,

                        help="Use sentry logger")