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