Print this page
3166 feed generation needs performance improvement
3306 feed returns invalid last-modified header
@@ -28,10 +28,11 @@
import os
import sys
import cherrypy
import pkg.catalog as catalog
+import pkg.fmri as fmri
import pkg.indexer as indexer
import pkg.server.query_engine as query_e
from pkg.misc import SERVER_DEFAULT_MEM_USE_KB
from pkg.misc import emsg
@@ -258,5 +259,22 @@
if not self.query_engine:
self.query_engine = \
query_e.ServerQueryEngine(self.index_root)
query = query_e.Query(token, case_sensitive=False)
return self.query_engine.search(query)
+
+ @staticmethod
+ def read_catalog(catalog, dir, auth=None):
+ """Read the catalog file in "dir" and combine it with the
+ existing data in "catalog"."""
+
+ catf = file(os.path.join(dir, "catalog"))
+ for line in catf:
+ if not line.startswith("V pkg") and \
+ not line.startswith("C pkg"):
+ continue
+
+ f = fmri.PkgFmri(line[7:])
+ ServerCatalog.cache_fmri(catalog, f, auth)
+
+ catf.close()
+