def run(self, edit, tz_in=None, tz_out=None):
        self.panel_cache = []
        self.config_map = {}

        if not isinstance(s.prompt_config, list):
            status("`prompt_config` setting is invalid")
            return

        configs = s.prompt_config
        if not isinstance(s.user_prompt_config, list):
            status("`user_prompt_config` setting is invalid")
        else:
            configs = configs + s.user_prompt_config

        if not configs:
            status("No configurations found to choose from")
            return

        # Generate panel cache for quick_panel
        for conf in configs:
            # Read config
            c = dict()
            c['tz_in']  = tz_in if tz_in else conf.get('tz_in')
            c['tz_out'] = tz_out if tz_out else conf.get('tz_out')
            c['format'] = conf.get('format')

            if isinstance(c['format'], basestring):
                c['format'] = c['format'].replace("$default", fdate.default['format'])

            # Do the actual parse action
            try:
                text = fdate.parse(**c)
            except UnknownTimeZoneError as e:
                status(str(e).strip('"'), e)
                return
            except Exception as e:
                status(format % 'Error parsing format string `%s`', e)
                return

            self.panel_cache.append([conf['name'], text])
            self.config_map[conf['name']] = c

        # Unset save_on_focus_lost so that ST doesn't save and remove trailing
        # whitespace when the quick panel is opened, if that option is also
        # enabled. (#26)
        self.view.settings().set('save_on_focus_lost', False)
        self.view.window().show_quick_panel(self.panel_cache, self.on_done)
dataset/ETHPy150Open FichteFoll/InsertDate/insert_date.py/InsertDatePanelCommand.run/swapped operands of `%`