Skip to content

Commit 825d770

Browse files
author
Florian Perucki
committed
forbid using '_' as a subqueue delimiter
1 parent a5924f4 commit 825d770

2 files changed

Lines changed: 12 additions & 2 deletions

File tree

mrq/config.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import sys
44
import re
55
from .version import VERSION
6-
from .utils import get_local_ip
6+
from .utils import get_local_ip, DelimiterArgParser
77
import atexit
88

99

@@ -344,7 +344,8 @@ def add_parser_args(parser, config_type):
344344
parser.add_argument(
345345
'--subqueues_delimiter',
346346
default='/',
347-
help='Delimiter between main queue and subqueue names')
347+
help='Delimiter between main queue and subqueue names',
348+
action=DelimiterArgParser)
348349

349350
parser.add_argument(
350351
'--admin_port',

mrq/utils.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import math
55
import json
66
import datetime
7+
import argparse
78
from collections import deque
89
from bson import ObjectId
910

@@ -194,3 +195,11 @@ def next(self, val):
194195
self.__sum += val
195196
self.__q.append(val)
196197
return 1.0 * self.__sum / len(self.__q)
198+
199+
200+
class DelimiterArgParser(argparse.Action):
201+
def __call__(self, parser, namespace, value, option_string):
202+
if value == '_':
203+
parser.error("Cannot use '%s' as a subqueue delimiter" % value)
204+
205+
setattr(namespace, self.dest, value)

0 commit comments

Comments
 (0)