Ejemplo n.º 1
0
    def update(self):
        self.all_column = ['records_number', 'QSO_DATE', 'TIME_ON', 'BAND', 'CALL', 'MODE', 'RST_RCVD', 'RST_SENT',
                           'NAME', 'QTH', 'COMMENTS', 'TIME_OFF', 'eQSL_QSL_RCVD']
        self.rules = diplom.get_rules(diplom, self.diplom_name + '.rules')
        self.score_final_label.setText("Total score need: " + str(self.rules[0]['score_complite']))
        self.all_records = parse.getAllRecord(self.all_column, self.diplom_name+'.adi')
        records_count = len(self.all_records)
        column_count = len(self.all_column)
        self.table_widget.move(0, 0)
        fnt = self.table_widget.font()
        fnt.setPointSize(9)
        self.table_widget.setFont(fnt)
        self.table_widget.verticalHeader().hide()
        self.table_widget.setSortingEnabled(True)
        self.table_widget.setRowCount(records_count)
        self.table_widget.setColumnCount(column_count)
        self.table_widget.setHorizontalHeaderLabels(
            ["No", "   Date   ", " Time ", "Band", "   Call   ", "Mode", "RST r",
             "RST s", "      Name      ", "      QTH      ", " Comments ", " Time off ", " eQSL Rcvd "])
        for record in range(records_count):
            for column in range(column_count):
                self.table_widget.setItem(record, column,
                                      QTableWidgetItem(self.all_records[record][self.all_column[column]]))
        self.table_widget.resizeRowsToContents()
        self.table_widget.resizeColumnsToContents()
        total_score = 0
        for record in self.all_records:
            for i in range(len(self.rules)):
                if record['CALL'] == self.rules[i]['call'] and \
                        record['MODE'] == self.rules[i]['mode']:
                    total_score += int(self.rules[i]['score'])

        self.score_total_label.setText("Total score: " + str(total_score))
Ejemplo n.º 2
0
 def import_adi(self):
     fileimport = QFileDialog()
     options = QFileDialog.Options()
     options |= QFileDialog.DontUseNativeDialog
     #fileimport.setNameFilter("Adi file(*.adi)")
     #fileimport.setFilter()
     fname = fileimport.getOpenFileName(self,
                                        'Import adi file',
                                        '/home',
                                        "*.adi",
                                        options=options)[0]
     if fname:
         print(fname)
         self.allCollumn = [
             'records_number', 'QSO_DATE', 'TIME_ON', 'BAND', 'CALL',
             'FREQ', 'MODE', 'RST_RCVD', 'RST_SENT', 'NAME', 'QTH',
             'COMMENTS', 'TIME_OFF', 'eQSL_QSL_RCVD', 'OPERATOR'
         ]
         try:
             allRecords = parse.getAllRecord(self.allCollumn, fname)
             main.Adi_file.record_dict_qso(self, allRecords)
             print(allRecords)
             self.logWindow.refresh_data()
             std.std.message(self, "Import complete!", "Ok")
         except Exception:
             print("Exception to import")
             std.std.message(self, "Can't import\nCheck encoding file",
                             "STOP!")
Ejemplo n.º 3
0
 def __init__(self, file, file_rules):
     self.file = file
     self.file_rules = file_rules.strip()
     self.allCollumn = ['records_number', 'QSO_DATE', 'TIME_ON', 'BAND', 'CALL', 'MODE', 'RST_RCVD', 'RST_SENT',
                        'NAME', 'QTH', 'COMMENTS', 'TIME_OFF', 'eQSL_QSL_RCVD']
     self.allRecord = parse.getAllRecord(self.allCollumn, self.file)
     #print("diplom:", self.allRecord)
     self.decode_data = self.get_rules(self.file_rules)
Ejemplo n.º 4
0
 def getQsoData(self):
     '''
     Parse .adi file and generated the dictionary object for QSOs
     :return: qsoDataList - object [{... QSO 1 info...},{...QSO 2 info...}]
     '''
     qsoDataList = parse.getAllRecord(self.allCollumn, self.diplomDataList[0]['name'] + ".adi", key="import")
     print("->-" * 10)
     print(qsoDataList)
     print("==" * 10)
     return qsoDataList