Best Python code snippet using autotest_python
__init__.py
Source:__init__.py  
...38            if var.endswith('*'):39                var = var[:-1]40            vars.add(var)41    return vars42def _quote(value, safe, prefix=None):43    if prefix is not None:44        return quote(str(value)[:prefix], safe)45    return quote(str(value), safe)46def _tostring(varname, value, explode, prefix, operator, safe=""):47    if isinstance(value, list):48        return ",".join([_quote(x, safe) for x in value])49    if isinstance(value, dict):50        keys = sorted(value.keys())51        if explode:52            return ",".join([_quote(key, safe) + "=" + \53                             _quote(value[key], safe) for key in keys])54        else:55            return ",".join([_quote(key, safe) + "," + \56                             _quote(value[key], safe) for key in keys])57    elif value is None:58        return59    else:60        return _quote(value, safe, prefix)61def _tostring_path(varname, value, explode, prefix, operator, safe=""):62    joiner = operator63    if isinstance(value, list):64        if explode:65            out = [_quote(x, safe) for x in value if value is not None]66        else:67            joiner = ","68            out = [_quote(x, safe) for x in value if value is not None]69        if out:70            return joiner.join(out)71        else:72            return73    elif isinstance(value, dict):74        keys = sorted(value.keys())75        if explode:76            out = [_quote(key, safe) + "=" + \77                   _quote(value[key], safe) for key in keys \78                   if value[key] is not None]79        else:80            joiner = ","81            out = [_quote(key, safe) + "," + \82                   _quote(value[key], safe) \83                   for key in keys if value[key] is not None]84        if out:85            return joiner.join(out)86        else:87            return88    elif value is None:89        return90    else:91        return _quote(value, safe, prefix)92def _tostring_semi(varname, value, explode, prefix, operator, safe=""):93    joiner = operator94    if operator == "?":95        joiner = "&"96    if isinstance(value, list):97        if explode:98            out = [varname + "=" + _quote(x, safe) \99                   for x in value if x is not None]100            if out:101                return joiner.join(out)102            else:103                return104        else:105            return varname + "=" + ",".join([_quote(x, safe) \106                                             for x in value])107    elif isinstance(value, dict):108        keys = sorted(value.keys())109        if explode:110            return joiner.join([_quote(key, safe) + "=" + \111                                _quote(value[key], safe) \112                                for key in keys if key is not None])113        else:114            return varname + "=" + ",".join([_quote(key, safe) + "," + \115                             _quote(value[key], safe) for key in keys \116                             if key is not None])117    else:118        if value is None:119            return120        elif value:121            return (varname + "=" + _quote(value, safe, prefix))122        else:123            return varname124def _tostring_query(varname, value, explode, prefix, operator, safe=""):125    joiner = operator126    if operator in ["?", "&"]:127        joiner = "&"128    if isinstance(value, list):129        if 0 == len(value):130            return None131        if explode:132            return joiner.join([varname + "=" + _quote(x, safe) \133                                for x in value])134        else:135            return (varname + "=" + ",".join([_quote(x, safe) \136                                             for x in value]))137    elif isinstance(value, dict):138        if 0 == len(value):139            return None140        keys = sorted(value.keys())141        if explode:142            return joiner.join([_quote(key, safe) + "=" + \143                                _quote(value[key], safe) \144                                for key in keys])145        else:146            return varname + "=" + \147                   ",".join([_quote(key, safe) + "," + \148                             _quote(value[key], safe) for key in keys])149    else:150        if value is None:151            return152        elif value:153            return (varname + "=" + _quote(value, safe, prefix))154        else:155            return (varname  + "=")156TOSTRING = {157    "" : _tostring,158    "+": _tostring,159    "#": _tostring,160    ";": _tostring_semi,161    "?": _tostring_query,162    "&": _tostring_query,163    "/": _tostring_path,164    ".": _tostring_path,165    }166def expand(template, variables):167    """...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
