Esempio n. 1
0
def main(args):
    def split_and_strip(s, splitter):
        return [s.strip() for s in line.split(splitter)]

    app = QApplication(args)
    model = QStandardItemModel()
    file = QFile(QFileInfo(__file__).absolutePath() + '/grades.txt')
    if file.open(QFile.ReadOnly):
        line = file.readLine(200).decode('utf-8')
        header = split_and_strip(line, ',')
        model.setHorizontalHeaderLabels(header)
        row = 0
        while file.canReadLine():
            line = file.readLine(200).decode('utf-8')
            if not line.startswith('#') and ',' in line:
                fields = split_and_strip(line, ',')
                for col, field in enumerate(fields):
                    newItem = QStandardItem(field)
                    model.setItem(row, col, newItem)
                row += 1
    file.close()
    tableView = FreezeTableWidget(model)
    tableView.setWindowTitle("Frozen Column Example")
    tableView.resize(560, 680)
    tableView.show()
    return app.exec_()
Esempio n. 2
0
def main(args):
    def split_and_strip(s, splitter):
        return [s.strip() for s in line.split(splitter)]

    app = QApplication(args)
    model = QStandardItemModel()
    file = QFile(QFileInfo(__file__).absolutePath() + '/grades.txt')
    if file.open(QFile.ReadOnly):
        line = file.readLine(200).decode('utf-8')
        header = split_and_strip(line, ',')
        model.setHorizontalHeaderLabels(header)
        row = 0
        while file.canReadLine():
            line = file.readLine(200).decode('utf-8')
            if not line.startswith('#') and ',' in line:
                fields = split_and_strip(line, ',')
                for col, field in enumerate(fields):
                    newItem = QStandardItem(field)
                    model.setItem(row, col, newItem)
                row += 1
    file.close()
    tableView = FreezeTableWidget(model)
    tableView.setWindowTitle("Frozen Column Example")
    tableView.resize(560, 680)
    tableView.show()
    return app.exec_()
Esempio n. 3
0
    def setupUi(self):
        uic.loadUi("src/ui/dbconfig.ui", self)

        stylesheet = QFile("assets/qss/dialog.qss")
        stylesheet.open(QIODevice.ReadWrite | QIODevice.Text)
        self.setStyleSheet(QTextStream(stylesheet).readAll())

        self.port.setMinimum(1)
        self.port.setMaximum(65536)

        f = QFile("config/database.config")
        if f.open(QIODevice.ReadWrite | QIODevice.Text):

            name = f.readLine(255)
            username = f.readLine(255)
            password = f.readLine(255)
            hostname = f.readLine(255)
            port = f.readLine(1000)
            f.close()

            self.nameInConfig = str(name)[17:-3]
            self.usernameInConfig = str(username)[21:-3]
            self.passwordInConfig = str(password)[21:-3]
            self.hostnameInConfig = str(hostname)[21:-3]
            self.portInConfig = int(str(port)[17:-1])

            self.dbName.setText(self.nameInConfig)
            self.username.setText(self.usernameInConfig)
            self.password.setText(self.passwordInConfig)
            self.hostname.setText(self.hostnameInConfig)
            self.port.setValue(self.portInConfig)

        self.accept.clicked.connect(self.configure)
        self.cancel.clicked.connect(self.close)
