10.3. Модуль cargador

Модуль cerebro.cargador предоставляет доступ к файловому хранилищу Cargador.

Функции

cerebro.cargador.download_file(hash, project_id)[исходный код]
Параметры:
  • hash (string) – хеш файла.
  • project_id (int) – идентификатор проекта.

Ставит файл на закачку из удаленного файлового хранилища.

# Скачивание файла
attach = cerebro.core.current_attachment() # получаем текущее вложение
task =  cerebro.core.current_task() # получаем текущую задачу, чтобы узнать идентификатор проекта

if attach.is_link() != True: # проверяем, что вложение не является линком
        file_name = cerebro.cargador.file_name_form_hash(attach.file_hash()) # пробуем получить имя файла по хешу
        if file_name == '' or file_name == None: # если файла нет, пробуем его скачать
                cerebro.cargador.download_file(attach.file_hash(), task.project_id())           

Примечание

Таким же образом можно скачать рецензию на файл. Для этого нужно у вложения вместо хеша файла получить хеш рецензии - attach.review_hash(). Для скачивания эскизов файла(уменшенных изображений) воспользуйтесь функцией cerebro.cargador.download_thumbnail().

См.также

download_thumbnail()

cerebro.cargador.download_thumbnail(hash, project_id)[исходный код]
Параметры:
  • hash (string) – хеш эскиза файла(уменщенного изобращения).
  • project_id (int) – идентификатор проекта.

Ставит эскиз файла на закачку из удаленного файлового хранилища.

Примечание

Скачивание при помощи функции download_thumbnail, производится в специальную папку для эскизов, чтобы они не захламляли каталоги с основными файлами.

# Скачивание эскизов вложения
attach = cerebro.core.current_attachment() # получаем текущее вложение
task =  cerebro.core.current_task() # получаем текущую задачу, чтобы узнать идентификатор проекта

hashs = attach.thumbnail_hashs() # получаем список хешей эскизов файла

for hash in hashs: # перебираем эскизы 
        if hash != '' and hash != None: # если эскиз у файла существует
                file_name = cerebro.cargador.file_name_form_hash(hash) # пробуем получить имя эскиза файла по хешу                      
                if file_name == '' or file_name == None: # если эскиза нет, пробуем его скачать                         
                        cerebro.cargador.download_thumbnail(hash, project_id)           

См.также

download_file()

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

Если соединиение установлено с локальным сервисом Cargador, то вернется „localhost“.

cerebro.cargador.storage_path()[исходный код]
Результат:Путь до хранилища файлов.
Тип результата:string