aboutsummaryrefslogtreecommitdiffstats
path: root/library/python/runtime/__res.pyx
diff options
context:
space:
mode:
authornkozlovskiy <nmk@ydb.tech>2023-09-29 12:24:06 +0300
committernkozlovskiy <nmk@ydb.tech>2023-09-29 12:41:34 +0300
commite0e3e1717e3d33762ce61950504f9637a6e669ed (patch)
treebca3ff6939b10ed60c3d5c12439963a1146b9711 /library/python/runtime/__res.pyx
parent38f2c5852db84c7b4d83adfcb009eb61541d1ccd (diff)
downloadydb-e0e3e1717e3d33762ce61950504f9637a6e669ed.tar.gz
add ydb deps
Diffstat (limited to 'library/python/runtime/__res.pyx')
-rw-r--r--library/python/runtime/__res.pyx31
1 files changed, 31 insertions, 0 deletions
diff --git a/library/python/runtime/__res.pyx b/library/python/runtime/__res.pyx
new file mode 100644
index 0000000000..5e2e72abf3
--- /dev/null
+++ b/library/python/runtime/__res.pyx
@@ -0,0 +1,31 @@
+from libcpp cimport bool
+
+from util.generic.string cimport TString, TStringBuf
+
+
+cdef extern from "library/cpp/resource/resource.h" namespace "NResource":
+ cdef size_t Count() except +
+ cdef TStringBuf KeyByIndex(size_t idx) except +
+ cdef bool FindExact(const TStringBuf key, TString* result) nogil except +
+
+
+def count():
+ return Count()
+
+
+def key_by_index(idx):
+ cdef TStringBuf ret = KeyByIndex(idx)
+
+ return ret.Data()[:ret.Size()]
+
+
+def find(s):
+ cdef TString res
+
+ if FindExact(TStringBuf(s, len(s)), &res):
+ return res.c_str()[:res.length()]
+
+ return None
+
+
+include "importer.pxi"