Esempio n. 4
0
def get_cdrom_drives():
    """List available disc drives on the machine
    """
    # add default drive from libdiscid to the list
    drives = list(DEFAULT_DRIVES)

    if sys.platform == 'win32':
        GetLogicalDrives = windll.kernel32.GetLogicalDrives
        GetDriveType = windll.kernel32.GetDriveTypeW
        DRIVE_CDROM = 5
        mask = GetLogicalDrives()
        for i in range(26):
            if mask >> i & 1:
                drive = chr(i + ord("A")) + ":"
                if GetDriveType(drive) == DRIVE_CDROM:
                    drives.append(drive)

    elif sys.platform == 'linux2' and QFile.exists(LINUX_CDROM_INFO):
        # Read info from /proc/sys/dev/cdrom/info
        cdinfo = QFile(LINUX_CDROM_INFO)
        if cdinfo.open(QIODevice.ReadOnly | QIODevice.Text):
            drive_names = []
            drive_audio_caps = []
            line = string_(cdinfo.readLine())
            while line:
                if ":" in line:
                    key, values = line.split(':')
                    if key == 'drive name':
                        drive_names = values.split()
                    elif key == 'Can play audio':
                        drive_audio_caps = [v == '1' for v in values.split()]
                        break  # no need to continue past this line
                line = string_(cdinfo.readLine())
            # Show only drives that are capable of playing audio
            for index, drive in enumerate(drive_names):
                if drive_audio_caps[index]:
                    device = '/dev/%s' % drive
                    symlink_target = QFile.symLinkTarget(device)
                    if symlink_target != '':
                        device = symlink_target
                    drives.append(device)

    else:
        for device in config.setting["cd_lookup_device"].split(","):
            # Need to filter out empty strings,
            # particularly if the device list is empty
            if device.strip() != '':
                drives.append(device.strip())

    # make sure no drive is listed twice (given by multiple sources)
    return sorted(uniqify(drives))
Esempio n. 5
0
    def __openByIODevice(self, fileName):  ##用QFile打开文件
        fileDevice = QFile(fileName)
        if not fileDevice.exists():  #判断文件是否存在
            return False

        if not fileDevice.open(QIODevice.ReadOnly | QIODevice.Text):
            return False

###整个文件一次性读取的方式,可行
##      qtBytes=fileDevice.readAll() #返回QByteArray类型
##      pyBytes=bytes(qtBytes.data())  # 将QByteArray转换为bytes类型
##      text=pyBytes.decode("utf-8")  #用utf-8编码为字符串
##      self.ui.textEdit.setPlainText(text)

##  逐行读取方式,可行
        try:
            self.ui.textEdit.clear()
            while not fileDevice.atEnd():
                qtBytes = fileDevice.readLine()  # 返回QByteArray类型
                pyBytes = bytes(qtBytes.data())  # QByteArray转换为bytes类型
                lineStr = pyBytes.decode("utf-8")  #bytes转换为str型
                lineStr = lineStr.strip()  #去除结尾增加的空行
                self.ui.textEdit.appendPlainText(lineStr)
        finally:
            fileDevice.close()

        return True
Esempio n. 6
0
    def __init__(self, parent=None):
        super(CuriWidget,
              self).__init__(parent,
                             Qt.FramelessWindowHint | Qt.WindowSystemMenuHint)
        self.addCustomAction()
        w = qApp.desktop().screenGeometry().width()
        h = qApp.desktop().screenGeometry().height()

        side = round((8 / 9) * min(w / cols, h / rows))
        self.setFixedSize(side * QSize(cols, rows))

        self.thread = SoundThread(self)
        self.dragPosition = QPoint()
        self.button = None

        self.setWindowIcon(QIcon(":curielements"))

        region = QRegion(QRect(0, 0, 2 * side, 2 * side), QRegion.Ellipse)
        region += QRegion(QRect(side, 0, 8 * side, 15 * side))
        region += QRegion(QRect(0, side, side, 13 * side))
        region += QRegion(QRect(0, 13 * side, 2 * side, 2 * side),
                          QRegion.Ellipse)
        region += QRegion(QRect(9 * side, side, side, 14 * side))
        region += QRegion(QRect(8 * side, 0, 2 * side, 2 * side),
                          QRegion.Ellipse)
        region += QRegion(QRect(10 * side, 2 * side, 19 * side, 13 * side))
        region += QRegion(QRect(28 * side, 2 * side, 2 * side, 2 * side),
                          QRegion.Ellipse)
        region += QRegion(QRect(29 * side, 3 * side, side, 11 * side))
        region += QRegion(QRect(28 * side, 13 * side, 2 * side, 2 * side),
                          QRegion.Ellipse)

        self.setMask(region)

        self.atoms = Atoms(self)
        self.atoms.setGeometry(
            QRect(1.5 * side, 1.5 * side, 7 * side, 7 * side))

        offset = QPoint(10 * side, 3 * side)
        file = QFile(":elements")
        file.open(QFile.ReadOnly | QFile.Text)
        colors = [blue, yellow]
        self.btns = []
        while not file.atEnd():
            x, y, name, symbol, electron, description, description2, _ = file.readLine(
            ).split(',')
            coordinate = QPoint(int(x), int(y))
            text = bytearray(name).decode()
            btn = ElementButton(QSize(side, side), colors, int(electron),
                                bytearray(symbol).decode(), text, self)
            btn.move(offset + coordinate * side)
            btn.clicked.connect(self.button_clicked)
            self.btns.append(btn)
        self.imageDescription = DescriptionButton(side * QSize(7, 4.5), blue,
                                                  self)
        self.imageDescription.move(1.5 * side, 9 * side)
        btnSound = DescriptionButton(side * QSize(2, 2), blue, self)
        btnSound.move(11 * side, 12 * side)
        btnSound.updateBackground(":soundOn")
        btnSound.clicked.connect(self.sound_clicled)
