refactor: big refactor
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# --- Абстрактный базовый класс (Контракт) ---
|
||||
# Copyright Stanislav Mironov
|
||||
|
||||
from abc import ABC, abstractmethod
|
||||
from datetime import datetime, time
|
||||
from datetime import time
|
||||
|
||||
import openpyxl
|
||||
import xlrd
|
||||
@@ -27,6 +27,7 @@ class TranschendentnostCell:
|
||||
def is_empty(self):
|
||||
return self._is_empty
|
||||
|
||||
# --- Абстрактный базовый класс (Контракт) ---
|
||||
class ExcelSheetReader(ABC):
|
||||
"""
|
||||
Абстрактный базовый класс, определяющий интерфейс для чтения данных из листа Excel.
|
||||
@@ -130,7 +131,6 @@ class ExcelSheetReader(ABC):
|
||||
|
||||
|
||||
# --- Реализация №1: Обертка для xlrd ---
|
||||
|
||||
class XlrdSheetReader(ExcelSheetReader):
|
||||
def __init__(self, file_path, sheet_index=0):
|
||||
super().__init__(file_path)
|
||||
@@ -219,7 +219,6 @@ class XlrdSheetReader(ExcelSheetReader):
|
||||
|
||||
|
||||
# --- Реализация №2: Обертка-транслятор для openpyxl ---
|
||||
|
||||
class OpenpyxlSheetReader(ExcelSheetReader):
|
||||
def __init__(self, file_path, sheet_name=None):
|
||||
super().__init__(file_path)
|
||||
@@ -309,8 +308,7 @@ class OpenpyxlSheetReader(ExcelSheetReader):
|
||||
return []
|
||||
|
||||
|
||||
# --- Фабричная функция (Ваша единственная точка входа) ---
|
||||
|
||||
# --- Фабричная функция (единственная точка входа) ---
|
||||
def create_reader(file_path, **kwargs) -> ExcelSheetReader:
|
||||
"""
|
||||
Создает и возвращает подходящий экземпляр ридера в зависимости от расширения файла.
|
||||
|
||||
Reference in New Issue
Block a user