From be2815ea87a5123be64f825e1c49e80cee915bf1 Mon Sep 17 00:00:00 2001 From: Aseem Kishore Date: Mon, 21 Apr 2025 22:32:35 -0700 Subject: [PATCH] Add support for custom Redis username --- rma/application.py | 9 +++++---- rma/cli/rma_cli.py | 5 ++++- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/rma/application.py b/rma/application.py index 4f3fc3e..cbc9588 100644 --- a/rma/application.py +++ b/rma/application.py @@ -34,17 +34,18 @@ def ptransform(nm): return rt -def connect_to_redis(host, port, db=0, password=None, ssl=False): +def connect_to_redis(host, port, db=0, username=None, password=None, ssl=False): """ :param host: :param port: :param db: + :param username: :param password: :return RmaRedis: """ try: - redis = RmaRedis(host=host, port=port, db=db, password=password, ssl=ssl) + redis = RmaRedis(host=host, port=port, db=db, username=username, password=password, ssl=ssl) if not check_redis_version(redis): sys.stderr.write('This script only works with Redis Server version 2.6.x or higher\n') sys.exit(-1) @@ -79,13 +80,13 @@ class RmaApplication(object): REDIS_TYPE_ID_ZSET: [], } - def __init__(self, host="127.0.0.1", port=6367, password=None, db=0, ssl=False, match="*", limit=0, filters=None, logger=None, format="text", separator=":"): + def __init__(self, host="127.0.0.1", port=6367, username=None, password=None, db=0, ssl=False, match="*", limit=0, filters=None, logger=None, format="text", separator=":"): self.logger = logger or logging.getLogger(__name__) self.splitter = SimpleSplitter(separator) self.isTextFormat = format == "text" self.reporter = TextReporter() if self.isTextFormat else JsonReporter() - self.redis = connect_to_redis(host=host, port=port, db=db, password=password, ssl=ssl) + self.redis = connect_to_redis(host=host, port=port, db=db, username=username, password=password, ssl=ssl) self.match = match self.limit = limit if limit != 0 else sys.maxsize diff --git a/rma/cli/rma_cli.py b/rma/cli/rma_cli.py index 98763bd..646ab9a 100644 --- a/rma/cli/rma_cli.py +++ b/rma/cli/rma_cli.py @@ -43,6 +43,9 @@ def main(): default=6379, type=int, help="Redis Server port. Defaults to 6379") + parser.add_argument("-u", "--username", + dest="username", + help="Username to use when connecting to the server") parser.add_argument("-a", "--password", dest="password", help="Password to use when connecting to the server") @@ -101,7 +104,7 @@ def main(): else: filters['types'].append(x) - app = RmaApplication(host=options.host, port=options.port, db=options.db, password=options.password, + app = RmaApplication(host=options.host, port=options.port, db=options.db, username=options.username, password=options.password, ssl=options.ssl, match=options.match, limit=options.limit, filters=filters, format=options.format, separator=options.separator)