Esempio n. 7
0
    def __parseData(self, dataFile, loadPrivateDomains=False):
        """
        Private method to parse TLD data.
        
        @param dataFile name of the file containing the TLD data
        @type str
        @param loadPrivateDomains flag indicating to load private domains
        @type bool
        @return flag indicating success
        @rtype bool
        """
        # start with a fresh dictionary
        self.__tldDict = collections.defaultdict(list)

        file = QFile(dataFile)

        if not file.open(QFile.ReadOnly | QFile.Text):
            return False

        seekToEndOfPrivateDomains = False

        while not file.atEnd():
            line = bytes(file.readLine()).decode("utf-8").strip()
            if not line:
                continue

            if line.startswith("."):
                line = line[1:]

            if line.startswith("//"):
                if "===END PRIVATE DOMAINS===" in line:
                    seekToEndOfPrivateDomains = False

                if (not loadPrivateDomains
                        and "===BEGIN PRIVATE DOMAINS===" in line):
                    seekToEndOfPrivateDomains = True

                continue

            if seekToEndOfPrivateDomains:
                continue

            # only data up to the first whitespace is used
            line = line.split(None, 1)[0]

            if "." not in line:
                self.__tldDict[line].append(line)
            else:
                key = line[line.rfind(".") + 1:]
                self.__tldDict[key].append(line)

        return self.isDataLoaded()
Esempio n. 8
0
class StreamHandler(QObject):

    commandReceived = pyqtSignal(str)
    
    def __init__(self, parent = None):
    
        QObject.__init__(self, parent)
    
    def openInput(self):
    
        self.stdin = QFile()
        self.stdin.open(0, QFile.ReadOnly)
    
    def openOutput(self):
    
        self.stdout = QFile()
        self.stdout.open(1, QFile.WriteOnly)
    
    def handleInput(self):
    
        while self.stdin.isOpen():
        
            command = str(self.stdin.readLine(), "utf8")
            if not command:
                break
            
            self.commandReceived.emit(command.strip())
            
            # This shouldn't be needed, but QFile can get into a state where
            # readLine no longer blocks.
        
        print("Input stream closed.")
    
    @pyqtSlot(QByteArray)
    def handleOutput(self, data):
    
        while self.stdout.isOpen() and data.size() > 0:
        
            written = self.stdout.write(data)
            data = data.right(data.size() - written)
    
    @pyqtSlot(str)
    def handleOutput(self, data):
    
        data = QByteArray(bytes(data, "utf8"))
        while self.stdout.isOpen() and data.size() > 0:
        
            written = self.stdout.write(data)
            self.stdout.flush()
            data = data.right(data.size() - written)
Esempio n. 9
0
    def checkFirstLogin(self):
        f = QFile("config/global.config")
        if f.open(QIODevice.ReadWrite | QIODevice.Text):
            isFirstLogin = str(f.readLine())[18:-3] == "True"
            f.close()

        if isFirstLogin:
            f.remove("config/global.config")
            if f.open(QIODevice.ReadWrite | QIODevice.Text):

                stream = QTextStream(f)
                stream << "is_first_login: False"

                f.close()

            dbconfig = DBConfig()
            dbconfig.exec_()

            createTables = tablesRun()
