Индексы кортежей TypeError должны быть целыми числами или срезами, а не датой и временем

Я пытаюсь передать определенный индекс записи из объекта в свою основную функцию, но при этом получаю эту ошибку кортежа. Обе записи являются типами времени, и я не уверен, что я делаю неправильно, чтобы вызвать это ... дайте мне знать, если я могу что-то уточнить.

load_file.py

def get_connection():
    cursor = connection.cursor()
    cursor.execute(
        "SELECT ID, Type, Server, Port, User, Password, isActive, FileExtension, FileContains, FileLocation, "
        "ScheduleMinutes, IntervalTime from DataConnection WHERE isActive=True")

    return cursor.fetchall()


class FileData:
    def __init__(self):
        self.interval_time = None
        self.schedule_minutes = None

    def data_connection(self, data_connection_detail):
        self.schedule_minutes = data_connection_detail[10]
        self.interval_time = data_connection_detail[11]

main.py

from load_file import get_connection
from load_file import FileData



def run_engine():
    file_data = FileData()
    while True:
        data = get_connection()
        for data_connection_detail in data:
            file_data.data_connection(data_connection_detail)
            schedule_minutes = data_connection_detail[file_data.schedule_minutes]
            interval_time = data_connection_detail[file_data.interval_time]

            download_files(data)
            import_records(data)


if __name__ == "__main__":
    run_engine()

🤔 А знаете ли вы, что...
Python был создан Гвидо ван Россумом и впервые выпущен в 1991 году.


22
1

Ответ:

Решено

Вам не нужно извлекать schedule_minutes и interval_time из data_connection_detail, поскольку метод FileData.data_connection() уже делает это за вас.

def run_engine():
    file_data = FileData()
    while True:
        data = get_connection()
        for data_connection_detail in data:
            file_data.data_connection(data_connection_detail)
===
-           schedule_minutes = data_connection_detail[file_data.schedule_minutes]
-           interval_time = data_connection_detail[file_data.interval_time]
===
+           schedule_minutes = file_data.schedule_minutes
+           interval_time = file_data.interval_time
===
            download_files(data)
            import_records(data)