История изменений
Исправление thunar, (текущая версия) :
Как-то так
class fileobj(object):
def __init__(self, fname):
self.a = ...
self.b = ...
def __getitem__(self, i):
lf = self.b[i]['offset']
rt = self.b[i]['length']+lf
return self.a[lf:rt]Красивей, наверное, на старте прочитать все заголовки через struct и заmmapать в self.словарь все смещения по файлу, и к нему уже обращаться, тем более что у вас в файлах бинарные данные.
Исправление thunar, :
Как-то так
class fileobj(object):
def __init__(self, fname):
self.a = ...
self.b = ...
def __getitem__(self, i):
lf = self.b[i]['offset']
rt = self.b[i]['length']+lf
return self.a[lf:rt]Красивей, наверное, на старте прочитать все заголовки через struct и заmmapать в self.словарь все смещения по файлу, и к нему уже обращаться.
Исправление thunar, :
Как-то так
class fileobj(object):
def __init__(self, fname):
self.a = ...
self.b = ...
def __getitem__(self, i):
lf = self.b[i]['offset']
rt = self.b[i]['length']+lf
return self.a[lf:rt]Красивей, наверное, на старте прочитать все заголовки через struct и заmmapать в self.словарь все смещения по файлу.
Исправление thunar, :
Как-то так
class fileobj(object):
def __init__(self, fname):
self.a = ...
self.b = ...
def __getitem__(self, i):
lf = self.b[i]['offset']
rt = self.b[i]['length']+lf
return self.a[lf:rt]Красивей, наверное, на старте прочитать все заголовки через struct и за mmapать в словарь все смещения по файлу.
Исправление thunar, :
Как-то так
class fileobj(object):
def __init__(self, fname):
self.a = ...
self.b = ...
def __getitem__(self, i):
lf = self.b[i]['offset']
rt = self.b[i]['length']+lf
return self.a[lf:rt]Исправление thunar, :
Как-то так
class fileobj(object):
def __init__(self, fname):
self.a = ...
self.b = ...
def __getitem__(self, i):
lf = self.b[i]['offset']
rt = self.b[i]['length']+lf
return self.a[lf:rt]mode='r'
Алсо, не 'rb'?
Исправление thunar, :
Как-то так
class fileobj(object):
def __init__(self, fname):
self.a = ...
self.b = ...
def __getitem__(self, i):
lf = self.b[i]['offset']
rt = self.b[i]['length']+lf
return self.a[lf:rt]Исправление thunar, :
Как-то так
class fileobj(object):
def __init__(self, fname):
self.a = ...
self.b = ...
def __getitem__(self, i):
lf = self.b[i]['offset']
rt = self.b[i]['length']+lf
return self.a[lf:rt]Исправление thunar, :
Как-то так
class fileobj(object):
def __init__(self, fname):
self.a = ...
self.b = ...
def __getitem__(self, i):
lf = self.b[i]['offset']
rt = self.b[i]['length']+lf
return self.a[lf:rt]Исходная версия thunar, :
Как-то так
class AttributeDict(object):
def __init__(self, fname):
self.a = ...
self.b = ...
def __getitem__(self, i):
lf = self.b[i]['offset']
rt = self.b[i]['length']+lf
return self.a[lf:rt]