コード例 #1
0
 def go(self, cmd):
     if not self._process.is_running():
         self._process = BackgroundProcess(cmd)
         self._process.start()
         rcnt = [cmd]
         if len(self._recent) > 0:
             for x in self._recent:
                 rcnt.append(x)
         if len(rcnt) > 5:
             rcnt = rcnt[:5]
         self._recent = rcnt
コード例 #2
0
class ShellPlugin(CategoryPlugin):
    text = 'Execute'
    iconfont = 'gen-target'
    folder = 'tools'

    def on_session_start(self):
        self._recent = []
        self._process = BackgroundProcess('')

    def get_ui(self):
        ui = self.app.inflate('shell:main')
        recent = [
            UI.SelectOption(text=x[0:40] + '...' if len(x) > 40 else x,
                            value=x) for x in self._recent
        ]

        if self._process is not None and self._process.is_running():
            time.sleep(1)

        if self._process is not None and self._process.is_running():
            ui.append('status',
                      UI.Label(text='Process is running. Refresh on will'))

        log = UI.CustomHTML(id='logdata',
                            html=enquote(self._process.output +
                                         self._process.errors))

        ui.append('log', log)
        ui.appendAll('shell-recent', *recent)

        return ui

    def go(self, cmd):
        if not self._process.is_running():
            self._process = BackgroundProcess(cmd)
            self._process.start()
            rcnt = [cmd]
            if len(self._recent) > 0:
                for x in self._recent:
                    rcnt.append(x)
            if len(rcnt) > 5:
                rcnt = rcnt[:5]
            self._recent = rcnt

    @event('form/submit')
    def on_submit(self, event, params, vars=None):
        self.go(vars.getvalue('cmd', ''))
コード例 #3
0
ファイル: main.py プロジェクト: skyboyhjj/genesis
class ShellPlugin(CategoryPlugin):
    text = 'Execute'
    iconfont = 'gen-target'
    folder = 'tools'

    def on_session_start(self):
        self._recent = []
        self._process = BackgroundProcess('')

    def get_ui(self):
        ui = self.app.inflate('shell:main')
        recent = [UI.SelectOption(text=x[0:40] + '...' if len(x) > 40 else x,
                                  value=x) for x in self._recent]
        
        if self._process is not None and self._process.is_running():
            time.sleep(1)
        
        if self._process is not None and self._process.is_running():
            ui.append('status', UI.Label(
                text='Process is running. Refresh on will'
            ))
        
        log = UI.CustomHTML(id='logdata', html=enquote(self._process.output + self._process.errors))

        ui.append('log', log)
        ui.appendAll('shell-recent', *recent)
        

        return ui

    def go(self, cmd):
        if not self._process.is_running():
            self._process = BackgroundProcess(cmd)
            self._process.start()
            rcnt = [cmd]
            if len(self._recent) > 0:
                for x in self._recent:
                    rcnt.append(x)
            if len(rcnt) > 5:
                rcnt = rcnt[:5]
            self._recent = rcnt

    @event('form/submit')
    def on_submit(self, event, params, vars=None):
        self.go(vars.getvalue('cmd', ''))
コード例 #4
0
ファイル: main.py プロジェクト: skyboyhjj/genesis
 def go(self, cmd):
     if not self._process.is_running():
         self._process = BackgroundProcess(cmd)
         self._process.start()
         rcnt = [cmd]
         if len(self._recent) > 0:
             for x in self._recent:
                 rcnt.append(x)
         if len(rcnt) > 5:
             rcnt = rcnt[:5]
         self._recent = rcnt
コード例 #5
0
ファイル: main.py プロジェクト: netconstructor/genesis
class ShellPlugin(CategoryPlugin):
    text = "Execute"
    iconfont = "gen-target"
    folder = "tools"

    def on_session_start(self):
        self._recent = []
        self._process = BackgroundProcess("")

    def get_ui(self):
        ui = self.app.inflate("shell:main")
        recent = [UI.SelectOption(text=x[0:40] + "..." if len(x) > 40 else x, value=x) for x in self._recent]

        if self._process is not None and self._process.is_running():
            time.sleep(1)

        if self._process is not None and self._process.is_running():
            ui.append("status", UI.Label(text="Process is running. Refresh on will"))

        log = UI.CustomHTML(id="logdata", html=enquote(self._process.output + self._process.errors))

        ui.append("log", log)
        ui.appendAll("shell-recent", *recent)

        return ui

    def go(self, cmd):
        if not self._process.is_running():
            self._process = BackgroundProcess(cmd, runas=self.app.auth.user)
            self._process.start()
            rcnt = [cmd]
            if len(self._recent) > 0:
                for x in self._recent:
                    rcnt.append(x)
            if len(rcnt) > 5:
                rcnt = rcnt[:5]
            self._recent = rcnt

    @event("form/submit")
    def on_submit(self, event, params, vars=None):
        self.go(vars.getvalue("cmd", ""))
コード例 #6
0
ファイル: main.py プロジェクト: skyboyhjj/genesis
 def on_session_start(self):
     self._recent = []
     self._process = BackgroundProcess('')
コード例 #7
0
 def on_session_start(self):
     self._recent = []
     self._process = BackgroundProcess('')