コード例 #1
0
ファイル: dirbrowser_ext.py プロジェクト: hfpiao/ulipad
def OnDjangoStartApp(win):
    values = get_django_name(win)
    if values:
        appname = values.get("appname", "")
        if appname:
            oldpath = os.getcwd()
            try:
                item = win.tree.GetSelection()
                filename = win.get_node_filename(item)
                if win.isFile(item):
                    item = win.tree.GetItemParent(item)
                    filename = win.get_node_filename(item)

                dir = filename
                os.chdir(dir)
                os.system("django-admin.py startapp %s" % appname)
                if values.get("template", False):
                    os.mkdir(os.path.join(dir, appname, "templates"))
                if values.get("template_tags", False):
                    path = os.path.join(dir, appname, "templatetags")
                    os.mkdir(path)
                    file(os.path.join(path, "__init__.py"), "w").close()
                win.tree.DeleteChildren(item)
                win.addpathnodes(dir, item)
                common.note(tr("Completed!"))
            finally:
                os.chdir(oldpath)
コード例 #2
0
ファイル: dirbrowser_ext.py プロジェクト: zztalker/ulipad
def OnDjangoStartApp(win):
    values = get_django_name(win)
    if values:
        appname = values.get('appname', '')
        if appname:
            oldpath = os.getcwd()
            try:
                item = win.tree.GetSelection()
                filename = win.get_node_filename(item)
                if win.isFile(item):
                    item = win.tree.GetItemParent(item)
                    filename = win.get_node_filename(item)

                dir = filename
                os.chdir(dir)
                os.system('django-admin.py startapp %s' % appname)
                if values.get('template', False):
                    os.mkdir(os.path.join(dir, appname, 'templates'))
                if values.get('template_tags', False):
                    path = os.path.join(dir, appname, 'templatetags')
                    os.mkdir(path)
                    file(os.path.join(path, '__init__.py'), 'w').close()
                win.tree.DeleteChildren(item)
                win.addpathnodes(dir, item)
                common.note(tr('Completed!'))
            finally:
                os.chdir(oldpath)
コード例 #3
0
ファイル: dirbrowser_ext.py プロジェクト: LaoMa3953/ulipad
def OnDjangoStartApp(win):
    values = get_django_name(win)
    if values:
        appname = values.get('appname', '')
        if appname:
            oldpath = os.getcwd()
            try:
                item = win.tree.GetSelection()
                filename = win.get_node_filename(item)
                if win.isFile(item):
                    item = win.tree.GetItemParent(item)
                    filename = win.get_node_filename(item)

                dir = filename
                os.chdir(dir)
                os.system('django-admin.py startapp %s' % appname)
                if values.get('template', False):
                    os.mkdir(os.path.join(dir, appname, 'templates'))
                if values.get('template_tags', False):
                    path = os.path.join(dir, appname, 'templatetags')
                    os.mkdir(path)
                    file(os.path.join(path, '__init__.py'), 'w').close()
                win.tree.DeleteChildren(item)
                win.addpathnodes(dir, item)
                common.note(tr('Completed!'))
            finally:
                os.chdir(oldpath)
コード例 #4
0
ファイル: mRegister.py プロジェクト: LinYuanLab/ulipad
 def OnToolUnRegister(win, event):
     try:
         key = _winreg.OpenKey(_winreg.HKEY_CLASSES_ROOT, '*\\shell', _winreg.KEY_ALL_ACCESS)
         _winreg.DeleteKey(key, 'UliPad\\command')
         _winreg.DeleteKey(key, 'UliPad')
         common.note(tr('Successful!'))
     except:
         error.traceback()
         wx.MessageDialog(win, tr('Unregistering UliPad from the context menu of Windows Explorer failed.'), tr("Error"), wx.OK | wx.ICON_EXCLAMATION).ShowModal()
