def __init__(self, data, name, editor, saved): EditorModels.SourceModel.__init__(self, data, name, editor, saved) contents = os.path.splitext(name)[0] + '.hhc' try: transport = Explorer.openEx(contents) data = transport.load() except ExplorerNodes.TransportError: transport = None data = '' self.contentsModel = EditorModels.SourceModel(data, contents, editor, saved) self.contentsModel.transport = transport indexes = os.path.splitext(name)[0] + '.hhk' try: transport = Explorer.openEx(indexes) data = transport.load() except ExplorerNodes.TransportError: transport = None data = '' self.indexesModel = EditorModels.SourceModel(data, indexes, editor, saved) self.indexesModel.transport = transport self.update()
def OnSaveHistory(self, event): fn, ok = self.editor.saveAsDlg('history.pcl', 'AllFiles') if ok: data = pickle.dumps(self.history) from Explorers import Explorer n = Explorer.openEx(fn) n.save(n.resourcepath, data)
def __init__(self, parent, editor, resourceFilename, imageName='', onlyIcons=False): self._init_ctrls(parent) from Explorers import Explorer model = PyResourceBitmapModel('', resourceFilename, editor, True) model.transport = Explorer.openEx(resourceFilename) model.load(notify=False) self.resources = PyResourceImagesSelectionView(self, model, listStyle=wx.LC_SMALL_ICON | wx.LC_ALIGN_TOP, imgLstStyle=wx.IMAGE_LIST_SMALL) self.resources.onlyIcons = onlyIcons self.boxSizerMain.Prepend(self.resources, 1, wx.LEFT|wx.RIGHT|wx.TOP|wx.GROW, 15) self.resources.refreshCtrl() if imageName: sel = -1 for idx, r in zip(range(len(self.resources.imageSrcInfo)), self.resources.imageSrcInfo): if r[0] == imageName: sel = idx break if sel != -1: self.resources.Select(sel) self.resources.EnsureVisible(sel) self.resources.SetFocus()
def OnEditIndex(self, event): if self.selected != -1: keyword, location, c = self.model.indexes[self.selected] docsDir = os.path.dirname(self.model.filename) try: data = Explorer.openEx( os.path.join(docsDir, location.split('#')[0])).load() except ExplorerNodes.TransportLoadError: data = '' prs = parseHelpFile(data, HtmlDocDetailParser) dlg = createIndexDlg(None, keyword, location, prs.anchors) try: if dlg.ShowModal() != wx.ID_OK: return res = dlg.GetResult() finally: dlg.Destroy() if res != (keyword, location): keyword, location = res self.model.indexes[self.selected] = (keyword, location, None) self.model.setModified('indexes') self.updateEditor() self.refreshCtrl()
def OnGetItemText(self, item, col): f = self.model.config.files[item] if col == 0: return ` item ` elif col == 1: return os.path.basename(f) elif col == 2: return f elif Preferences.hbShowDocumentTitles and col == 3: if not self.cached[item]: title = '' try: if os.path.splitext(f)[1].lower() not in ('.htm', '.html'): return '' docsDir = os.path.dirname(self.model.filename) try: data = Explorer.openEx(os.path.join(docsDir, f)).load() except ExplorerNodes.TransportError: return '' fmtr = formatter.NullFormatter(formatter.NullWriter()) try: HtmlDocDetailParser(fmtr, breakOnTitle=True).feed(data) except BreakOnTitle, title: return str(title) except: return '' else: return '' finally: self.cached[item] = title
def writeTimes(self): from StringIO import StringIO timesFile = StringIO('') #open(self.getTTVFilename(), 'w') for start, end, desc in self.times: self.writeTimeEntry(timesFile, start, end, desc) timesFile.seek(0) uri = self.getTTVFilename() transp = Explorer.openEx(uri) transp.save(transp.currentFilename(), timesFile.read())
def writeTimes(self): from cStringIO import StringIO timesFile = StringIO('')#open(self.getTTVFilename(), 'w') for start, end, desc in self.times: self.writeTimeEntry(timesFile, start, end, desc) timesFile.seek(0) uri = self.getTTVFilename() transp = Explorer.openEx(uri) transp.save(transp.currentFilename(), timesFile.read())
def getFunctions(self, module): from Explorers import Explorer extPath = self.getExtPath(module) src = Explorer.openEx(extPath).load() sep = src.count('\r\n') < src.count('\n') and '\n' or '\r\n' srclines = src.split(sep) import moduleparse module = moduleparse.Module('test', srclines) return module.functions.keys()
def openTransportFromProperties(self): zopePath = self.properties['localpath'] svr, name = self.getParentResource() res = svr.zoa.props.ExternalMethod(name) module = res['module'] emf = ExtMethDlg.ExternalMethodFinder(zopePath) extPath = emf.getExtPath(module) from Explorers import Explorer return Explorer.openEx(extPath)
def __init__(self, data, name, editor, saved): EditorModels.SourceModel.__init__(self, data, name, editor, saved) contents = os.path.splitext(name)[0]+'.hhc' try: transport = Explorer.openEx(contents) data = transport.load() except ExplorerNodes.TransportError: transport = None data = '' self.contentsModel = EditorModels.SourceModel(data, contents, editor, saved) self.contentsModel.transport = transport indexes = os.path.splitext(name)[0]+'.hhk' try: transport = Explorer.openEx(indexes) data = transport.load() except ExplorerNodes.TransportError: transport = None data = '' self.indexesModel = EditorModels.SourceModel(data, indexes, editor, saved) self.indexesModel.transport = transport self.update()
def doContentsDlg(title, text, docsDir): #text, anchor = (text.split('#')+[''])[:2] data = Explorer.openEx(os.path.join(docsDir, text.split('#')[0])).load() prs = parseHelpFile(data, HtmlDocDetailParser) if title is None: title = prs.title dlg = createContentsDlg(None, title, prs.title, text, prs.anchors) try: if dlg.ShowModal() != wx.ID_OK: return None, None title, location = dlg.GetResult() finally: dlg.Destroy() return title, location
def OnDropFiles(self, x, y, files): docsDir = os.path.dirname(self.list.model.filename) for filename in files: data = Explorer.openEx(os.path.join(docsDir, filename)).load() prs = parseHelpFile(data, HtmlDocDetailParser) dlg = createIndexDlg(None, '', filename, prs.anchors) try: if dlg.ShowModal() != wx.ID_OK: return keyword, location = dlg.GetResult() finally: dlg.Destroy() #item, flags = self.list.HitTest( (x, y) ) self.list.model.indexes.append((keyword, location, None)) self.list.model.setModified('indexes') self.list.updateEditor() self.list.refreshCtrl()
def OnGetItemText(self, item, col): f = self.model.config.files[item] if col == 0: return repr(item) elif col == 1: return os.path.basename(f) elif col == 2: return f elif Preferences.hbShowDocumentTitles and col == 3: if not self.cached[item]: title = '' try: if os.path.splitext(f)[1].lower() not in ('.htm', '.html'): return '' docsDir = os.path.dirname(self.model.filename) try: data = Explorer.openEx(os.path.join(docsDir, f)).load() except ExplorerNodes.TransportError: return '' fmtr = formatter.NullFormatter(formatter.NullWriter()) try: HtmlDocDetailParser(fmtr, breakOnTitle=True).feed(data) except BreakOnTitle, title: return str(title) except: return '' else: return '' finally: self.cached[item] = title
def OnInputDoubleClick(self, event): filename = self.editor.openFileDlg() if filename: from Explorers import Explorer self.inputPage.SetValue(Explorer.openEx(filename).load())
def readTimes(self): from cStringIO import StringIO transp = Explorer.openEx(self.getTTVFilename()) data = StringIO(transp.load()) return map(lambda line: eval(line), data.readlines())
def readTimes(self): from StringIO import StringIO transp = Explorer.openEx(self.getTTVFilename()) data = StringIO(transp.load()) return map(lambda line: eval(line), data.readlines())
def OnLoadHistory(self, event): fn = self.editor.openFileDlg('AllFiles') if fn: from Explorers import Explorer data = Explorer.openEx(fn).load() self.history = pickle.loads(data)