|
a/src/mediaserver/cdplugins/uprcl/uprclfolders.py |
|
b/src/mediaserver/cdplugins/uprcl/uprclfolders.py |
|
... |
|
... |
122 |
rcldb = recoll.connect(confdir=confdir)
|
122 |
rcldb = recoll.connect(confdir=confdir)
|
123 |
rclq = rcldb.query()
|
123 |
rclq = rcldb.query()
|
124 |
rclq.execute("mime:*", stemming=0)
|
124 |
rclq.execute("mime:*", stemming=0)
|
125 |
uplog("Estimated alldocs query results: %d" % (rclq.rowcount))
|
125 |
uplog("Estimated alldocs query results: %d" % (rclq.rowcount))
|
126 |
|
126 |
|
127 |
maxcnt = 0
|
127 |
maxcnt = 2000
|
128 |
totcnt = 0
|
128 |
totcnt = 0
|
129 |
while True:
|
129 |
while True:
|
130 |
docs = rclq.fetchmany()
|
130 |
docs = rclq.fetchmany()
|
131 |
for doc in docs:
|
131 |
for doc in docs:
|
132 |
allthedocs.append(doc)
|
132 |
allthedocs.append(doc)
|
|
... |
|
... |
141 |
def inittree(confdir):
|
141 |
def inittree(confdir):
|
142 |
global g_alldocs, g_dirvec
|
142 |
global g_alldocs, g_dirvec
|
143 |
|
143 |
|
144 |
g_alldocs = _fetchalldocs(confdir)
|
144 |
g_alldocs = _fetchalldocs(confdir)
|
145 |
g_dirvec = _rcl2folders(g_alldocs, confdir)
|
145 |
g_dirvec = _rcl2folders(g_alldocs, confdir)
|
146 |
|
146 |
return g_alldocs
|
147 |
|
147 |
|
148 |
def _objidtodiridx(pid):
|
148 |
def _objidtodiridx(pid):
|
149 |
if not pid.startswith(g_myprefix):
|
149 |
if not pid.startswith(g_myprefix):
|
150 |
raise Exception("folders.browse: bad pid %s" % pid)
|
150 |
raise Exception("folders.browse: bad pid %s" % pid)
|
151 |
|
151 |
|
|
... |
|
... |
163 |
if diridx >= len(g_dirvec):
|
163 |
if diridx >= len(g_dirvec):
|
164 |
raise Exception("folders:browse: bad pid %s" % pid)
|
164 |
raise Exception("folders:browse: bad pid %s" % pid)
|
165 |
|
165 |
|
166 |
return diridx
|
166 |
return diridx
|
167 |
|
167 |
|
|
|
168 |
def rootentries(pid):
|
|
|
169 |
return [rcldirentry(pid + 'folders', pid, '[folders]'),]
|
168 |
|
170 |
|
169 |
# Browse method
|
171 |
# Browse method
|
170 |
# objid is like folders$index
|
172 |
# objid is like folders$index
|
171 |
# flag is meta or children.
|
173 |
# flag is meta or children.
|
172 |
def browse(pid, flag, httphp, pathprefix):
|
174 |
def browse(pid, flag, httphp, pathprefix):
|
|
... |
|
... |
190 |
# Not a directory. docidx had better been set
|
192 |
# Not a directory. docidx had better been set
|
191 |
if thisdocidx == -1:
|
193 |
if thisdocidx == -1:
|
192 |
uplog("folders:docidx -1 for non-dir entry %s"%nm)
|
194 |
uplog("folders:docidx -1 for non-dir entry %s"%nm)
|
193 |
continue
|
195 |
continue
|
194 |
doc = g_alldocs[thisdocidx]
|
196 |
doc = g_alldocs[thisdocidx]
|
195 |
id = g_myprefix + '$' + 'i' + str(thisdocidx)
|
197 |
id = g_myprefix + '$i' + str(thisdocidx)
|
196 |
e = rcldoctoentry(id, pid, httphp, pathprefix, doc)
|
198 |
e = rcldoctoentry(id, pid, httphp, pathprefix, doc)
|
197 |
if e:
|
199 |
if e:
|
198 |
entries.append(e)
|
200 |
entries.append(e)
|
199 |
|
201 |
|
200 |
return sorted(entries, cmp=cmpentries)
|
202 |
return sorted(entries, cmp=cmpentries)
|