Current Path: > > opt > hc_python > > lib > python3.12 > > site-packages > sqlalchemy > cyextension
Operation : Linux premium131.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 Software : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
__pycache__ | Directory | - | - | |
__init__.py | File | 244 bytes | April 04 2025 08:02:28. | |
collections.cpython-312-x86_64-linux-gnu.so | File | 1932256 bytes | April 04 2025 08:02:28. | |
collections.pyx | File | 12571 bytes | April 04 2025 08:02:28. | |
immutabledict.cpython-312-x86_64-linux-gnu.so | File | 805632 bytes | April 04 2025 08:02:28. | |
immutabledict.pxd | File | 291 bytes | April 04 2025 08:02:28. | |
immutabledict.pyx | File | 3535 bytes | April 04 2025 08:02:28. | |
processors.cpython-312-x86_64-linux-gnu.so | File | 530680 bytes | April 04 2025 08:02:28. | |
processors.pyx | File | 1792 bytes | April 04 2025 08:02:28. | |
resultproxy.cpython-312-x86_64-linux-gnu.so | File | 621328 bytes | April 04 2025 08:02:28. | |
resultproxy.pyx | File | 2725 bytes | April 04 2025 08:02:28. | |
util.cpython-312-x86_64-linux-gnu.so | File | 950928 bytes | April 04 2025 08:02:28. | |
util.pyx | File | 2530 bytes | April 04 2025 08:02:28. |
# cyextension/resultproxy.pyx # Copyright (C) 2005-2024 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 import operator cdef class BaseRow: cdef readonly object _parent cdef readonly dict _key_to_index cdef readonly tuple _data def __init__(self, object parent, object processors, dict key_to_index, object data): """Row objects are constructed by CursorResult objects.""" self._parent = parent self._key_to_index = key_to_index if processors: self._data = _apply_processors(processors, data) else: self._data = tuple(data) def __reduce__(self): return ( rowproxy_reconstructor, (self.__class__, self.__getstate__()), ) def __getstate__(self): return {"_parent": self._parent, "_data": self._data} def __setstate__(self, dict state): parent = state["_parent"] self._parent = parent self._data = state["_data"] self._key_to_index = parent._key_to_index def _values_impl(self): return list(self) def __iter__(self): return iter(self._data) def __len__(self): return len(self._data) def __hash__(self): return hash(self._data) def __getitem__(self, index): return self._data[index] def _get_by_key_impl_mapping(self, key): return self._get_by_key_impl(key, 0) cdef _get_by_key_impl(self, object key, int attr_err): index = self._key_to_index.get(key) if index is not None: return self._data[<int>index] self._parent._key_not_found(key, attr_err != 0) def __getattr__(self, name): return self._get_by_key_impl(name, 1) def _to_tuple_instance(self): return self._data cdef tuple _apply_processors(proc, data): res = [] for i in range(len(proc)): p = proc[i] if p is None: res.append(data[i]) else: res.append(p(data[i])) return tuple(res) def rowproxy_reconstructor(cls, state): obj = cls.__new__(cls) obj.__setstate__(state) return obj cdef int is_contiguous(tuple indexes): cdef int i for i in range(1, len(indexes)): if indexes[i-1] != indexes[i] -1: return 0 return 1 def tuplegetter(*indexes): if len(indexes) == 1 or is_contiguous(indexes) != 0: # slice form is faster but returns a list if input is list return operator.itemgetter(slice(indexes[0], indexes[-1] + 1)) else: return operator.itemgetter(*indexes)
SILENT KILLER Tool