コード例 #5
0
ファイル: FindReplace.py プロジェクト: LaoMa3953/ulipad
 def OnCount(self, event):
     self.getValue()
     if not self.finder.findtext:
         common.warn(tr("Target text can't be empty."))
         return
     self.addFindString(self.finder.findtext)
     count = self.finder.count(int(self.rdoSelection.GetValue()))
     if count == 0:
         common.note(tr("Can't find the text."))
     else:
         common.note(tr("Totally replaced %d places.") % count)
コード例 #6
0
 def OnCount(self, event):
     self.getValue()
     if not self.finder.findtext:
         common.warn(tr("Target text can't be empty."))
         return
     self.addFindString(self.finder.findtext)
     count = self.finder.count(int(self.rdoSelection.GetValue()))
     if count == 0:
         common.note(tr("Can't find the text."))
     else:
         common.note(tr("Totally replaced %d places.") % count)
コード例 #7
0
ファイル: __init__.py プロジェクト: zztalker/ulipad
 def f():
     try:
         common.setmessage(win, 'Pylint syntax checking...')
         try:
             lint.Run([pyfile],
                      Report(win.pylintsyntaxcheckwindow.list))
         except:
             error.track()
     finally:
         common.setmessage(win, '')
         common.note(tr('Pylint syntax checking finished!'))
コード例 #8
0
ファイル: Concurrent.py プロジェクト: LaoMa3953/ulipad
 def OnSave(self, event=None):
     filename = None
     dlg = wx.FileDialog(self, tr("Save File"), self.pref.last_dir, '', 'Text file|*.txt', wx.SAVE|wx.OVERWRITE_PROMPT)
     if dlg.ShowModal() == wx.ID_OK:
         filename = dlg.GetPath()
         dlg.Destroy()
     if filename:
         try:
             file(filename, 'w').write(self.chatroom.GetText().encode('utf-8'))
         except:
             common.warn(tr("There is error as saving the file"))
         else:
             common.note(tr("Finished!"))
コード例 #9
0
 def OnToolUnRegister(win, event):
     try:
         key = _winreg.OpenKey(_winreg.HKEY_CLASSES_ROOT, '*\\shell',
                               _winreg.KEY_ALL_ACCESS)
         _winreg.DeleteKey(key, 'UliPad\\command')
         _winreg.DeleteKey(key, 'UliPad')
         common.note(tr('Successful!'))
     except:
         error.traceback()
         wx.MessageDialog(
             win,
             tr('Unregistering UliPad from the context menu of Windows Explorer failed.'
                ), tr("Error"), wx.OK | wx.ICON_EXCLAMATION).ShowModal()
コード例 #10
0
ファイル: SpellCheck.py プロジェクト: zztalker/ulipad
    def _Advance(self):
        """Advance to the next error.
        This method advances the SpellChecker to the next error, if
        any.  It then displays the error and some surrounding context,
        and well as listing the suggested replacements.
        """
        # Advance to next error, disable if not available
        while 1:
            try:
                if self.new:
                    self.begin_pos = self.document.PositionFromLine(
                        self.begin_line)
                    line = self.document.getLineText(self.begin_line)
                    line_len = self.document.GetLineEndPosition(
                        self.begin_line) - self.begin_pos
                    new = False
                if self.last_line_pos < line_len:
                    self.chkr.set_text(line[self.last_col:])
                self.chkr.next()
                #                while self.chkr.word in self.ignore_list:
                #                    self.chkr.next()
                #                    pass
                self.last_col += self.chkr.wordpos
                self.last_line_pos = len(line[:self.last_col].encode('utf-8'))
                break
            except StopIteration:
                if self.begin_line < self.document.GetLineCount():
                    self.begin_line += 1
                    self.last_line_pos = 0
                    self.last_col = 0
                    self.new = True
                else:
                    self._DisableButtons()
                    self.list.Clear()
                    self.text.SetValue("")
                    common.note(tr('No more error found'))
                    return
        self._EnableButtons()
        self.document.SetSelectionStart(self.begin_pos + self.last_line_pos)
        self.document.SetSelectionEnd(self.begin_pos + self.last_line_pos +
                                      len(self.chkr.word.encode('utf-8')))
        self.document.EnsureCaretVisible()

        suggs = self.chkr.suggest()
        self.list.Clear()
        for s in suggs:
            self.list.Append(s)
        if len(suggs) > 0:
            self.text.SetValue(suggs[0])
        else:
            self.text.SetValue("")