Esempio n. 10
0
    def __openByIODevice(self, fileName):
        fileDevice = QFile(fileName)
        if not fileDevice.exists():
            return False
        if not fileDevice.open(QIODevice.ReadOnly | QIODevice.Text):
            return False

        try:
            self.ui.textEdit.clear()
            while not fileDevice.atEnd():
                qtBytes = fileDevice.readLine()
                pyBytes = bytes(qtBytes.data())
                lineStr = pyBytes.decode("utf-8")
                lineStr = lineStr.strip()
                self.ui.textEdit.appendPlainText(lineStr)
        finally:
            fileDevice.close()

        return True
Esempio n. 11
0
 def runFile(self):
     myCmd0= 'python /Users/tania/Desktop/Desktop/ORIGINAL/Code/Tugas_Akhir/AksaraBatak/Translator/converter.py'
     myCmd = 'python test_model.py ./models/CNN.pth ./models/voc-model-labels.txt ./outs/ImageSets/test.txt'
     myCmd2 = 'python /Users/tania/Desktop/Desktop/ORIGINAL/Code/Tugas_Akhir/AksaraBatak/BFS/bfs.py'
     os.system(myCmd0)
     os.system(myCmd)
     os.system(myCmd2)     
     
     file = QFile("/Users/tania/Desktop/Desktop/ORIGINAL/Code/Tugas_Akhir/AksaraBatak/BFS/outputBFS.txt")
     
     if file.open(QIODevice.ReadOnly | QIODevice.Text):
         stream = QTextStream(file)
         while not stream.atEnd():   
             line = file.readLine()
             line.append(stream.readLine()+"\n")
             encodedString = line.append(stream.readLine()+"\n")
             codec = QTextCodec.codecForName("KOI8-R")
             string = codec.toUnicode(encodedString)
             self.results.setText(string)
     file.close();
Esempio n. 12
0
    def modelFromFile(self, fileName):
        f = QFile(fileName)
        if not f.open(QFile.ReadOnly):
            return QStringListModel(self.completer)

        QApplication.setOverrideCursor(QCursor(Qt.WaitCursor))

        words = []
        while not f.atEnd():
            line = f.readLine().trimmed()
            if line.length() != 0:
                try:
                    line = str(line, encoding='ascii')
                except TypeError:
                    line = str(line)

                words.append(line)

        QApplication.restoreOverrideCursor()

        return QStringListModel(words, self.completer)
Esempio n. 13
0
    def modelFromFile(self, fileName):
        f = QFile(fileName)
        if not f.open(QFile.ReadOnly):
            return QStringListModel(self.completer)

        QApplication.setOverrideCursor(QCursor(Qt.WaitCursor))

        words = []
        while not f.atEnd():
            line = f.readLine().trimmed()
            if line.length() != 0:
                try:
                    line = str(line, encoding='ascii')
                except TypeError:
                    line = str(line)

                words.append(line)

        QApplication.restoreOverrideCursor()

        return QStringListModel(words, self.completer)
Esempio n. 14
0
    def loadFromFile(self, fileName):
        f = QFile(fileName)
        if not f.open(QFile.ReadOnly):
            model = QStringListModel()
            self._completer.setModel(model)

        QApplication.setOverrideCursor(QCursor(Qt.WaitCursor))

        words = []
        while not f.atEnd():
            line = f.readLine().trimmed()
            if line.length() != 0:
                try:
                    line = str(line, encoding='utf-8')
                except TypeError:
                    line = str(line)

                words.append(line)

        QApplication.restoreOverrideCursor()

        model = QStringListModel(words)
        self._completer.setModel(model)
