Example #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)
Example #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)
Example #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)
Example #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()
Example #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)
Example #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)
Example #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!'))
Example #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!"))
Example #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()
Example #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("")
Example #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!"))
Example #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("")
Example #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)
Example #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()
Example #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)
Example #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
Example #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
Example #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)
Example #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)
Example #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)
Example #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()
Example #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)