Пример #1
0
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
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
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
 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
 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
 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
 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
    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
    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
 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
    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
    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
    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
    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)