Esempio n. 15
0
    def test(self):
        """
        Public method to execute the tests.
        
        @return flag indicating the test result
        @rtype bool
        """
        self.__withPrivate = True
        self.__loadData()
        if not self.__tldDict:
            return False

        testDataFileName = ""
        testDataFileExist = False

        for path in self.__dataSearchPaths:
            testDataFileName = (QFileInfo(path +
                                          "/test_psl.txt").absoluteFilePath())
            if QFileInfo(testDataFileName).exists():
                testDataFileExist = True
                break

        if not testDataFileExist:
            testFileDownloadLink = (
                "http://mxr.mozilla.org/mozilla-central/source/netwerk/test/"
                "unit/data/test_psl.txt?raw=1")
            E5MessageBox.information(
                None, self.tr("TLD Data File not found"),
                self.tr("""<p>The file 'test_psl.txt' was not found!"""
                        """<br/>You can download it from '<a href="{0}">"""
                        """<b>here</b></a>' to one of the following"""
                        """ paths:</p><ul>{1}</ul>""").format(
                            testFileDownloadLink, "".join([
                                "<li>{0}</li>".format(p)
                                for p in self.__dataSearchPaths
                            ])))
            return False

        file = QFile(testDataFileName)

        if not file.open(QFile.ReadOnly | QFile.Text):
            return False

        testRegExp = QRegExp(
            "checkPublicSuffix\\(('([^']+)'|null), ('([^']+)'|null)\\);")
        allTestSuccess = True

        while not file.atEnd():
            line = bytes(file.readLine()).decode("utf-8").strip()
            if not line or line.startswith("//"):
                continue

            if testRegExp.indexIn(line) == -1:
                allTestSuccess = False
            else:
                hostName = testRegExp.cap(2)
                registrableName = testRegExp.cap(4)

                if not self.__checkPublicSuffix(hostName, registrableName):
                    allTestSuccess = False

        if allTestSuccess:
            qWarning("E5TldExtractor: Test passed successfully.")
        else:
            qWarning("E5TldExtractor: Test finished with some errors!")

        # reset the TLD dictionary
        self.__tldDict = collections.defaultdict(list)

        return allTestSuccess
