协助扩展Sublime Text Plugin

时间:2015-08-04 07:50:46

标签: python sublimetext2 sublimetext3 sublimetext sublime-text-plugin

我有一个崇高的文本插件,用于监视以lp _

开头的文件的创建

当创建一个带有lp_前缀的文件时,插件会创建一个同名的文件夹,其中包含一个images文件夹。

我想观看我网站的不同区域,并在最近的lp文件夹中创建相关文件夹到创建的文件。

例如,我有以下文件夹结构

Root>桌面> Root>桌面> LP

Root>移动> Root>移动> LP

Root>平板电脑> Root>平板电脑> LP

在'设备'中创建带有lp_前缀的文件时文件夹我想在最近的lp文件夹中创建文件夹。

下面的插件位于右侧,但我不确定如何设置定位特定文件夹的规则。

import sublime,sublime_plugin,os

# We extend event listener
class ExampleCommand(sublime_plugin.EventListener):
    # This method is called every time a file is saved (not only the first time is saved)
    def on_post_save_async(self, view):
        variables = view.window().extract_variables()
        fileBaseName = variables['file_base_name'] # File name without extension
        path = '/Users/jameshusband/Dropbox/development/remote/superfreeslotgames.com/css/' + fileBaseName
        imagepath = path + '/images/'

        if fileBaseName.startswith('lp_') and not os.path.exists(path):
            os.mkdir(path)
            os.mkdir(imagepath)

有人能指出我正确的方向吗?我对Python不太熟悉,所以不确定实现目标的最佳方法。

1 个答案:

答案 0 :(得分:0)

非常感谢SergioFC帮助解决这个问题!

import sublime, sublime_plugin, os


# We extend event listener
class ExampleCommand(sublime_plugin.EventListener):
    # This method is called every time a file is saved (not only the first time is saved)
    def on_post_save_async(self, view):
        variables = view.window().extract_variables()
        fileBaseName = variables['file_base_name'] # File name without extension
        file_path = variables['file_path']

        if fileBaseName.startswith('lp_'):

            if file_path.endswith('/desktop'):
                path = file_path + '/lp/' + fileBaseName
                imagepath = path + '/images/'
                os.mkdir(path)
                os.mkdir(imagepath)
                open(path + '/' + "style.css", 'w')

            if file_path.endswith('/tablet'):
                path = file_path + '/lp/' + fileBaseName
                imagepath = path + '/images/'
                os.mkdir(path)
                os.mkdir(imagepath)
                open(path + '/' + "style.css", 'w')

            if file_path.endswith('/mobile'):
                path = file_path + '/lp/' + fileBaseName
                imagepath = path + '/images/'
                os.mkdir(path)
                os.mkdir(imagepath)
                open(path + '/' + "style.css", 'w')

从这里扩展将是在保存lp_文件时上传lp文件夹内容,然后为多用途设置用户选项