Написал небольшую программку - позволяет просмотреть все видеофайлы в указанной дирректории с помощью xine. Изюминка в том, что программа обрабатывает также некоторый oldlist - файлы, которые прописаны в oldlist, исключаются из списка воспроизведения.
Скачивать здесь (кстати, Яndex.Диск рулит).
Зависимости: Python, libmagic (сделайте обязательно симлинк по имени libmagic.so)
Показаны сообщения с ярлыком libmagic. Показать все сообщения
Показаны сообщения с ярлыком libmagic. Показать все сообщения
Определяем тип файла в Python
Работаем с помощью magic-последовательностей. Определение происходит с помощью libmagic.so (библиотека для C, заголовочный файл - magic.h, почитайте также "man libmagic"). Используем библиотеку с помощью ctypes.cdll.
Вот такой вот класс:
Вот такой вот класс:
import ctypes
class CMagic:
   __mgc = None
   __cookie = None
   def __init__(self):
     #Загружаем libmagic.so
     self.__mgc = ctypes.cdll.LoadLibrary("libmagic.so")
     #Создаем новый cookie (требуется для
     #работы с magic-последовательностями)
     #0x10 | 0x400 = MAGIC_MIME (константа
     #декларируется в magic.h)
     self.__cookie = self.__mgc.magic_open(0x10 | 0x400)
     #Загружаем в __cookie
     #/etc/file/magic.mime (т.к. указано None)
     self.__mgc.magic_load(self.__cookie, None)
   def __del__(self):
     #Закрываем __cookie
     self.__mgc.magic_close(self.__cookie)
   def getMType(self,filename):
     #Получаем информацию о файле
     result = self.__mgc.magic_file(self.__cookie,filename)
     #magic_file возвращает const char*,
     #mimetype.value - это строка по указателю
     mimetype = ctypes.c_char_p(result)
     rez = mimetype.value
     return rez
   def is_video(self,filename):
     #Проверяем, является ли файл
     #- видео файлом
     mime = self.getMType(filename)
     if mime.count("video"):
       return 1
     return 0
Подписаться на:
Сообщения (Atom)