Esempio n. 16
0
def ConverttxtToPack(in1, out1, default_ver='3.13', default_type='standard'):
    dsoIn = QFile(in1)
    if dsoIn.open(QIODevice.ReadOnly | QIODevice.Text) is False:
        return
    dsoOut = QFile(out1)
    if dsoOut.open(QIODevice.WriteOnly) is False:
        return

    totalRecords = 0
    while (dsoIn.atEnd() is False):
        dsoIn.readLine()
        totalRecords += 1
    dsoIn.seek(0)
    dsoOutStream = QDataStream(dsoOut)
    dsoOutStream.setVersion(QDataStream.Qt_5_2)
    readOk = 0

    addedHead = False

    while (dsoIn.atEnd() is False):
        record = str(dsoIn.readLine(), encoding='utf-8')
        vp = re.match("^.*ersion\s+([\d\.]+)\s+(\w+)", record)

        if vp:
            print(vp.group(1), vp.group(2))
            dsoOutStream.writeQString(vp.group(1))
            dsoOutStream.writeQString(vp.group(2))
            addedHead = True

        if (record.startswith("//") or record.startswith("#")):
            totalRecords -= 1
            continue

        # write when could not get label from txt
        if not addedHead:
            dsoOutStream.writeQString(default_ver)
            dsoOutStream.writeQString(default_type)
            addedHead = True

        lis = record.split('\t')

        if 1:
            id = int(lis[0] if lis[0] != "" else 0)
            ra = float((lis[1]).strip())
            dec = float((lis[2]).strip())
            bMag = float(lis[3])
            vMag = float(lis[4])
            oType = (lis[5]).strip()  #
            mType = (lis[6]).strip()  #
            majorAxisSize = float(lis[7])
            minorAxisSize = float(lis[8])
            orientationAngle = int(float(lis[9]) if float(lis[9]) != "" else 0)
            z = float(lis[10])
            zErr = float(lis[11])
            plx = float(lis[12])
            plxErr = float(lis[13])
            dist = float(lis[14])
            distErr = float(lis[15])
            NGC = int(lis[16] if lis[16] != "" else 0)
            IC = int(lis[17] if lis[17] != "" else 0)
            M = int(lis[18] if lis[18] != "" else 0)
            C = int(lis[19] if lis[19] != "" else 0)
            B = int(lis[20] if lis[20] != "" else 0)
            Sh2 = int(lis[21] if lis[21] != "" else 0)
            VdB = int(lis[22] if lis[22] != "" else 0)
            RCW = int(lis[23] if lis[23] != "" else 0)
            LDN = int(lis[24] if lis[24] != "" else 0)
            LBN = int(lis[25] if lis[25] != "" else 0)
            Cr = int(lis[26] if lis[26] != "" else 0)
            Mel = int(lis[27] if lis[27] != "" else 0)
            PGC = int(lis[28] if lis[28] != "" else 0)
            UGC = int(lis[29] if lis[29] != "" else 0)
            Ced = (lis[30]).strip()  #
            Arp = int(lis[31] if lis[31] != "" else 0)
            VV = int(lis[32] if lis[32] != "" else 0)
            PK = (lis[33]).strip()  #
            PNG = (lis[34]).strip()  #
            SNRG = (lis[35]).strip()  #
            ACO = (lis[36]).strip()  #
            HCG = (lis[37]).strip()  #
            ESO = (lis[38]).strip()  #
            VdBH = (lis[39]).strip()  #
            DWB = int(lis[40] if lis[40] != "" else 0)
            Tr = int(lis[41] if lis[41] != "" else 0)
            St = int(lis[42] if lis[42] != "" else 0)
            Ru = int(lis[43] if lis[43] != "" else 0)
            VdBHa = int(lis[44] if lis[44] != "" else 0)

            raRad = float(ra) * math.pi / 180
            decRad = float(dec) * math.pi / 180
            majorAxisSize /= 60
            minorAxisSize /= 60
            if (bMag <= 0):
                bMag = 99
            if (vMag <= 0):
                vMag = 99

            if oType.upper() in otypedic:
                nType = otypedic[oType.upper()]
            else:
                nType = 36

            readOk += 1
            dsoOutStream.writeInt(id)
            dsoOutStream.writeFloat(raRad)
            dsoOutStream.writeFloat(decRad)
            dsoOutStream.writeFloat(bMag)
            dsoOutStream.writeFloat(vMag)
            dsoOutStream.writeInt(nType)
            dsoOutStream.writeQString(mType)
            dsoOutStream.writeFloat(majorAxisSize)
            dsoOutStream.writeFloat(minorAxisSize)
            dsoOutStream.writeInt(orientationAngle)
            dsoOutStream.writeFloat(z)
            dsoOutStream.writeFloat(zErr)
            dsoOutStream.writeFloat(plx)
            dsoOutStream.writeFloat(plxErr)
            dsoOutStream.writeFloat(dist)
            dsoOutStream.writeFloat(distErr)
            dsoOutStream.writeInt(NGC)
            dsoOutStream.writeInt(IC)
            dsoOutStream.writeInt(M)
            dsoOutStream.writeInt(C)
            dsoOutStream.writeInt(B)
            dsoOutStream.writeInt(Sh2)
            dsoOutStream.writeInt(VdB)
            dsoOutStream.writeInt(RCW)
            dsoOutStream.writeInt(LDN)
            dsoOutStream.writeInt(LBN)
            dsoOutStream.writeInt(Cr)
            dsoOutStream.writeInt(Mel)
            dsoOutStream.writeInt(PGC)
            dsoOutStream.writeInt(UGC)
            dsoOutStream.writeQString(Ced)
            dsoOutStream.writeInt(Arp)
            dsoOutStream.writeInt(VV)
            dsoOutStream.writeQString(PK)
            dsoOutStream.writeQString(PNG)
            dsoOutStream.writeQString(SNRG)
            dsoOutStream.writeQString(ACO)
            dsoOutStream.writeQString(HCG)
            dsoOutStream.writeQString(ESO)
            dsoOutStream.writeQString(VdBH)
            dsoOutStream.writeInt(DWB)
            dsoOutStream.writeInt(Tr)
            dsoOutStream.writeInt(St)
            dsoOutStream.writeInt(Ru)
            dsoOutStream.writeInt(VdBHa)
    dsoIn.close()
    dsoOut.flush()
    dsoOut.close()
    return
