def getCheshire3Env(args): """Init and return Cheshire3 Session, Server and Database. Intialize Cheshire3 Session, Server and Database objects based on ``args``. """ # Create a Session session = Session() # Get the Server based on given serverConfig file server = SimpleServer(session, args.serverconfig) # Try to get the Database if args.database is None: try: dbid = identify_database(session, os.getcwd()) except EnvironmentError as e: server.log_critical(session, e.message) raise server.log_debug( session, "database identifier not specified, discovered: {0}".format(dbid) ) else: dbid = args.database try: db = server.get_object(session, dbid) except ObjectDoesNotExistException: msg = """Cheshire3 database {0} does not exist. Please provide a different database identifier using the --database option. """.format(dbid) server.log_critical(session, msg) raise else: # Attach a default Logger to the Session session.logger = db.get_path(session, 'defaultLogger') return session, server, db
server = SimpleServer( session, os.path.join(cheshirePath, 'cheshire3', 'configs', 'serverConfig.xml')) configs = {} dbmap = {} server._cacheDatabases(session) for db in server.databases.values(): if db.get_setting(session, "z3950"): db._cacheProtocolMaps(session) map1 = db.protocolMaps.get('http://www.loc.gov/z3950/', None) if map1: configs[map1.databaseName] = map1 dbmap[db.id] = map1.databaseName session.resultSetStore = server.get_path(session, 'resultSetStore') session.logger = server.get_path(session, 'z3950Logger') session.configs = configs class ZHandler: connection = None session = None handlers = {} debug = 1 decode_ctx = None encode_ctx = None def __init__(self): self.session = session self.decode_ctx = asn1.IncrementalDecodeCtx(APDU)
session = Session() session.environment = "apache" server = SimpleServer(session, os.path.join(internal.cheshire3Root, 'configs', 'serverConfig.xml')) configs = {} dbmap = {} server._cacheDatabases(session) for db in server.databases.values(): if db.get_setting(session, "z3950"): db._cacheProtocolMaps(session) map1 = db.protocolMaps.get('http://www.loc.gov/z3950/', None) if map1: configs[map1.databaseName] = map1 dbmap[db.id] = map1.databaseName session.resultSetStore = server.get_path(session, 'resultSetStore') session.logger = server.get_path(session, 'z3950Logger') session.configs = configs class ZHandler: connection = None session = None handlers = {} debug = 1 decode_ctx = None encode_ctx = None def __init__(self): self.session = session self.decode_ctx = asn1.IncrementalDecodeCtx(APDU) self.encode_ctx = asn1.Ctx()
#!/usr/bin/python import sys import os from cheshire3.baseObjects import Session from cheshire3.server import SimpleServer from cheshire3.internal import cheshire3Root # Build environment... session = Session() # a Session - used to store print cheshire3Root serv = SimpleServer(session, os.path.join(cheshire3Root, 'configs', 'serverConfig.xml')) session.logger = serv.get_path(session, 'defaultLogger') # a logger db = serv.get_object(session, 'db_tdo_index') # the Database session.database = db.id #qf = db.get_object(session, 'defaultQueryFactory') def testVec(): recordStore = db.get_object(session, 'recordStore') rec = recordStore.fetch_record(session, 1) idx= db.get_object(session, 'idx-topic') vec = idx.fetch_vector(session, rec)