示例#1
0
    def getConnection(self,
                      host=None,
                      port=None,
                      db=None,
                      user=None,
                      password=None):
        # Default connection
        _host, _port = conf.getDatabaseServer()
        _user, _password = conf.getDatabaseAuth()
        _db = conf.getDatabaseName()
        # assign needed
        host = host or _host
        port = port or _port
        user = user or _user
        password = password or _password
        db = db or _db

        try:
            if user and password:
                mongoURI = "mongodb://{user}:{pwd}@{host}:{port}/{db}".format(
                    user=urllib.parse.quote(user),
                    password=urllib.parse.quote(password),
                    host=host,
                    port=port,
                    db=db)
                connect = pymongo.MongoClient(mongoURI)
            else:
                connect = pymongo.MongoClient(host, port)[db]
        except Exception as e:
            print(e)
            sys.exit("Unable to connect to Mongo. Is it running on %s:%s?" %
                     (host, port))
        return connect