resLoader.py (1362B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\carbon\client\script\util\resLoader.py 2 import blue 3 4 class _ResFileRaw(object): 5 __slots__ = ['resfile', 'closed'] 6 7 def __init__(self, respath): 8 self.resfile = blue.ResFile() 9 self.resfile.OpenAlways(respath) 10 self.closed = False 11 12 def read(self, size = -1): 13 if self.closed: 14 raise ValueError('file is closed') 15 return self.resfile.Read(size) 16 17 def seek(self, offset, whence = 0): 18 if whence == 0: 19 r = self.resfile.Seek(offset) 20 elif whence == 1: 21 r = self.resfile.Seek(offset + self.file.pos) 22 elif whence == -1: 23 r = self.resfile.Seek(self.file.size - offset) 24 else: 25 raise ValueError("'whence' must be 0, 1 or -1, not %s" % whence) 26 27 def tell(self): 28 return self.resfile.pos 29 30 def close(self): 31 if not self.closed: 32 self.resfile.Close() 33 self.closed = True 34 35 36 def ResFile(respath, mode = 'rb', bufsize = -1): 37 if mode.count('b'): 38 return _ResFileRaw(respath) 39 else: 40 s = _ResFileRaw(respath).read().replace('\r\n', '\n') 41 import StringIO 42 return StringIO.StringIO(s) 43 44 45 import carbon.common.script.util.autoexport as autoexport 46 exports = autoexport.AutoExports('util', globals())