Модуль cerebro.cargador предоставляет доступ к файловому хранилищу Cargador.
cerebro.cargador.download_file(hash, project_id)
Параметры: | |
# Скачивание файла
attach = cerebro.core.current_attachment() # получаем текущее вложение
task = cerebro.core.current_task() # получаем текущую задачу, чтобы узнать идентификатор проекта
if not attach.is_link(): # проверяем, что вложение не является линком
file_name = cerebro.cargador.file_name_form_hash(attach.file_hash()) # пробуем получить имя файла по хешу
if not file_name or file_name == '': # если файла нет, пробуем его скачать
cerebro.cargador.download_file(attach.file_hash(), task.project_id())
Примечание
Таким же образом можно скачать рецензию на файл. Для этого нужно у вложения вместо хеша файла получить хеш рецензии - attach.review_hash(). Для скачивания эскизов файла(уменшенных изображений) воспользуйтесь функцией cerebro.cargador.download_thumbnail().
См.также
cerebro.cargador.download_thumbnail(hash, project_id)
Параметры: | |
Примечание
Скачивание при помощи функции download_thumbnail, производится в специальную папку для эскизов, чтобы они не захламляли каталоги с основными файлами.
# Скачивание эскизов вложения
attach = cerebro.core.current_attachment() # получаем текущее вложение
task = cerebro.core.current_task() # получаем текущую задачу, чтобы узнать идентификатор проекта
hashs = attach.thumbnail_hashs() # получаем список хешей эскизов файла
for hash in hashs: # перебираем эскизы
if hash and hash != '': # если эскиз у файла существует
file_name = cerebro.cargador.file_name_form_hash(hash) # пробуем получить имя эскиза файла по хешу
if not file_name or file_name == '': # если эскиза нет, пробуем его скачать
cerebro.cargador.download_thumbnail(hash, project_id)
См.также
cerebro.cargador.file_name_form_hash(hash)
Параметры: | hash (string) – хеш файла. |
Результат: | абсолютный путь до файла. Если файла в файловом хранилище нет, возвращается None. |
Тип результата: | string |
attach = cerebro.core.current_attachment() # получаем текущее вложение
file_name = cerebro.cargador.file_name_form_hash(attach.file_hash()) # пробуем получить имя файла по хешу
print('Имя файла', file_name)
cerebro.cargador.is_connected()
Результат: | True, если соединение c сервисом Cargador установлено. |
Тип результата: | bool |
cerebro.cargador.is_local()
Результат: | True, если соединение установлено с локальным сервисом Cargador. False, если с сетевым. |
Тип результата: | bool |
cerebro.cargador.storage_host()
Результат: | Адрес хоста на котором расположен подключенный сервис Cargador. |
Тип результата: | string |
cerebro.cargador.storage_path()
Результат: | Путь до хранилища файлов. |
Тип результата: | string |