def ConverttxtToPack(in1,out1):
    dsoIn = QFile(in1)
    if dsoIn.open(QIODevice.ReadOnly | QIODevice.Text) is False:
        return
    dsoOut=QFile(out1)
    if dsoOut.open(QIODevice.WriteOnly) is False:
        return
    totalRecords = 0
    while (dsoIn.atEnd() is False):
        dsoIn.readLine()
        totalRecords+=1
    dsoIn.seek(0)
    dsoOutStream = QDataStream(dsoOut)
    dsoOutStream.setVersion(QDataStream.Qt_5_2)
    readOk = 0
    dsoOutStream.writeQString('3.11')
    dsoOutStream.writeQString('standard')
    while (dsoIn.atEnd() is False):
        record = str(dsoIn.readLine(), encoding='utf-8')
        vp = re.match("ersion\s+([\d\.]+)\s+(\w+)",record)
        if (record.startswith("//") or record.startswith("#")):
            totalRecords-=1
            continue
        lis=record.split('\t')
        try:
        # if 1:
            id = int(lis[0])
            ra = float((lis[1]).strip())
            dec = float((lis[2]).strip())
            bMag = float(lis[3])
            vMag = float(lis[4])
            oType = (lis[5]).strip()
            mType = (lis[6]).strip()
            majorAxisSize = float(lis[7])
            minorAxisSize = float(lis[8])
            orientationAngle = int(float(lis[9]))
            z = float(lis[10])
            zErr = float(lis[11])
            plx = float(lis[12])
            plxErr = float(lis[13])
            dist = float(lis[14])
            distErr = float(lis[15])
            NGC = int(lis[16])
            IC = int(lis[17])
            M = int(lis[18])
            C = int(lis[19])
            B = int(lis[20])
            Sh2 = int(lis[21])
            VdB = int(lis[22])
            RCW = int(lis[23])
            LDN = int(lis[24])
            LBN = int(lis[25])
            Cr = int(lis[26])
            Mel = int(lis[27])
            PGC = int(lis[28])
            UGC = int(lis[29])
            Ced = (lis[30]).strip()
            Arp = int(lis[31])
            VV = int(lis[32])
            PK = (lis[33]).strip()
            PNG = (lis[34]).strip()
            SNRG = (lis[35]).strip()
            ACO = (lis[36]).strip()
            HCG = (lis[37]).strip()
            ESO = (lis[38]).strip()
            VdBH = (lis[39]).strip()
            DWB = int(lis[40])
            Tr = int(lis[41])
            St = int(lis[42])
            Ru = int(lis[43])
            VdBHa = int(lis[44])
            raRad = float(ra) * math.pi / 180
            decRad = float(dec) * math.pi / 180
            majorAxisSize /= 60
            minorAxisSize /= 60
            if (bMag <= 0):
                bMag = 99
            if (vMag <= 0):
                vMag = 99
            if oType.upper() in otypedic:
                nType = otypedic[oType.upper()]
            else:
                nType = 36
            readOk += 1
            dsoOutStream.writeInt(id)
            dsoOutStream.writeFloat(ra/180*math.pi)
            dsoOutStream.writeFloat(dec/180*math.pi)
            dsoOutStream.writeFloat(bMag)
            dsoOutStream.writeFloat(vMag)
            dsoOutStream.writeInt(nType)
            # dsoOutStream.writeUInt64(nType)
            dsoOutStream.writeQString(mType)
            dsoOutStream.writeFloat(majorAxisSize)
            dsoOutStream.writeFloat(minorAxisSize)
            dsoOutStream.writeInt(orientationAngle)
            dsoOutStream.writeFloat(z)
            dsoOutStream.writeFloat(zErr)
            dsoOutStream.writeFloat(plx)
            dsoOutStream.writeFloat(plxErr)
            dsoOutStream.writeFloat(dist)
            dsoOutStream.writeFloat(distErr)
            dsoOutStream.writeInt(NGC)
            dsoOutStream.writeInt(IC)
            dsoOutStream.writeInt(M)
            dsoOutStream.writeInt(C)
            dsoOutStream.writeInt(B)
            dsoOutStream.writeInt(Sh2)
            dsoOutStream.writeInt(VdB)
            dsoOutStream.writeInt(RCW)
            dsoOutStream.writeInt(LDN)
            dsoOutStream.writeInt(LBN)
            dsoOutStream.writeInt(Cr)
            dsoOutStream.writeInt(Mel)
            dsoOutStream.writeInt(PGC)
            dsoOutStream.writeInt(UGC)
            dsoOutStream.writeQString(Ced)
            dsoOutStream.writeInt(Arp)
            dsoOutStream.writeInt(VV)
            dsoOutStream.writeQString(PK)
            dsoOutStream.writeQString(PNG)
            dsoOutStream.writeQString(SNRG)
            dsoOutStream.writeQString(ACO)
            dsoOutStream.writeQString(HCG)
            dsoOutStream.writeQString(ESO)
            dsoOutStream.writeQString(VdBH)
            dsoOutStream.writeInt(DWB)
            dsoOutStream.writeInt(Tr)
            dsoOutStream.writeInt(St)
            dsoOutStream.writeInt(Ru)
            dsoOutStream.writeInt(VdBHa)
        except:
            print(record)
            continue
    dsoIn.close()
    dsoOut.flush()
    dsoOut.close()
    return
