Fix getting file type without magic module.

develop
Mike Hiretsky 13 years ago
parent 5c1d68928d
commit f638d0abdf

@ -30,9 +30,13 @@ import getpass
from types import StringType
try:
from magic import open as type_file, MAGIC_NONE as MAGIC_NONE
from magic2 import open as type_file, MAGIC_NONE as MAGIC_NONE
except ImportError:
from magic import open as type_file, NONE as MAGIC_NONE
try:
from magic2 import open as type_file, NONE as MAGIC_NONE
except:
type_file = None
MAGIC_NONE = None
import cl_lang
tr = cl_lang.lang()
@ -73,11 +77,39 @@ class _warning:
self.warning.append(warning)
return True
class proxy_type_file:
def __init__(self,flags):
self.flags = flags
def load(self):
pass
def setflags(self,flags):
self.flags = flags
def close(self):
pass
def file(self,filename):
if os.path.exists(filename):
if self.flags == 0x410:
processFile = process("file","-bi",filename)
if processFile.success():
return processFile.read().rstrip()
else:
processFile = process("file","-b",filename)
if processFile.success():
return processFile.read().rstrip()
return None
class typeFile:
"""Получение типа файла"""
def __init__(self, magic=0x410):
self.magicObject = type_file(MAGIC_NONE)
if type_file is None:
self.magicObject = proxy_type_file(MAGIC_NONE)
else:
self.magicObject = type_file(MAGIC_NONE)
self.magicObject.load()
self.magicObject.setflags(magic)

Loading…
Cancel
Save