OXIESEC PANEL
- Current Dir:
/
/
opt
/
alt
/
python311
/
lib
/
python3.11
/
site-packages
/
elasticsearch
Server IP: 2a02:4780:11:1594:0:ef5:22d7:a
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
01/09/2025 02:18:04 AM
rwxr-xr-x
📄
__init__.py
3.21 KB
05/14/2024 03:17:35 PM
rw-r--r--
📁
__pycache__
-
05/14/2024 03:17:36 PM
rwxr-xr-x
📁
_async
-
05/14/2024 03:17:35 PM
rwxr-xr-x
📄
_otel.py
3.33 KB
05/14/2024 03:17:35 PM
rw-r--r--
📁
_sync
-
05/14/2024 03:17:36 PM
rwxr-xr-x
📄
_utils.py
1.39 KB
05/14/2024 03:17:35 PM
rw-r--r--
📄
_version.py
814 bytes
05/14/2024 03:17:35 PM
rw-r--r--
📄
client.py
5 KB
05/14/2024 03:17:35 PM
rw-r--r--
📄
compat.py
2.59 KB
05/14/2024 03:17:35 PM
rw-r--r--
📄
exceptions.py
3.93 KB
05/14/2024 03:17:35 PM
rw-r--r--
📁
helpers
-
05/14/2024 03:17:36 PM
rwxr-xr-x
📄
py.typed
0 bytes
05/14/2024 03:17:35 PM
rw-r--r--
📄
serializer.py
6.96 KB
05/14/2024 03:17:35 PM
rw-r--r--
📄
transport.py
2.2 KB
05/14/2024 03:17:35 PM
rw-r--r--
Editing: compat.py
Close
# Licensed to Elasticsearch B.V. under one or more contributor # license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright # ownership. Elasticsearch B.V. licenses this file to you under # the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. import inspect import sys from pathlib import Path from typing import Tuple, Type, Union string_types: Tuple[Type[str], Type[bytes]] = (str, bytes) def to_str(x: Union[str, bytes], encoding: str = "ascii") -> str: if not isinstance(x, str): return x.decode(encoding) return x def to_bytes(x: Union[str, bytes], encoding: str = "ascii") -> bytes: if not isinstance(x, bytes): return x.encode(encoding) return x def warn_stacklevel() -> int: """Dynamically determine warning stacklevel for warnings based on the call stack""" try: # Grab the root module from the current module '__name__' module_name = __name__.partition(".")[0] module_path = Path(sys.modules[module_name].__file__) # type: ignore[arg-type] # If the module is a folder we're looking at # subdirectories, otherwise we're looking for # an exact match. module_is_folder = module_path.name == "__init__.py" if module_is_folder: module_path = module_path.parent # Look through frames until we find a file that # isn't a part of our module, then return that stacklevel. for level, frame in enumerate(inspect.stack()): # Garbage collecting frames frame_filename = Path(frame.filename) del frame if ( # If the module is a folder we look at subdirectory module_is_folder and module_path not in frame_filename.parents ) or ( # Otherwise we're looking for an exact match. not module_is_folder and module_path != frame_filename ): return level except KeyError: pass return 0 __all__ = [ "string_types", "to_str", "to_bytes", "warn_stacklevel", ]