Описание модулей¶
database_reader¶
-
class
onec_dtools.database_reader.
DatabaseReader
(db_file)¶ Параметры: db_file (BufferedReader) – файл базы данных -
locale
= None¶ Язык БД
-
tables
= None¶ Словарь таблиц БД.
Ключ: Имя таблицы
Значение: Объект класса Table
-
total_pages
= None¶ Количество страниц в БД
-
version
= None¶ Версия формата
-
-
class
onec_dtools.database_reader.
Table
(db_file, description)¶ Таблица файловой БД
Параметры: - db_file (BufferedReader) – Объект файла БД
- description (string) – Описание таблицы во внутреннем формате 1С
-
__getitem__
(key)¶ Реализует интерфейс работы с таблицой как со списком
Параметры: key (int) – индекс строки Результат: строка таблицы Тип результата: Row
-
__iter__
()¶ Реализует интерфейс перебора строк табилцы
Результат: Итератор строк таблицы
-
__len__
()¶ Позволяет получать число строк в таблице
Результат: Общее количество строк в таблице (включая пустые) Тип результата: int
-
fields
= None¶ Словарь описаний полей таблицы
-
name
= None¶ Имя таблицы
-
class
onec_dtools.database_reader.
Row
(db_file, row_bytes, table)¶ Строка БД
Параметры: - db_file (BufferedReader) – Объект файла БД
- row_bytes (bytearray) – Внутреннее представление строки
- table (Table) – Таблица БД, которой принадлежит строка.
-
__getitem__
(key)¶ Позволяет получать значения полей по имени колонки
Параметры: key (string) – Имя колонки Результат: Значение поля
-
as_dict
(read_blobs=False)¶ Возвращает представление строки таблицы в виде словаря
Параметры: read_blobs (bool) – Флаг считывания значений BLOB полей Результат: Строка таблицы Тип результата: OrderedDict
-
as_list
(read_blobs=False)¶ Возвращает представление строки таблицы в виде списка
Параметры: read_blobs (bool) – Флаг считывания значений BLOB полей Результат: Строка таблицы Тип результата: list
-
is_empty
= None¶ Флаг пустой строки. Все поля пустой строки равны None
-
class
onec_dtools.database_reader.
Blob
(db_file, blob_size, blob_offset, blob_chunk_offset, field_type)¶ Поле неограниченной длины
Параметры: - db_file (BufferedReader) – Объект файла БД
- blob_size (int) – Размер BLOB в байтах
- blob_offset (int) – Смещение объекта BLOB данных таблицы в файле БД (страниц)
- blob_chunk_offset (int) – Смещение данных внутри BLOB объекта (число блоков по 256 байт)
- field_type (string) – тип поля неограниченной длины (I или NT)
-
__iter__
()¶ Позволяет считывать данные поля блоками.
Результат: Итератор BLOB кусками по 256 байт Тип результата: bytearray
-
__len__
()¶ Результат: Размер поля в байтах Тип результата: int
-
value
¶ Результат: Значение поля Тип результата: bytearray или string
-
class
onec_dtools.database_reader.
DBObject
(db_file, object_offset)¶ Объект БД
Параметры: - db_file (BufferedReader) – Объект файла БД
- object_offset (int) – смещение объекта БД относительно начала файла БД (в страницах)
-
__len__
()¶ Реализует интерфейс получения размера объета
Результат: Размер объекта в байтах Тип результата: int
-
read
(size=-1)¶ Читает не более size байт данных объекта БД
Параметры: size (int) – Размер считываемых данных. Size < 0 для чтения всего объекта. Результат: данные объекта Тип результата: bytearray
-
seek
(pos)¶ Позиционируется на смещении относительно начала данных объекта
Параметры: pos (int) – Байт от начала данных объекта
-
class
onec_dtools.database_reader.
FieldDescription
¶ Описание поля таблицы
-
type
¶
-
null_exists
¶
-
length
¶
-
precision
¶ Длина дробной части для типа Numeric
-
case_sensitive
¶
-
data_offset
¶ Смещение данных поля относительно начала строки (байт)
-
data_length
¶ Длина данных поля (байт)
-
-
onec_dtools.database_reader.
database_header
(db_file)¶ Читает заголовок файла БД
Параметры: db_file (BufferedReader) – Объект файла БД Результат: версия и число страниц Тип результата: tuple
-
onec_dtools.database_reader.
root_object
(db_file)¶ Читает корневой объет БД
Параметры: db_file (BufferedReader) – Объект файла БД Результат: язык и смещения объектов описания таблиц БД Тип результата: tuple
-
onec_dtools.database_reader.
raw_tables_descriptions
(db_file, tables_offsets)¶ Получает описания таблиц БД во внутренне формате 1С.
Параметры: - db_file (BufferedReader) – Объект файла БД
- tables_offsets (tuple) – Cмещения объектов описания таблиц БД
Результат: Описания таблиц
Тип результата: list
-
onec_dtools.database_reader.
calc_field_size
(field_type, length)¶ Рассчитывает размер данных поля
Параметры: - field_type (string) – Тип поля
- length (int) – Длина поля
Результат: Длина поля в байтах
Тип результата: int
-
onec_dtools.database_reader.
numeric_to_int
(numeric, length, precision)¶ Преобразуем Numeric формат 1С в число.
Параметры: - numeric (bytearray) – число в формате Numeric
- length (int) – длина поля
- precision (int) – точность
Результат: Числовое представление
Тип результата: int или float
-
onec_dtools.database_reader.
nvc_to_string
(nvc)¶ Преобразует NVarChar формат 1С в строку.
Параметры: nvc (bytearray) – строка в формате NVC Результат: Строковое представление Тип результата: string
-
onec_dtools.database_reader.
bytes_to_datetime
(bts)¶ Пробразует данные типа DT в дату/время
Параметры: bts (bytearray) – значение в формате DT Результат: дата+время Тип результата: datetime
container_reader¶
-
class
onec_dtools.container_reader.
ContainerReader
(file)¶ Класс для чтения контейнеров
-
entries
= None¶ Список файлов в контейнере
-
extract
(path, deflate=False, recursive=False)¶ Распаковывает содержимое контейнера в каталог
Параметры: - path (string) – каталог распаковки
- deflate (bool) – разархивировать содержимое файлов
- recursive (bool) – выполнять рекурсивно
-
-
onec_dtools.container_reader.
extract
(filename, folder)¶ Распаковка контейнера. Сахар для ContainerReader
Параметры: - filename (string) – полное имя файла-контейнера
- folder (string) – каталог назначения
-
onec_dtools.container_reader.
read_header
(file)¶ Считывыет заголовок контейнера.
Параметры: file (BufferedReader) – объект файла контейнера Результат: Заголовок контейнера Тип результата: Header
-
onec_dtools.container_reader.
read_block
(file, offset, max_data_length=None)¶ Считывает блок данных из контейнера.
Параметры: - file (BufferedReader) – объект файла контейнера
- offset (int) – смещение блока в файле контейнера (байт)
- max_data_length (int) – максимальный размер считываемых данных из блока (байт)
Результат: объект блока данных
Тип результата: Block
-
onec_dtools.container_reader.
read_document
(file, offset)¶ Считывает документ из контейнера. В качестве данных документа возвращается генератор.
Параметры: - file (BufferedReader) – объект файла контейнера
- offset (int) – смещение документа в контейнере
Результат: объект документа
Тип результата: Document
-
onec_dtools.container_reader.
read_full_document
(file, offset)¶ Считывает документ из контейнера. Данные документа считываются целиком.
Параметры: - file (BufferedReader) – объект файла контейнера
- offset (int) – смещение документа в контейнере (байт)
Результат: объект документа
Тип результата: Document
-
onec_dtools.container_reader.
parse_datetime
(time)¶ Преобразует внутренний формат хранения дат файлов в контейнере в обычную дату
Параметры: time (string) – внутреннее представление даты Результат: дата/время Тип результата: datetime
-
onec_dtools.container_reader.
read_entries
(file)¶ Считывает оглавление контейнера
Параметры: file (BufferedReader) – объект файла контейнера Результат: словарь файлов в контейнере Тип результата: OrderedDict
container_writer¶
-
class
onec_dtools.container_writer.
ContainerWriter
(file)¶ Класс для записи контейнеров
Параметры: file (BufferedReader) – объект файла контейнера -
__enter__
()¶ Вход в блок. Позволяет применять оператор with.
-
__exit__
(exc_type, exc_val, exc_tb)¶ Выход из блока. Позволяет применять оператор with.
-
add_file
(fd, name, inflate=False)¶ Добавляет файл в контейнер
Параметры: - fd (BufferedReader) – file-like объект файла
- name (string) – Имя файла в контейнере
- inflate (bool) – флаг сжатия
-
write_block
(data, **kwargs)¶ Записывает блок данных в контейнер
Параметры: - data – file-like объект
- kwargs – Опциональные параметры
Результат: смещение записанных данных (байт)
Тип результата: int
-
write_header
()¶ Записывает заголовок контейнера
-
write_toc
()¶ Записывает оглавление контейнера
-
-
onec_dtools.container_writer.
build
(folder, filename)¶ Запакоывает каталог в контейнер включая вложенные каталоги. Сахар для ContainerWriter.
Параметры: - folder (string) – каталог с данными, запаковываемыми в контейнер
- filename (string) – имя файла контейнера
-
onec_dtools.container_writer.
add_entries
(container, folder, nested=False)¶ Рекурсивно добавляет файлы из директории в контейнер
Параметры: - container (BufferedReader) – объет файла контейнера
- folder (string) – каталог файлов, которые надо поместить в контейнер
- nested (bool) – обрабатывать вложенные каталоги
-
onec_dtools.container_writer.
epoch2int
(epoch_time)¶ Преобразует время в формате “количество секунд с начала эпохи” в количество сотых микросекундных интервалов с 0001.01.01
Параметры: epoch_time (real) – время в формате Python Результат: количество сотых микросекундных интервалов Тип результата: int
-
onec_dtools.container_writer.
int2hex
(value)¶ Получает строковое представление целого числа в шестнадцатиричном формате длиной не менее 4 байт
Параметры: value (int) – конвертируемое число Результат: предоставление числа Type: string
-
onec_dtools.container_writer.
get_size
(file)¶ Возвращает размер file-like объекта
Параметры: file (BufferedReader) – объекта файла Результат: размер в байтах Тип результата: int