コード例 #11
0
 def OnSave(self, event=None):
     filename = None
     dlg = wx.FileDialog(self, tr("Save File"), self.pref.last_dir, '',
                         'Text file|*.txt', wx.SAVE | wx.OVERWRITE_PROMPT)
     if dlg.ShowModal() == wx.ID_OK:
         filename = dlg.GetPath()
         dlg.Destroy()
     if filename:
         try:
             file(filename,
                  'w').write(self.chatroom.GetText().encode('utf-8'))
         except:
             common.warn(tr("There is error as saving the file"))
         else:
             common.note(tr("Finished!"))
コード例 #12
0
ファイル: SpellCheck.py プロジェクト: LinYuanLab/ulipad
    def _Advance(self):
        """Advance to the next error.
        This method advances the SpellChecker to the next error, if
        any.  It then displays the error and some surrounding context,
        and well as listing the suggested replacements.
        """
        # Advance to next error, disable if not available
        while 1:
            try:
                if self.new:
                    self.begin_pos = self.document.PositionFromLine(self.begin_line)
                    line = self.document.getLineText(self.begin_line)
                    line_len = self.document.GetLineEndPosition(self.begin_line) - self.begin_pos
                    new = False
                if self.last_line_pos < line_len:
                    self.chkr.set_text(line[self.last_col:])
                self.chkr.next()
#                while self.chkr.word in self.ignore_list:
#                    self.chkr.next()
#                    pass
                self.last_col += self.chkr.wordpos
                self.last_line_pos = len(line[:self.last_col].encode('utf-8'))
                break
            except StopIteration:
                if self.begin_line < self.document.GetLineCount():
                    self.begin_line += 1
                    self.last_line_pos = 0
                    self.last_col = 0
                    self.new = True
                else:
                    self._DisableButtons()
                    self.list.Clear()
                    self.text.SetValue("")
                    common.note(tr('No more error found'))
                    return
        self._EnableButtons()
        self.document.SetSelectionStart(self.begin_pos + self.last_line_pos)
        self.document.SetSelectionEnd(self.begin_pos + self.last_line_pos + len(self.chkr.word.encode('utf-8')))
        self.document.EnsureCaretVisible()

        suggs = self.chkr.suggest()
        self.list.Clear()
        for s in suggs:
            self.list.Append(s)
        if len(suggs) > 0:
            self.text.SetValue(suggs[0])
        else:
            self.text.SetValue("")
コード例 #13
0
    def replaceAll(self, section):
        length = len(getRawText(self.findtext))
        if section == 0:  #whole document
            start = 0
            end = self.win.GetLength()
        else:
            start, end = self.win.GetSelection()

        if self.regular:
            r = self.regularSearch(start, end)
            if r:
                b, e = r
            else:
                b = -1
        else:
            b = self.win.FindText(start, end, self.findtext, self.getFlags())
        count = 0
        self.win.BeginUndoAction()
        while b != -1:
            count += 1
            if not self.regular:
                e = b + length
            self.win.SetTargetStart(b)
            self.win.SetTargetEnd(e)
            if self.regular:
                rtext = self.regularReplace(self.win.GetTextRange(b, e))
            else:
                rtext = self.replacetext
            self.win.ReplaceTarget(rtext)
            rt = getRawText(rtext)
            diff = len(rt) - (e - b)
            end += diff
            start = b + len(rt)
            if self.regular:
                r = self.regularSearch(start, end)
                if r:
                    b, e = r
                else:
                    b = -1
            else:
                b = self.win.FindText(start, end, self.findtext,
                                      self.getFlags())
        self.win.EndUndoAction()

        if count == 0:
            common.note(tr("Can't find the text."))
        else:
            common.note(tr("Totally replaced %d places.") % count)
