original_docstring: 
          Custom method for flexible keys filtering
          :param starts: return keys that starts with
          :param contains: return keys that contains
          :return: Iterable of keys
          
docstring: Custom method for flexible keys filtering
docstring_tokens: Custom method for flexible keys filtering
code: def keys(self, starts=None, contains=None):
          """
          Custom method for flexible keys filtering
          :param starts: return keys that starts with
          :param contains: return keys that contains
          :return: Iterable of keys
          """
          if starts and not contains:
              return [key for key in super().keys() if key.startswith(starts)]
          elif contains and not starts:
              return [key for key in super().keys() if contains in key]
          elif starts and contains:
              return [key for key in super().keys() if key.startswith(starts) and contains in key]
          else:
              return super().keys()
code_tokens: def keys ( self , starts = None , contains = None ) : if starts and not contains : return [ key for key in super ( ) . keys ( ) if key . startswith ( starts ) ] elif contains and not starts : return [ key for key in super ( ) . keys ( ) if contains in key ] elif starts and contains : return [ key for key in super ( ) . keys ( ) if key . startswith ( starts ) and contains in key ] else : return super ( ) . keys ( )
short_docstring: Custom method for flexible keys filtering
short_docstring_tokens: Custom method for flexible keys filtering
comment: """
          Custom method for flexible keys filtering
          :param starts: return keys that starts with
          :param contains: return keys that contains
          :return: Iterable of keys
          """