@@ -4512,34 +4512,32 @@ def randomizeParameterValue(value):
45124512
45134513 retVal = value
45144514
4515- value = re .sub (r"%[0-9a-fA-F]{2}" , "" , value )
4515+ retVal = re .sub (r"%[0-9a-fA-F]{2}" , "" , retVal )
45164516
4517- for match in re .finditer (r"[A-Z]+" , value ):
4517+ def _replace_upper (match ):
4518+ original = match .group ()
45184519 while True :
4519- original = match .group ()
4520- candidate = randomStr (len (match .group ())).upper ()
4521- if original != candidate :
4522- break
4523-
4524- retVal = retVal .replace (original , candidate )
4520+ candidate = randomStr (len (original )).upper ()
4521+ if candidate != original :
4522+ return candidate
45254523
4526- for match in re .finditer (r"[a-z]+" , value ):
4524+ def _replace_lower (match ):
4525+ original = match .group ()
45274526 while True :
4528- original = match .group ()
4529- candidate = randomStr (len (match .group ())).lower ()
4530- if original != candidate :
4531- break
4527+ candidate = randomStr (len (original )).lower ()
4528+ if candidate != original :
4529+ return candidate
45324530
4533- retVal = retVal .replace (original , candidate )
4534-
4535- for match in re .finditer (r"[0-9]+" , value ):
4531+ def _replace_digit (match ):
4532+ original = match .group ()
45364533 while True :
4537- original = match .group ()
4538- candidate = str (randomInt (len (match .group ())))
4539- if original != candidate :
4540- break
4534+ candidate = str (randomInt (len (original )))
4535+ if candidate != original :
4536+ return candidate
45414537
4542- retVal = retVal .replace (original , candidate , 1 )
4538+ retVal = re .sub (r"[A-Z]+" , _replace_upper , retVal )
4539+ retVal = re .sub (r"[a-z]+" , _replace_lower , retVal )
4540+ retVal = re .sub (r"[0-9]+" , _replace_digit , retVal )
45434541
45444542 if re .match (r"\A[^@]+@.+\.[a-z]+\Z" , value ):
45454543 parts = retVal .split ('.' )
0 commit comments