コード例 #14
0
ファイル: mRegister.py プロジェクト: LinYuanLab/ulipad
 def OnToolRegister(win, event):
     try:
         key = _winreg.OpenKey(_winreg.HKEY_CLASSES_ROOT, '*', _winreg.KEY_ALL_ACCESS)
         filename = os.path.basename(sys.argv[0])
         f, ext = os.path.splitext(filename)
         if ext == '.exe':
             command = '"%s" "%%L"' % os.path.normpath(common.uni_work_file(filename))
         else:
             path = os.path.normpath(common.uni_work_file('%s.pyw' % f))
             execute = sys.executable.replace('python.exe', 'pythonw.exe')
             command = '"%s" "%s" "%%L"' % (execute, path)
         _winreg.SetValue(key, 'shell\\UliPad\\command', _winreg.REG_SZ, common.encode_string(command, common.defaultfilesystemencoding))
         common.note(tr('Done'))
     except:
         error.traceback()
         wx.MessageDialog(win, tr('Registering UliPad to the context menu of Windows Explorer failed.'), tr("Error"), wx.OK | wx.ICON_EXCLAMATION).ShowModal()
コード例 #15
0
ファイル: FindReplace.py プロジェクト: LaoMa3953/ulipad
    def replaceAll(self, section):
        length = len(getRawText(self.findtext))
        if section == 0:    #whole document
            start = 0
            end = self.win.GetLength()
        else:
            start, end = self.win.GetSelection()

        if self.regular:
            r = self.regularSearch(start, end)
            if r:
                b, e = r
            else:
                b = -1
        else:
            b = self.win.FindText(start, end, self.findtext, self.getFlags())
        count = 0
        self.win.BeginUndoAction()
        while b != -1:
            count += 1
            if not self.regular:
                e = b + length
            self.win.SetTargetStart(b)
            self.win.SetTargetEnd(e)
            if self.regular:
                rtext = self.regularReplace(self.win.GetTextRange(b, e))
            else:
                rtext = self.replacetext
            self.win.ReplaceTarget(rtext)
            rt = getRawText(rtext)
            diff = len(rt) - (e-b)
            end += diff
            start = b + len(rt)
            if self.regular:
                r = self.regularSearch(start, end)
                if r:
                    b, e = r
                else:
                    b = -1
            else:
                b = self.win.FindText(start, end, self.findtext, self.getFlags())
        self.win.EndUndoAction()

        if count == 0:
            common.note(tr("Can't find the text."))
        else:
            common.note(tr("Totally replaced %d places.") % count)
コード例 #16
0
ファイル: FindReplace.py プロジェクト: LaoMa3953/ulipad
    def findReNext(self):
        length = len(getRawText(self.findtext))
        if length == 0:
            return None

        start = self.win.GetCurrentPos()
        end = self.win.GetLength()

        result = self.regularSearch(start, end)
        if result == None:
            if self.rewind:
                result = self.regularSearch(0, start)
            if result == None:
                common.note(tr("Can't find the text."))
                return None

        return result
コード例 #17
0
    def findReNext(self):
        length = len(getRawText(self.findtext))
        if length == 0:
            return None

        start = self.win.GetCurrentPos()
        end = self.win.GetLength()

        result = self.regularSearch(start, end)
        if result == None:
            if self.rewind:
                result = self.regularSearch(0, start)
            if result == None:
                common.note(tr("Can't find the text."))
                return None

        return result
