Best Python code snippet using localstack_python
s3_listener.py
Source:s3_listener.py  
...624        return625    response.headers["Transfer-Encoding"] = "chunked"626    response.headers.pop("Content-Encoding", None)627    response.headers.pop("Content-Length", None)628def strip_surrounding_quotes(s):629    if (s[0], s[-1]) in (('"', '"'), ("'", "'")):630        return s[1:-1]631    return s632def ret304_on_etag(data, headers, response):633    etag = response.headers.get("ETag")634    if etag:635        match = headers.get("If-None-Match")636        if match and strip_surrounding_quotes(match) == strip_surrounding_quotes(etag):637            response.status_code = 304638            response._content = ""639def remove_xml_preamble(response):640    """Removes <?xml ... ?> from a response content"""641    response._content = re.sub(r"^<\?[^\?]+\?>", "", to_str(response._content))642# --------------643# HELPER METHODS644#   for lifecycle/replication/...645# --------------646def get_lifecycle(bucket_name):647    bucket_name = normalize_bucket_name(bucket_name)648    exists, code, body = is_bucket_available(bucket_name)649    if not exists:650        return xml_response(body, status_code=code)...filters.py
Source:filters.py  
...20        return request.GET.get(self.get_param)21def is_wrapped_in_quotes(string):22    """Check to see if the given string is quoted"""23    return string[0] in QUOTES and string[0] == string[-1]24def strip_surrounding_quotes(string):25    """Strip quotes from the ends of the given string"""26    if not is_wrapped_in_quotes(string):27        return string28    to_strip = string[0]29    return string.strip(to_strip)30def strip_special_search_characters(string):31    """Some punctuation characters break the Search API's query parsing if32    they're not escaped. Some punctuation characters break even if escaped.33    There's no documentation as to which characters should be escaped and which34    should be completely removed, so to stop _all_ errors, we remove all common35    punctuation to avoid brokenness.36    """37    for char in string_module.punctuation:38        if char not in ALLOWED_PUNCTUATION:39            string = string.replace(char, u"")40    return string41def strip_multi_value_operators(string):42    """The Search API will parse a query like `PYTHON OR` as an incomplete43    multi-value query, and raise an error as it expects a second argument44    in this query language format. To avoid this we strip the `AND` / `OR`45    operators tokens from the end of query string. This does not stop46    a valid multi value query executing as expected.47    """48    # the search API source code lists many operators in the tokenNames49    # iterable, but it feels cleaner for now to explicitly name only the ones50    # we are interested in here51    if string:52        string = re.sub(r'^(OR|AND)', '', string)53        string = re.sub(r'(OR|AND)$', '', string)54        string = string.strip()55    return string56def build_corpus_search(queryset, value):57    """Builds up a corpus search taking into account words which may contain58    punctuation causes a string to be tokenised by the search API and searches those59    terms exactly60    """61    value = strip_special_search_characters(value)62    # pull out words containing ALLOWED_PUNCTUATION and search with exact63    # this is mainly for searching for email addresses within the corpus64    terms = []65    for term in value.split(' '):66        if any(c in ALLOWED_PUNCTUATION for c in term):67            queryset = queryset.filter(corpus=term)68        else:69            terms.append(term)70    value = u' '.join(terms)71    value = strip_multi_value_operators(value)72    if value:73        # TODO: this doesn't handle users searching for an email address AND other terms74        queryset = queryset.filter(corpus__contains=value)75    return queryset76def filter_search(queryset, value):77    if not value:78        return queryset79    exact = is_wrapped_in_quotes(value)80    value = strip_surrounding_quotes(value)81    if exact:82        # whole search term is exact83        return queryset.filter(corpus=value)84    queryset = build_corpus_search(queryset, value)...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!!
