Esempio n. 1
0
class Filedev():

    def __init__(self):
# create the reference points for instance variables that will hold all the data to be processed by this instance
        self.seqs = np.array([[' ', ' '], [' ', ' ']], dtype=str)
        self.cols = np.full(self.seqs.shape, 0, dtype=np.int32)
        self.seqnames =[]
        self.no_seqs = 0
        self.LHprenums = []
        self.RHprenums = []
        self.seqlens = []
        self.startnums = []
        self.lcs = []
        self.interlines = 0
        self.file_filter = ("All files (*);;PDF files (*.pdf);;RTF files (*.rtf);;ASCII files (*.txt)")
        self.file = None
        self.outstream = None
        self.parent = None


    def rgb(self, col):
        return col.red(), col.green(), col.blue()

    def open_output_file(self):
        QApplication.restoreOverrideCursor()
        options = QFileDialog.Options()
        options |= QFileDialog.DontUseNativeDialog
        TDialog = QFileDialog()
        fileName, _ = TDialog.getSaveFileName(self.parent,"Save file as:", BS.lastdir, self.file_filter, options=options)
        if fileName:
            self.file = QFile(fileName)
            BS.lastdir = QFileInfo(fileName).absolutePath()
            if not self.file.open(QFile.WriteOnly | QFile.Text):  # open to write
                mb = QMessageBox()
                mb.setTextFormat(Qt.RichText)
                mb.setText("<p style='font-size: 18pt'>Open File error</p>"
                           "<p style='font-size: 14pt; font-weight: normal'> Can't open file <i>{}</i> for writing.<br><br>"
                           " File error was: \"{}\".</p>".format(fileName, self.file.errorString()))
                mb.setIcon(QMessageBox.Warning)
                mb.exec()
                return False
            else:
                self.outstream = QTextStream(self.file)
                return True
        else:
            return False

    def make_lowercase(self, rulerflag):
        if self.lcs[0]:
            self.seqs[self.cols==0]=np.char.lower(self.seqs[self.cols==0])
        if self.lcs[1]:
            self.seqs[self.cols==1]=np.char.lower(self.seqs[self.cols==1])
        if self.lcs[2]:
            self.seqs[self.cols==2]=np.char.lower(self.seqs[self.cols==2])
        if self.lcs[3]:
            self.seqs[self.cols==3]=np.char.lower(self.seqs[self.cols==3])

    def exit(self):
        if self.file.isWritable():
            self.file.close()
        self.file=None
Esempio n. 2
0
class Filedev():
    def __init__(self):
        # create the reference points for instance variables that will hold all the data to be processed by this instance
        self.seqs = np.array([[' ', ' '], [' ', ' ']], dtype=np.unicode)
        self.cols = np.full(self.seqs.shape, 0, dtype=np.int32)
        self.seqnames = []
        self.no_seqs = 0
        self.LHprenums = []
        self.RHprenums = []
        self.seqlens = []
        self.startnums = []
        self.lcs = []
        self.interlines = 0
        self.file_filter = (
            "All files (*);;PDF files (*.pdf);;RTF files (*.rtf);;ASCII files (*.txt)"
        )
        self.file = None
        self.outstream = None
        self.parent = None

    def rgb(self, col):
        return col.red(), col.green(), col.blue()

    def open_output_file(self):
        options = QFileDialog.Options()
        options |= QFileDialog.DontUseNativeDialog
        TDialog = QFileDialog()
        fileName, _ = TDialog.getSaveFileName(self.parent,
                                              "Save file as:",
                                              BS.lastdir,
                                              self.file_filter,
                                              options=options)
        if fileName:
            self.file = QFile(fileName)
            BS.lastdir = QFileInfo(fileName).absolutePath()
            if not self.file.open(QFile.WriteOnly
                                  | QFile.Text):  # open to write
                QMessageBox.warning(
                    self, "Application",
                    "Cannot open file %s:\n%s. for writing" %
                    (fileName, self.file.errorString()))
                return False
            else:
                self.outstream = QTextStream(self.file)
                return True
        else:
            return False

    def make_lowercase(self, rulerflag):
        if self.lcs[0]:
            self.seqs[self.cols == 0] = np.char.lower(
                self.seqs[self.cols == 0])
        if self.lcs[1]:
            self.seqs[self.cols == 1] = np.char.lower(
                self.seqs[self.cols == 1])
        if self.lcs[2]:
            self.seqs[self.cols == 2] = np.char.lower(
                self.seqs[self.cols == 2])
        if self.lcs[3]:
            self.seqs[self.cols == 3] = np.char.lower(
                self.seqs[self.cols == 3])

    def exit(self):
        if self.file.isWritable():
            self.file.close()
        self.file = None