Initialize all channels.
(conf)
| 113 | |
| 114 | |
| 115 | def init(conf): |
| 116 | """ |
| 117 | Initialize all channels. |
| 118 | """ |
| 119 | |
| 120 | logger = logging.getLogger(__name__) |
| 121 | |
| 122 | # Initialize mimetypes library |
| 123 | mimetypes.init([pkg_resources.resource_filename('ehforwarderbot', 'mimetypes')]) |
| 124 | |
| 125 | # Initialize all channels |
| 126 | # (Load libraries and modules and init them) |
| 127 | |
| 128 | for i in conf['slave_channels']: |
| 129 | logger.log(99, "\x1b[0;36m %s \x1b[0m", _("Initializing slave {}...").format(i)) |
| 130 | |
| 131 | cls = utils.locate_module(i, 'slave') |
| 132 | telemetry_set_metadata({i: cls.__version__}) |
| 133 | instance_id = i.split('#', 1)[1:] |
| 134 | instance_id = (instance_id and instance_id[0]) or None |
| 135 | coordinator.add_channel(cls(instance_id=instance_id)) |
| 136 | |
| 137 | logger.log(99, "\x1b[0;32m %s \x1b[0m", |
| 138 | _("Slave channel {name} ({id}) # {instance_id} is initialized.") |
| 139 | .format(name=cls.channel_name, id=cls.channel_id, |
| 140 | instance_id=instance_id or _("Default profile"))) |
| 141 | |
| 142 | logger.log(99, "\x1b[0;36m %s \x1b[0m", |
| 143 | _("Initializing master {}...").format(conf['master_channel'])) |
| 144 | instance_id = conf['master_channel'].split('#', 1)[1:] |
| 145 | instance_id = (instance_id and instance_id[0]) or None |
| 146 | module = utils.locate_module(conf['master_channel'], 'master') |
| 147 | coordinator.add_channel(module(instance_id=instance_id)) |
| 148 | telemetry_set_metadata({conf['master_channel']: module.__version__}) |
| 149 | logger.log(99, "\x1b[0;32m %s \x1b[0m", |
| 150 | _("Master channel {name} ({id}) # {instance_id} is initialized.") |
| 151 | .format(name=coordinator.master.channel_name, |
| 152 | id=coordinator.master.channel_id, |
| 153 | instance_id=instance_id or _("Default profile"))) |
| 154 | |
| 155 | logger.log(99, "\x1b[1;32m %s \x1b[0m", _("All channels initialized.")) |
| 156 | for i in conf['middlewares']: |
| 157 | logger.log(99, "\x1b[0;36m %s \x1b[0m", _("Initializing middleware {}...").format(i)) |
| 158 | cls = utils.locate_module(i, 'middleware') |
| 159 | telemetry_set_metadata({i: cls.__version__}) |
| 160 | |
| 161 | instance_id = i.split('#', 1)[1:] |
| 162 | instance_id = (instance_id and instance_id[0]) or None |
| 163 | coordinator.add_middleware(cls(instance_id=instance_id)) |
| 164 | logger.log(99, "\x1b[0;32m %s \x1b[0m", |
| 165 | _("Middleware {name} ({id}) # {instance_id} is initialized.") |
| 166 | .format(name=cls.middleware_name, id=cls.middleware_id, |
| 167 | instance_id=instance_id or _("Default profile"))) |
| 168 | |
| 169 | logger.log(99, "\x1b[1;32m %s \x1b[0m", _("All middlewares are initialized.")) |
| 170 | |
| 171 | coordinator.master_thread = threading.Thread(target=coordinator.master.poll, |
| 172 | name=f"{coordinator.master.channel_id} polling thread") |
no test coverage detected