Exemple #1
0
class NewPluginCommand(sublime_plugin.WindowCommand):
    def run(self):
        self.counter = 0
        self.keys = ['name', 'group']
        self.options = {
            'name': ['Type Plugin Name:', 'vote'],
            'group': ['Type Plugin Group:', 'content']
        }

        self.show_input_panel()

    def show_input_panel(self):
        Helper().show_input_panel(self.options[self.keys[self.counter]][0],
                                  self.options[self.keys[self.counter]][1],
                                  self.on_done, None,
                                  Helper().on_cancel)

    def on_done(self, content):
        self.options[self.keys[self.counter]][1] = content
        self.counter += 1
        if self.counter < (len(self.options)):
            self.show_input_panel()
        else:
            self.extension = Plugin(self.options['group'][1] + '_' +
                                    self.options['name'][1])

            if Project().type() == 'package':
                self.package = Package()
                self.extension.path(
                    os.path.join(self.package.path, 'packages',
                                 self.extension.fullname))

                if self.extension.create():
                    Manifest(os.path.join(self.package.path,
                                          '%s.xml' % self.package.name)) \
                        .add_child('files', {
                            'tag': 'file',
                            'text': '%s.zip' % self.extension.fullname,
                            'attribs': {
                                'type': 'plugin',
                                'id': self.extension.name,
                                'group': self.extension.group
                            }
                        })
                    Project().refresh()
            else:
                self.extension.path(
                    os.path.join(Project().root(), self.extension.fullname))

                if self.extension.create():
                    self.extension.set_project()
Exemple #2
0
class NewPluginCommand(sublime_plugin.WindowCommand):

    def run(self):
        self.counter = 0
        self.keys = ['name', 'group']
        self.options = {
            'name': ['Type Plugin Name:', 'vote'],
            'group': ['Type Plugin Group:', 'content']
        }

        self.show_input_panel()

    def show_input_panel(self):
        Helper().show_input_panel(self.options[self.keys[self.counter]][0],
                                  self.options[self.keys[self.counter]][1],
                                  self.on_done, None, Helper().on_cancel)

    def on_done(self, content):
        self.options[self.keys[self.counter]][1] = content
        self.counter += 1
        if self.counter < (len(self.options)):
            self.show_input_panel()
        else:
            self.extension = Plugin(self.options['group'][1] + '_'
                                    + self.options['name'][1])

            if Project().type() == 'package':
                self.package = Package()
                self.extension.path(os.path.join(self.package.path,
                                                 'packages',
                                                 self.extension.fullname))

                if self.extension.create():
                    Manifest(os.path.join(self.package.path,
                                          '%s.xml' % self.package.name)) \
                        .add_child('files', {
                            'tag': 'file',
                            'text': '%s.zip' % self.extension.fullname,
                            'attribs': {
                                'type': 'plugin',
                                'id': self.extension.name,
                                'group': self.extension.group
                            }
                        })
                    Project().refresh()
            else:
                self.extension.path(os.path.join(Project().root(),
                                                 self.extension.fullname))

                if self.extension.create():
                    self.extension.set_project()