From 39adbd124dab6cd1ea0306280b5ab1eb76c6c265 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D0=B0=D0=BC=D0=BE=D1=83=D0=BA=D0=B8=D0=BD=20=D0=90?= =?UTF-8?q?=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 2 Sep 2010 15:03:15 +0400 Subject: [PATCH] Bugfix (Determining file type) --- pym/cl_utils.py | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/pym/cl_utils.py b/pym/cl_utils.py index a43a0e3..ec9397e 100644 --- a/pym/cl_utils.py +++ b/pym/cl_utils.py @@ -23,12 +23,12 @@ import subprocess from subprocess import Popen,PIPE,STDOUT import stat from shutil import copytree, rmtree -import ctypes import cl_overriding import re import sys import getpass from types import StringType +import magic as type_file import cl_lang tr = cl_lang.lang() @@ -56,21 +56,17 @@ class typeFile: """Получение типа файла""" def __init__(self, magic=0x410): - # Загружаем libmagic.so - self.lib = ctypes.cdll.LoadLibrary("libmagic.so") - self.lib.error.restype = ctypes.c_char_p - self.lib.magic_file.restype = ctypes.c_char_p - # 0x10 | 0x400 = MAGIC_MIME (константа, декларируется в magic.h) - self.magic = self.lib.magic_open(magic) - self.lib.magic_load(self.magic, None) + self.magicObject = type_file.open(type_file.MAGIC_NONE) + self.magicObject.load() + self.magicObject.setflags(magic) def __del__(self): """Закрываем magic""" - self.lib.magic_close(self.magic) + self.magicObject.close() def getMType(self, filename): """Информация о типе файла""" - return self.lib.magic_file(self.magic, filename) + return self.magicObject.file(filename) def isBinary(self, filename): """является ли файл бинарным"""