コード例 #18
0
ファイル: FindReplace.py プロジェクト: LaoMa3953/ulipad
    def findNext(self):
        length = len(getRawText(self.findtext))
        if length == 0:
            return None
        if self.regular:
            return self.findReNext()
        start = self.win.GetCurrentPos()
        end = self.win.GetLength()
        pos = self.win.FindText(start, end, self.findtext, self.getFlags())
        if pos == -1:   #not found
            if self.rewind:
                pos = self.win.FindText(0, start, self.findtext, self.getFlags())
            if pos == -1:
                common.note(tr("Can't find the text."))
                return None

        return (pos, pos + length)
コード例 #19
0
    def findNext(self):
        length = len(getRawText(self.findtext))
        if length == 0:
            return None
        if self.regular:
            return self.findReNext()
        start = self.win.GetCurrentPos()
        end = self.win.GetLength()
        pos = self.win.FindText(start, end, self.findtext, self.getFlags())
        if pos == -1:  #not found
            if self.rewind:
                pos = self.win.FindText(0, start, self.findtext,
                                        self.getFlags())
            if pos == -1:
                common.note(tr("Can't find the text."))
                return None

        return (pos, pos + length)
コード例 #20
0
ファイル: FindReplace.py プロジェクト: LaoMa3953/ulipad
    def findPrev(self):
        length = len(getRawText(self.findtext))
        if length == 0:
            return None
        start = self.win.GetCurrentPos()
        text = self.win.GetSelectedText()
        if self.matchcase:
            if text == self.findtext:
                start -= len(getRawText(text))+1
                start = max ([start, 0])
        else:
            if text.lower() == self.findtext.lower():
                start -= len(getRawText(text))+1
                start = max ([start, 0])
        pos = self.win.FindText(start, 0, self.findtext, self.getFlags())
        if pos == -1:   #not found
            if self.rewind:
                pos = self.win.FindText(self.win.GetLength(), start, self.findtext, self.getFlags())
            if pos == -1:
                common.note(tr("Can't find the text."))
                return None

        return (pos, pos + length)
コード例 #21
0
 def OnToolRegister(win, event):
     try:
         key = _winreg.OpenKey(_winreg.HKEY_CLASSES_ROOT, '*',
                               _winreg.KEY_ALL_ACCESS)
         filename = os.path.basename(sys.argv[0])
         f, ext = os.path.splitext(filename)
         if ext == '.exe':
             command = '"%s" "%%L"' % os.path.normpath(
                 common.uni_work_file(filename))
         else:
             path = os.path.normpath(common.uni_work_file('%s.pyw' % f))
             execute = sys.executable.replace('python.exe', 'pythonw.exe')
             command = '"%s" "%s" "%%L"' % (execute, path)
         _winreg.SetValue(
             key, 'shell\\UliPad\\command', _winreg.REG_SZ,
             common.encode_string(command,
                                  common.defaultfilesystemencoding))
         common.note(tr('Done'))
     except:
         error.traceback()
         wx.MessageDialog(
             win,
             tr('Registering UliPad to the context menu of Windows Explorer failed.'
                ), tr("Error"), wx.OK | wx.ICON_EXCLAMATION).ShowModal()
コード例 #22
0
    def findPrev(self):
        length = len(getRawText(self.findtext))
        if length == 0:
            return None
        start = self.win.GetCurrentPos()
        text = self.win.GetSelectedText()
        if self.matchcase:
            if text == self.findtext:
                start -= len(getRawText(text)) + 1
                start = max([start, 0])
        else:
            if text.lower() == self.findtext.lower():
                start -= len(getRawText(text)) + 1
                start = max([start, 0])
        pos = self.win.FindText(start, 0, self.findtext, self.getFlags())
        if pos == -1:  #not found
            if self.rewind:
                pos = self.win.FindText(self.win.GetLength(), start,
                                        self.findtext, self.getFlags())
            if pos == -1:
                common.note(tr("Can't find the text."))
                return None

        return (pos, pos + length)