Bugfix (Determining file type)

develop
Самоукин Алексей 14 years ago
parent ee88171ee2
commit 39adbd124d

@ -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):
"""является ли файл бинарным"""

Loading…
Cancel
Save