input_for_path.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:FileManager 作者: math2001 项目源码 文件源码
def browsing_on_done(self, index=None):
        if index == -1:
            return self.input_on_cancel()

        if self.no_browser_action is False and index == 0:
            # create from the position in the browser
            self.create_from = self.browser.path
            self.path_to_create_choosed_from_browsing = True
            if self.browser_action.get('func', None) is None:
                return self.create_input()
            else:
                return self.browser_action['func'](self.create_from, None)
        elif (self.no_browser_action is True and index == 0) or (
                index == 1 and self.no_browser_action is False):
            self.browser.path = os.path.normpath(
                os.path.join(self.browser.path, '..'))
        elif index is not None:
            self.browser.path = os.path.join(self.browser.path,
                                             self.browser.items[index])

        if os.path.isfile(self.browser.path):
            set_status(self.view, self.STATUS_KEY, '')
            return self.window.open_file(self.browser.path)

        folders, files = [], []
        for item in os.listdir(self.browser.path):
            if os.path.isdir(os.path.join(self.browser.path, item)):
                folders.append(item + '/')
            else:
                files.append(item)

        if self.no_browser_action:
            self.browser.items = ['[cmd] ..'] + folders + files
        elif self.browser_action.get('title', None) is not None:
            self.browser.items = [
                '[cmd] ' + self.browser_action['title'], '[cmd] ..'
            ] + folders + files
        else:
            self.browser.items = ['[cmd] Create from here', '[cmd] ..'
                                  ] + folders + files

        set_status(self.view, self.STATUS_KEY,
            'Browsing at: {0}'.format(user_friendly(self.browser.path)))
        if self.browser_index is not None:
            index = self.browser_index
        elif self.no_browser_action:
            index = 1
        else:
            index = 2

        self.window.show_quick_panel(self.browser.items, self.browsing_on_done,
                                     sublime.KEEP_OPEN_ON_FOCUS_LOST, index, self.open_in_transient)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号