コード例 #1
0
ファイル: find_in_files.py プロジェクト: AlexaProjects/Alexa2
    def _grep_file(self, file_path, file_name):
        if not self.by_phrase:
            with open(file_path, 'r') as f:
                content = f.read()
            words = [word for word in
                self.search_pattern.pattern().split('|')]
            words.insert(0, True)

            def check_whole_words(result, word):
                return result and content.find(word) != -1
            if not reduce(check_whole_words, words):
                return
        file_object = QFile(file_path)
        if not file_object.open(QFile.ReadOnly):
            return

        stream = QTextStream(file_object)
        lines = []
        line_index = 0
        line = stream.readLine()
        while not self._cancel and not (stream.atEnd() and not line):
            column = self.search_pattern.indexIn(line)
            if column != -1:
                lines.append((line_index, line))
            #take the next line!
            line = stream.readLine()
            line_index += 1
        #emit a signal!
        relative_file_name = file_manager.convert_to_relative(
            self.root_dir, file_path)
        self.emit(SIGNAL("found_pattern(PyQt_PyObject)"),
            (relative_file_name, lines))
コード例 #2
0
ファイル: find_in_files.py プロジェクト: manuq/ninja-ide
    def _grep_file(self, file_path, file_name):
        if not self.by_phrase:
            with open(file_path, 'r') as f:
                content = f.read()
            words = [word for word in self.search_pattern.pattern().split('|')]
            words.insert(0, True)

            def check_whole_words(result, word):
                return result and content.find(word) != -1

            if not reduce(check_whole_words, words):
                return
        file_object = QFile(file_path)
        if not file_object.open(QFile.ReadOnly):
            return

        stream = QTextStream(file_object)
        lines = []
        line_index = 0
        line = stream.readLine()
        while not self._cancel and not stream.atEnd():
            column = self.search_pattern.indexIn(line)
            if column != -1:
                lines.append((line_index, line))
            #take the next line!
            line = stream.readLine()
            line_index += 1
        #emit a signal!
        relative_file_name = file_manager.convert_to_relative(
            self.root_dir, file_path)
        self.emit(SIGNAL("found_pattern(PyQt_PyObject)"),
                  (relative_file_name, lines))
コード例 #3
0
 def select_post_exec_script(self):
     fileName = QFileDialog.getOpenFileName(
         self, self.tr("Select Post Execution Script File"),
         self._parent._item.path, '(*.*)')
     if fileName != '':
         fileName = file_manager.convert_to_relative(
             self._parent._item.path, fileName)
         self.txtPostExec.setText(fileName)
コード例 #4
0
 def select_file(self):
     fileName = unicode(QFileDialog.getOpenFileName(
         self, self.tr("Select Main File"),
                     self._item.path, '(*.py);;(*.*)'))
     if fileName != '':
         fileName = file_manager.convert_to_relative(
             self._item.path, fileName)
         self.path.setText(fileName)
コード例 #5
0
 def select_post_exec_script(self):
     fileName = QFileDialog.getOpenFileName(
         self, self.tr("Select Post Execution Script File"),
                     self._parent._item.path, '(*.*)')
     if fileName != '':
         fileName = file_manager.convert_to_relative(
             self._parent._item.path, fileName)
         self.txtPostExec.setText(fileName)
コード例 #6
0
 def select_file(self):
     fileName = QFileDialog.getOpenFileName(
         self, self.tr("Select Main File"),
                     self._parent._item.path, '(*.py);;(*.*)')
     if fileName != '':
         fileName = file_manager.convert_to_relative(
             self._parent._item.path, fileName)
         self.path.setText(fileName)
コード例 #7
0
 def select_pre_exec_script(self):
     fileName = QFileDialog.getOpenFileName(
         self, _translate("ProjectExecution", "Select Pre Execution Script File"),
                     self._parent._item.path, '(*.*)')
     if fileName != '':
         fileName = file_manager.convert_to_relative(
             self._parent._item.path, fileName)
         self.txtPreExec.setText(fileName)
コード例 #8
0
 def select_file(self):
     fileName = QFileDialog.getOpenFileName(
         self, _translate("ProjectExecution", "Select Main File"),
                     self._parent._item.path, '(*.py);;(*.*)')
     if fileName != '':
         fileName = file_manager.convert_to_relative(
             self._parent._item.path, fileName)
         self.path.setText(fileName)
コード例 #9
0
 def add_existing_file(self, path):
     relative = file_manager.convert_to_relative(
         self._actualProject.path, path)
     paths = relative.split(os.sep)[:-1]
     itemParent = self._actualProject
     for p in paths:
         for i in range(itemParent.childCount()):
             item = itemParent.child(i)
             if item.text(0) == p:
                 itemParent = item
                 break
     itemParent.setSelected(True)
     name = file_manager.get_basename(path)
     subitem = ProjectItem(itemParent, name, file_manager.get_folder(path))
     subitem.setToolTip(0, name)
     subitem.setIcon(0, self._get_file_icon(name))
     itemParent.setExpanded(True)
コード例 #10
0
 def add_existing_file(self, path):
     relative = file_manager.convert_to_relative(self._actualProject.path,
                                                 path)
     paths = relative.split(os.sep)[:-1]
     itemParent = self._actualProject
     for p in paths:
         for i in range(itemParent.childCount()):
             item = itemParent.child(i)
             if item.text(0) == p:
                 itemParent = item
                 break
     itemParent.setSelected(True)
     name = file_manager.get_basename(path)
     subitem = ProjectItem(itemParent, name, file_manager.get_folder(path))
     subitem.setToolTip(0, name)
     subitem.setIcon(0, self._get_file_icon(name))
     itemParent.setExpanded(True)