Beispiel #1
0
    def run(self, edit):
        if mw.get_setting('offline_mode'):
            return

        is_process_post = True
        is_skip_summary = mw.get_setting('skip_summary', False)
        self.title = mw.get_title()
        if self.title:
            self.page = mw.api.get_page(self.title)

            if mw.api.page_can_edit(self.page):

                if mw.get_setting('validate_revision_on_post', True) and mw.props.get_view_setting(self.view, 'page_revision', 0) != mw.api.page_attr(self.page, 'revision'):
                    is_process_post = sublime.ok_cancel_dialog('Page was changed on server, post page anyway? If not, new revision will be opened in new tab.')

                if is_process_post:
                    self.current_text = self.view.substr(sublime.Region(0, self.view.size()))
                    if not is_skip_summary:
                        summary_message = 'Changes summary (%s):' % mw.get_view_site()
                        mw.set_timeout_async(self.view.window().show_input_panel(summary_message, '', self.on_done, None, None), 0)
                    else:
                        mw.set_timeout_async(self.on_done, 0)
                else:
                    self.view.window().run_command(mw.cmd('page'), {
                        'action': mw.cmd('show_page'),
                        'action_params': {'title': self.title, 'new_tab': True}
                    })
            else:
                mw.status_message('You have not rights to edit this page')
        else:
            mw.status_message('Can\'t publish page with empty title')
            return
Beispiel #2
0
    def run(self, edit):
        is_process_post = True
        is_skip_summary = mw.get_setting('mediawiker_skip_summary', False)
        self.sitecon = mw.get_connect()
        self.title = mw.get_title()
        if self.title:
            self.page = mw.get_page(self.sitecon, self.title)

            if self.page.can('edit'):

                if mw.get_setting('mediawiki_validate_revision_on_post', True) and self.view.settings().get('page_revision', 0) != self.page.revision:
                    is_process_post = sublime.ok_cancel_dialog('Page was changed on server, post page anyway? If not, new revision will be opened in new tab.')

                if is_process_post:
                    self.current_text = self.view.substr(sublime.Region(0, self.view.size()))
                    if not is_skip_summary:
                        summary_message = 'Changes summary (%s):' % mw.get_view_site()
                        mw.set_timeout_async(self.view.window().show_input_panel(summary_message, '', self.on_done, None, None), 0)
                    else:
                        mw.set_timeout_async(self.on_done, 0)
                else:
                    self.view.window().run_command('mediawiker_page', {'action': 'mediawiker_reopen_page', 'new_tab': True})
            else:
                mw.status_message('You have not rights to edit this page')
        else:
            mw.status_message('Can\'t publish page with empty title')
            return
Beispiel #3
0
 def run(self):
     title = utils.get_title()
     section = utils.props.get_view_setting(self.window.active_view(), 'section', None)
     self.window.run_command(utils.cmd('page'), {
         'action': utils.cmd('show_page'),
         'action_params': {'title': title, 'new_tab': False, 'section': section}
     })
Beispiel #4
0
    def run(self, edit):
        if utils.props.get_setting('offline_mode'):
            return

        is_process_post = True
        is_skip_summary = utils.props.get_setting('skip_summary', False)
        self.title = utils.get_title()
        if self.title:
            self.page = utils.api.get_page(self.title)

            if utils.api.page_can_edit(self.page):

                if utils.props.get_setting('validate_revision_on_post', True) and utils.props.get_view_setting(self.view, 'page_revision', 0) != utils.api.page_attr(self.page, 'revision'):
                    is_process_post = sublime.ok_cancel_dialog('Page was changed on server, post page anyway? If not, new revision will be opened in new tab.')

                if is_process_post:
                    self.current_text = self.view.substr(sublime.Region(0, self.view.size()))
                    if not is_skip_summary:
                        summary_message = 'Changes summary (%s):' % utils.get_view_site()
                        utils.set_timeout_async(self.view.window().show_input_panel(summary_message, '', self.on_done, None, None), 0)
                    else:
                        utils.set_timeout_async(self.on_done, 0)
                else:
                    self.view.window().run_command(utils.cmd('page'), {
                        'action': utils.cmd('show_page'),
                        'action_params': {'title': self.title, 'new_tab': True}
                    })
            else:
                utils.status_message(utils.api.PAGE_CANNOT_EDIT_MESSAGE)
        else:
            utils.status_message('Can\'t publish page with empty title')
            return
Beispiel #5
0
 def run(self, edit):
     self.title = utils.get_title()
     if self.title:
         self.page = utils.api.get_page(self.title)
         if utils.api.page_can_edit(self.page):
             utils.set_timeout_async(self.view.window().show_input_panel('New title', '', self.on_done_name, None, None), 0)
         else:
             utils.status_message('You have not rights to move this page')
Beispiel #6
0
    def run(self):
        if mw.get_setting('offline_mode'):
            return

        title = mw.get_title()
        self.window.run_command(mw.cmd('page'), {
            'action': mw.cmd('show_page'),
            'action_params': {'title': title, 'new_tab': False}
        })
Beispiel #7
0
    def run(self, edit):
        if mw.get_setting('offline_mode'):
            return

        self.title = mw.get_title()
        if self.title:
            self.page = mw.api.get_page(self.title)
            if mw.api.page_can_edit(self.page):
                mw.set_timeout_async(self.view.window().show_input_panel('New title', '', self.on_done_name, None, None), 0)
            else:
                mw.status_message('You have not rights to move this page')
Beispiel #8
0
    def run(self):
        page = utils.api.get_page(utils.get_title())
        page_talk = utils.api.get_page_talk_page(page)

        if utils.api.page_attr(page, 'name') == utils.api.page_attr(page_talk, 'name'):
            sublime.message_dialog('There is a talk page already.')

        sublime.set_timeout(
            lambda: sublime.active_window().run_command(
                utils.cmd('page'), {
                    'action': utils.cmd('show_page'),
                    'action_params': {'title': utils.api.page_attr(page_talk, 'name'), 'new_tab': True}
                }
            ), 2)
Beispiel #9
0
    def run(self):
        if mw.get_setting('offline_mode'):
            return

        page = mw.api.get_page(mw.get_title())
        page_talk = mw.api.get_page_talk_page(page)

        if mw.api.page_attr(page, 'name') == mw.api.page_attr(page_talk, 'name'):
            sublime.message_dialog('There is a talk page already.')

        sublime.set_timeout(
            lambda: sublime.active_window().run_command(
                mw.cmd('page'), {
                    'action': mw.cmd('show_page'),
                    'action_params': {'title': mw.api.page_attr(page_talk, 'name'), 'new_tab': True}
                }
            ), 2)
Beispiel #10
0
 def run(self):
     title = mw.get_title()
     self.window.run_command("mediawiker_page", {
         'action': 'mediawiker_show_page',
         'action_params': {'title': title, 'new_tab': False}
     })