Esempio n. 18
0
    file = QFile('/Users/junahyung/emomovie/SimpsonSen.mp4')

    print(1)
    isOpen = file.open(QIODevice.ReadOnly)
    print(2)

    buffer = QBuffer()
    buffer.open(QIODevice.ReadWrite)
    print(3)

    player.setMedia(QMediaContent(), buffer)
    print(4)

    if isOpen:
        while not file.atEnd():
            temp = file.readLine()
            # temp = QByteArray.fromBase64(temp)
            buffer.write(temp)

    print(5)
    videoWidget = QVideoWidget()
    print(6)
    player.setVideoOutput(videoWidget)
    print(7)
    videoWidget.show()
    print(8)

    player.play()
    while(player.MediaStatus()==QMediaPlayer.UnknownMediaStatus):
        print("a")
    print(9)
class LogFilePositionSource(QGeoPositionInfoSource):
    def __init__(self, parent=None):
        super().__init__(parent)

        self.lastPosition = QGeoPositionInfo()

        self.logFile = QFile(self)
        self.timer = QTimer(self)

        self.timer.timeout.connect(self.readNextPosition)

        self.logFile.setFileName(":/simplelog.txt")
        if not self.logFile.open(QIODevice.ReadOnly):
            print("Error: cannot open source file", self.logFile.fileName())

    def lastKnownPosition(self, fromSatellitePositioningMethodsOnly=False):
        return self.lastPosition

    def supportedPositioningMethods(self):
        return QGeoPositionInfoSource.AllPositioningMethods

    def minimumUpdateInterval(self):
        return 500

    def error(self):
        return QGeoPositionInfoSource.NoError

    def startUpdates(self):
        interval = self.updateInterval()
        if interval < self.minimumUpdateInterval():
            interval = self.minimumUpdateInterval()
        self.timer.start(interval)

    def stopUpdates(self):
        self.timer.stop()

    def requestUpdate(self, timeout=5000):
        # For simplicity, ignore timeout - assume that if data is not available
        # now, no data will be added to the file later
        if self.logFile.canReadLine():
            self.readNextPosition()
        else:
            self.updateTimeout.emit()

    def readNextPosition(self):
        line = self.logFile.readLine().trimmed()
        if not line.isEmpty():
            data = line.split(" ")
            latitude = 0
            longitude = 0
            hasLatitude = False
            hasLongitude = False
            timestamp = QDateTime.fromString(data[0].data().decode(),
                                             Qt.ISODate)
            latitude, hasLatitude = data[1].toDouble()
            longitude, hasLongitude = data[2].toDouble()
            if hasLatitude and hasLongitude and timestamp.isValid():
                coordinate = QGeoCoordinate(latitude, longitude)
                info = QGeoPositionInfo(coordinate, timestamp)
                if info.isValid():
                    self.lastPosition = info
                    self.positionUpdated.emit(info)