|
a/src/filters/rcltar |
|
b/src/filters/rcltar |
|
... |
|
... |
41 |
if isinstance(ipath, unicode):
|
41 |
if isinstance(ipath, unicode):
|
42 |
ipath = ipath.encode("utf-8")
|
42 |
ipath = ipath.encode("utf-8")
|
43 |
return (ok, docdata, ipath, iseof)
|
43 |
return (ok, docdata, ipath, iseof)
|
44 |
|
44 |
|
45 |
def openfile(self, params):
|
45 |
def openfile(self, params):
|
46 |
self.currentindex = 0
|
46 |
self.currentindex = -1
|
47 |
try:
|
47 |
try:
|
48 |
self.tar = open(name=params["filename:"],mode='r')
|
48 |
self.tar = open(name=params["filename:"],mode='r')
|
49 |
self.namen = [ y.name for y in filter(lambda z:z.isfile(),self.tar.getmembers())]
|
49 |
self.namen = [ y.name for y in filter(lambda z:z.isfile(),self.tar.getmembers())]
|
50 |
return True
|
50 |
return True
|
51 |
except:
|
51 |
except:
|
|
... |
|
... |
61 |
return self.extractone(ipath)
|
61 |
return self.extractone(ipath)
|
62 |
except Exception, err:
|
62 |
except Exception, err:
|
63 |
return (ok, data, ipath, eof)
|
63 |
return (ok, data, ipath, eof)
|
64 |
|
64 |
|
65 |
def getnext(self, params):
|
65 |
def getnext(self, params):
|
|
|
66 |
|
|
|
67 |
if self.currentindex == -1:
|
|
|
68 |
# Return "self" doc
|
|
|
69 |
self.currentindex = 0
|
|
|
70 |
self.em.setmimetype('text/plain')
|
|
|
71 |
if len(self.namen) == 0:
|
|
|
72 |
eof = rclexecm.RclExecM.eofnext
|
|
|
73 |
else:
|
|
|
74 |
eof = rclexecm.RclExecM.noteof
|
|
|
75 |
return (True, "", "", eof)
|
|
|
76 |
|
66 |
if self.currentindex >= len(self.namen):
|
77 |
if self.currentindex >= len(self.namen):
|
67 |
self.namen=[]
|
78 |
self.namen=[]
|
68 |
return (False, "", "", rclexecm.RclExecM.eofnow)
|
79 |
return (False, "", "", rclexecm.RclExecM.eofnow)
|
69 |
else:
|
80 |
else:
|
70 |
ret= self.extractone(self.namen[self.currentindex])
|
81 |
ret= self.extractone(self.namen[self.currentindex])
|