GRAYBYTE WORDPRESS FILE MANAGER7442

Server IP : 198.54.121.189 / Your IP : 216.73.216.140
System : Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /opt/hc_python/lib/python3.12/site-packages/sqlalchemy/sql/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /opt/hc_python/lib/python3.12/site-packages/sqlalchemy/sql//_py_util.py
# sql/_py_util.py
# Copyright (C) 2005-2025 the SQLAlchemy authors and contributors
# <see AUTHORS file>
#
# This module is part of SQLAlchemy and is released under
# the MIT License: https://www.opensource.org/licenses/mit-license.php

from __future__ import annotations

import typing
from typing import Any
from typing import Dict
from typing import Tuple
from typing import Union

from ..util.typing import Literal

if typing.TYPE_CHECKING:
    from .cache_key import CacheConst


class prefix_anon_map(Dict[str, str]):
    """A map that creates new keys for missing key access.

    Considers keys of the form "<ident> <name>" to produce
    new symbols "<name>_<index>", where "index" is an incrementing integer
    corresponding to <name>.

    Inlines the approach taken by :class:`sqlalchemy.util.PopulateDict` which
    is otherwise usually used for this type of operation.

    """

    def __missing__(self, key: str) -> str:
        (ident, derived) = key.split(" ", 1)
        anonymous_counter = self.get(derived, 1)
        self[derived] = anonymous_counter + 1  # type: ignore
        value = f"{derived}_{anonymous_counter}"
        self[key] = value
        return value


class cache_anon_map(
    Dict[Union[int, "Literal[CacheConst.NO_CACHE]"], Union[Literal[True], str]]
):
    """A map that creates new keys for missing key access.

    Produces an incrementing sequence given a series of unique keys.

    This is similar to the compiler prefix_anon_map class although simpler.

    Inlines the approach taken by :class:`sqlalchemy.util.PopulateDict` which
    is otherwise usually used for this type of operation.

    """

    _index = 0

    def get_anon(self, object_: Any) -> Tuple[str, bool]:
        idself = id(object_)
        if idself in self:
            s_val = self[idself]
            assert s_val is not True
            return s_val, True
        else:
            # inline of __missing__
            self[idself] = id_ = str(self._index)
            self._index += 1

            return id_, False

    def __missing__(self, key: int) -> str:
        self[key] = val = str(self._index)
        self._index += 1
        return val

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
January 01 1970 00:00:00
root / root
0
__pycache__
--
April 04 2025 08:00:25
root / root
0755
__init__.py
5.684 KB
April 04 2025 08:00:23
root / root
0644
_dml_constructors.py
3.706 KB
April 04 2025 08:00:23
root / root
0644
_elements_constructors.py
61.162 KB
April 04 2025 08:00:23
root / root
0644
_orm_types.py
0.61 KB
April 04 2025 08:00:23
root / root
0644
_py_util.py
2.122 KB
April 04 2025 08:00:23
root / root
0644
_selectable_constructors.py
19.896 KB
April 04 2025 08:00:23
root / root
0644
_typing.py
12.546 KB
April 04 2025 08:00:23
root / root
0644
annotation.py
17.817 KB
April 04 2025 08:00:23
root / root
0644
base.py
72.213 KB
April 04 2025 08:00:23
root / root
0644
cache_key.py
32.879 KB
April 04 2025 08:00:23
root / root
0644
coercions.py
39.7 KB
April 04 2025 08:00:23
root / root
0644
compiler.py
269.122 KB
April 04 2025 08:00:23
root / root
0644
crud.py
55.189 KB
April 04 2025 08:00:23
root / root
0644
ddl.py
46.318 KB
April 04 2025 08:00:23
root / root
0644
default_comparator.py
16.315 KB
April 04 2025 08:00:23
root / root
0644
dml.py
64.68 KB
April 04 2025 08:00:23
root / root
0644
elements.py
173.157 KB
April 04 2025 08:00:23
root / root
0644
events.py
17.883 KB
April 04 2025 08:00:23
root / root
0644
expression.py
7.408 KB
April 04 2025 08:00:23
root / root
0644
functions.py
62.361 KB
April 04 2025 08:00:23
root / root
0644
lambdas.py
48.043 KB
April 04 2025 08:00:23
root / root
0644
naming.py
6.697 KB
April 04 2025 08:00:23
root / root
0644
operators.py
74.992 KB
April 04 2025 08:00:23
root / root
0644
roles.py
7.482 KB
April 04 2025 08:00:23
root / root
0644
schema.py
224.635 KB
April 04 2025 08:00:23
root / root
0644
selectable.py
235.405 KB
April 04 2025 08:00:23
root / root
0644
sqltypes.py
125.935 KB
April 04 2025 08:00:23
root / root
0644
traversals.py
32.875 KB
April 04 2025 08:00:23
root / root
0644
type_api.py
82.849 KB
April 04 2025 08:00:23
root / root
0644
util.py
46.959 KB
April 04 2025 08:00:23
root / root
0644
visitors.py
35.468 KB
April 04 2025 08:00:23
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF