MCPcopy Create free account
hub / github.com/ehForwarderBot/ehForwarderBot / init

Function init

ehforwarderbot/__main__.py:115–175  ·  view source on GitHub ↗

Initialize all channels.

(conf)

Source from the content-addressed store, hash-verified

113
114
115def 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")

Callers 1

mainFunction · 0.85

Calls 1

telemetry_set_metadataFunction · 0.85

Tested by

no test coverage detected