def __init__(self, module, user_modules, py3_wrapper, instance=None):
self.allow_config_clicks = True<EOL>self.allow_urgent = None<EOL>self.cache_time = None<EOL>self.click_events = False<EOL>self.config = py3_wrapper.config<EOL>self.disabled = False<EOL>self.enabled = False<EOL>self.error_messages = None<EOL>self.error_hide = False<EOL>self.has_post_config_hook = False<EOL>self.has_kill = False<EOL>self.i3status_thread = py3_wrapper.i3status_thread<EOL>self.last_output = []<EOL>self.methods = OrderedDict()<EOL>self.module_class = instance<EOL>self.module_full_name = module<EOL>self.module_inst = "<STR_LIT>".join(module.split("<STR_LIT:U+0020>")[<NUM_LIT:1>:])<EOL>self.module_name = module.split("<STR_LIT:U+0020>")[<NUM_LIT:0>]<EOL>self.new_update = False<EOL>self.nagged = False<EOL>self.prevent_refresh = False<EOL>self.sleeping = False<EOL>self.terminated = False<EOL>self.testing = self.config.get("<STR_LIT>")<EOL>self.urgent = False<EOL>self.i3bar_gaps_urgent_options = {}<EOL>if self.module_inst.startswith("<STR_LIT>"):<EOL><INDENT>self.module_nice_name = self.module_name<EOL><DEDENT>else:<EOL><INDENT>self.module_nice_name = self.module_full_name<EOL><DEDENT>self._py3_wrapper = py3_wrapper<EOL>try:<EOL><INDENT>self.load_methods(module, user_modules)<EOL><DEDENT>except Exception as e:<EOL><INDENT>self.disabled = True<EOL>self.methods["<STR_LIT:error>"] = {}<EOL>self.error_index = <NUM_LIT:0><EOL>self.error_messages = [<EOL>self.module_nice_name,<EOL>u"<STR_LIT>".format(self.module_nice_name, str(e)),<EOL>]<EOL>self.error_output(self.error_messages[<NUM_LIT:0>])<EOL>msg = "<STR_LIT>".format(self.module_full_name)<EOL>if isinstance(e, SyntaxError):<EOL><INDENT>self._py3_wrapper.report_exception(msg, notify_user=False)<EOL><DEDENT>else:<EOL><INDENT>self._py3_wrapper.log(msg)<EOL>self._py3_wrapper.log(str(e))<EOL><DEDENT><DEDENT>if not self.disabled:<EOL><INDENT>self.set_module_options(module)<EOL><DEDENT>
We need quite some stuff to occupy ourselves don't we ?