diff --git a/handlers/buttons/yookassa.py b/handlers/buttons/yookassa.py
new file mode 100644
index 00000000..2422a6a8
--- /dev/null
+++ b/handlers/buttons/yookassa.py
@@ -0,0 +1,3 @@
+PAY = "Пополнить"
+BACK = "⬅️ Назад"
+CUSTOM_SUM = "💰 Ввести свою сумму"
\ No newline at end of file
diff --git a/handlers/payments/gift.c b/handlers/payments/gift.c
index 6936749a..d8e6bd89 100644
--- a/handlers/payments/gift.c
+++ b/handlers/payments/gift.c
@@ -1497,13 +1497,12 @@ static const char *__pyx_f[] = {
/*--- Type declarations ---*/
struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler;
struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler;
-struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler;
-struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler;
-struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler;
-struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler;
-struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code;
+struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler;
+struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler;
+struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler;
+struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code;
-/* "handlers/payments/gift.py":29
+/* "handlers/payments/gift.py":27
*
*
* @router.callback_query(F.data == "gifts") # <<<<<<<<<<<<<<
@@ -1518,12 +1517,12 @@ struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handle
};
-/* "handlers/payments/gift.py":50
+/* "handlers/payments/gift.py":48
*
*
* @router.callback_query(F.data == "my_gifts") # <<<<<<<<<<<<<<
* async def my_gifts_handler(callback_query: types.CallbackQuery, session: Any):
- * """ ' '. ."""
+ * """ ' '. ."""
*/
struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler {
PyObject_HEAD
@@ -1531,44 +1530,24 @@ struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler
PyObject *__pyx_v_callback_query;
PyObject *__pyx_v_expiry_time;
PyObject *__pyx_v_gift;
- PyObject *__pyx_v_gift_id;
- PyObject *__pyx_v_gift_link;
PyObject *__pyx_v_gifts;
PyObject *__pyx_v_gifts_text;
PyObject *__pyx_v_is_used;
PyObject *__pyx_v_months;
- PyObject *__pyx_v_months_text;
PyObject *__pyx_v_recipient;
PyObject *__pyx_v_session;
PyObject *__pyx_v_user_tg_id;
};
-/* "handlers/payments/gift.py":103
- *
- *
- * @router.callback_query(F.data.startswith("delete_gift")) # <<<<<<<<<<<<<<
- * async def delete_gift_handler(callback_query: types.CallbackQuery, session: Any):
- * """ ."""
- */
-struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler {
- PyObject_HEAD
- PyObject *__pyx_v_callback_query;
- PyObject *__pyx_v_gift;
- PyObject *__pyx_v_gift_id;
- PyObject *__pyx_v_session;
- PyObject *__pyx_v_user_tg_id;
-};
-
-
-/* "handlers/payments/gift.py":138
+/* "handlers/payments/gift.py":83
*
*
* @router.callback_query(F.data == "gift") # <<<<<<<<<<<<<<
* async def gift_subscription_handler(callback_query: types.CallbackQuery):
* """ ''. ."""
*/
-struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler {
+struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler {
PyObject_HEAD
PyObject *__pyx_v_builder;
PyObject *__pyx_v_callback_query;
@@ -1577,14 +1556,14 @@ struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscriptio
};
-/* "handlers/payments/gift.py":158
+/* "handlers/payments/gift.py":103
*
*
* @router.callback_query(F.data.startswith("gift|")) # <<<<<<<<<<<<<<
* async def confirm_gift_handler(callback_query: types.CallbackQuery, session: Any):
* """ ."""
*/
-struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler {
+struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler {
PyObject_HEAD
PyObject *__pyx_v_balance;
PyObject *__pyx_v_builder;
@@ -1596,14 +1575,14 @@ struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_han
};
-/* "handlers/payments/gift.py":198
+/* "handlers/payments/gift.py":143
*
*
* @router.callback_query(F.data.startswith("confirm_gift|")) # <<<<<<<<<<<<<<
* async def finalize_gift_handler(callback_query: types.CallbackQuery, state: FSMContext, session: Any):
* """ ."""
*/
-struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler {
+struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler {
PyObject_HEAD
PyObject *__pyx_v_builder;
PyObject *__pyx_v_callback_query;
@@ -1611,6 +1590,8 @@ struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_ha
PyObject *__pyx_v_expiry_time;
PyObject *__pyx_v_gift_id;
PyObject *__pyx_v_gift_link;
+ PyObject *__pyx_v_message_text;
+ PyObject *__pyx_v_months_text;
PyObject *__pyx_v_price;
PyObject *__pyx_v_selected_months;
PyObject *__pyx_v_session;
@@ -1625,14 +1606,14 @@ struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_ha
};
-/* "handlers/payments/gift.py":251
+/* "handlers/payments/gift.py":204
* return None
*
* async def validate_client_code(): # <<<<<<<<<<<<<<
* """
* hardware ID .
*/
-struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code {
+struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code {
PyObject_HEAD
PyObject *__pyx_v_data;
PyObject *__pyx_v_e;
@@ -2181,6 +2162,9 @@ static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key);
#define __Pyx_PyObject_Dict_GetItem(obj, name) PyObject_GetItem(obj, name)
#endif
+/* PyUnicode_Unicode.proto */
+static CYTHON_INLINE PyObject* __Pyx_PyUnicode_Unicode(PyObject *obj);
+
/* PyIntCompare.proto */
static CYTHON_INLINE int __Pyx_PyInt_BoolEqObjC(PyObject *op1, PyObject *op2, long intval, long inplace);
@@ -2188,27 +2172,23 @@ static CYTHON_INLINE int __Pyx_PyInt_BoolEqObjC(PyObject *op1, PyObject *op2, lo
static PyObject* __Pyx_PyUnicode_Join(PyObject* value_tuple, Py_ssize_t value_count, Py_ssize_t result_ulength,
Py_UCS4 max_char);
-/* GetItemInt.proto */
-#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
- (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
- __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\
- (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\
- __Pyx_GetItemInt_Generic(o, to_py_func(i))))
-#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
- (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
- __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
- (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
- int wraparound, int boundscheck);
-#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
- (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
- __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
- (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL))
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
- int wraparound, int boundscheck);
-static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j);
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
- int is_list, int wraparound, int boundscheck);
+/* UnicodeConcatInPlace.proto */
+# if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
+ #if CYTHON_REFNANNY
+ #define __Pyx_PyUnicode_ConcatInPlace(left, right) __Pyx_PyUnicode_ConcatInPlaceImpl(&left, right, __pyx_refnanny)
+ #else
+ #define __Pyx_PyUnicode_ConcatInPlace(left, right) __Pyx_PyUnicode_ConcatInPlaceImpl(&left, right)
+ #endif
+ static CYTHON_INLINE PyObject *__Pyx_PyUnicode_ConcatInPlaceImpl(PyObject **p_left, PyObject *right
+ #if CYTHON_REFNANNY
+ , void* __pyx_refnanny
+ #endif
+ );
+#else
+#define __Pyx_PyUnicode_ConcatInPlace __Pyx_PyUnicode_Concat
+#endif
+#define __Pyx_PyUnicode_ConcatInPlaceSafe(left, right) ((unlikely((left) == Py_None) || unlikely((right) == Py_None)) ?\
+ PyNumber_InPlaceAdd(left, right) : __Pyx_PyUnicode_ConcatInPlace(left, right))
/* IterFinish.proto */
static CYTHON_INLINE int __Pyx_IterFinish(void);
@@ -2249,8 +2229,27 @@ static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* dict, int is_dict,
static CYTHON_INLINE int __Pyx_dict_iter_next(PyObject* dict_or_iter, Py_ssize_t orig_length, Py_ssize_t* ppos,
PyObject** pkey, PyObject** pvalue, PyObject** pitem, int is_dict);
-/* PyUnicode_Unicode.proto */
-static CYTHON_INLINE PyObject* __Pyx_PyUnicode_Unicode(PyObject *obj);
+/* GetItemInt.proto */
+#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
+ (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
+ __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\
+ (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\
+ __Pyx_GetItemInt_Generic(o, to_py_func(i))))
+#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
+ (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
+ __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
+ (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
+ int wraparound, int boundscheck);
+#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
+ (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
+ __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
+ (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL))
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
+ int wraparound, int boundscheck);
+static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j);
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
+ int is_list, int wraparound, int boundscheck);
/* PyIntBinop.proto */
#if !CYTHON_COMPILING_IN_PYPY
@@ -2295,6 +2294,21 @@ static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObj
#define __Pyx_PyErr_ExceptionMatches2(err1, err2) __Pyx_PyErr_GivenExceptionMatches2(__Pyx_PyErr_CurrentExceptionType(), err1, err2)
#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception)
+/* PyObject_Unicode.proto */
+#if PY_MAJOR_VERSION >= 3
+#define __Pyx_PyObject_Unicode(obj)\
+ (likely(PyUnicode_CheckExact(obj)) ? __Pyx_NewRef(obj) : PyObject_Str(obj))
+#else
+#define __Pyx_PyObject_Unicode(obj)\
+ (likely(PyUnicode_CheckExact(obj)) ? __Pyx_NewRef(obj) : PyObject_Unicode(obj))
+#endif
+
+/* PyUnicodeContains.proto */
+static CYTHON_INLINE int __Pyx_PyUnicode_ContainsTF(PyObject* substring, PyObject* text, int eq) {
+ int result = PyUnicode_Contains(text, substring);
+ return unlikely(result < 0) ? result : (result == (eq == Py_EQ));
+}
+
/* ValidateBasesTuple.proto */
#if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_USE_TYPE_SPECS
static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffset, PyObject *bases);
@@ -2312,12 +2326,6 @@ static PyObject *__Pyx_ImportDottedModule(PyObject *name, PyObject *parts_tuple)
static PyObject *__Pyx_ImportDottedModule_WalkParts(PyObject *module, PyObject *name, PyObject *parts_tuple);
#endif
-/* PatchInspect.proto */
-static PyObject* __Pyx_patch_inspect(PyObject* module);
-
-/* PatchAsyncIO.proto */
-static PyObject* __Pyx_patch_asyncio(PyObject* module);
-
/* ImportFrom.proto */
static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name);
@@ -2532,55 +2540,54 @@ static const char __pyx_k_b[] = " \321\200\321\203\320\261\320\273\320\265\320\2
static const char __pyx_k_e[] = "e";
static const char __pyx_k_f[] = "f";
static const char __pyx_k__3[] = "\320\243 \320\262\320\260\321\201 \320\275\320\265\321\202 \320\277\320\276\320\264\320\260\321\200\320\272\320\276\320\262.";
-static const char __pyx_k__5[] = "\320\274\320\265\321\201\321\217\321\206";
-static const char __pyx_k__6[] = "\320\274\320\265\321\201\321\217\321\206\320\260";
-static const char __pyx_k__7[] = "\320\274\320\265\321\201\321\217\321\206\320\265\320\262";
-static const char __pyx_k__8[] = "\320\224\320\260";
-static const char __pyx_k__9[] = "\320\235\320\265\321\202";
+static const char __pyx_k__5[] = "\320\224\320\260";
+static const char __pyx_k__6[] = "\320\235\320\265\321\202";
+static const char __pyx_k__7[] = "\320\235\320\265 \320\260\320\272\321\202\320\270\320\262\320\270\321\200\320\276\320\262\320\260\320\275";
+static const char __pyx_k__8[] = "\360\237\216\201 \320\237\320\276\320\264\320\260\321\200\320\276\320\272 \320\275\320\260 ";
+static const char __pyx_k__9[] = " ";
static const char __pyx_k_gc[] = "gc";
static const char __pyx_k_id[] = "id";
static const char __pyx_k_Any[] = "Any";
-static const char __pyx_k__10[] = "\320\235\320\265 \320\260\320\272\321\202\320\270\320\262\320\270\321\200\320\276\320\262\320\260\320\275";
-static const char __pyx_k__11[] = "\342\235\214 \320\243\320\264\320\260\320\273\320\270\321\202\321\214 (";
-static const char __pyx_k__12[] = ")";
-static const char __pyx_k__14[] = "|";
-static const char __pyx_k__15[] = "\320\237\320\276\320\264\320\260\321\200\320\276\320\272 \320\275\320\265 \320\275\320\260\320\271\320\264\320\265\320\275 \320\270\320\273\320\270 \320\275\320\265 \320\277\321\200\320\270\320\275\320\260\320\264\320\273\320\265\320\266\320\270\321\202 \320\262\320\260\320\274.";
-static const char __pyx_k__17[] = "\320\237\320\276\320\264\320\260\321\200\320\276\320\272 \321\203\321\201\320\277\320\265\321\210\320\275\320\276 \321\203\320\264\320\260\320\273\321\221\320\275.";
-static const char __pyx_k__21[] = " ";
-static const char __pyx_k__22[] = " \320\267\320\260 ";
-static const char __pyx_k__23[] = " \321\200\321\203\320\261\320\273\320\265\320\271";
-static const char __pyx_k__24[] = "\360\237\224\231 \320\235\320\260\320\267\320\260\320\264";
-static const char __pyx_k__26[] = "\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271 \320\262\321\213\320\261\320\276\321\200. \320\237\320\276\320\277\321\200\320\276\320\261\321\203\320\271\321\202\320\265 \321\201\320\275\320\276\320\262\320\260.";
-static const char __pyx_k__28[] = "\360\237\221\244 \320\233\320\270\321\207\320\275\321\213\320\271 \320\272\320\260\320\261\320\270\320\275\320\265\321\202";
-static const char __pyx_k__29[] = "\342\235\214 \320\243 \320\262\320\260\321\201 \320\275\320\265\320\264\320\276\321\201\321\202\320\260\321\202\320\276\321\207\320\275\320\276 \321\201\321\200\320\265\320\264\321\201\321\202\320\262 \320\264\320\273\321\217 \321\201\320\276\320\267\320\264\320\260\320\275\320\270\321\217 \320\277\320\276\320\264\320\260\321\200\320\272\320\260. \320\237\320\265\321\200\320\265\320\271\320\264\320\270\321\202\320\265 \320\262 \320\273\320\270\321\207\320\275\321\213\320\271 \320\272\320\260\320\261\320\270\320\275\320\265\321\202 \320\264\320\273\321\217 \320\277\320\276\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217 \320\261\320\260\320\273\320\260\320\275\321\201\320\260.";
-static const char __pyx_k__30[] = "\342\234\205 \320\237\320\276\320\264\321\202\320\262\320\265\321\200\320\264\320\270\321\202\321\214";
-static const char __pyx_k__31[] = "\342\235\214 \320\236\321\202\320\274\320\265\320\275\320\260";
-static const char __pyx_k__33[] = "\342\235\214 \320\236\321\210\320\270\320\261\320\272\320\260 \320\277\321\200\320\270 \320\264\320\260\321\200\320\265\320\275\320\270\320\270 \320\277\320\276\320\264\320\277\320\270\321\201\320\272\320\270: ";
-static const char __pyx_k__34[] = "\n\320\237\320\276\320\266\320\260\320\273\321\203\320\271\321\201\321\202\320\260, \320\277\320\276\320\277\321\200\320\276\320\261\321\203\320\271\321\202\320\265 \321\201\320\275\320\276\320\262\320\260.";
-static const char __pyx_k__36[] = "\n";
-static const char __pyx_k__40[] = "\320\221\320\276\321\202 \320\261\321\213\320\273 \320\260\320\272\321\202\320\270\320\262\320\270\321\200\320\276\320\262\320\260\320\275 \320\275\320\265 \320\275\320\260 \321\215\321\202\320\276\320\274 \321\203\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\265. \320\237\320\276\320\266\320\260\320\273\321\203\320\271\321\201\321\202\320\260, \320\276\320\261\321\200\320\260\321\202\320\270\321\202\320\265\321\201\321\214 \320\262 \320\277\320\276\320\264\320\264\320\265\321\200\320\266\320\272\321\203.";
-static const char __pyx_k__42[] = "\320\222\320\260\321\210 \320\261\320\276\321\202 \321\203\321\201\320\277\320\265\321\210\320\275\320\276 \320\260\320\272\321\202\320\270\320\262\320\270\321\200\320\276\320\262\320\260\320\275!";
-static const char __pyx_k__43[] = "\320\236\321\210\320\270\320\261\320\272\320\260 \320\260\320\272\321\202\320\270\320\262\320\260\321\206\320\270\320\270: ";
-static const char __pyx_k__44[] = "\320\235\320\265\320\270\320\267\320\262\320\265\321\201\321\202\320\275\320\260\321\217 \320\276\321\210\320\270\320\261\320\272\320\260";
-static const char __pyx_k__46[] = "\320\241\320\265\321\200\320\262\320\265\321\200 \320\262\320\265\321\200\320\275\321\203\320\273 \320\276\321\210\320\270\320\261\320\272\321\203: ";
-static const char __pyx_k__47[] = "\320\235\320\265 \321\203\320\264\320\260\320\273\320\276\321\201\321\214 \320\277\320\276\320\264\320\272\320\273\321\216\321\207\320\270\321\202\321\214\321\201\321\217 \320\272 \321\201\320\265\321\200\320\262\320\265\321\200\321\203 \320\260\320\272\321\202\320\270\320\262\320\260\321\206\320\270\320\270. \320\220\320\272\321\202\320\270\320\262\320\260\321\206\320\270\321\217 \320\262\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\260 \320\262 \320\276\321\204\321\204\320\273\320\260\320\271\320\275-\321\200\320\265\320\266\320\270\320\274\320\265.";
-static const char __pyx_k__48[] = "\320\222\321\200\320\265\320\274\321\217 \320\276\320\266\320\270\320\264\320\260\320\275\320\270\321\217 \320\276\321\202\320\262\320\265\321\202\320\260 \320\276\321\202 \321\201\320\265\321\200\320\262\320\265\321\200\320\260 \320\270\321\201\321\202\320\265\320\272\320\273\320\276. \320\220\320\272\321\202\320\270\320\262\320\260\321\206\320\270\321\217 \320\262\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\260 \320\262 \320\276\321\204\321\204\320\273\320\260\320\271\320\275-\321\200\320\265\320\266\320\270\320\274\320\265.";
-static const char __pyx_k__49[] = "\320\236\321\210\320\270\320\261\320\272\320\260 \320\272\320\273\320\270\320\265\320\275\321\202\320\260 \320\277\321\200\320\270 \320\277\320\276\320\277\321\213\321\202\320\272\320\265 \320\260\320\272\321\202\320\270\320\262\320\260\321\206\320\270\320\270: ";
-static const char __pyx_k__50[] = "\320\237\321\200\320\276\320\270\320\267\320\276\321\210\320\273\320\260 \320\275\320\265\320\277\321\200\320\265\320\264\320\262\320\270\320\264\320\265\320\275\320\275\320\260\321\217 \320\276\321\210\320\270\320\261\320\272\320\260: ";
-static const char __pyx_k__51[] = "*";
-static const char __pyx_k__52[] = ".";
-static const char __pyx_k__65[] = "?";
-static const char __pyx_k_b_2[] = "\360\237\216\211 \320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\260 \320\275\320\260 ";
+static const char __pyx_k__10[] = "\320\274\320\265\321\201\321\217\321\206";
+static const char __pyx_k__11[] = "\320\274\320\265\321\201\321\217\321\206\320\260";
+static const char __pyx_k__12[] = "\320\274\320\265\321\201\321\217\321\206\320\265\320\262";
+static const char __pyx_k__13[] = "\n\342\217\263 \320\230\321\201\321\202\320\265\320\272\320\260\320\265\321\202: ";
+static const char __pyx_k__14[] = "\n\320\237\320\276\320\273\321\203\321\207\320\260\321\202\320\265\320\273\321\214: ";
+static const char __pyx_k__15[] = "\n\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\320\275: ";
+static const char __pyx_k__16[] = "\n\n";
+static const char __pyx_k__19[] = " \320\267\320\260 ";
+static const char __pyx_k__20[] = " \321\200\321\203\320\261\320\273\320\265\320\271";
+static const char __pyx_k__21[] = "\360\237\224\231 \320\235\320\260\320\267\320\260\320\264";
+static const char __pyx_k__23[] = "|";
+static const char __pyx_k__24[] = "\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271 \320\262\321\213\320\261\320\276\321\200. \320\237\320\276\320\277\321\200\320\276\320\261\321\203\320\271\321\202\320\265 \321\201\320\275\320\276\320\262\320\260.";
+static const char __pyx_k__26[] = "\360\237\221\244 \320\233\320\270\321\207\320\275\321\213\320\271 \320\272\320\260\320\261\320\270\320\275\320\265\321\202";
+static const char __pyx_k__27[] = "\342\235\214 \320\243 \320\262\320\260\321\201 \320\275\320\265\320\264\320\276\321\201\321\202\320\260\321\202\320\276\321\207\320\275\320\276 \321\201\321\200\320\265\320\264\321\201\321\202\320\262 \320\264\320\273\321\217 \321\201\320\276\320\267\320\264\320\260\320\275\320\270\321\217 \320\277\320\276\320\264\320\260\321\200\320\272\320\260. \320\237\320\265\321\200\320\265\320\271\320\264\320\270\321\202\320\265 \320\262 \320\273\320\270\321\207\320\275\321\213\320\271 \320\272\320\260\320\261\320\270\320\275\320\265\321\202 \320\264\320\273\321\217 \320\277\320\276\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217 \320\261\320\260\320\273\320\260\320\275\321\201\320\260.";
+static const char __pyx_k__28[] = "\342\234\205 \320\237\320\276\320\264\321\202\320\262\320\265\321\200\320\264\320\270\321\202\321\214";
+static const char __pyx_k__29[] = "\342\235\214 \320\236\321\202\320\274\320\265\320\275\320\260";
+static const char __pyx_k__31[] = "\342\235\214 \320\236\321\210\320\270\320\261\320\272\320\260 \320\277\321\200\320\270 \320\264\320\260\321\200\320\265\320\275\320\270\320\270 \320\277\320\276\320\264\320\277\320\270\321\201\320\272\320\270: ";
+static const char __pyx_k__32[] = "\n\320\237\320\276\320\266\320\260\320\273\321\203\320\271\321\201\321\202\320\260, \320\277\320\276\320\277\321\200\320\276\320\261\321\203\320\271\321\202\320\265 \321\201\320\275\320\276\320\262\320\260.";
+static const char __pyx_k__34[] = "\n";
+static const char __pyx_k__38[] = "\320\221\320\276\321\202 \320\261\321\213\320\273 \320\260\320\272\321\202\320\270\320\262\320\270\321\200\320\276\320\262\320\260\320\275 \320\275\320\265 \320\275\320\260 \321\215\321\202\320\276\320\274 \321\203\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\265. \320\237\320\276\320\266\320\260\320\273\321\203\320\271\321\201\321\202\320\260 \320\276\320\261\321\200\320\260\321\202\320\270\321\202\320\265\321\201\321\214 \320\262 \320\277\320\276\320\264\320\264\320\265\321\200\320\266\320\272\321\203";
+static const char __pyx_k__40[] = "\320\222\320\260\321\210 \320\261\320\276\321\202 \321\203\321\201\320\277\320\265\321\210\320\275\320\276 \320\260\320\272\321\202\320\270\320\262\320\270\321\200\320\276\320\262\320\260\320\275!.";
+static const char __pyx_k__41[] = "\320\236\321\210\320\270\320\261\320\272\320\260: ";
+static const char __pyx_k__42[] = "\320\237\320\276\320\273\321\203\321\207\320\270\321\202\320\265 \320\272\320\276\320\264 \320\275\320\260 \321\201\320\260\320\271\321\202\320\265.";
+static const char __pyx_k__44[] = "\320\221\320\276\321\202 \320\260\320\272\321\202\320\270\320\262\320\270\321\200\320\276\320\262\320\260\320\275 \321\201 \320\267\320\260\320\264\320\265\320\266\320\272\320\276\320\271, \320\277\321\200\320\276\320\264\320\276\320\273\320\266\320\260\321\216 \321\200\320\260\320\261\320\276\321\202\321\203.";
+static const char __pyx_k__45[] = "\320\236\321\210\320\270\320\261\320\272\320\260 \321\201\320\265\321\200\320\262\320\265\321\200\320\260: ";
+static const char __pyx_k__46[] = "\320\236\321\210\320\270\320\261\320\272\320\260 \320\277\321\200\320\270 \320\267\320\260\320\277\321\200\320\276\321\201\320\265: ";
+static const char __pyx_k__47[] = "\320\224\320\276\320\274\320\265\320\275 \320\275\320\265 \321\201\321\203\321\211\320\265\321\201\321\202\320\262\321\203\320\265\321\202. \320\237\321\200\320\276\320\264\320\276\320\273\320\266\320\265\320\275\320\270\320\265 \321\200\320\260\320\261\320\276\321\202\321\213.";
+static const char __pyx_k__48[] = "\320\235\320\265\320\270\320\267\320\262\320\265\321\201\321\202\320\275\320\260\321\217 \320\276\321\210\320\270\320\261\320\272\320\260: ";
+static const char __pyx_k__49[] = "*";
+static const char __pyx_k__50[] = ".";
+static const char __pyx_k__61[] = "?";
static const char __pyx_k_b_b[] = "\320\224\320\260\321\200\320\270\321\202\320\265 \320\277\320\276\320\264\320\260\321\200\320\272\320\270 \320\270 \321\201\320\273\320\265\320\264\320\270\321\202\320\265, \321\207\321\202\320\276\320\261\321\213 \320\276\320\275\320\270 \320\264\320\276\321\210\320\273\320\270 \320\264\320\276 \320\260\320\264\321\200\320\265\321\201\320\260\321\202\320\260! \360\237\216\204";
static const char __pyx_k_get[] = "get";
static const char __pyx_k_hex[] = "hex";
static const char __pyx_k_row[] = "row";
static const char __pyx_k_BACK[] = "BACK";
static const char __pyx_k_GIFT[] = "GIFT";
-static const char __pyx_k_HTML[] = "HTML";
static const char __pyx_k_None[] = "None";
static const char __pyx_k_args[] = "args";
-static const char __pyx_k_code[] = "\n\n\320\236\320\275\320\260 \320\260\320\272\321\202\320\270\320\262\320\270\321\200\321\203\320\265\321\202 \320\277\320\276\320\264\320\277\320\270\321\201\320\272\321\203 \320\275\320\260 \321\203\320\272\320\260\320\267\320\260\320\275\320\275\321\213\320\271 \321\201\321\200\320\276\320\272.";
+static const char __pyx_k_code[] = "code";
static const char __pyx_k_data[] = "data";
static const char __pyx_k_days[] = "days";
static const char __pyx_k_exit[] = "__exit__";
@@ -2621,8 +2628,6 @@ static const char __pyx_k_uuid4[] = "uuid4";
static const char __pyx_k_Router[] = "Router";
static const char __pyx_k_aenter[] = "__aenter__";
static const char __pyx_k_answer[] = "answer";
-static const char __pyx_k_b_code[] = " \320\266\320\264\321\221\321\202 \320\260\320\272\321\202\320\270\320\262\320\260\321\206\320\270\320\270!\n\n\360\237\222\214 \320\236\321\202\320\277\321\200\320\260\320\262\321\214\321\202\320\265 \321\215\321\202\321\203 \321\201\321\201\321\213\320\273\320\272\321\203 \320\277\320\276\320\273\321\203\321\207\320\260\321\202\320\265\320\273\321\216:\n\n ";
-static const char __pyx_k_code_2[] = "code";
static const char __pyx_k_config[] = "config";
static const char __pyx_k_decode[] = "decode";
static const char __pyx_k_enable[] = "enable";
@@ -2643,26 +2648,20 @@ static const char __pyx_k_PROFILE[] = "PROFILE";
static const char __pyx_k_Windows[] = "Windows";
static const char __pyx_k_aiogram[] = "aiogram";
static const char __pyx_k_aiohttp[] = "aiohttp";
-static const char __pyx_k_asyncio[] = "asyncio";
static const char __pyx_k_balance[] = "balance";
static const char __pyx_k_builder[] = "builder";
static const char __pyx_k_disable[] = "disable";
-static const char __pyx_k_execute[] = "execute";
static const char __pyx_k_gift_id[] = "gift_id";
static const char __pyx_k_hashlib[] = "hashlib";
-static const char __pyx_k_inspect[] = "inspect";
static const char __pyx_k_is_used[] = "is_used";
static const char __pyx_k_message[] = "message";
static const char __pyx_k_payload[] = "payload";
static const char __pyx_k_profile[] = "profile";
static const char __pyx_k_session[] = "session";
static const char __pyx_k_success[] = "success";
-static const char __pyx_k_timeout[] = "timeout";
-static const char __pyx_k_warning[] = "warning";
static const char __pyx_k_MY_GIFTS[] = "MY_GIFTS";
static const char __pyx_k_database[] = "database";
static const char __pyx_k_datetime[] = "datetime";
-static const char __pyx_k_fetchrow[] = "fetchrow";
static const char __pyx_k_is_valid[] = "is_valid";
static const char __pyx_k_my_gifts[] = "my_gifts";
static const char __pyx_k_platform[] = "platform";
@@ -2679,14 +2678,11 @@ static const char __pyx_k_timedelta[] = "timedelta";
static const char __pyx_k_CRYPTOSALE[] = "CRYPTOSALE";
static const char __pyx_k_FSMContext[] = "FSMContext";
static const char __pyx_k_gifts_text[] = "gifts_text";
-static const char __pyx_k_parse_mode[] = "parse_mode";
static const char __pyx_k_show_alert[] = "show_alert";
static const char __pyx_k_startswith[] = "startswith";
static const char __pyx_k_subprocess[] = "subprocess";
static const char __pyx_k_user_tg_id[] = "user_tg_id";
static const char __pyx_k_CLIENT_CODE[] = "CLIENT_CODE";
-static const char __pyx_k_ClientError[] = "ClientError";
-static const char __pyx_k_delete_gift[] = "delete_gift|";
static const char __pyx_k_expiry_time[] = "expiry_time";
static const char __pyx_k_get_balance[] = "get_balance";
static const char __pyx_k_hardware_id[] = "hardware_id";
@@ -2695,18 +2691,15 @@ static const char __pyx_k_solonet_sup[] = "\342\235\214 \320\237\320\270\321\200
static const char __pyx_k_ud83c_udf81[] = "\\ud83c\\udf81 ";
static const char __pyx_k_21U68SOLOBOT[] = "21U68SOLOBOT";
static const char __pyx_k_STARS_ROUTER[] = "STARS_ROUTER";
-static const char __pyx_k_TimeoutError[] = "TimeoutError";
static const char __pyx_k_check_output[] = "check_output";
static const char __pyx_k_confirm_gift[] = "confirm_gift|";
static const char __pyx_k_initializing[] = "_initializing";
static const char __pyx_k_is_coroutine[] = "_is_coroutine";
+static const char __pyx_k_message_text[] = "message_text";
static const char __pyx_k_reply_markup[] = "reply_markup";
-static const char __pyx_k_404_Not_Found[] = "\320\241\320\265\321\200\320\262\320\265\321\200 \320\260\320\272\321\202\320\270\320\262\320\260\321\206\320\270\320\270 \320\275\320\265\320\264\320\276\321\201\321\202\321\203\320\277\320\265\320\275 (404 Not Found).";
static const char __pyx_k_ClientSession[] = "ClientSession";
static const char __pyx_k_YOOKASSA_HASH[] = "YOOKASSA_HASH";
-static const char __pyx_k_asyncio_tasks[] = "asyncio.tasks";
static const char __pyx_k_callback_data[] = "callback_data";
-static const char __pyx_k_delete_gift_2[] = "delete_gift";
static const char __pyx_k_get_gift_link[] = "get_gift_link";
static const char __pyx_k_RENEWAL_PRICES[] = "RENEWAL_PRICES";
static const char __pyx_k_callback_query[] = "callback_query";
@@ -2722,9 +2715,9 @@ static const char __pyx_k_my_gifts_handler[] = "my_gifts_handler";
static const char __pyx_k_asyncio_coroutines[] = "asyncio.coroutines";
static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback";
static const char __pyx_k_start_menu_handler[] = "start_menu_handler";
+static const char __pyx_k_ClientResponseError[] = "ClientResponseError";
static const char __pyx_k_GIFTS_TEXT_TEMPLATE[] = "GIFTS_TEXT_TEMPLATE";
static const char __pyx_k_aiogram_fsm_context[] = "aiogram.fsm.context";
-static const char __pyx_k_delete_gift_handler[] = "delete_gift_handler";
static const char __pyx_k_types_CallbackQuery[] = "types.CallbackQuery";
static const char __pyx_k_ClientConnectorError[] = "ClientConnectorError";
static const char __pyx_k_InlineKeyboardButton[] = "InlineKeyboardButton";
@@ -2737,28 +2730,25 @@ static const char __pyx_k_aiogram_utils_keyboard[] = "aiogram.utils.keyboard";
static const char __pyx_k_handlers_buttons_gifts[] = "handlers.buttons.gifts";
static const char __pyx_k_handlers_payments_gift[] = "handlers.payments.gift";
static const char __pyx_k_wmic_cpu_get_ProcessorId[] = "wmic cpu get ProcessorId";
+static const char __pyx_k_Name_or_service_not_known[] = "Name or service not known";
static const char __pyx_k_gift_subscription_handler[] = "gift_subscription_handler";
static const char __pyx_k_handlers_payments_gift_py[] = "handlers/payments/gift.py";
-static const char __pyx_k_SELECT_gift_id_selected_months[] = "\n SELECT gift_id, selected_months, is_used, expiry_time, recipient_tg_id, gift_link\n FROM gifts\n WHERE sender_tg_id = $1\n ";
-static const char __pyx_k_DELETE_FROM_gifts_WHERE_gift_id[] = "\n DELETE FROM gifts WHERE gift_id = $1\n ";
-static const char __pyx_k_SELECT_gift_id_FROM_gifts_WHERE[] = "\n SELECT gift_id FROM gifts WHERE gift_id = $1 AND sender_tg_id = $2\n ";
+static const char __pyx_k_SELECT_gift_id_selected_months_i[] = "SELECT gift_id, selected_months, is_used, expiry_time, recipient_tg_id FROM gifts WHERE sender_tg_id = $1";
static const char __pyx_k_https_pocomacho_ru_solonetbot_co[] = "https://pocomacho.ru/solonetbot/codes/add/";
/* #### Code section: decls ### */
static PyObject *__pyx_pf_8handlers_8payments_4gift_start_menu_handler(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query); /* proto */
static PyObject *__pyx_pf_8handlers_8payments_4gift_3my_gifts_handler(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_session); /* proto */
-static PyObject *__pyx_pf_8handlers_8payments_4gift_6delete_gift_handler(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_session); /* proto */
-static PyObject *__pyx_pf_8handlers_8payments_4gift_9gift_subscription_handler(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query); /* proto */
-static PyObject *__pyx_pf_8handlers_8payments_4gift_12confirm_gift_handler(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, CYTHON_UNUSED PyObject *__pyx_v_session); /* proto */
-static PyObject *__pyx_pf_8handlers_8payments_4gift_15finalize_gift_handler(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, CYTHON_UNUSED PyObject *__pyx_v_state, PyObject *__pyx_v_session); /* proto */
-static PyObject *__pyx_pf_8handlers_8payments_4gift_18get_hardware_id(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
-static PyObject *__pyx_pf_8handlers_8payments_4gift_20validate_client_code(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
+static PyObject *__pyx_pf_8handlers_8payments_4gift_6gift_subscription_handler(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query); /* proto */
+static PyObject *__pyx_pf_8handlers_8payments_4gift_9confirm_gift_handler(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, CYTHON_UNUSED PyObject *__pyx_v_session); /* proto */
+static PyObject *__pyx_pf_8handlers_8payments_4gift_12finalize_gift_handler(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, CYTHON_UNUSED PyObject *__pyx_v_state, PyObject *__pyx_v_session); /* proto */
+static PyObject *__pyx_pf_8handlers_8payments_4gift_15get_hardware_id(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
+static PyObject *__pyx_pf_8handlers_8payments_4gift_17validate_client_code(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
-static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
-static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
-static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
-static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
-static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
+static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
+static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
+static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
+static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
/* #### Code section: late_includes ### */
/* #### Code section: module_state ### */
typedef struct {
@@ -2789,86 +2779,81 @@ typedef struct {
#if CYTHON_USE_MODULE_STATE
PyObject *__pyx_type_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler;
PyObject *__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler;
- PyObject *__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler;
- PyObject *__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler;
- PyObject *__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler;
- PyObject *__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler;
- PyObject *__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code;
+ PyObject *__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler;
+ PyObject *__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler;
+ PyObject *__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler;
+ PyObject *__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code;
#endif
PyTypeObject *__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler;
PyTypeObject *__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler;
- PyTypeObject *__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler;
- PyTypeObject *__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler;
- PyTypeObject *__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler;
- PyTypeObject *__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler;
- PyTypeObject *__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code;
+ PyTypeObject *__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler;
+ PyTypeObject *__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler;
+ PyTypeObject *__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler;
+ PyTypeObject *__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code;
PyObject *__pyx_kp_u_1;
PyObject *__pyx_kp_u_21U68SOLOBOT;
- PyObject *__pyx_kp_u_404_Not_Found;
PyObject *__pyx_n_s_Any;
PyObject *__pyx_n_s_BACK;
PyObject *__pyx_n_s_CLIENT_CODE;
PyObject *__pyx_n_u_CRYPTOSALE;
PyObject *__pyx_n_s_ClientConnectorError;
- PyObject *__pyx_n_s_ClientError;
+ PyObject *__pyx_n_s_ClientResponseError;
PyObject *__pyx_n_s_ClientSession;
- PyObject *__pyx_kp_u_DELETE_FROM_gifts_WHERE_gift_id;
PyObject *__pyx_n_s_F;
PyObject *__pyx_n_s_FSMContext;
PyObject *__pyx_n_s_GIFT;
PyObject *__pyx_n_s_GIFTS_TEXT_TEMPLATE;
PyObject *__pyx_n_u_HASHHASHYOOKASSA;
- PyObject *__pyx_n_u_HTML;
PyObject *__pyx_n_s_InlineKeyboardBuilder;
PyObject *__pyx_n_s_InlineKeyboardButton;
PyObject *__pyx_n_s_MY_GIFTS;
+ PyObject *__pyx_kp_u_Name_or_service_not_known;
PyObject *__pyx_kp_u_None;
PyObject *__pyx_n_s_PROFILE;
PyObject *__pyx_n_s_PROJECTMANECONGIGURE;
PyObject *__pyx_n_s_RENEWAL_PRICES;
PyObject *__pyx_n_s_Router;
- PyObject *__pyx_kp_u_SELECT_gift_id_FROM_gifts_WHERE;
- PyObject *__pyx_kp_u_SELECT_gift_id_selected_months;
+ PyObject *__pyx_kp_u_SELECT_gift_id_selected_months_i;
PyObject *__pyx_n_s_STARS_ROUTER;
- PyObject *__pyx_n_s_TimeoutError;
PyObject *__pyx_n_u_Windows;
PyObject *__pyx_n_s_YOOKASSA_HASH;
- PyObject *__pyx_kp_u__10;
- PyObject *__pyx_kp_u__11;
- PyObject *__pyx_kp_u__12;
+ PyObject *__pyx_n_u__10;
+ PyObject *__pyx_n_u__11;
+ PyObject *__pyx_n_u__12;
+ PyObject *__pyx_kp_u__13;
PyObject *__pyx_kp_u__14;
PyObject *__pyx_kp_u__15;
- PyObject *__pyx_kp_u__17;
+ PyObject *__pyx_kp_u__16;
+ PyObject *__pyx_kp_u__19;
+ PyObject *__pyx_kp_u__20;
PyObject *__pyx_kp_u__21;
- PyObject *__pyx_kp_u__22;
PyObject *__pyx_kp_u__23;
PyObject *__pyx_kp_u__24;
PyObject *__pyx_kp_u__26;
+ PyObject *__pyx_kp_u__27;
PyObject *__pyx_kp_u__28;
PyObject *__pyx_kp_u__29;
PyObject *__pyx_kp_u__3;
- PyObject *__pyx_kp_u__30;
PyObject *__pyx_kp_u__31;
- PyObject *__pyx_kp_u__33;
+ PyObject *__pyx_kp_u__32;
PyObject *__pyx_kp_u__34;
- PyObject *__pyx_kp_u__36;
+ PyObject *__pyx_kp_u__38;
PyObject *__pyx_kp_u__40;
+ PyObject *__pyx_kp_u__41;
PyObject *__pyx_kp_u__42;
- PyObject *__pyx_kp_u__43;
PyObject *__pyx_kp_u__44;
+ PyObject *__pyx_kp_u__45;
PyObject *__pyx_kp_u__46;
PyObject *__pyx_kp_u__47;
PyObject *__pyx_kp_u__48;
- PyObject *__pyx_kp_u__49;
+ PyObject *__pyx_n_s__49;
PyObject *__pyx_n_u__5;
PyObject *__pyx_kp_u__50;
- PyObject *__pyx_n_s__51;
- PyObject *__pyx_kp_u__52;
PyObject *__pyx_n_u__6;
- PyObject *__pyx_n_s__65;
- PyObject *__pyx_n_u__7;
- PyObject *__pyx_n_u__8;
- PyObject *__pyx_n_u__9;
+ PyObject *__pyx_n_s__61;
+ PyObject *__pyx_kp_u__7;
+ PyObject *__pyx_kp_u__8;
+ PyObject *__pyx_kp_u__9;
PyObject *__pyx_n_s_aenter;
PyObject *__pyx_n_s_aexit;
PyObject *__pyx_n_s_aiogram;
@@ -2878,18 +2863,14 @@ typedef struct {
PyObject *__pyx_n_s_answer;
PyObject *__pyx_n_s_args;
PyObject *__pyx_n_s_as_markup;
- PyObject *__pyx_n_s_asyncio;
PyObject *__pyx_n_s_asyncio_coroutines;
- PyObject *__pyx_n_s_asyncio_tasks;
PyObject *__pyx_n_s_await;
PyObject *__pyx_kp_u_b;
- PyObject *__pyx_kp_u_b_2;
PyObject *__pyx_kp_u_b_b;
PyObject *__pyx_kp_u_b_b_2;
PyObject *__pyx_kp_u_b_b_3;
PyObject *__pyx_kp_u_b_b_4;
PyObject *__pyx_kp_u_b_b_b;
- PyObject *__pyx_kp_u_b_code;
PyObject *__pyx_n_s_balance;
PyObject *__pyx_n_s_builder;
PyObject *__pyx_n_s_callback_data;
@@ -2897,8 +2878,7 @@ typedef struct {
PyObject *__pyx_n_s_check_output;
PyObject *__pyx_n_s_cline_in_traceback;
PyObject *__pyx_n_s_close;
- PyObject *__pyx_kp_u_code;
- PyObject *__pyx_n_u_code_2;
+ PyObject *__pyx_n_u_code;
PyObject *__pyx_n_s_config;
PyObject *__pyx_kp_u_confirm_gift;
PyObject *__pyx_n_s_confirm_gift_handler;
@@ -2908,9 +2888,6 @@ typedef struct {
PyObject *__pyx_n_s_datetime;
PyObject *__pyx_n_s_days;
PyObject *__pyx_n_s_decode;
- PyObject *__pyx_kp_u_delete_gift;
- PyObject *__pyx_n_u_delete_gift_2;
- PyObject *__pyx_n_s_delete_gift_handler;
PyObject *__pyx_kp_u_disable;
PyObject *__pyx_n_s_e;
PyObject *__pyx_kp_u_enable;
@@ -2918,13 +2895,11 @@ typedef struct {
PyObject *__pyx_n_s_enter;
PyObject *__pyx_n_s_error;
PyObject *__pyx_kp_u_etc_machine_id;
- PyObject *__pyx_n_s_execute;
PyObject *__pyx_n_s_exit;
PyObject *__pyx_n_s_expiry_time;
PyObject *__pyx_n_u_expiry_time;
PyObject *__pyx_n_s_f;
PyObject *__pyx_n_s_fetch;
- PyObject *__pyx_n_s_fetchrow;
PyObject *__pyx_n_s_finalize_gift_handler;
PyObject *__pyx_n_s_format;
PyObject *__pyx_n_s_from_user;
@@ -2937,9 +2912,7 @@ typedef struct {
PyObject *__pyx_n_u_gift;
PyObject *__pyx_kp_u_gift_2;
PyObject *__pyx_n_s_gift_id;
- PyObject *__pyx_n_u_gift_id;
PyObject *__pyx_n_s_gift_link;
- PyObject *__pyx_n_u_gift_link;
PyObject *__pyx_n_s_gift_subscription_handler;
PyObject *__pyx_n_s_gifts;
PyObject *__pyx_n_u_gifts;
@@ -2958,7 +2931,6 @@ typedef struct {
PyObject *__pyx_n_s_import;
PyObject *__pyx_n_s_info;
PyObject *__pyx_n_s_initializing;
- PyObject *__pyx_n_s_inspect;
PyObject *__pyx_n_s_is_coroutine;
PyObject *__pyx_n_s_is_used;
PyObject *__pyx_n_u_is_used;
@@ -2970,13 +2942,13 @@ typedef struct {
PyObject *__pyx_n_s_main;
PyObject *__pyx_n_s_message;
PyObject *__pyx_n_u_message;
+ PyObject *__pyx_n_s_message_text;
PyObject *__pyx_n_s_months;
PyObject *__pyx_n_s_months_text;
PyObject *__pyx_n_u_my_gifts;
PyObject *__pyx_n_s_my_gifts_handler;
PyObject *__pyx_n_s_name;
PyObject *__pyx_n_s_open;
- PyObject *__pyx_n_s_parse_mode;
PyObject *__pyx_n_s_payload;
PyObject *__pyx_n_s_platform;
PyObject *__pyx_n_s_post;
@@ -3016,7 +2988,6 @@ typedef struct {
PyObject *__pyx_n_s_tg_id;
PyObject *__pyx_n_s_throw;
PyObject *__pyx_n_s_timedelta;
- PyObject *__pyx_n_s_timeout;
PyObject *__pyx_n_s_types;
PyObject *__pyx_kp_s_types_CallbackQuery;
PyObject *__pyx_n_s_typing;
@@ -3026,45 +2997,41 @@ typedef struct {
PyObject *__pyx_n_s_uuid;
PyObject *__pyx_n_s_uuid4;
PyObject *__pyx_n_s_validate_client_code;
- PyObject *__pyx_n_s_warning;
PyObject *__pyx_kp_u_wmic_cpu_get_ProcessorId;
PyObject *__pyx_int_1;
PyObject *__pyx_int_2;
PyObject *__pyx_int_3;
PyObject *__pyx_int_4;
- PyObject *__pyx_int_10;
PyObject *__pyx_int_30;
PyObject *__pyx_int_200;
+ PyObject *__pyx_int_301;
+ PyObject *__pyx_int_302;
PyObject *__pyx_int_404;
+ PyObject *__pyx_int_502;
PyObject *__pyx_codeobj_;
PyObject *__pyx_tuple__4;
- PyObject *__pyx_tuple__16;
- PyObject *__pyx_tuple__18;
- PyObject *__pyx_tuple__27;
+ PyObject *__pyx_tuple__25;
+ PyObject *__pyx_tuple__33;
PyObject *__pyx_tuple__35;
- PyObject *__pyx_tuple__37;
- PyObject *__pyx_tuple__38;
- PyObject *__pyx_tuple__41;
- PyObject *__pyx_tuple__45;
+ PyObject *__pyx_tuple__36;
+ PyObject *__pyx_tuple__39;
+ PyObject *__pyx_tuple__43;
+ PyObject *__pyx_tuple__51;
+ PyObject *__pyx_tuple__52;
PyObject *__pyx_tuple__53;
PyObject *__pyx_tuple__54;
PyObject *__pyx_tuple__55;
PyObject *__pyx_tuple__56;
PyObject *__pyx_tuple__57;
PyObject *__pyx_tuple__58;
- PyObject *__pyx_tuple__59;
PyObject *__pyx_tuple__60;
- PyObject *__pyx_tuple__61;
- PyObject *__pyx_tuple__62;
- PyObject *__pyx_tuple__64;
PyObject *__pyx_codeobj__2;
- PyObject *__pyx_codeobj__13;
- PyObject *__pyx_codeobj__19;
- PyObject *__pyx_codeobj__25;
- PyObject *__pyx_codeobj__32;
- PyObject *__pyx_codeobj__39;
- PyObject *__pyx_codeobj__63;
- PyObject *__pyx_ustring__20;
+ PyObject *__pyx_codeobj__17;
+ PyObject *__pyx_codeobj__22;
+ PyObject *__pyx_codeobj__30;
+ PyObject *__pyx_codeobj__37;
+ PyObject *__pyx_codeobj__59;
+ PyObject *__pyx_ustring__18;
} __pyx_mstate;
#if CYTHON_USE_MODULE_STATE
@@ -3111,83 +3078,78 @@ static int __pyx_m_clear(PyObject *m) {
Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler);
Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler);
Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler);
- Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler);
- Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler);
- Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler);
- Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler);
- Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler);
- Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler);
- Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler);
- Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler);
- Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code);
- Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code);
+ Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler);
+ Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler);
+ Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler);
+ Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler);
+ Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler);
+ Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler);
+ Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code);
+ Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code);
Py_CLEAR(clear_module_state->__pyx_kp_u_1);
Py_CLEAR(clear_module_state->__pyx_kp_u_21U68SOLOBOT);
- Py_CLEAR(clear_module_state->__pyx_kp_u_404_Not_Found);
Py_CLEAR(clear_module_state->__pyx_n_s_Any);
Py_CLEAR(clear_module_state->__pyx_n_s_BACK);
Py_CLEAR(clear_module_state->__pyx_n_s_CLIENT_CODE);
Py_CLEAR(clear_module_state->__pyx_n_u_CRYPTOSALE);
Py_CLEAR(clear_module_state->__pyx_n_s_ClientConnectorError);
- Py_CLEAR(clear_module_state->__pyx_n_s_ClientError);
+ Py_CLEAR(clear_module_state->__pyx_n_s_ClientResponseError);
Py_CLEAR(clear_module_state->__pyx_n_s_ClientSession);
- Py_CLEAR(clear_module_state->__pyx_kp_u_DELETE_FROM_gifts_WHERE_gift_id);
Py_CLEAR(clear_module_state->__pyx_n_s_F);
Py_CLEAR(clear_module_state->__pyx_n_s_FSMContext);
Py_CLEAR(clear_module_state->__pyx_n_s_GIFT);
Py_CLEAR(clear_module_state->__pyx_n_s_GIFTS_TEXT_TEMPLATE);
Py_CLEAR(clear_module_state->__pyx_n_u_HASHHASHYOOKASSA);
- Py_CLEAR(clear_module_state->__pyx_n_u_HTML);
Py_CLEAR(clear_module_state->__pyx_n_s_InlineKeyboardBuilder);
Py_CLEAR(clear_module_state->__pyx_n_s_InlineKeyboardButton);
Py_CLEAR(clear_module_state->__pyx_n_s_MY_GIFTS);
+ Py_CLEAR(clear_module_state->__pyx_kp_u_Name_or_service_not_known);
Py_CLEAR(clear_module_state->__pyx_kp_u_None);
Py_CLEAR(clear_module_state->__pyx_n_s_PROFILE);
Py_CLEAR(clear_module_state->__pyx_n_s_PROJECTMANECONGIGURE);
Py_CLEAR(clear_module_state->__pyx_n_s_RENEWAL_PRICES);
Py_CLEAR(clear_module_state->__pyx_n_s_Router);
- Py_CLEAR(clear_module_state->__pyx_kp_u_SELECT_gift_id_FROM_gifts_WHERE);
- Py_CLEAR(clear_module_state->__pyx_kp_u_SELECT_gift_id_selected_months);
+ Py_CLEAR(clear_module_state->__pyx_kp_u_SELECT_gift_id_selected_months_i);
Py_CLEAR(clear_module_state->__pyx_n_s_STARS_ROUTER);
- Py_CLEAR(clear_module_state->__pyx_n_s_TimeoutError);
Py_CLEAR(clear_module_state->__pyx_n_u_Windows);
Py_CLEAR(clear_module_state->__pyx_n_s_YOOKASSA_HASH);
- Py_CLEAR(clear_module_state->__pyx_kp_u__10);
- Py_CLEAR(clear_module_state->__pyx_kp_u__11);
- Py_CLEAR(clear_module_state->__pyx_kp_u__12);
+ Py_CLEAR(clear_module_state->__pyx_n_u__10);
+ Py_CLEAR(clear_module_state->__pyx_n_u__11);
+ Py_CLEAR(clear_module_state->__pyx_n_u__12);
+ Py_CLEAR(clear_module_state->__pyx_kp_u__13);
Py_CLEAR(clear_module_state->__pyx_kp_u__14);
Py_CLEAR(clear_module_state->__pyx_kp_u__15);
- Py_CLEAR(clear_module_state->__pyx_kp_u__17);
+ Py_CLEAR(clear_module_state->__pyx_kp_u__16);
+ Py_CLEAR(clear_module_state->__pyx_kp_u__19);
+ Py_CLEAR(clear_module_state->__pyx_kp_u__20);
Py_CLEAR(clear_module_state->__pyx_kp_u__21);
- Py_CLEAR(clear_module_state->__pyx_kp_u__22);
Py_CLEAR(clear_module_state->__pyx_kp_u__23);
Py_CLEAR(clear_module_state->__pyx_kp_u__24);
Py_CLEAR(clear_module_state->__pyx_kp_u__26);
+ Py_CLEAR(clear_module_state->__pyx_kp_u__27);
Py_CLEAR(clear_module_state->__pyx_kp_u__28);
Py_CLEAR(clear_module_state->__pyx_kp_u__29);
Py_CLEAR(clear_module_state->__pyx_kp_u__3);
- Py_CLEAR(clear_module_state->__pyx_kp_u__30);
Py_CLEAR(clear_module_state->__pyx_kp_u__31);
- Py_CLEAR(clear_module_state->__pyx_kp_u__33);
+ Py_CLEAR(clear_module_state->__pyx_kp_u__32);
Py_CLEAR(clear_module_state->__pyx_kp_u__34);
- Py_CLEAR(clear_module_state->__pyx_kp_u__36);
+ Py_CLEAR(clear_module_state->__pyx_kp_u__38);
Py_CLEAR(clear_module_state->__pyx_kp_u__40);
+ Py_CLEAR(clear_module_state->__pyx_kp_u__41);
Py_CLEAR(clear_module_state->__pyx_kp_u__42);
- Py_CLEAR(clear_module_state->__pyx_kp_u__43);
Py_CLEAR(clear_module_state->__pyx_kp_u__44);
+ Py_CLEAR(clear_module_state->__pyx_kp_u__45);
Py_CLEAR(clear_module_state->__pyx_kp_u__46);
Py_CLEAR(clear_module_state->__pyx_kp_u__47);
Py_CLEAR(clear_module_state->__pyx_kp_u__48);
- Py_CLEAR(clear_module_state->__pyx_kp_u__49);
+ Py_CLEAR(clear_module_state->__pyx_n_s__49);
Py_CLEAR(clear_module_state->__pyx_n_u__5);
Py_CLEAR(clear_module_state->__pyx_kp_u__50);
- Py_CLEAR(clear_module_state->__pyx_n_s__51);
- Py_CLEAR(clear_module_state->__pyx_kp_u__52);
Py_CLEAR(clear_module_state->__pyx_n_u__6);
- Py_CLEAR(clear_module_state->__pyx_n_s__65);
- Py_CLEAR(clear_module_state->__pyx_n_u__7);
- Py_CLEAR(clear_module_state->__pyx_n_u__8);
- Py_CLEAR(clear_module_state->__pyx_n_u__9);
+ Py_CLEAR(clear_module_state->__pyx_n_s__61);
+ Py_CLEAR(clear_module_state->__pyx_kp_u__7);
+ Py_CLEAR(clear_module_state->__pyx_kp_u__8);
+ Py_CLEAR(clear_module_state->__pyx_kp_u__9);
Py_CLEAR(clear_module_state->__pyx_n_s_aenter);
Py_CLEAR(clear_module_state->__pyx_n_s_aexit);
Py_CLEAR(clear_module_state->__pyx_n_s_aiogram);
@@ -3197,18 +3159,14 @@ static int __pyx_m_clear(PyObject *m) {
Py_CLEAR(clear_module_state->__pyx_n_s_answer);
Py_CLEAR(clear_module_state->__pyx_n_s_args);
Py_CLEAR(clear_module_state->__pyx_n_s_as_markup);
- Py_CLEAR(clear_module_state->__pyx_n_s_asyncio);
Py_CLEAR(clear_module_state->__pyx_n_s_asyncio_coroutines);
- Py_CLEAR(clear_module_state->__pyx_n_s_asyncio_tasks);
Py_CLEAR(clear_module_state->__pyx_n_s_await);
Py_CLEAR(clear_module_state->__pyx_kp_u_b);
- Py_CLEAR(clear_module_state->__pyx_kp_u_b_2);
Py_CLEAR(clear_module_state->__pyx_kp_u_b_b);
Py_CLEAR(clear_module_state->__pyx_kp_u_b_b_2);
Py_CLEAR(clear_module_state->__pyx_kp_u_b_b_3);
Py_CLEAR(clear_module_state->__pyx_kp_u_b_b_4);
Py_CLEAR(clear_module_state->__pyx_kp_u_b_b_b);
- Py_CLEAR(clear_module_state->__pyx_kp_u_b_code);
Py_CLEAR(clear_module_state->__pyx_n_s_balance);
Py_CLEAR(clear_module_state->__pyx_n_s_builder);
Py_CLEAR(clear_module_state->__pyx_n_s_callback_data);
@@ -3216,8 +3174,7 @@ static int __pyx_m_clear(PyObject *m) {
Py_CLEAR(clear_module_state->__pyx_n_s_check_output);
Py_CLEAR(clear_module_state->__pyx_n_s_cline_in_traceback);
Py_CLEAR(clear_module_state->__pyx_n_s_close);
- Py_CLEAR(clear_module_state->__pyx_kp_u_code);
- Py_CLEAR(clear_module_state->__pyx_n_u_code_2);
+ Py_CLEAR(clear_module_state->__pyx_n_u_code);
Py_CLEAR(clear_module_state->__pyx_n_s_config);
Py_CLEAR(clear_module_state->__pyx_kp_u_confirm_gift);
Py_CLEAR(clear_module_state->__pyx_n_s_confirm_gift_handler);
@@ -3227,9 +3184,6 @@ static int __pyx_m_clear(PyObject *m) {
Py_CLEAR(clear_module_state->__pyx_n_s_datetime);
Py_CLEAR(clear_module_state->__pyx_n_s_days);
Py_CLEAR(clear_module_state->__pyx_n_s_decode);
- Py_CLEAR(clear_module_state->__pyx_kp_u_delete_gift);
- Py_CLEAR(clear_module_state->__pyx_n_u_delete_gift_2);
- Py_CLEAR(clear_module_state->__pyx_n_s_delete_gift_handler);
Py_CLEAR(clear_module_state->__pyx_kp_u_disable);
Py_CLEAR(clear_module_state->__pyx_n_s_e);
Py_CLEAR(clear_module_state->__pyx_kp_u_enable);
@@ -3237,13 +3191,11 @@ static int __pyx_m_clear(PyObject *m) {
Py_CLEAR(clear_module_state->__pyx_n_s_enter);
Py_CLEAR(clear_module_state->__pyx_n_s_error);
Py_CLEAR(clear_module_state->__pyx_kp_u_etc_machine_id);
- Py_CLEAR(clear_module_state->__pyx_n_s_execute);
Py_CLEAR(clear_module_state->__pyx_n_s_exit);
Py_CLEAR(clear_module_state->__pyx_n_s_expiry_time);
Py_CLEAR(clear_module_state->__pyx_n_u_expiry_time);
Py_CLEAR(clear_module_state->__pyx_n_s_f);
Py_CLEAR(clear_module_state->__pyx_n_s_fetch);
- Py_CLEAR(clear_module_state->__pyx_n_s_fetchrow);
Py_CLEAR(clear_module_state->__pyx_n_s_finalize_gift_handler);
Py_CLEAR(clear_module_state->__pyx_n_s_format);
Py_CLEAR(clear_module_state->__pyx_n_s_from_user);
@@ -3256,9 +3208,7 @@ static int __pyx_m_clear(PyObject *m) {
Py_CLEAR(clear_module_state->__pyx_n_u_gift);
Py_CLEAR(clear_module_state->__pyx_kp_u_gift_2);
Py_CLEAR(clear_module_state->__pyx_n_s_gift_id);
- Py_CLEAR(clear_module_state->__pyx_n_u_gift_id);
Py_CLEAR(clear_module_state->__pyx_n_s_gift_link);
- Py_CLEAR(clear_module_state->__pyx_n_u_gift_link);
Py_CLEAR(clear_module_state->__pyx_n_s_gift_subscription_handler);
Py_CLEAR(clear_module_state->__pyx_n_s_gifts);
Py_CLEAR(clear_module_state->__pyx_n_u_gifts);
@@ -3277,7 +3227,6 @@ static int __pyx_m_clear(PyObject *m) {
Py_CLEAR(clear_module_state->__pyx_n_s_import);
Py_CLEAR(clear_module_state->__pyx_n_s_info);
Py_CLEAR(clear_module_state->__pyx_n_s_initializing);
- Py_CLEAR(clear_module_state->__pyx_n_s_inspect);
Py_CLEAR(clear_module_state->__pyx_n_s_is_coroutine);
Py_CLEAR(clear_module_state->__pyx_n_s_is_used);
Py_CLEAR(clear_module_state->__pyx_n_u_is_used);
@@ -3289,13 +3238,13 @@ static int __pyx_m_clear(PyObject *m) {
Py_CLEAR(clear_module_state->__pyx_n_s_main);
Py_CLEAR(clear_module_state->__pyx_n_s_message);
Py_CLEAR(clear_module_state->__pyx_n_u_message);
+ Py_CLEAR(clear_module_state->__pyx_n_s_message_text);
Py_CLEAR(clear_module_state->__pyx_n_s_months);
Py_CLEAR(clear_module_state->__pyx_n_s_months_text);
Py_CLEAR(clear_module_state->__pyx_n_u_my_gifts);
Py_CLEAR(clear_module_state->__pyx_n_s_my_gifts_handler);
Py_CLEAR(clear_module_state->__pyx_n_s_name);
Py_CLEAR(clear_module_state->__pyx_n_s_open);
- Py_CLEAR(clear_module_state->__pyx_n_s_parse_mode);
Py_CLEAR(clear_module_state->__pyx_n_s_payload);
Py_CLEAR(clear_module_state->__pyx_n_s_platform);
Py_CLEAR(clear_module_state->__pyx_n_s_post);
@@ -3335,7 +3284,6 @@ static int __pyx_m_clear(PyObject *m) {
Py_CLEAR(clear_module_state->__pyx_n_s_tg_id);
Py_CLEAR(clear_module_state->__pyx_n_s_throw);
Py_CLEAR(clear_module_state->__pyx_n_s_timedelta);
- Py_CLEAR(clear_module_state->__pyx_n_s_timeout);
Py_CLEAR(clear_module_state->__pyx_n_s_types);
Py_CLEAR(clear_module_state->__pyx_kp_s_types_CallbackQuery);
Py_CLEAR(clear_module_state->__pyx_n_s_typing);
@@ -3345,45 +3293,41 @@ static int __pyx_m_clear(PyObject *m) {
Py_CLEAR(clear_module_state->__pyx_n_s_uuid);
Py_CLEAR(clear_module_state->__pyx_n_s_uuid4);
Py_CLEAR(clear_module_state->__pyx_n_s_validate_client_code);
- Py_CLEAR(clear_module_state->__pyx_n_s_warning);
Py_CLEAR(clear_module_state->__pyx_kp_u_wmic_cpu_get_ProcessorId);
Py_CLEAR(clear_module_state->__pyx_int_1);
Py_CLEAR(clear_module_state->__pyx_int_2);
Py_CLEAR(clear_module_state->__pyx_int_3);
Py_CLEAR(clear_module_state->__pyx_int_4);
- Py_CLEAR(clear_module_state->__pyx_int_10);
Py_CLEAR(clear_module_state->__pyx_int_30);
Py_CLEAR(clear_module_state->__pyx_int_200);
+ Py_CLEAR(clear_module_state->__pyx_int_301);
+ Py_CLEAR(clear_module_state->__pyx_int_302);
Py_CLEAR(clear_module_state->__pyx_int_404);
+ Py_CLEAR(clear_module_state->__pyx_int_502);
Py_CLEAR(clear_module_state->__pyx_codeobj_);
Py_CLEAR(clear_module_state->__pyx_tuple__4);
- Py_CLEAR(clear_module_state->__pyx_tuple__16);
- Py_CLEAR(clear_module_state->__pyx_tuple__18);
- Py_CLEAR(clear_module_state->__pyx_tuple__27);
+ Py_CLEAR(clear_module_state->__pyx_tuple__25);
+ Py_CLEAR(clear_module_state->__pyx_tuple__33);
Py_CLEAR(clear_module_state->__pyx_tuple__35);
- Py_CLEAR(clear_module_state->__pyx_tuple__37);
- Py_CLEAR(clear_module_state->__pyx_tuple__38);
- Py_CLEAR(clear_module_state->__pyx_tuple__41);
- Py_CLEAR(clear_module_state->__pyx_tuple__45);
+ Py_CLEAR(clear_module_state->__pyx_tuple__36);
+ Py_CLEAR(clear_module_state->__pyx_tuple__39);
+ Py_CLEAR(clear_module_state->__pyx_tuple__43);
+ Py_CLEAR(clear_module_state->__pyx_tuple__51);
+ Py_CLEAR(clear_module_state->__pyx_tuple__52);
Py_CLEAR(clear_module_state->__pyx_tuple__53);
Py_CLEAR(clear_module_state->__pyx_tuple__54);
Py_CLEAR(clear_module_state->__pyx_tuple__55);
Py_CLEAR(clear_module_state->__pyx_tuple__56);
Py_CLEAR(clear_module_state->__pyx_tuple__57);
Py_CLEAR(clear_module_state->__pyx_tuple__58);
- Py_CLEAR(clear_module_state->__pyx_tuple__59);
Py_CLEAR(clear_module_state->__pyx_tuple__60);
- Py_CLEAR(clear_module_state->__pyx_tuple__61);
- Py_CLEAR(clear_module_state->__pyx_tuple__62);
- Py_CLEAR(clear_module_state->__pyx_tuple__64);
Py_CLEAR(clear_module_state->__pyx_codeobj__2);
- Py_CLEAR(clear_module_state->__pyx_codeobj__13);
- Py_CLEAR(clear_module_state->__pyx_codeobj__19);
- Py_CLEAR(clear_module_state->__pyx_codeobj__25);
- Py_CLEAR(clear_module_state->__pyx_codeobj__32);
- Py_CLEAR(clear_module_state->__pyx_codeobj__39);
- Py_CLEAR(clear_module_state->__pyx_codeobj__63);
- Py_CLEAR(clear_module_state->__pyx_ustring__20);
+ Py_CLEAR(clear_module_state->__pyx_codeobj__17);
+ Py_CLEAR(clear_module_state->__pyx_codeobj__22);
+ Py_CLEAR(clear_module_state->__pyx_codeobj__30);
+ Py_CLEAR(clear_module_state->__pyx_codeobj__37);
+ Py_CLEAR(clear_module_state->__pyx_codeobj__59);
+ Py_CLEAR(clear_module_state->__pyx_ustring__18);
return 0;
}
#endif
@@ -3408,83 +3352,78 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler);
Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler);
Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler);
- Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler);
- Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler);
- Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler);
- Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler);
- Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler);
- Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler);
- Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler);
- Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler);
- Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code);
- Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code);
+ Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler);
+ Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler);
+ Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler);
+ Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler);
+ Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler);
+ Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler);
+ Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code);
+ Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code);
Py_VISIT(traverse_module_state->__pyx_kp_u_1);
Py_VISIT(traverse_module_state->__pyx_kp_u_21U68SOLOBOT);
- Py_VISIT(traverse_module_state->__pyx_kp_u_404_Not_Found);
Py_VISIT(traverse_module_state->__pyx_n_s_Any);
Py_VISIT(traverse_module_state->__pyx_n_s_BACK);
Py_VISIT(traverse_module_state->__pyx_n_s_CLIENT_CODE);
Py_VISIT(traverse_module_state->__pyx_n_u_CRYPTOSALE);
Py_VISIT(traverse_module_state->__pyx_n_s_ClientConnectorError);
- Py_VISIT(traverse_module_state->__pyx_n_s_ClientError);
+ Py_VISIT(traverse_module_state->__pyx_n_s_ClientResponseError);
Py_VISIT(traverse_module_state->__pyx_n_s_ClientSession);
- Py_VISIT(traverse_module_state->__pyx_kp_u_DELETE_FROM_gifts_WHERE_gift_id);
Py_VISIT(traverse_module_state->__pyx_n_s_F);
Py_VISIT(traverse_module_state->__pyx_n_s_FSMContext);
Py_VISIT(traverse_module_state->__pyx_n_s_GIFT);
Py_VISIT(traverse_module_state->__pyx_n_s_GIFTS_TEXT_TEMPLATE);
Py_VISIT(traverse_module_state->__pyx_n_u_HASHHASHYOOKASSA);
- Py_VISIT(traverse_module_state->__pyx_n_u_HTML);
Py_VISIT(traverse_module_state->__pyx_n_s_InlineKeyboardBuilder);
Py_VISIT(traverse_module_state->__pyx_n_s_InlineKeyboardButton);
Py_VISIT(traverse_module_state->__pyx_n_s_MY_GIFTS);
+ Py_VISIT(traverse_module_state->__pyx_kp_u_Name_or_service_not_known);
Py_VISIT(traverse_module_state->__pyx_kp_u_None);
Py_VISIT(traverse_module_state->__pyx_n_s_PROFILE);
Py_VISIT(traverse_module_state->__pyx_n_s_PROJECTMANECONGIGURE);
Py_VISIT(traverse_module_state->__pyx_n_s_RENEWAL_PRICES);
Py_VISIT(traverse_module_state->__pyx_n_s_Router);
- Py_VISIT(traverse_module_state->__pyx_kp_u_SELECT_gift_id_FROM_gifts_WHERE);
- Py_VISIT(traverse_module_state->__pyx_kp_u_SELECT_gift_id_selected_months);
+ Py_VISIT(traverse_module_state->__pyx_kp_u_SELECT_gift_id_selected_months_i);
Py_VISIT(traverse_module_state->__pyx_n_s_STARS_ROUTER);
- Py_VISIT(traverse_module_state->__pyx_n_s_TimeoutError);
Py_VISIT(traverse_module_state->__pyx_n_u_Windows);
Py_VISIT(traverse_module_state->__pyx_n_s_YOOKASSA_HASH);
- Py_VISIT(traverse_module_state->__pyx_kp_u__10);
- Py_VISIT(traverse_module_state->__pyx_kp_u__11);
- Py_VISIT(traverse_module_state->__pyx_kp_u__12);
+ Py_VISIT(traverse_module_state->__pyx_n_u__10);
+ Py_VISIT(traverse_module_state->__pyx_n_u__11);
+ Py_VISIT(traverse_module_state->__pyx_n_u__12);
+ Py_VISIT(traverse_module_state->__pyx_kp_u__13);
Py_VISIT(traverse_module_state->__pyx_kp_u__14);
Py_VISIT(traverse_module_state->__pyx_kp_u__15);
- Py_VISIT(traverse_module_state->__pyx_kp_u__17);
+ Py_VISIT(traverse_module_state->__pyx_kp_u__16);
+ Py_VISIT(traverse_module_state->__pyx_kp_u__19);
+ Py_VISIT(traverse_module_state->__pyx_kp_u__20);
Py_VISIT(traverse_module_state->__pyx_kp_u__21);
- Py_VISIT(traverse_module_state->__pyx_kp_u__22);
Py_VISIT(traverse_module_state->__pyx_kp_u__23);
Py_VISIT(traverse_module_state->__pyx_kp_u__24);
Py_VISIT(traverse_module_state->__pyx_kp_u__26);
+ Py_VISIT(traverse_module_state->__pyx_kp_u__27);
Py_VISIT(traverse_module_state->__pyx_kp_u__28);
Py_VISIT(traverse_module_state->__pyx_kp_u__29);
Py_VISIT(traverse_module_state->__pyx_kp_u__3);
- Py_VISIT(traverse_module_state->__pyx_kp_u__30);
Py_VISIT(traverse_module_state->__pyx_kp_u__31);
- Py_VISIT(traverse_module_state->__pyx_kp_u__33);
+ Py_VISIT(traverse_module_state->__pyx_kp_u__32);
Py_VISIT(traverse_module_state->__pyx_kp_u__34);
- Py_VISIT(traverse_module_state->__pyx_kp_u__36);
+ Py_VISIT(traverse_module_state->__pyx_kp_u__38);
Py_VISIT(traverse_module_state->__pyx_kp_u__40);
+ Py_VISIT(traverse_module_state->__pyx_kp_u__41);
Py_VISIT(traverse_module_state->__pyx_kp_u__42);
- Py_VISIT(traverse_module_state->__pyx_kp_u__43);
Py_VISIT(traverse_module_state->__pyx_kp_u__44);
+ Py_VISIT(traverse_module_state->__pyx_kp_u__45);
Py_VISIT(traverse_module_state->__pyx_kp_u__46);
Py_VISIT(traverse_module_state->__pyx_kp_u__47);
Py_VISIT(traverse_module_state->__pyx_kp_u__48);
- Py_VISIT(traverse_module_state->__pyx_kp_u__49);
+ Py_VISIT(traverse_module_state->__pyx_n_s__49);
Py_VISIT(traverse_module_state->__pyx_n_u__5);
Py_VISIT(traverse_module_state->__pyx_kp_u__50);
- Py_VISIT(traverse_module_state->__pyx_n_s__51);
- Py_VISIT(traverse_module_state->__pyx_kp_u__52);
Py_VISIT(traverse_module_state->__pyx_n_u__6);
- Py_VISIT(traverse_module_state->__pyx_n_s__65);
- Py_VISIT(traverse_module_state->__pyx_n_u__7);
- Py_VISIT(traverse_module_state->__pyx_n_u__8);
- Py_VISIT(traverse_module_state->__pyx_n_u__9);
+ Py_VISIT(traverse_module_state->__pyx_n_s__61);
+ Py_VISIT(traverse_module_state->__pyx_kp_u__7);
+ Py_VISIT(traverse_module_state->__pyx_kp_u__8);
+ Py_VISIT(traverse_module_state->__pyx_kp_u__9);
Py_VISIT(traverse_module_state->__pyx_n_s_aenter);
Py_VISIT(traverse_module_state->__pyx_n_s_aexit);
Py_VISIT(traverse_module_state->__pyx_n_s_aiogram);
@@ -3494,18 +3433,14 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
Py_VISIT(traverse_module_state->__pyx_n_s_answer);
Py_VISIT(traverse_module_state->__pyx_n_s_args);
Py_VISIT(traverse_module_state->__pyx_n_s_as_markup);
- Py_VISIT(traverse_module_state->__pyx_n_s_asyncio);
Py_VISIT(traverse_module_state->__pyx_n_s_asyncio_coroutines);
- Py_VISIT(traverse_module_state->__pyx_n_s_asyncio_tasks);
Py_VISIT(traverse_module_state->__pyx_n_s_await);
Py_VISIT(traverse_module_state->__pyx_kp_u_b);
- Py_VISIT(traverse_module_state->__pyx_kp_u_b_2);
Py_VISIT(traverse_module_state->__pyx_kp_u_b_b);
Py_VISIT(traverse_module_state->__pyx_kp_u_b_b_2);
Py_VISIT(traverse_module_state->__pyx_kp_u_b_b_3);
Py_VISIT(traverse_module_state->__pyx_kp_u_b_b_4);
Py_VISIT(traverse_module_state->__pyx_kp_u_b_b_b);
- Py_VISIT(traverse_module_state->__pyx_kp_u_b_code);
Py_VISIT(traverse_module_state->__pyx_n_s_balance);
Py_VISIT(traverse_module_state->__pyx_n_s_builder);
Py_VISIT(traverse_module_state->__pyx_n_s_callback_data);
@@ -3513,8 +3448,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
Py_VISIT(traverse_module_state->__pyx_n_s_check_output);
Py_VISIT(traverse_module_state->__pyx_n_s_cline_in_traceback);
Py_VISIT(traverse_module_state->__pyx_n_s_close);
- Py_VISIT(traverse_module_state->__pyx_kp_u_code);
- Py_VISIT(traverse_module_state->__pyx_n_u_code_2);
+ Py_VISIT(traverse_module_state->__pyx_n_u_code);
Py_VISIT(traverse_module_state->__pyx_n_s_config);
Py_VISIT(traverse_module_state->__pyx_kp_u_confirm_gift);
Py_VISIT(traverse_module_state->__pyx_n_s_confirm_gift_handler);
@@ -3524,9 +3458,6 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
Py_VISIT(traverse_module_state->__pyx_n_s_datetime);
Py_VISIT(traverse_module_state->__pyx_n_s_days);
Py_VISIT(traverse_module_state->__pyx_n_s_decode);
- Py_VISIT(traverse_module_state->__pyx_kp_u_delete_gift);
- Py_VISIT(traverse_module_state->__pyx_n_u_delete_gift_2);
- Py_VISIT(traverse_module_state->__pyx_n_s_delete_gift_handler);
Py_VISIT(traverse_module_state->__pyx_kp_u_disable);
Py_VISIT(traverse_module_state->__pyx_n_s_e);
Py_VISIT(traverse_module_state->__pyx_kp_u_enable);
@@ -3534,13 +3465,11 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
Py_VISIT(traverse_module_state->__pyx_n_s_enter);
Py_VISIT(traverse_module_state->__pyx_n_s_error);
Py_VISIT(traverse_module_state->__pyx_kp_u_etc_machine_id);
- Py_VISIT(traverse_module_state->__pyx_n_s_execute);
Py_VISIT(traverse_module_state->__pyx_n_s_exit);
Py_VISIT(traverse_module_state->__pyx_n_s_expiry_time);
Py_VISIT(traverse_module_state->__pyx_n_u_expiry_time);
Py_VISIT(traverse_module_state->__pyx_n_s_f);
Py_VISIT(traverse_module_state->__pyx_n_s_fetch);
- Py_VISIT(traverse_module_state->__pyx_n_s_fetchrow);
Py_VISIT(traverse_module_state->__pyx_n_s_finalize_gift_handler);
Py_VISIT(traverse_module_state->__pyx_n_s_format);
Py_VISIT(traverse_module_state->__pyx_n_s_from_user);
@@ -3553,9 +3482,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
Py_VISIT(traverse_module_state->__pyx_n_u_gift);
Py_VISIT(traverse_module_state->__pyx_kp_u_gift_2);
Py_VISIT(traverse_module_state->__pyx_n_s_gift_id);
- Py_VISIT(traverse_module_state->__pyx_n_u_gift_id);
Py_VISIT(traverse_module_state->__pyx_n_s_gift_link);
- Py_VISIT(traverse_module_state->__pyx_n_u_gift_link);
Py_VISIT(traverse_module_state->__pyx_n_s_gift_subscription_handler);
Py_VISIT(traverse_module_state->__pyx_n_s_gifts);
Py_VISIT(traverse_module_state->__pyx_n_u_gifts);
@@ -3574,7 +3501,6 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
Py_VISIT(traverse_module_state->__pyx_n_s_import);
Py_VISIT(traverse_module_state->__pyx_n_s_info);
Py_VISIT(traverse_module_state->__pyx_n_s_initializing);
- Py_VISIT(traverse_module_state->__pyx_n_s_inspect);
Py_VISIT(traverse_module_state->__pyx_n_s_is_coroutine);
Py_VISIT(traverse_module_state->__pyx_n_s_is_used);
Py_VISIT(traverse_module_state->__pyx_n_u_is_used);
@@ -3586,13 +3512,13 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
Py_VISIT(traverse_module_state->__pyx_n_s_main);
Py_VISIT(traverse_module_state->__pyx_n_s_message);
Py_VISIT(traverse_module_state->__pyx_n_u_message);
+ Py_VISIT(traverse_module_state->__pyx_n_s_message_text);
Py_VISIT(traverse_module_state->__pyx_n_s_months);
Py_VISIT(traverse_module_state->__pyx_n_s_months_text);
Py_VISIT(traverse_module_state->__pyx_n_u_my_gifts);
Py_VISIT(traverse_module_state->__pyx_n_s_my_gifts_handler);
Py_VISIT(traverse_module_state->__pyx_n_s_name);
Py_VISIT(traverse_module_state->__pyx_n_s_open);
- Py_VISIT(traverse_module_state->__pyx_n_s_parse_mode);
Py_VISIT(traverse_module_state->__pyx_n_s_payload);
Py_VISIT(traverse_module_state->__pyx_n_s_platform);
Py_VISIT(traverse_module_state->__pyx_n_s_post);
@@ -3632,7 +3558,6 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
Py_VISIT(traverse_module_state->__pyx_n_s_tg_id);
Py_VISIT(traverse_module_state->__pyx_n_s_throw);
Py_VISIT(traverse_module_state->__pyx_n_s_timedelta);
- Py_VISIT(traverse_module_state->__pyx_n_s_timeout);
Py_VISIT(traverse_module_state->__pyx_n_s_types);
Py_VISIT(traverse_module_state->__pyx_kp_s_types_CallbackQuery);
Py_VISIT(traverse_module_state->__pyx_n_s_typing);
@@ -3642,45 +3567,41 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
Py_VISIT(traverse_module_state->__pyx_n_s_uuid);
Py_VISIT(traverse_module_state->__pyx_n_s_uuid4);
Py_VISIT(traverse_module_state->__pyx_n_s_validate_client_code);
- Py_VISIT(traverse_module_state->__pyx_n_s_warning);
Py_VISIT(traverse_module_state->__pyx_kp_u_wmic_cpu_get_ProcessorId);
Py_VISIT(traverse_module_state->__pyx_int_1);
Py_VISIT(traverse_module_state->__pyx_int_2);
Py_VISIT(traverse_module_state->__pyx_int_3);
Py_VISIT(traverse_module_state->__pyx_int_4);
- Py_VISIT(traverse_module_state->__pyx_int_10);
Py_VISIT(traverse_module_state->__pyx_int_30);
Py_VISIT(traverse_module_state->__pyx_int_200);
+ Py_VISIT(traverse_module_state->__pyx_int_301);
+ Py_VISIT(traverse_module_state->__pyx_int_302);
Py_VISIT(traverse_module_state->__pyx_int_404);
+ Py_VISIT(traverse_module_state->__pyx_int_502);
Py_VISIT(traverse_module_state->__pyx_codeobj_);
Py_VISIT(traverse_module_state->__pyx_tuple__4);
- Py_VISIT(traverse_module_state->__pyx_tuple__16);
- Py_VISIT(traverse_module_state->__pyx_tuple__18);
- Py_VISIT(traverse_module_state->__pyx_tuple__27);
+ Py_VISIT(traverse_module_state->__pyx_tuple__25);
+ Py_VISIT(traverse_module_state->__pyx_tuple__33);
Py_VISIT(traverse_module_state->__pyx_tuple__35);
- Py_VISIT(traverse_module_state->__pyx_tuple__37);
- Py_VISIT(traverse_module_state->__pyx_tuple__38);
- Py_VISIT(traverse_module_state->__pyx_tuple__41);
- Py_VISIT(traverse_module_state->__pyx_tuple__45);
+ Py_VISIT(traverse_module_state->__pyx_tuple__36);
+ Py_VISIT(traverse_module_state->__pyx_tuple__39);
+ Py_VISIT(traverse_module_state->__pyx_tuple__43);
+ Py_VISIT(traverse_module_state->__pyx_tuple__51);
+ Py_VISIT(traverse_module_state->__pyx_tuple__52);
Py_VISIT(traverse_module_state->__pyx_tuple__53);
Py_VISIT(traverse_module_state->__pyx_tuple__54);
Py_VISIT(traverse_module_state->__pyx_tuple__55);
Py_VISIT(traverse_module_state->__pyx_tuple__56);
Py_VISIT(traverse_module_state->__pyx_tuple__57);
Py_VISIT(traverse_module_state->__pyx_tuple__58);
- Py_VISIT(traverse_module_state->__pyx_tuple__59);
Py_VISIT(traverse_module_state->__pyx_tuple__60);
- Py_VISIT(traverse_module_state->__pyx_tuple__61);
- Py_VISIT(traverse_module_state->__pyx_tuple__62);
- Py_VISIT(traverse_module_state->__pyx_tuple__64);
Py_VISIT(traverse_module_state->__pyx_codeobj__2);
- Py_VISIT(traverse_module_state->__pyx_codeobj__13);
- Py_VISIT(traverse_module_state->__pyx_codeobj__19);
- Py_VISIT(traverse_module_state->__pyx_codeobj__25);
- Py_VISIT(traverse_module_state->__pyx_codeobj__32);
- Py_VISIT(traverse_module_state->__pyx_codeobj__39);
- Py_VISIT(traverse_module_state->__pyx_codeobj__63);
- Py_VISIT(traverse_module_state->__pyx_ustring__20);
+ Py_VISIT(traverse_module_state->__pyx_codeobj__17);
+ Py_VISIT(traverse_module_state->__pyx_codeobj__22);
+ Py_VISIT(traverse_module_state->__pyx_codeobj__30);
+ Py_VISIT(traverse_module_state->__pyx_codeobj__37);
+ Py_VISIT(traverse_module_state->__pyx_codeobj__59);
+ Py_VISIT(traverse_module_state->__pyx_ustring__18);
return 0;
}
#endif
@@ -3712,86 +3633,81 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
#if CYTHON_USE_MODULE_STATE
#define __pyx_type_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler __pyx_mstate_global->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler
#define __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler __pyx_mstate_global->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler
-#define __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler __pyx_mstate_global->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler
-#define __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler __pyx_mstate_global->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler
-#define __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler __pyx_mstate_global->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler
-#define __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler __pyx_mstate_global->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler
-#define __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code __pyx_mstate_global->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code
+#define __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler __pyx_mstate_global->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler
+#define __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler __pyx_mstate_global->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler
+#define __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler __pyx_mstate_global->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler
+#define __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code __pyx_mstate_global->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code
#endif
#define __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler __pyx_mstate_global->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler
#define __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler __pyx_mstate_global->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler
-#define __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler __pyx_mstate_global->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler
-#define __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler __pyx_mstate_global->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler
-#define __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler __pyx_mstate_global->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler
-#define __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler __pyx_mstate_global->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler
-#define __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code __pyx_mstate_global->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code
+#define __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler __pyx_mstate_global->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler
+#define __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler __pyx_mstate_global->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler
+#define __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler __pyx_mstate_global->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler
+#define __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code __pyx_mstate_global->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code
#define __pyx_kp_u_1 __pyx_mstate_global->__pyx_kp_u_1
#define __pyx_kp_u_21U68SOLOBOT __pyx_mstate_global->__pyx_kp_u_21U68SOLOBOT
-#define __pyx_kp_u_404_Not_Found __pyx_mstate_global->__pyx_kp_u_404_Not_Found
#define __pyx_n_s_Any __pyx_mstate_global->__pyx_n_s_Any
#define __pyx_n_s_BACK __pyx_mstate_global->__pyx_n_s_BACK
#define __pyx_n_s_CLIENT_CODE __pyx_mstate_global->__pyx_n_s_CLIENT_CODE
#define __pyx_n_u_CRYPTOSALE __pyx_mstate_global->__pyx_n_u_CRYPTOSALE
#define __pyx_n_s_ClientConnectorError __pyx_mstate_global->__pyx_n_s_ClientConnectorError
-#define __pyx_n_s_ClientError __pyx_mstate_global->__pyx_n_s_ClientError
+#define __pyx_n_s_ClientResponseError __pyx_mstate_global->__pyx_n_s_ClientResponseError
#define __pyx_n_s_ClientSession __pyx_mstate_global->__pyx_n_s_ClientSession
-#define __pyx_kp_u_DELETE_FROM_gifts_WHERE_gift_id __pyx_mstate_global->__pyx_kp_u_DELETE_FROM_gifts_WHERE_gift_id
#define __pyx_n_s_F __pyx_mstate_global->__pyx_n_s_F
#define __pyx_n_s_FSMContext __pyx_mstate_global->__pyx_n_s_FSMContext
#define __pyx_n_s_GIFT __pyx_mstate_global->__pyx_n_s_GIFT
#define __pyx_n_s_GIFTS_TEXT_TEMPLATE __pyx_mstate_global->__pyx_n_s_GIFTS_TEXT_TEMPLATE
#define __pyx_n_u_HASHHASHYOOKASSA __pyx_mstate_global->__pyx_n_u_HASHHASHYOOKASSA
-#define __pyx_n_u_HTML __pyx_mstate_global->__pyx_n_u_HTML
#define __pyx_n_s_InlineKeyboardBuilder __pyx_mstate_global->__pyx_n_s_InlineKeyboardBuilder
#define __pyx_n_s_InlineKeyboardButton __pyx_mstate_global->__pyx_n_s_InlineKeyboardButton
#define __pyx_n_s_MY_GIFTS __pyx_mstate_global->__pyx_n_s_MY_GIFTS
+#define __pyx_kp_u_Name_or_service_not_known __pyx_mstate_global->__pyx_kp_u_Name_or_service_not_known
#define __pyx_kp_u_None __pyx_mstate_global->__pyx_kp_u_None
#define __pyx_n_s_PROFILE __pyx_mstate_global->__pyx_n_s_PROFILE
#define __pyx_n_s_PROJECTMANECONGIGURE __pyx_mstate_global->__pyx_n_s_PROJECTMANECONGIGURE
#define __pyx_n_s_RENEWAL_PRICES __pyx_mstate_global->__pyx_n_s_RENEWAL_PRICES
#define __pyx_n_s_Router __pyx_mstate_global->__pyx_n_s_Router
-#define __pyx_kp_u_SELECT_gift_id_FROM_gifts_WHERE __pyx_mstate_global->__pyx_kp_u_SELECT_gift_id_FROM_gifts_WHERE
-#define __pyx_kp_u_SELECT_gift_id_selected_months __pyx_mstate_global->__pyx_kp_u_SELECT_gift_id_selected_months
+#define __pyx_kp_u_SELECT_gift_id_selected_months_i __pyx_mstate_global->__pyx_kp_u_SELECT_gift_id_selected_months_i
#define __pyx_n_s_STARS_ROUTER __pyx_mstate_global->__pyx_n_s_STARS_ROUTER
-#define __pyx_n_s_TimeoutError __pyx_mstate_global->__pyx_n_s_TimeoutError
#define __pyx_n_u_Windows __pyx_mstate_global->__pyx_n_u_Windows
#define __pyx_n_s_YOOKASSA_HASH __pyx_mstate_global->__pyx_n_s_YOOKASSA_HASH
-#define __pyx_kp_u__10 __pyx_mstate_global->__pyx_kp_u__10
-#define __pyx_kp_u__11 __pyx_mstate_global->__pyx_kp_u__11
-#define __pyx_kp_u__12 __pyx_mstate_global->__pyx_kp_u__12
+#define __pyx_n_u__10 __pyx_mstate_global->__pyx_n_u__10
+#define __pyx_n_u__11 __pyx_mstate_global->__pyx_n_u__11
+#define __pyx_n_u__12 __pyx_mstate_global->__pyx_n_u__12
+#define __pyx_kp_u__13 __pyx_mstate_global->__pyx_kp_u__13
#define __pyx_kp_u__14 __pyx_mstate_global->__pyx_kp_u__14
#define __pyx_kp_u__15 __pyx_mstate_global->__pyx_kp_u__15
-#define __pyx_kp_u__17 __pyx_mstate_global->__pyx_kp_u__17
+#define __pyx_kp_u__16 __pyx_mstate_global->__pyx_kp_u__16
+#define __pyx_kp_u__19 __pyx_mstate_global->__pyx_kp_u__19
+#define __pyx_kp_u__20 __pyx_mstate_global->__pyx_kp_u__20
#define __pyx_kp_u__21 __pyx_mstate_global->__pyx_kp_u__21
-#define __pyx_kp_u__22 __pyx_mstate_global->__pyx_kp_u__22
#define __pyx_kp_u__23 __pyx_mstate_global->__pyx_kp_u__23
#define __pyx_kp_u__24 __pyx_mstate_global->__pyx_kp_u__24
#define __pyx_kp_u__26 __pyx_mstate_global->__pyx_kp_u__26
+#define __pyx_kp_u__27 __pyx_mstate_global->__pyx_kp_u__27
#define __pyx_kp_u__28 __pyx_mstate_global->__pyx_kp_u__28
#define __pyx_kp_u__29 __pyx_mstate_global->__pyx_kp_u__29
#define __pyx_kp_u__3 __pyx_mstate_global->__pyx_kp_u__3
-#define __pyx_kp_u__30 __pyx_mstate_global->__pyx_kp_u__30
#define __pyx_kp_u__31 __pyx_mstate_global->__pyx_kp_u__31
-#define __pyx_kp_u__33 __pyx_mstate_global->__pyx_kp_u__33
+#define __pyx_kp_u__32 __pyx_mstate_global->__pyx_kp_u__32
#define __pyx_kp_u__34 __pyx_mstate_global->__pyx_kp_u__34
-#define __pyx_kp_u__36 __pyx_mstate_global->__pyx_kp_u__36
+#define __pyx_kp_u__38 __pyx_mstate_global->__pyx_kp_u__38
#define __pyx_kp_u__40 __pyx_mstate_global->__pyx_kp_u__40
+#define __pyx_kp_u__41 __pyx_mstate_global->__pyx_kp_u__41
#define __pyx_kp_u__42 __pyx_mstate_global->__pyx_kp_u__42
-#define __pyx_kp_u__43 __pyx_mstate_global->__pyx_kp_u__43
#define __pyx_kp_u__44 __pyx_mstate_global->__pyx_kp_u__44
+#define __pyx_kp_u__45 __pyx_mstate_global->__pyx_kp_u__45
#define __pyx_kp_u__46 __pyx_mstate_global->__pyx_kp_u__46
#define __pyx_kp_u__47 __pyx_mstate_global->__pyx_kp_u__47
#define __pyx_kp_u__48 __pyx_mstate_global->__pyx_kp_u__48
-#define __pyx_kp_u__49 __pyx_mstate_global->__pyx_kp_u__49
+#define __pyx_n_s__49 __pyx_mstate_global->__pyx_n_s__49
#define __pyx_n_u__5 __pyx_mstate_global->__pyx_n_u__5
#define __pyx_kp_u__50 __pyx_mstate_global->__pyx_kp_u__50
-#define __pyx_n_s__51 __pyx_mstate_global->__pyx_n_s__51
-#define __pyx_kp_u__52 __pyx_mstate_global->__pyx_kp_u__52
#define __pyx_n_u__6 __pyx_mstate_global->__pyx_n_u__6
-#define __pyx_n_s__65 __pyx_mstate_global->__pyx_n_s__65
-#define __pyx_n_u__7 __pyx_mstate_global->__pyx_n_u__7
-#define __pyx_n_u__8 __pyx_mstate_global->__pyx_n_u__8
-#define __pyx_n_u__9 __pyx_mstate_global->__pyx_n_u__9
+#define __pyx_n_s__61 __pyx_mstate_global->__pyx_n_s__61
+#define __pyx_kp_u__7 __pyx_mstate_global->__pyx_kp_u__7
+#define __pyx_kp_u__8 __pyx_mstate_global->__pyx_kp_u__8
+#define __pyx_kp_u__9 __pyx_mstate_global->__pyx_kp_u__9
#define __pyx_n_s_aenter __pyx_mstate_global->__pyx_n_s_aenter
#define __pyx_n_s_aexit __pyx_mstate_global->__pyx_n_s_aexit
#define __pyx_n_s_aiogram __pyx_mstate_global->__pyx_n_s_aiogram
@@ -3801,18 +3717,14 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
#define __pyx_n_s_answer __pyx_mstate_global->__pyx_n_s_answer
#define __pyx_n_s_args __pyx_mstate_global->__pyx_n_s_args
#define __pyx_n_s_as_markup __pyx_mstate_global->__pyx_n_s_as_markup
-#define __pyx_n_s_asyncio __pyx_mstate_global->__pyx_n_s_asyncio
#define __pyx_n_s_asyncio_coroutines __pyx_mstate_global->__pyx_n_s_asyncio_coroutines
-#define __pyx_n_s_asyncio_tasks __pyx_mstate_global->__pyx_n_s_asyncio_tasks
#define __pyx_n_s_await __pyx_mstate_global->__pyx_n_s_await
#define __pyx_kp_u_b __pyx_mstate_global->__pyx_kp_u_b
-#define __pyx_kp_u_b_2 __pyx_mstate_global->__pyx_kp_u_b_2
#define __pyx_kp_u_b_b __pyx_mstate_global->__pyx_kp_u_b_b
#define __pyx_kp_u_b_b_2 __pyx_mstate_global->__pyx_kp_u_b_b_2
#define __pyx_kp_u_b_b_3 __pyx_mstate_global->__pyx_kp_u_b_b_3
#define __pyx_kp_u_b_b_4 __pyx_mstate_global->__pyx_kp_u_b_b_4
#define __pyx_kp_u_b_b_b __pyx_mstate_global->__pyx_kp_u_b_b_b
-#define __pyx_kp_u_b_code __pyx_mstate_global->__pyx_kp_u_b_code
#define __pyx_n_s_balance __pyx_mstate_global->__pyx_n_s_balance
#define __pyx_n_s_builder __pyx_mstate_global->__pyx_n_s_builder
#define __pyx_n_s_callback_data __pyx_mstate_global->__pyx_n_s_callback_data
@@ -3820,8 +3732,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
#define __pyx_n_s_check_output __pyx_mstate_global->__pyx_n_s_check_output
#define __pyx_n_s_cline_in_traceback __pyx_mstate_global->__pyx_n_s_cline_in_traceback
#define __pyx_n_s_close __pyx_mstate_global->__pyx_n_s_close
-#define __pyx_kp_u_code __pyx_mstate_global->__pyx_kp_u_code
-#define __pyx_n_u_code_2 __pyx_mstate_global->__pyx_n_u_code_2
+#define __pyx_n_u_code __pyx_mstate_global->__pyx_n_u_code
#define __pyx_n_s_config __pyx_mstate_global->__pyx_n_s_config
#define __pyx_kp_u_confirm_gift __pyx_mstate_global->__pyx_kp_u_confirm_gift
#define __pyx_n_s_confirm_gift_handler __pyx_mstate_global->__pyx_n_s_confirm_gift_handler
@@ -3831,9 +3742,6 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
#define __pyx_n_s_datetime __pyx_mstate_global->__pyx_n_s_datetime
#define __pyx_n_s_days __pyx_mstate_global->__pyx_n_s_days
#define __pyx_n_s_decode __pyx_mstate_global->__pyx_n_s_decode
-#define __pyx_kp_u_delete_gift __pyx_mstate_global->__pyx_kp_u_delete_gift
-#define __pyx_n_u_delete_gift_2 __pyx_mstate_global->__pyx_n_u_delete_gift_2
-#define __pyx_n_s_delete_gift_handler __pyx_mstate_global->__pyx_n_s_delete_gift_handler
#define __pyx_kp_u_disable __pyx_mstate_global->__pyx_kp_u_disable
#define __pyx_n_s_e __pyx_mstate_global->__pyx_n_s_e
#define __pyx_kp_u_enable __pyx_mstate_global->__pyx_kp_u_enable
@@ -3841,13 +3749,11 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
#define __pyx_n_s_enter __pyx_mstate_global->__pyx_n_s_enter
#define __pyx_n_s_error __pyx_mstate_global->__pyx_n_s_error
#define __pyx_kp_u_etc_machine_id __pyx_mstate_global->__pyx_kp_u_etc_machine_id
-#define __pyx_n_s_execute __pyx_mstate_global->__pyx_n_s_execute
#define __pyx_n_s_exit __pyx_mstate_global->__pyx_n_s_exit
#define __pyx_n_s_expiry_time __pyx_mstate_global->__pyx_n_s_expiry_time
#define __pyx_n_u_expiry_time __pyx_mstate_global->__pyx_n_u_expiry_time
#define __pyx_n_s_f __pyx_mstate_global->__pyx_n_s_f
#define __pyx_n_s_fetch __pyx_mstate_global->__pyx_n_s_fetch
-#define __pyx_n_s_fetchrow __pyx_mstate_global->__pyx_n_s_fetchrow
#define __pyx_n_s_finalize_gift_handler __pyx_mstate_global->__pyx_n_s_finalize_gift_handler
#define __pyx_n_s_format __pyx_mstate_global->__pyx_n_s_format
#define __pyx_n_s_from_user __pyx_mstate_global->__pyx_n_s_from_user
@@ -3860,9 +3766,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
#define __pyx_n_u_gift __pyx_mstate_global->__pyx_n_u_gift
#define __pyx_kp_u_gift_2 __pyx_mstate_global->__pyx_kp_u_gift_2
#define __pyx_n_s_gift_id __pyx_mstate_global->__pyx_n_s_gift_id
-#define __pyx_n_u_gift_id __pyx_mstate_global->__pyx_n_u_gift_id
#define __pyx_n_s_gift_link __pyx_mstate_global->__pyx_n_s_gift_link
-#define __pyx_n_u_gift_link __pyx_mstate_global->__pyx_n_u_gift_link
#define __pyx_n_s_gift_subscription_handler __pyx_mstate_global->__pyx_n_s_gift_subscription_handler
#define __pyx_n_s_gifts __pyx_mstate_global->__pyx_n_s_gifts
#define __pyx_n_u_gifts __pyx_mstate_global->__pyx_n_u_gifts
@@ -3881,7 +3785,6 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
#define __pyx_n_s_import __pyx_mstate_global->__pyx_n_s_import
#define __pyx_n_s_info __pyx_mstate_global->__pyx_n_s_info
#define __pyx_n_s_initializing __pyx_mstate_global->__pyx_n_s_initializing
-#define __pyx_n_s_inspect __pyx_mstate_global->__pyx_n_s_inspect
#define __pyx_n_s_is_coroutine __pyx_mstate_global->__pyx_n_s_is_coroutine
#define __pyx_n_s_is_used __pyx_mstate_global->__pyx_n_s_is_used
#define __pyx_n_u_is_used __pyx_mstate_global->__pyx_n_u_is_used
@@ -3893,13 +3796,13 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
#define __pyx_n_s_main __pyx_mstate_global->__pyx_n_s_main
#define __pyx_n_s_message __pyx_mstate_global->__pyx_n_s_message
#define __pyx_n_u_message __pyx_mstate_global->__pyx_n_u_message
+#define __pyx_n_s_message_text __pyx_mstate_global->__pyx_n_s_message_text
#define __pyx_n_s_months __pyx_mstate_global->__pyx_n_s_months
#define __pyx_n_s_months_text __pyx_mstate_global->__pyx_n_s_months_text
#define __pyx_n_u_my_gifts __pyx_mstate_global->__pyx_n_u_my_gifts
#define __pyx_n_s_my_gifts_handler __pyx_mstate_global->__pyx_n_s_my_gifts_handler
#define __pyx_n_s_name __pyx_mstate_global->__pyx_n_s_name
#define __pyx_n_s_open __pyx_mstate_global->__pyx_n_s_open
-#define __pyx_n_s_parse_mode __pyx_mstate_global->__pyx_n_s_parse_mode
#define __pyx_n_s_payload __pyx_mstate_global->__pyx_n_s_payload
#define __pyx_n_s_platform __pyx_mstate_global->__pyx_n_s_platform
#define __pyx_n_s_post __pyx_mstate_global->__pyx_n_s_post
@@ -3939,7 +3842,6 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
#define __pyx_n_s_tg_id __pyx_mstate_global->__pyx_n_s_tg_id
#define __pyx_n_s_throw __pyx_mstate_global->__pyx_n_s_throw
#define __pyx_n_s_timedelta __pyx_mstate_global->__pyx_n_s_timedelta
-#define __pyx_n_s_timeout __pyx_mstate_global->__pyx_n_s_timeout
#define __pyx_n_s_types __pyx_mstate_global->__pyx_n_s_types
#define __pyx_kp_s_types_CallbackQuery __pyx_mstate_global->__pyx_kp_s_types_CallbackQuery
#define __pyx_n_s_typing __pyx_mstate_global->__pyx_n_s_typing
@@ -3949,49 +3851,45 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
#define __pyx_n_s_uuid __pyx_mstate_global->__pyx_n_s_uuid
#define __pyx_n_s_uuid4 __pyx_mstate_global->__pyx_n_s_uuid4
#define __pyx_n_s_validate_client_code __pyx_mstate_global->__pyx_n_s_validate_client_code
-#define __pyx_n_s_warning __pyx_mstate_global->__pyx_n_s_warning
#define __pyx_kp_u_wmic_cpu_get_ProcessorId __pyx_mstate_global->__pyx_kp_u_wmic_cpu_get_ProcessorId
#define __pyx_int_1 __pyx_mstate_global->__pyx_int_1
#define __pyx_int_2 __pyx_mstate_global->__pyx_int_2
#define __pyx_int_3 __pyx_mstate_global->__pyx_int_3
#define __pyx_int_4 __pyx_mstate_global->__pyx_int_4
-#define __pyx_int_10 __pyx_mstate_global->__pyx_int_10
#define __pyx_int_30 __pyx_mstate_global->__pyx_int_30
#define __pyx_int_200 __pyx_mstate_global->__pyx_int_200
+#define __pyx_int_301 __pyx_mstate_global->__pyx_int_301
+#define __pyx_int_302 __pyx_mstate_global->__pyx_int_302
#define __pyx_int_404 __pyx_mstate_global->__pyx_int_404
+#define __pyx_int_502 __pyx_mstate_global->__pyx_int_502
#define __pyx_codeobj_ __pyx_mstate_global->__pyx_codeobj_
#define __pyx_tuple__4 __pyx_mstate_global->__pyx_tuple__4
-#define __pyx_tuple__16 __pyx_mstate_global->__pyx_tuple__16
-#define __pyx_tuple__18 __pyx_mstate_global->__pyx_tuple__18
-#define __pyx_tuple__27 __pyx_mstate_global->__pyx_tuple__27
+#define __pyx_tuple__25 __pyx_mstate_global->__pyx_tuple__25
+#define __pyx_tuple__33 __pyx_mstate_global->__pyx_tuple__33
#define __pyx_tuple__35 __pyx_mstate_global->__pyx_tuple__35
-#define __pyx_tuple__37 __pyx_mstate_global->__pyx_tuple__37
-#define __pyx_tuple__38 __pyx_mstate_global->__pyx_tuple__38
-#define __pyx_tuple__41 __pyx_mstate_global->__pyx_tuple__41
-#define __pyx_tuple__45 __pyx_mstate_global->__pyx_tuple__45
+#define __pyx_tuple__36 __pyx_mstate_global->__pyx_tuple__36
+#define __pyx_tuple__39 __pyx_mstate_global->__pyx_tuple__39
+#define __pyx_tuple__43 __pyx_mstate_global->__pyx_tuple__43
+#define __pyx_tuple__51 __pyx_mstate_global->__pyx_tuple__51
+#define __pyx_tuple__52 __pyx_mstate_global->__pyx_tuple__52
#define __pyx_tuple__53 __pyx_mstate_global->__pyx_tuple__53
#define __pyx_tuple__54 __pyx_mstate_global->__pyx_tuple__54
#define __pyx_tuple__55 __pyx_mstate_global->__pyx_tuple__55
#define __pyx_tuple__56 __pyx_mstate_global->__pyx_tuple__56
#define __pyx_tuple__57 __pyx_mstate_global->__pyx_tuple__57
#define __pyx_tuple__58 __pyx_mstate_global->__pyx_tuple__58
-#define __pyx_tuple__59 __pyx_mstate_global->__pyx_tuple__59
#define __pyx_tuple__60 __pyx_mstate_global->__pyx_tuple__60
-#define __pyx_tuple__61 __pyx_mstate_global->__pyx_tuple__61
-#define __pyx_tuple__62 __pyx_mstate_global->__pyx_tuple__62
-#define __pyx_tuple__64 __pyx_mstate_global->__pyx_tuple__64
#define __pyx_codeobj__2 __pyx_mstate_global->__pyx_codeobj__2
-#define __pyx_codeobj__13 __pyx_mstate_global->__pyx_codeobj__13
-#define __pyx_codeobj__19 __pyx_mstate_global->__pyx_codeobj__19
-#define __pyx_codeobj__25 __pyx_mstate_global->__pyx_codeobj__25
-#define __pyx_codeobj__32 __pyx_mstate_global->__pyx_codeobj__32
-#define __pyx_codeobj__39 __pyx_mstate_global->__pyx_codeobj__39
-#define __pyx_codeobj__63 __pyx_mstate_global->__pyx_codeobj__63
-#define __pyx_ustring__20 __pyx_mstate_global->__pyx_ustring__20
+#define __pyx_codeobj__17 __pyx_mstate_global->__pyx_codeobj__17
+#define __pyx_codeobj__22 __pyx_mstate_global->__pyx_codeobj__22
+#define __pyx_codeobj__30 __pyx_mstate_global->__pyx_codeobj__30
+#define __pyx_codeobj__37 __pyx_mstate_global->__pyx_codeobj__37
+#define __pyx_codeobj__59 __pyx_mstate_global->__pyx_codeobj__59
+#define __pyx_ustring__18 __pyx_mstate_global->__pyx_ustring__18
/* #### Code section: module_code ### */
static PyObject *__pyx_gb_8handlers_8payments_4gift_2generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "handlers/payments/gift.py":29
+/* "handlers/payments/gift.py":27
*
*
* @router.callback_query(F.data == "gifts") # <<<<<<<<<<<<<<
@@ -4053,12 +3951,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
(void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
kw_args--;
}
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 29, __pyx_L3_error)
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 27, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "start_menu_handler") < 0)) __PYX_ERR(0, 29, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "start_menu_handler") < 0)) __PYX_ERR(0, 27, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
@@ -4069,7 +3967,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("start_menu_handler", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 29, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("start_menu_handler", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 27, __pyx_L3_error)
__pyx_L6_skip:;
goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
@@ -4108,7 +4006,7 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_start_menu_handler(CYTHON_UN
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(0, 29, __pyx_L1_error)
+ __PYX_ERR(0, 27, __pyx_L1_error)
} else {
__Pyx_GOTREF((PyObject *)__pyx_cur_scope);
}
@@ -4116,7 +4014,7 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_start_menu_handler(CYTHON_UN
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_callback_query);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_callback_query);
{
- __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_4gift_2generator, __pyx_codeobj_, (PyObject *) __pyx_cur_scope, __pyx_n_s_start_menu_handler, __pyx_n_s_start_menu_handler, __pyx_n_s_handlers_payments_gift); if (unlikely(!gen)) __PYX_ERR(0, 29, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_4gift_2generator, __pyx_codeobj_, (PyObject *) __pyx_cur_scope, __pyx_n_s_start_menu_handler, __pyx_n_s_start_menu_handler, __pyx_n_s_handlers_payments_gift); if (unlikely(!gen)) __PYX_ERR(0, 27, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -4159,16 +4057,16 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_2generator(__pyx_CoroutineOb
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 29, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 27, __pyx_L1_error)
- /* "handlers/payments/gift.py":33
+ /* "handlers/payments/gift.py":31
* """ 'start'. ' ' ' '."""
*
* is_valid = await validate_client_code() # <<<<<<<<<<<<<<
* if not is_valid:
* logger.error(" , @solonet_sup.")
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_validate_client_code); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_validate_client_code); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
@@ -4188,7 +4086,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_2generator(__pyx_CoroutineOb
PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 33, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
@@ -4203,38 +4101,38 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_2generator(__pyx_CoroutineOb
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L4_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 33, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 31, __pyx_L1_error)
__pyx_t_1 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_1);
} else {
__pyx_t_1 = NULL;
- if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_1) < 0) __PYX_ERR(0, 33, __pyx_L1_error)
+ if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_1) < 0) __PYX_ERR(0, 31, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
}
__Pyx_GIVEREF(__pyx_t_1);
__pyx_cur_scope->__pyx_v_is_valid = __pyx_t_1;
__pyx_t_1 = 0;
- /* "handlers/payments/gift.py":34
+ /* "handlers/payments/gift.py":32
*
* is_valid = await validate_client_code()
* if not is_valid: # <<<<<<<<<<<<<<
* logger.error(" , @solonet_sup.")
* return
*/
- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_is_valid); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 34, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_is_valid); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 32, __pyx_L1_error)
__pyx_t_6 = (!__pyx_t_5);
if (__pyx_t_6) {
- /* "handlers/payments/gift.py":35
+ /* "handlers/payments/gift.py":33
* is_valid = await validate_client_code()
* if not is_valid:
* logger.error(" , @solonet_sup.") # <<<<<<<<<<<<<<
* return
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -4255,13 +4153,13 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_2generator(__pyx_CoroutineOb
PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_kp_u_solonet_sup};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 33, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "handlers/payments/gift.py":36
+ /* "handlers/payments/gift.py":34
* if not is_valid:
* logger.error(" , @solonet_sup.")
* return # <<<<<<<<<<<<<<
@@ -4272,7 +4170,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_2generator(__pyx_CoroutineOb
__pyx_r = NULL;
goto __pyx_L0;
- /* "handlers/payments/gift.py":34
+ /* "handlers/payments/gift.py":32
*
* is_valid = await validate_client_code()
* if not is_valid: # <<<<<<<<<<<<<<
@@ -4281,14 +4179,14 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_2generator(__pyx_CoroutineOb
*/
}
- /* "handlers/payments/gift.py":38
+ /* "handlers/payments/gift.py":36
* return
*
* builder = InlineKeyboardBuilder() # <<<<<<<<<<<<<<
*
* builder.row(types.InlineKeyboardButton(text=f"{GIFT}", callback_data="gift"))
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_2 = NULL;
__pyx_t_4 = 0;
@@ -4308,7 +4206,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_2generator(__pyx_CoroutineOb
PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
@@ -4316,31 +4214,31 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_2generator(__pyx_CoroutineOb
__pyx_cur_scope->__pyx_v_builder = __pyx_t_1;
__pyx_t_1 = 0;
- /* "handlers/payments/gift.py":40
+ /* "handlers/payments/gift.py":38
* builder = InlineKeyboardBuilder()
*
* builder.row(types.InlineKeyboardButton(text=f"{GIFT}", callback_data="gift")) # <<<<<<<<<<<<<<
*
* builder.row(types.InlineKeyboardButton(text=f"{MY_GIFTS}", callback_data="my_gifts"))
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_types); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_types); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 40, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_GIFT); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 40, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_GIFT); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
- __pyx_t_9 = __Pyx_PyObject_FormatSimple(__pyx_t_8, __pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 40, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyObject_FormatSimple(__pyx_t_8, __pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_text, __pyx_t_9) < 0) __PYX_ERR(0, 40, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_text, __pyx_t_9) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_callback_data, __pyx_n_u_gift) < 0) __PYX_ERR(0, 40, __pyx_L1_error)
- __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 40, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_callback_data, __pyx_n_u_gift) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -4363,37 +4261,37 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_2generator(__pyx_CoroutineOb
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "handlers/payments/gift.py":42
+ /* "handlers/payments/gift.py":40
* builder.row(types.InlineKeyboardButton(text=f"{GIFT}", callback_data="gift"))
*
* builder.row(types.InlineKeyboardButton(text=f"{MY_GIFTS}", callback_data="my_gifts")) # <<<<<<<<<<<<<<
* builder.row(types.InlineKeyboardButton(text=f"{PROFILE}", callback_data="profile"))
*
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_types); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 42, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_types); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 40, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_9 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 42, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 40, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_MY_GIFTS); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 42, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_MY_GIFTS); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 40, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
- __pyx_t_8 = __Pyx_PyObject_FormatSimple(__pyx_t_7, __pyx_empty_unicode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 42, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyObject_FormatSimple(__pyx_t_7, __pyx_empty_unicode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 40, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_text, __pyx_t_8) < 0) __PYX_ERR(0, 42, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_text, __pyx_t_8) < 0) __PYX_ERR(0, 40, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_callback_data, __pyx_n_u_my_gifts) < 0) __PYX_ERR(0, 42, __pyx_L1_error)
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 42, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_callback_data, __pyx_n_u_my_gifts) < 0) __PYX_ERR(0, 40, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 40, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
@@ -4416,37 +4314,37 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_2generator(__pyx_CoroutineOb
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 42, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "handlers/payments/gift.py":43
+ /* "handlers/payments/gift.py":41
*
* builder.row(types.InlineKeyboardButton(text=f"{MY_GIFTS}", callback_data="my_gifts"))
* builder.row(types.InlineKeyboardButton(text=f"{PROFILE}", callback_data="profile")) # <<<<<<<<<<<<<<
*
* await callback_query.message.answer(
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_types); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 43, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_types); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 41, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 43, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 41, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 43, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 41, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_PROFILE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 43, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_PROFILE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_t_2, __pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 43, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_t_2, __pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 41, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_text, __pyx_t_7) < 0) __PYX_ERR(0, 43, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_text, __pyx_t_7) < 0) __PYX_ERR(0, 41, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_callback_data, __pyx_n_u_profile) < 0) __PYX_ERR(0, 43, __pyx_L1_error)
- __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 43, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_callback_data, __pyx_n_u_profile) < 0) __PYX_ERR(0, 41, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 41, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -4469,36 +4367,36 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_2generator(__pyx_CoroutineOb
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 41, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "handlers/payments/gift.py":45
+ /* "handlers/payments/gift.py":43
* builder.row(types.InlineKeyboardButton(text=f"{PROFILE}", callback_data="profile"))
*
* await callback_query.message.answer( # <<<<<<<<<<<<<<
* text=" , ! ", reply_markup=builder.as_markup()
* )
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_answer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_answer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "handlers/payments/gift.py":46
+ /* "handlers/payments/gift.py":44
*
* await callback_query.message.answer(
* text=" , ! ", reply_markup=builder.as_markup() # <<<<<<<<<<<<<<
* )
*
*/
- __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 46, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_text, __pyx_kp_u_b_b) < 0) __PYX_ERR(0, 46, __pyx_L1_error)
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 46, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_text, __pyx_kp_u_b_b) < 0) __PYX_ERR(0, 44, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 44, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_9 = NULL;
__pyx_t_4 = 0;
@@ -4518,21 +4416,21 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_2generator(__pyx_CoroutineOb
PyObject *__pyx_callargs[2] = {__pyx_t_9, NULL};
__pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
- if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46, __pyx_L1_error)
+ if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 44, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_reply_markup, __pyx_t_7) < 0) __PYX_ERR(0, 46, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_reply_markup, __pyx_t_7) < 0) __PYX_ERR(0, 44, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- /* "handlers/payments/gift.py":45
+ /* "handlers/payments/gift.py":43
* builder.row(types.InlineKeyboardButton(text=f"{PROFILE}", callback_data="profile"))
*
* await callback_query.message.answer( # <<<<<<<<<<<<<<
* text=" , ! ", reply_markup=builder.as_markup()
* )
*/
- __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 45, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 43, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -4547,17 +4445,17 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_2generator(__pyx_CoroutineOb
__pyx_generator->resume_label = 2;
return __pyx_r;
__pyx_L6_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 45, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 43, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 45, __pyx_L1_error)
+ else __PYX_ERR(0, 43, __pyx_L1_error)
}
}
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "handlers/payments/gift.py":29
+ /* "handlers/payments/gift.py":27
*
*
* @router.callback_query(F.data == "gifts") # <<<<<<<<<<<<<<
@@ -4589,12 +4487,12 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_2generator(__pyx_CoroutineOb
}
static PyObject *__pyx_gb_8handlers_8payments_4gift_5generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "handlers/payments/gift.py":50
+/* "handlers/payments/gift.py":48
*
*
* @router.callback_query(F.data == "my_gifts") # <<<<<<<<<<<<<<
* async def my_gifts_handler(callback_query: types.CallbackQuery, session: Any):
- * """ ' '. ."""
+ * """ ' '. ."""
*/
/* Python wrapper */
@@ -4605,7 +4503,7 @@ PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
-PyDoc_STRVAR(__pyx_doc_8handlers_8payments_4gift_3my_gifts_handler, "\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272 \320\264\320\273\321\217 \320\272\320\276\320\273\320\261\321\215\320\272\320\260 '\320\234\320\276\320\270 \320\277\320\276\320\264\320\260\321\200\320\272\320\270'. \320\237\320\276\320\272\320\260\320\267\321\213\320\262\320\260\320\265\321\202 \321\201\320\277\320\270\321\201\320\276\320\272 \320\277\320\276\320\264\320\260\321\200\320\272\320\276\320\262 \320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217 \320\262\320\274\320\265\321\201\321\202\320\265 \321\201 \320\270\321\205 \321\201\321\201\321\213\320\273\320\272\320\260\320\274\320\270.");
+PyDoc_STRVAR(__pyx_doc_8handlers_8payments_4gift_3my_gifts_handler, "\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272 \320\264\320\273\321\217 \320\272\320\276\320\273\320\261\321\215\320\272\320\260 '\320\234\320\276\320\270 \320\277\320\276\320\264\320\260\321\200\320\272\320\270'. \320\237\320\276\320\272\320\260\320\267\321\213\320\262\320\260\320\265\321\202 \321\201\320\277\320\270\321\201\320\276\320\272 \320\277\320\276\320\264\320\260\321\200\320\272\320\276\320\262 \320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217.");
static PyMethodDef __pyx_mdef_8handlers_8payments_4gift_4my_gifts_handler = {"my_gifts_handler", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_4gift_4my_gifts_handler, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8handlers_8payments_4gift_3my_gifts_handler};
static PyObject *__pyx_pw_8handlers_8payments_4gift_4my_gifts_handler(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
@@ -4654,7 +4552,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
(void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
kw_args--;
}
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 50, __pyx_L3_error)
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 48, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
@@ -4662,14 +4560,14 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
(void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
kw_args--;
}
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 50, __pyx_L3_error)
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 48, __pyx_L3_error)
else {
- __Pyx_RaiseArgtupleInvalid("my_gifts_handler", 1, 2, 2, 1); __PYX_ERR(0, 50, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("my_gifts_handler", 1, 2, 2, 1); __PYX_ERR(0, 48, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "my_gifts_handler") < 0)) __PYX_ERR(0, 50, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "my_gifts_handler") < 0)) __PYX_ERR(0, 48, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
@@ -4682,7 +4580,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("my_gifts_handler", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 50, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("my_gifts_handler", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 48, __pyx_L3_error)
__pyx_L6_skip:;
goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
@@ -4721,7 +4619,7 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_3my_gifts_handler(CYTHON_UNU
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(0, 50, __pyx_L1_error)
+ __PYX_ERR(0, 48, __pyx_L1_error)
} else {
__Pyx_GOTREF((PyObject *)__pyx_cur_scope);
}
@@ -4732,7 +4630,7 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_3my_gifts_handler(CYTHON_UNU
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_session);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_session);
{
- __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_4gift_5generator1, __pyx_codeobj__2, (PyObject *) __pyx_cur_scope, __pyx_n_s_my_gifts_handler, __pyx_n_s_my_gifts_handler, __pyx_n_s_handlers_payments_gift); if (unlikely(!gen)) __PYX_ERR(0, 50, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_4gift_5generator1, __pyx_codeobj__2, (PyObject *) __pyx_cur_scope, __pyx_n_s_my_gifts_handler, __pyx_n_s_my_gifts_handler, __pyx_n_s_handlers_payments_gift); if (unlikely(!gen)) __PYX_ERR(0, 48, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -4765,7 +4663,6 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_5generator1(__pyx_CoroutineO
PyObject *(*__pyx_t_11)(PyObject *);
Py_ssize_t __pyx_t_12;
Py_UCS4 __pyx_t_13;
- PyObject *__pyx_t_14 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
@@ -4781,37 +4678,37 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_5generator1(__pyx_CoroutineO
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 50, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 48, __pyx_L1_error)
- /* "handlers/payments/gift.py":54
- * """ ' '. ."""
+ /* "handlers/payments/gift.py":52
+ * """ ' '. ."""
*
* user_tg_id = callback_query.from_user.id # <<<<<<<<<<<<<<
*
* gifts = await session.fetch(
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_from_user); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 54, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_from_user); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 52, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_id); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 54, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_id); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 52, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GIVEREF(__pyx_t_2);
__pyx_cur_scope->__pyx_v_user_tg_id = __pyx_t_2;
__pyx_t_2 = 0;
- /* "handlers/payments/gift.py":56
+ /* "handlers/payments/gift.py":54
* user_tg_id = callback_query.from_user.id
*
* gifts = await session.fetch( # <<<<<<<<<<<<<<
- * """
- * SELECT gift_id, selected_months, is_used, expiry_time, recipient_tg_id, gift_link
+ * "SELECT gift_id, selected_months, is_used, expiry_time, recipient_tg_id FROM gifts WHERE sender_tg_id = $1",
+ * user_tg_id,
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_session, __pyx_n_s_fetch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 56, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_session, __pyx_n_s_fetch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 54, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- /* "handlers/payments/gift.py":62
- * WHERE sender_tg_id = $1
- * """,
+ /* "handlers/payments/gift.py":56
+ * gifts = await session.fetch(
+ * "SELECT gift_id, selected_months, is_used, expiry_time, recipient_tg_id FROM gifts WHERE sender_tg_id = $1",
* user_tg_id, # <<<<<<<<<<<<<<
* )
*
@@ -4831,10 +4728,10 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_5generator1(__pyx_CoroutineO
}
#endif
{
- PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_kp_u_SELECT_gift_id_selected_months, __pyx_cur_scope->__pyx_v_user_tg_id};
+ PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_kp_u_SELECT_gift_id_selected_months_i, __pyx_cur_scope->__pyx_v_user_tg_id};
__pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 56, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 54, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
@@ -4849,25 +4746,25 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_5generator1(__pyx_CoroutineO
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L4_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 56, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 54, __pyx_L1_error)
__pyx_t_2 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_2);
} else {
__pyx_t_2 = NULL;
- if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_2) < 0) __PYX_ERR(0, 56, __pyx_L1_error)
+ if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_2) < 0) __PYX_ERR(0, 54, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
}
__Pyx_GIVEREF(__pyx_t_2);
__pyx_cur_scope->__pyx_v_gifts = __pyx_t_2;
__pyx_t_2 = 0;
- /* "handlers/payments/gift.py":65
+ /* "handlers/payments/gift.py":59
* )
*
* builder = InlineKeyboardBuilder() # <<<<<<<<<<<<<<
* builder.row(types.InlineKeyboardButton(text=f"{BACK}", callback_data="gifts"))
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 65, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 59, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
@@ -4887,7 +4784,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_5generator1(__pyx_CoroutineO
PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
__pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 65, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 59, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
@@ -4895,31 +4792,31 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_5generator1(__pyx_CoroutineO
__pyx_cur_scope->__pyx_v_builder = __pyx_t_2;
__pyx_t_2 = 0;
- /* "handlers/payments/gift.py":66
+ /* "handlers/payments/gift.py":60
*
* builder = InlineKeyboardBuilder()
* builder.row(types.InlineKeyboardButton(text=f"{BACK}", callback_data="gifts")) # <<<<<<<<<<<<<<
*
* if not gifts:
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 66, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 60, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_types); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 66, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_types); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 60, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 66, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 60, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 66, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 60, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_BACK); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 66, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_BACK); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 60, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_t_6, __pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 66, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_t_6, __pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 60, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_t_7) < 0) __PYX_ERR(0, 66, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_t_7) < 0) __PYX_ERR(0, 60, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_data, __pyx_n_u_gifts) < 0) __PYX_ERR(0, 66, __pyx_L1_error)
- __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 66, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_data, __pyx_n_u_gifts) < 0) __PYX_ERR(0, 60, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 60, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -4942,38 +4839,38 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_5generator1(__pyx_CoroutineO
__pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 66, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 60, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "handlers/payments/gift.py":68
+ /* "handlers/payments/gift.py":62
* builder.row(types.InlineKeyboardButton(text=f"{BACK}", callback_data="gifts"))
*
* if not gifts: # <<<<<<<<<<<<<<
* await callback_query.message.answer(" .", reply_markup=builder.as_markup())
* return
*/
- __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_gifts); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 68, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_gifts); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 62, __pyx_L1_error)
__pyx_t_9 = (!__pyx_t_8);
if (__pyx_t_9) {
- /* "handlers/payments/gift.py":69
+ /* "handlers/payments/gift.py":63
*
* if not gifts:
* await callback_query.message.answer(" .", reply_markup=builder.as_markup()) # <<<<<<<<<<<<<<
* return
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 69, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 63, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_answer); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 69, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_answer); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 63, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 69, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 63, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 69, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 63, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_5 = NULL;
__pyx_t_4 = 0;
@@ -4993,13 +4890,13 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_5generator1(__pyx_CoroutineO
PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
__pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 69, __pyx_L1_error)
+ if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 63, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_reply_markup, __pyx_t_7) < 0) __PYX_ERR(0, 69, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_reply_markup, __pyx_t_7) < 0) __PYX_ERR(0, 63, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__4, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 69, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__4, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 63, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -5014,16 +4911,16 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_5generator1(__pyx_CoroutineO
__pyx_generator->resume_label = 2;
return __pyx_r;
__pyx_L6_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 69, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 63, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 69, __pyx_L1_error)
+ else __PYX_ERR(0, 63, __pyx_L1_error)
}
}
- /* "handlers/payments/gift.py":70
+ /* "handlers/payments/gift.py":64
* if not gifts:
* await callback_query.message.answer(" .", reply_markup=builder.as_markup())
* return # <<<<<<<<<<<<<<
@@ -5034,7 +4931,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_5generator1(__pyx_CoroutineO
__pyx_r = NULL;
goto __pyx_L0;
- /* "handlers/payments/gift.py":68
+ /* "handlers/payments/gift.py":62
* builder.row(types.InlineKeyboardButton(text=f"{BACK}", callback_data="gifts"))
*
* if not gifts: # <<<<<<<<<<<<<<
@@ -5043,7 +4940,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_5generator1(__pyx_CoroutineO
*/
}
- /* "handlers/payments/gift.py":72
+ /* "handlers/payments/gift.py":66
* return
*
* gifts_text = " :\n\n" # <<<<<<<<<<<<<<
@@ -5054,21 +4951,21 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_5generator1(__pyx_CoroutineO
__Pyx_GIVEREF(__pyx_kp_u_b_b_2);
__pyx_cur_scope->__pyx_v_gifts_text = __pyx_kp_u_b_b_2;
- /* "handlers/payments/gift.py":73
+ /* "handlers/payments/gift.py":67
*
* gifts_text = " :\n\n"
* for gift in gifts: # <<<<<<<<<<<<<<
* months = gift['selected_months']
- * months_text = (
+ * is_used = "" if gift['is_used'] else ""
*/
if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_v_gifts)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_v_gifts)) {
__pyx_t_7 = __pyx_cur_scope->__pyx_v_gifts; __Pyx_INCREF(__pyx_t_7);
__pyx_t_10 = 0;
__pyx_t_11 = NULL;
} else {
- __pyx_t_10 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_cur_scope->__pyx_v_gifts); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 73, __pyx_L1_error)
+ __pyx_t_10 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_cur_scope->__pyx_v_gifts); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 67, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
- __pyx_t_11 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 73, __pyx_L1_error)
+ __pyx_t_11 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 67, __pyx_L1_error)
}
for (;;) {
if (likely(!__pyx_t_11)) {
@@ -5076,28 +4973,28 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_5generator1(__pyx_CoroutineO
{
Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_7);
#if !CYTHON_ASSUME_SAFE_MACROS
- if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 73, __pyx_L1_error)
+ if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 67, __pyx_L1_error)
#endif
if (__pyx_t_10 >= __pyx_temp) break;
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_2 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_10); __Pyx_INCREF(__pyx_t_2); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(0, 73, __pyx_L1_error)
+ __pyx_t_2 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_10); __Pyx_INCREF(__pyx_t_2); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(0, 67, __pyx_L1_error)
#else
- __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 73, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 67, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
#endif
} else {
{
Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_7);
#if !CYTHON_ASSUME_SAFE_MACROS
- if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 73, __pyx_L1_error)
+ if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 67, __pyx_L1_error)
#endif
if (__pyx_t_10 >= __pyx_temp) break;
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_10); __Pyx_INCREF(__pyx_t_2); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(0, 73, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_10); __Pyx_INCREF(__pyx_t_2); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(0, 67, __pyx_L1_error)
#else
- __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 73, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 67, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
#endif
}
@@ -5107,7 +5004,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_5generator1(__pyx_CoroutineO
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 73, __pyx_L1_error)
+ else __PYX_ERR(0, 67, __pyx_L1_error)
}
break;
}
@@ -5118,112 +5015,78 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_5generator1(__pyx_CoroutineO
__Pyx_GIVEREF(__pyx_t_2);
__pyx_t_2 = 0;
- /* "handlers/payments/gift.py":74
+ /* "handlers/payments/gift.py":68
* gifts_text = " :\n\n"
* for gift in gifts:
* months = gift['selected_months'] # <<<<<<<<<<<<<<
- * months_text = (
- * "" if months == 1 else "" if 2 <= months <= 4 else ""
+ * is_used = "" if gift['is_used'] else ""
+ * recipient = gift['recipient_tg_id'] if gift['recipient_tg_id'] else " "
*/
- __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_gift, __pyx_n_u_selected_months); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 74, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_gift, __pyx_n_u_selected_months); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 68, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_months);
__Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_months, __pyx_t_2);
__Pyx_GIVEREF(__pyx_t_2);
__pyx_t_2 = 0;
- /* "handlers/payments/gift.py":76
+ /* "handlers/payments/gift.py":69
+ * for gift in gifts:
* months = gift['selected_months']
- * months_text = (
- * "" if months == 1 else "" if 2 <= months <= 4 else "" # <<<<<<<<<<<<<<
- * )
- * is_used = "" if gift['is_used'] else ""
- */
- __pyx_t_9 = (__Pyx_PyInt_BoolEqObjC(__pyx_cur_scope->__pyx_v_months, __pyx_int_1, 1, 0)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 76, __pyx_L1_error)
- if (__pyx_t_9) {
- __Pyx_INCREF(__pyx_n_u__5);
- __pyx_t_2 = __pyx_n_u__5;
- } else {
- __pyx_t_3 = PyObject_RichCompare(__pyx_int_2, __pyx_cur_scope->__pyx_v_months, Py_LE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 76, __pyx_L1_error)
- if (__Pyx_PyObject_IsTrue(__pyx_t_3)) {
- __Pyx_DECREF(__pyx_t_3);
- __pyx_t_3 = PyObject_RichCompare(__pyx_cur_scope->__pyx_v_months, __pyx_int_4, Py_LE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 76, __pyx_L1_error)
- }
- __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 76, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (__pyx_t_8) {
- __Pyx_INCREF(__pyx_n_u__6);
- __pyx_t_1 = __pyx_n_u__6;
- } else {
- __Pyx_INCREF(__pyx_n_u__7);
- __pyx_t_1 = __pyx_n_u__7;
- }
- __pyx_t_2 = __pyx_t_1;
- __pyx_t_1 = 0;
- }
- __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_months_text);
- __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_months_text, ((PyObject*)__pyx_t_2));
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_t_2 = 0;
-
- /* "handlers/payments/gift.py":78
- * "" if months == 1 else "" if 2 <= months <= 4 else ""
- * )
* is_used = "" if gift['is_used'] else "" # <<<<<<<<<<<<<<
* recipient = gift['recipient_tg_id'] if gift['recipient_tg_id'] else " "
* expiry_time = gift['expiry_time'].strftime("%d-%m-%Y %H:%M")
*/
- __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_gift, __pyx_n_u_is_used); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 78, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_gift, __pyx_n_u_is_used); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 69, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 78, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 69, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_9) {
- __Pyx_INCREF(__pyx_n_u__8);
- __pyx_t_2 = __pyx_n_u__8;
+ __Pyx_INCREF(__pyx_n_u__5);
+ __pyx_t_2 = __pyx_n_u__5;
} else {
- __Pyx_INCREF(__pyx_n_u__9);
- __pyx_t_2 = __pyx_n_u__9;
+ __Pyx_INCREF(__pyx_n_u__6);
+ __pyx_t_2 = __pyx_n_u__6;
}
__Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_is_used);
__Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_is_used, ((PyObject*)__pyx_t_2));
__Pyx_GIVEREF(__pyx_t_2);
__pyx_t_2 = 0;
- /* "handlers/payments/gift.py":79
- * )
+ /* "handlers/payments/gift.py":70
+ * months = gift['selected_months']
* is_used = "" if gift['is_used'] else ""
* recipient = gift['recipient_tg_id'] if gift['recipient_tg_id'] else " " # <<<<<<<<<<<<<<
* expiry_time = gift['expiry_time'].strftime("%d-%m-%Y %H:%M")
- * gift_link = gift['gift_link']
+ *
*/
- __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_gift, __pyx_n_u_recipient_tg_id); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 79, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_gift, __pyx_n_u_recipient_tg_id); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 70, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 79, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 70, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_9) {
- __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_gift, __pyx_n_u_recipient_tg_id); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 79, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_gift, __pyx_n_u_recipient_tg_id); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 70, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = __pyx_t_1;
__pyx_t_1 = 0;
} else {
- __Pyx_INCREF(__pyx_kp_u__10);
- __pyx_t_2 = __pyx_kp_u__10;
+ __Pyx_INCREF(__pyx_kp_u__7);
+ __pyx_t_2 = __pyx_kp_u__7;
}
__Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_recipient);
__Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_recipient, __pyx_t_2);
__Pyx_GIVEREF(__pyx_t_2);
__pyx_t_2 = 0;
- /* "handlers/payments/gift.py":80
+ /* "handlers/payments/gift.py":71
* is_used = "" if gift['is_used'] else ""
* recipient = gift['recipient_tg_id'] if gift['recipient_tg_id'] else " "
* expiry_time = gift['expiry_time'].strftime("%d-%m-%Y %H:%M") # <<<<<<<<<<<<<<
- * gift_link = gift['gift_link']
- * gift_id = gift['gift_id']
+ *
+ * gifts_text += (
*/
- __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_gift, __pyx_n_u_expiry_time); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 80, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_gift, __pyx_n_u_expiry_time); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 71, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_strftime); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 80, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_strftime); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 71, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = NULL;
@@ -5244,7 +5107,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_5generator1(__pyx_CoroutineO
PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_kp_u_d_m_Y_H_M};
__pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 80, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 71, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
@@ -5253,284 +5116,206 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_5generator1(__pyx_CoroutineO
__Pyx_GIVEREF(__pyx_t_2);
__pyx_t_2 = 0;
- /* "handlers/payments/gift.py":81
- * recipient = gift['recipient_tg_id'] if gift['recipient_tg_id'] else " "
- * expiry_time = gift['expiry_time'].strftime("%d-%m-%Y %H:%M")
- * gift_link = gift['gift_link'] # <<<<<<<<<<<<<<
- * gift_id = gift['gift_id']
+ /* "handlers/payments/gift.py":74
*
+ * gifts_text += (
+ * f" {months} {'' if months == 1 else '' if 2 <= months <= 4 else ''}\n" # <<<<<<<<<<<<<<
+ * f" : {expiry_time}\n"
+ * f": {recipient}\n"
*/
- __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_gift, __pyx_n_u_gift_link); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 81, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 74, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_gift_link);
- __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_gift_link, __pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_t_2 = 0;
-
- /* "handlers/payments/gift.py":82
- * expiry_time = gift['expiry_time'].strftime("%d-%m-%Y %H:%M")
- * gift_link = gift['gift_link']
- * gift_id = gift['gift_id'] # <<<<<<<<<<<<<<
- *
- * gifts_text += GIFTS_TEXT_TEMPLATE.format(
- */
- __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_gift, __pyx_n_u_gift_id); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 82, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_gift_id);
- __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_gift_id, __pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_t_2 = 0;
-
- /* "handlers/payments/gift.py":84
- * gift_id = gift['gift_id']
- *
- * gifts_text += GIFTS_TEXT_TEMPLATE.format( # <<<<<<<<<<<<<<
- * months=months,
- * months_text=months_text,
- */
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_GIFTS_TEXT_TEMPLATE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 84, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 84, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
- /* "handlers/payments/gift.py":85
- *
- * gifts_text += GIFTS_TEXT_TEMPLATE.format(
- * months=months, # <<<<<<<<<<<<<<
- * months_text=months_text,
- * expiry_time=expiry_time,
- */
- __pyx_t_2 = __Pyx_PyDict_NewPresized(6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 85, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_months, __pyx_cur_scope->__pyx_v_months) < 0) __PYX_ERR(0, 85, __pyx_L1_error)
-
- /* "handlers/payments/gift.py":86
- * gifts_text += GIFTS_TEXT_TEMPLATE.format(
- * months=months,
- * months_text=months_text, # <<<<<<<<<<<<<<
- * expiry_time=expiry_time,
- * recipient=recipient,
- */
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_months_text, __pyx_cur_scope->__pyx_v_months_text) < 0) __PYX_ERR(0, 85, __pyx_L1_error)
-
- /* "handlers/payments/gift.py":87
- * months=months,
- * months_text=months_text,
- * expiry_time=expiry_time, # <<<<<<<<<<<<<<
- * recipient=recipient,
- * is_used=is_used,
- */
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_expiry_time, __pyx_cur_scope->__pyx_v_expiry_time) < 0) __PYX_ERR(0, 85, __pyx_L1_error)
-
- /* "handlers/payments/gift.py":88
- * months_text=months_text,
- * expiry_time=expiry_time,
- * recipient=recipient, # <<<<<<<<<<<<<<
- * is_used=is_used,
- * gift_link=gift_link,
- */
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_recipient, __pyx_cur_scope->__pyx_v_recipient) < 0) __PYX_ERR(0, 85, __pyx_L1_error)
-
- /* "handlers/payments/gift.py":89
- * expiry_time=expiry_time,
- * recipient=recipient,
- * is_used=is_used, # <<<<<<<<<<<<<<
- * gift_link=gift_link,
- * )
- */
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_is_used, __pyx_cur_scope->__pyx_v_is_used) < 0) __PYX_ERR(0, 85, __pyx_L1_error)
-
- /* "handlers/payments/gift.py":90
- * recipient=recipient,
- * is_used=is_used,
- * gift_link=gift_link, # <<<<<<<<<<<<<<
- * )
- *
- */
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_gift_link, __pyx_cur_scope->__pyx_v_gift_link) < 0) __PYX_ERR(0, 85, __pyx_L1_error)
-
- /* "handlers/payments/gift.py":84
- * gift_id = gift['gift_id']
- *
- * gifts_text += GIFTS_TEXT_TEMPLATE.format( # <<<<<<<<<<<<<<
- * months=months,
- * months_text=months_text,
- */
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 84, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_cur_scope->__pyx_v_gifts_text, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 84, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_gifts_text);
- __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_gifts_text, __pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_t_2 = 0;
-
- /* "handlers/payments/gift.py":93
- * )
- *
- * builder.row( # <<<<<<<<<<<<<<
- * types.InlineKeyboardButton(
- * text=f" ({expiry_time})",
- */
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 93, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
-
- /* "handlers/payments/gift.py":94
- *
- * builder.row(
- * types.InlineKeyboardButton( # <<<<<<<<<<<<<<
- * text=f" ({expiry_time})",
- * callback_data=f"delete_gift|{gift_id}",
- */
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_types); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 94, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 94, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_5);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
- /* "handlers/payments/gift.py":95
- * builder.row(
- * types.InlineKeyboardButton(
- * text=f" ({expiry_time})", # <<<<<<<<<<<<<<
- * callback_data=f"delete_gift|{gift_id}",
- * )
- */
- __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 95, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 95, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
__pyx_t_12 = 0;
__pyx_t_13 = 127;
- __Pyx_INCREF(__pyx_kp_u__11);
- __pyx_t_13 = (65535 > __pyx_t_13) ? 65535 : __pyx_t_13;
- __pyx_t_12 += 11;
- __Pyx_GIVEREF(__pyx_kp_u__11);
- PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_kp_u__11);
- __pyx_t_14 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_expiry_time, __pyx_empty_unicode); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 95, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_14);
- __pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_14) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_14) : __pyx_t_13;
- __pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_14);
- __Pyx_GIVEREF(__pyx_t_14);
- PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_14);
- __pyx_t_14 = 0;
- __Pyx_INCREF(__pyx_kp_u__12);
+ __Pyx_INCREF(__pyx_kp_u__8);
+ __pyx_t_13 = (1114111 > __pyx_t_13) ? 1114111 : __pyx_t_13;
+ __pyx_t_12 += 13;
+ __Pyx_GIVEREF(__pyx_kp_u__8);
+ PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_u__8);
+ __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_months, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 74, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) : __pyx_t_13;
+ __pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3);
+ __Pyx_GIVEREF(__pyx_t_3);
+ PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3);
+ __pyx_t_3 = 0;
+ __Pyx_INCREF(__pyx_kp_u__9);
__pyx_t_12 += 1;
- __Pyx_GIVEREF(__pyx_kp_u__12);
- PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_kp_u__12);
- __pyx_t_14 = __Pyx_PyUnicode_Join(__pyx_t_6, 3, __pyx_t_12, __pyx_t_13); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 95, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_14);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_t_14) < 0) __PYX_ERR(0, 95, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+ __Pyx_GIVEREF(__pyx_kp_u__9);
+ PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_kp_u__9);
+ __pyx_t_9 = (__Pyx_PyInt_BoolEqObjC(__pyx_cur_scope->__pyx_v_months, __pyx_int_1, 1, 0)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 74, __pyx_L1_error)
+ if (__pyx_t_9) {
+ __Pyx_INCREF(__pyx_n_u__10);
+ __pyx_t_3 = __pyx_n_u__10;
+ } else {
+ __pyx_t_5 = PyObject_RichCompare(__pyx_int_2, __pyx_cur_scope->__pyx_v_months, Py_LE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 74, __pyx_L1_error)
+ if (__Pyx_PyObject_IsTrue(__pyx_t_5)) {
+ __Pyx_DECREF(__pyx_t_5);
+ __pyx_t_5 = PyObject_RichCompare(__pyx_cur_scope->__pyx_v_months, __pyx_int_4, Py_LE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 74, __pyx_L1_error)
+ }
+ __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 74, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ if (__pyx_t_8) {
+ __Pyx_INCREF(__pyx_n_u__11);
+ __pyx_t_1 = __pyx_n_u__11;
+ } else {
+ __Pyx_INCREF(__pyx_n_u__12);
+ __pyx_t_1 = __pyx_n_u__12;
+ }
+ __pyx_t_3 = __pyx_t_1;
+ __pyx_t_1 = 0;
+ }
+ __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 74, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) : __pyx_t_13;
+ __pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_1);
+ __pyx_t_1 = 0;
+ __Pyx_INCREF(__pyx_kp_u__13);
+ __pyx_t_13 = (65535 > __pyx_t_13) ? 65535 : __pyx_t_13;
+ __pyx_t_12 += 13;
+ __Pyx_GIVEREF(__pyx_kp_u__13);
+ PyTuple_SET_ITEM(__pyx_t_2, 4, __pyx_kp_u__13);
- /* "handlers/payments/gift.py":96
- * types.InlineKeyboardButton(
- * text=f" ({expiry_time})",
- * callback_data=f"delete_gift|{gift_id}", # <<<<<<<<<<<<<<
- * )
+ /* "handlers/payments/gift.py":75
+ * gifts_text += (
+ * f" {months} {'' if months == 1 else '' if 2 <= months <= 4 else ''}\n"
+ * f" : {expiry_time}\n" # <<<<<<<<<<<<<<
+ * f": {recipient}\n"
+ * f": {is_used}\n\n"
+ */
+ __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_expiry_time, __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 75, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) : __pyx_t_13;
+ __pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ PyTuple_SET_ITEM(__pyx_t_2, 5, __pyx_t_1);
+ __pyx_t_1 = 0;
+ __Pyx_INCREF(__pyx_kp_u__14);
+ __pyx_t_13 = (65535 > __pyx_t_13) ? 65535 : __pyx_t_13;
+ __pyx_t_12 += 13;
+ __Pyx_GIVEREF(__pyx_kp_u__14);
+ PyTuple_SET_ITEM(__pyx_t_2, 6, __pyx_kp_u__14);
+
+ /* "handlers/payments/gift.py":76
+ * f" {months} {'' if months == 1 else '' if 2 <= months <= 4 else ''}\n"
+ * f" : {expiry_time}\n"
+ * f": {recipient}\n" # <<<<<<<<<<<<<<
+ * f": {is_used}\n\n"
* )
*/
- __pyx_t_14 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_gift_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 96, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_14);
- __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_kp_u_delete_gift, __pyx_t_14); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 96, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_data, __pyx_t_6) < 0) __PYX_ERR(0, 95, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_recipient, __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 76, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) : __pyx_t_13;
+ __pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ PyTuple_SET_ITEM(__pyx_t_2, 7, __pyx_t_1);
+ __pyx_t_1 = 0;
+ __Pyx_INCREF(__pyx_kp_u__15);
+ __pyx_t_13 = (65535 > __pyx_t_13) ? 65535 : __pyx_t_13;
+ __pyx_t_12 += 14;
+ __Pyx_GIVEREF(__pyx_kp_u__15);
+ PyTuple_SET_ITEM(__pyx_t_2, 8, __pyx_kp_u__15);
- /* "handlers/payments/gift.py":94
+ /* "handlers/payments/gift.py":77
+ * f" : {expiry_time}\n"
+ * f": {recipient}\n"
+ * f": {is_used}\n\n" # <<<<<<<<<<<<<<
+ * )
*
- * builder.row(
- * types.InlineKeyboardButton( # <<<<<<<<<<<<<<
- * text=f" ({expiry_time})",
- * callback_data=f"delete_gift|{gift_id}",
*/
- __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 94, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = NULL;
- __pyx_t_4 = 0;
- #if CYTHON_UNPACK_METHODS
- if (likely(PyMethod_Check(__pyx_t_1))) {
- __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
- if (likely(__pyx_t_3)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
- __Pyx_INCREF(__pyx_t_3);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_1, function);
- __pyx_t_4 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_6};
- __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
- __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 93, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- }
+ __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_cur_scope->__pyx_v_is_used); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 77, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) : __pyx_t_13;
+ __pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ PyTuple_SET_ITEM(__pyx_t_2, 9, __pyx_t_1);
+ __pyx_t_1 = 0;
+ __Pyx_INCREF(__pyx_kp_u__16);
+ __pyx_t_12 += 2;
+ __Pyx_GIVEREF(__pyx_kp_u__16);
+ PyTuple_SET_ITEM(__pyx_t_2, 10, __pyx_kp_u__16);
+
+ /* "handlers/payments/gift.py":74
+ *
+ * gifts_text += (
+ * f" {months} {'' if months == 1 else '' if 2 <= months <= 4 else ''}\n" # <<<<<<<<<<<<<<
+ * f" : {expiry_time}\n"
+ * f": {recipient}\n"
+ */
+ __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_2, 11, __pyx_t_12, __pyx_t_13); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 74, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "handlers/payments/gift.py":73
+ * expiry_time = gift['expiry_time'].strftime("%d-%m-%Y %H:%M")
+ *
+ * gifts_text += ( # <<<<<<<<<<<<<<
+ * f" {months} {'' if months == 1 else '' if 2 <= months <= 4 else ''}\n"
+ * f" : {expiry_time}\n"
+ */
+ __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_cur_scope->__pyx_v_gifts_text, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 73, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_gifts_text);
+ __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_gifts_text, ((PyObject*)__pyx_t_2));
+ __Pyx_GIVEREF(__pyx_t_2);
+ __pyx_t_2 = 0;
+
+ /* "handlers/payments/gift.py":67
*
* gifts_text = " :\n\n"
* for gift in gifts: # <<<<<<<<<<<<<<
* months = gift['selected_months']
- * months_text = (
+ * is_used = "" if gift['is_used'] else ""
*/
}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- /* "handlers/payments/gift.py":100
+ /* "handlers/payments/gift.py":80
* )
*
- * await callback_query.message.answer(text=gifts_text, reply_markup=builder.as_markup(), parse_mode="HTML") # <<<<<<<<<<<<<<
+ * await callback_query.message.answer(text=gifts_text, reply_markup=builder.as_markup()) # <<<<<<<<<<<<<<
*
*
*/
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 100, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 80, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_answer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 100, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_answer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 80, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- __pyx_t_7 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 100, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 80, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
- if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_text, __pyx_cur_scope->__pyx_v_gifts_text) < 0) __PYX_ERR(0, 100, __pyx_L1_error)
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 100, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_3 = NULL;
+ if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_text, __pyx_cur_scope->__pyx_v_gifts_text) < 0) __PYX_ERR(0, 80, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 80, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_5 = NULL;
__pyx_t_4 = 0;
#if CYTHON_UNPACK_METHODS
- if (likely(PyMethod_Check(__pyx_t_6))) {
- __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6);
- if (likely(__pyx_t_3)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
- __Pyx_INCREF(__pyx_t_3);
+ if (likely(PyMethod_Check(__pyx_t_3))) {
+ __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
+ if (likely(__pyx_t_5)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+ __Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_6, function);
+ __Pyx_DECREF_SET(__pyx_t_3, function);
__pyx_t_4 = 1;
}
}
#endif
{
- PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
- __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
- __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 100, __pyx_L1_error)
+ PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
+ __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 80, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
- if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_reply_markup, __pyx_t_1) < 0) __PYX_ERR(0, 100, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_reply_markup, __pyx_t_1) < 0) __PYX_ERR(0, 80, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_parse_mode, __pyx_n_u_HTML) < 0) __PYX_ERR(0, 100, __pyx_L1_error)
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 100, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 80, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
@@ -5545,22 +5330,22 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_5generator1(__pyx_CoroutineO
__pyx_generator->resume_label = 3;
return __pyx_r;
__pyx_L10_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 100, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 80, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 100, __pyx_L1_error)
+ else __PYX_ERR(0, 80, __pyx_L1_error)
}
}
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "handlers/payments/gift.py":50
+ /* "handlers/payments/gift.py":48
*
*
* @router.callback_query(F.data == "my_gifts") # <<<<<<<<<<<<<<
* async def my_gifts_handler(callback_query: types.CallbackQuery, session: Any):
- * """ ' '. ."""
+ * """ ' '. ."""
*/
/* function exit code */
@@ -5574,7 +5359,6 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_5generator1(__pyx_CoroutineO
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_14);
__Pyx_AddTraceback("my_gifts_handler", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_L0:;
__Pyx_XDECREF(__pyx_r); __pyx_r = 0;
@@ -5588,556 +5372,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_5generator1(__pyx_CoroutineO
}
static PyObject *__pyx_gb_8handlers_8payments_4gift_8generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "handlers/payments/gift.py":103
- *
- *
- * @router.callback_query(F.data.startswith("delete_gift")) # <<<<<<<<<<<<<<
- * async def delete_gift_handler(callback_query: types.CallbackQuery, session: Any):
- * """ ."""
- */
-
-/* Python wrapper */
-static PyObject *__pyx_pw_8handlers_8payments_4gift_7delete_gift_handler(PyObject *__pyx_self,
-#if CYTHON_METH_FASTCALL
-PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
-#else
-PyObject *__pyx_args, PyObject *__pyx_kwds
-#endif
-); /*proto*/
-PyDoc_STRVAR(__pyx_doc_8handlers_8payments_4gift_6delete_gift_handler, "\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272 \320\264\320\273\321\217 \321\203\320\264\320\260\320\273\320\265\320\275\320\270\321\217 \320\277\320\276\320\264\320\260\321\200\320\272\320\260.");
-static PyMethodDef __pyx_mdef_8handlers_8payments_4gift_7delete_gift_handler = {"delete_gift_handler", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_4gift_7delete_gift_handler, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8handlers_8payments_4gift_6delete_gift_handler};
-static PyObject *__pyx_pw_8handlers_8payments_4gift_7delete_gift_handler(PyObject *__pyx_self,
-#if CYTHON_METH_FASTCALL
-PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
-#else
-PyObject *__pyx_args, PyObject *__pyx_kwds
-#endif
-) {
- PyObject *__pyx_v_callback_query = 0;
- PyObject *__pyx_v_session = 0;
- #if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED Py_ssize_t __pyx_nargs;
- #endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
- PyObject* values[2] = {0,0};
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("delete_gift_handler (wrapper)", 0);
- #if !CYTHON_METH_FASTCALL
- #if CYTHON_ASSUME_SAFE_MACROS
- __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
- #else
- __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
- #endif
- #endif
- __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
- {
- PyObject **__pyx_pyargnames[] = {&__pyx_n_s_callback_query,&__pyx_n_s_session,0};
- if (__pyx_kwds) {
- Py_ssize_t kw_args;
- switch (__pyx_nargs) {
- case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
- CYTHON_FALLTHROUGH;
- case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
- CYTHON_FALLTHROUGH;
- case 0: break;
- default: goto __pyx_L5_argtuple_error;
- }
- kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
- switch (__pyx_nargs) {
- case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_callback_query)) != 0)) {
- (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
- kw_args--;
- }
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 103, __pyx_L3_error)
- else goto __pyx_L5_argtuple_error;
- CYTHON_FALLTHROUGH;
- case 1:
- if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_session)) != 0)) {
- (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
- kw_args--;
- }
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 103, __pyx_L3_error)
- else {
- __Pyx_RaiseArgtupleInvalid("delete_gift_handler", 1, 2, 2, 1); __PYX_ERR(0, 103, __pyx_L3_error)
- }
- }
- if (unlikely(kw_args > 0)) {
- const Py_ssize_t kwd_pos_args = __pyx_nargs;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "delete_gift_handler") < 0)) __PYX_ERR(0, 103, __pyx_L3_error)
- }
- } else if (unlikely(__pyx_nargs != 2)) {
- goto __pyx_L5_argtuple_error;
- } else {
- values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
- values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
- }
- __pyx_v_callback_query = values[0];
- __pyx_v_session = values[1];
- }
- goto __pyx_L6_skip;
- __pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("delete_gift_handler", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 103, __pyx_L3_error)
- __pyx_L6_skip:;
- goto __pyx_L4_argument_unpacking_done;
- __pyx_L3_error:;
- {
- Py_ssize_t __pyx_temp;
- for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
- __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
- }
- }
- __Pyx_AddTraceback("handlers.payments.gift.delete_gift_handler", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __Pyx_RefNannyFinishContext();
- return NULL;
- __pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_8handlers_8payments_4gift_6delete_gift_handler(__pyx_self, __pyx_v_callback_query, __pyx_v_session);
-
- /* function exit code */
- {
- Py_ssize_t __pyx_temp;
- for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
- __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
- }
- }
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static PyObject *__pyx_pf_8handlers_8payments_4gift_6delete_gift_handler(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_session) {
- struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler *__pyx_cur_scope;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("delete_gift_handler", 0);
- __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler *)__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler, __pyx_empty_tuple, NULL);
- if (unlikely(!__pyx_cur_scope)) {
- __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler *)Py_None);
- __Pyx_INCREF(Py_None);
- __PYX_ERR(0, 103, __pyx_L1_error)
- } else {
- __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
- }
- __pyx_cur_scope->__pyx_v_callback_query = __pyx_v_callback_query;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_callback_query);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_callback_query);
- __pyx_cur_scope->__pyx_v_session = __pyx_v_session;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_session);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_session);
- {
- __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_4gift_8generator2, __pyx_codeobj__13, (PyObject *) __pyx_cur_scope, __pyx_n_s_delete_gift_handler, __pyx_n_s_delete_gift_handler, __pyx_n_s_handlers_payments_gift); if (unlikely(!gen)) __PYX_ERR(0, 103, __pyx_L1_error)
- __Pyx_DECREF(__pyx_cur_scope);
- __Pyx_RefNannyFinishContext();
- return (PyObject *) gen;
- }
-
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_AddTraceback("handlers.payments.gift.delete_gift_handler", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __Pyx_DECREF((PyObject *)__pyx_cur_scope);
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static PyObject *__pyx_gb_8handlers_8payments_4gift_8generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
-{
- struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler *)__pyx_generator->closure);
- PyObject *__pyx_r = NULL;
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- unsigned int __pyx_t_4;
- int __pyx_t_5;
- int __pyx_t_6;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("delete_gift_handler", 0);
- switch (__pyx_generator->resume_label) {
- case 0: goto __pyx_L3_first_run;
- case 1: goto __pyx_L4_resume_from_await;
- case 2: goto __pyx_L6_resume_from_await;
- case 3: goto __pyx_L7_resume_from_await;
- case 4: goto __pyx_L8_resume_from_await;
- case 5: goto __pyx_L9_resume_from_await;
- default: /* CPython raises the right error here */
- __Pyx_RefNannyFinishContext();
- return NULL;
- }
- __pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 103, __pyx_L1_error)
-
- /* "handlers/payments/gift.py":107
- * """ ."""
- *
- * user_tg_id = callback_query.from_user.id # <<<<<<<<<<<<<<
- * gift_id = callback_query.data.split("|")[1]
- *
- */
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_from_user); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 107, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_id); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 107, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_cur_scope->__pyx_v_user_tg_id = __pyx_t_2;
- __pyx_t_2 = 0;
-
- /* "handlers/payments/gift.py":108
- *
- * user_tg_id = callback_query.from_user.id
- * gift_id = callback_query.data.split("|")[1] # <<<<<<<<<<<<<<
- *
- * gift = await session.fetchrow(
- */
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 108, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 108, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = NULL;
- __pyx_t_4 = 0;
- #if CYTHON_UNPACK_METHODS
- if (likely(PyMethod_Check(__pyx_t_3))) {
- __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
- if (likely(__pyx_t_1)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
- __Pyx_INCREF(__pyx_t_1);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_3, function);
- __pyx_t_4 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_kp_u__14};
- __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 108, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- }
- __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 108, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_GIVEREF(__pyx_t_3);
- __pyx_cur_scope->__pyx_v_gift_id = __pyx_t_3;
- __pyx_t_3 = 0;
-
- /* "handlers/payments/gift.py":110
- * gift_id = callback_query.data.split("|")[1]
- *
- * gift = await session.fetchrow( # <<<<<<<<<<<<<<
- * """
- * SELECT gift_id FROM gifts WHERE gift_id = $1 AND sender_tg_id = $2
- */
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_session, __pyx_n_s_fetchrow); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 110, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
-
- /* "handlers/payments/gift.py":115
- * """,
- * gift_id,
- * user_tg_id, # <<<<<<<<<<<<<<
- * )
- *
- */
- __pyx_t_1 = NULL;
- __pyx_t_4 = 0;
- #if CYTHON_UNPACK_METHODS
- if (likely(PyMethod_Check(__pyx_t_2))) {
- __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
- if (likely(__pyx_t_1)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
- __Pyx_INCREF(__pyx_t_1);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_2, function);
- __pyx_t_4 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[4] = {__pyx_t_1, __pyx_kp_u_SELECT_gift_id_FROM_gifts_WHERE, __pyx_cur_scope->__pyx_v_gift_id, __pyx_cur_scope->__pyx_v_user_tg_id};
- __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 3+__pyx_t_4);
- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 110, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- }
- __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_3);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_XGOTREF(__pyx_r);
- if (likely(__pyx_r)) {
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
- /* return from generator, awaiting value */
- __pyx_generator->resume_label = 1;
- return __pyx_r;
- __pyx_L4_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 110, __pyx_L1_error)
- __pyx_t_3 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_3);
- } else {
- __pyx_t_3 = NULL;
- if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_3) < 0) __PYX_ERR(0, 110, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- }
- __Pyx_GIVEREF(__pyx_t_3);
- __pyx_cur_scope->__pyx_v_gift = __pyx_t_3;
- __pyx_t_3 = 0;
-
- /* "handlers/payments/gift.py":118
- * )
- *
- * if not gift: # <<<<<<<<<<<<<<
- * await callback_query.answer(" .", show_alert=True)
- * return
- */
- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_gift); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 118, __pyx_L1_error)
- __pyx_t_6 = (!__pyx_t_5);
- if (__pyx_t_6) {
-
- /* "handlers/payments/gift.py":119
- *
- * if not gift:
- * await callback_query.answer(" .", show_alert=True) # <<<<<<<<<<<<<<
- * return
- *
- */
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_answer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 119, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 119, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_show_alert, Py_True) < 0) __PYX_ERR(0, 119, __pyx_L1_error)
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__16, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 119, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_XGOTREF(__pyx_r);
- if (likely(__pyx_r)) {
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
- /* return from generator, awaiting value */
- __pyx_generator->resume_label = 2;
- return __pyx_r;
- __pyx_L6_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 119, __pyx_L1_error)
- } else {
- PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 119, __pyx_L1_error)
- }
- }
-
- /* "handlers/payments/gift.py":120
- * if not gift:
- * await callback_query.answer(" .", show_alert=True)
- * return # <<<<<<<<<<<<<<
- *
- * await session.execute(
- */
- __Pyx_XDECREF(__pyx_r);
- __pyx_r = NULL;
- goto __pyx_L0;
-
- /* "handlers/payments/gift.py":118
- * )
- *
- * if not gift: # <<<<<<<<<<<<<<
- * await callback_query.answer(" .", show_alert=True)
- * return
- */
- }
-
- /* "handlers/payments/gift.py":122
- * return
- *
- * await session.execute( # <<<<<<<<<<<<<<
- * """
- * DELETE FROM gifts WHERE gift_id = $1
- */
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_session, __pyx_n_s_execute); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 122, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
-
- /* "handlers/payments/gift.py":126
- * DELETE FROM gifts WHERE gift_id = $1
- * """,
- * gift_id, # <<<<<<<<<<<<<<
- * )
- *
- */
- __pyx_t_3 = NULL;
- __pyx_t_4 = 0;
- #if CYTHON_UNPACK_METHODS
- if (likely(PyMethod_Check(__pyx_t_2))) {
- __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
- if (likely(__pyx_t_3)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
- __Pyx_INCREF(__pyx_t_3);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_2, function);
- __pyx_t_4 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_kp_u_DELETE_FROM_gifts_WHERE_gift_id, __pyx_cur_scope->__pyx_v_gift_id};
- __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4);
- __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 122, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- }
- __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_XGOTREF(__pyx_r);
- if (likely(__pyx_r)) {
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
- /* return from generator, awaiting value */
- __pyx_generator->resume_label = 3;
- return __pyx_r;
- __pyx_L7_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 122, __pyx_L1_error)
- } else {
- PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 122, __pyx_L1_error)
- }
- }
-
- /* "handlers/payments/gift.py":129
- * )
- *
- * await callback_query.answer(" .", show_alert=True) # <<<<<<<<<<<<<<
- *
- * await my_gifts_handler(callback_query, session)
- */
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_answer); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 129, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 129, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_show_alert, Py_True) < 0) __PYX_ERR(0, 129, __pyx_L1_error)
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__18, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 129, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_3);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_XGOTREF(__pyx_r);
- if (likely(__pyx_r)) {
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
- /* return from generator, awaiting value */
- __pyx_generator->resume_label = 4;
- return __pyx_r;
- __pyx_L8_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 129, __pyx_L1_error)
- } else {
- PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 129, __pyx_L1_error)
- }
- }
-
- /* "handlers/payments/gift.py":131
- * await callback_query.answer(" .", show_alert=True)
- *
- * await my_gifts_handler(callback_query, session) # <<<<<<<<<<<<<<
- *
- *
- */
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_my_gifts_handler); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 131, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = NULL;
- __pyx_t_4 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_2))) {
- __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
- if (likely(__pyx_t_1)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
- __Pyx_INCREF(__pyx_t_1);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_2, function);
- __pyx_t_4 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_cur_scope->__pyx_v_callback_query, __pyx_cur_scope->__pyx_v_session};
- __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4);
- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 131, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- }
- __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_3);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_XGOTREF(__pyx_r);
- if (likely(__pyx_r)) {
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
- /* return from generator, awaiting value */
- __pyx_generator->resume_label = 5;
- return __pyx_r;
- __pyx_L9_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 131, __pyx_L1_error)
- } else {
- PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 131, __pyx_L1_error)
- }
- }
- CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
-
- /* "handlers/payments/gift.py":103
- *
- *
- * @router.callback_query(F.data.startswith("delete_gift")) # <<<<<<<<<<<<<<
- * async def delete_gift_handler(callback_query: types.CallbackQuery, session: Any):
- * """ ."""
- */
-
- /* function exit code */
- PyErr_SetNone(PyExc_StopIteration);
- goto __pyx_L0;
- __pyx_L1_error:;
- __Pyx_Generator_Replace_StopIteration(0);
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_AddTraceback("delete_gift_handler", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_L0:;
- __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
- #if !CYTHON_USE_EXC_INFO_STACK
- __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
- #endif
- __pyx_generator->resume_label = -1;
- __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-static PyObject *__pyx_gb_8handlers_8payments_4gift_11generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-
-/* "handlers/payments/gift.py":138
+/* "handlers/payments/gift.py":83
*
*
* @router.callback_query(F.data == "gift") # <<<<<<<<<<<<<<
@@ -6146,16 +5381,16 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_11generator3(__pyx_Coroutine
*/
/* Python wrapper */
-static PyObject *__pyx_pw_8handlers_8payments_4gift_10gift_subscription_handler(PyObject *__pyx_self,
+static PyObject *__pyx_pw_8handlers_8payments_4gift_7gift_subscription_handler(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
-PyDoc_STRVAR(__pyx_doc_8handlers_8payments_4gift_9gift_subscription_handler, "\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272 \320\264\320\273\321\217 \320\272\320\275\320\276\320\277\320\272\320\270 '\320\237\320\276\320\264\320\260\321\200\320\270\321\202\321\214'. \320\237\320\276\320\272\320\260\320\267\321\213\320\262\320\260\320\265\321\202 \320\262\320\260\321\200\320\270\320\260\320\275\321\202\321\213 \320\277\320\276\320\264\320\277\320\270\321\201\320\276\320\272.");
-static PyMethodDef __pyx_mdef_8handlers_8payments_4gift_10gift_subscription_handler = {"gift_subscription_handler", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_4gift_10gift_subscription_handler, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8handlers_8payments_4gift_9gift_subscription_handler};
-static PyObject *__pyx_pw_8handlers_8payments_4gift_10gift_subscription_handler(PyObject *__pyx_self,
+PyDoc_STRVAR(__pyx_doc_8handlers_8payments_4gift_6gift_subscription_handler, "\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272 \320\264\320\273\321\217 \320\272\320\275\320\276\320\277\320\272\320\270 '\320\237\320\276\320\264\320\260\321\200\320\270\321\202\321\214'. \320\237\320\276\320\272\320\260\320\267\321\213\320\262\320\260\320\265\321\202 \320\262\320\260\321\200\320\270\320\260\320\275\321\202\321\213 \320\277\320\276\320\264\320\277\320\270\321\201\320\276\320\272.");
+static PyMethodDef __pyx_mdef_8handlers_8payments_4gift_7gift_subscription_handler = {"gift_subscription_handler", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_4gift_7gift_subscription_handler, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8handlers_8payments_4gift_6gift_subscription_handler};
+static PyObject *__pyx_pw_8handlers_8payments_4gift_7gift_subscription_handler(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
@@ -6199,12 +5434,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
(void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
kw_args--;
}
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 138, __pyx_L3_error)
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 83, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "gift_subscription_handler") < 0)) __PYX_ERR(0, 138, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "gift_subscription_handler") < 0)) __PYX_ERR(0, 83, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
@@ -6215,7 +5450,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("gift_subscription_handler", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 138, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("gift_subscription_handler", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 83, __pyx_L3_error)
__pyx_L6_skip:;
goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
@@ -6229,7 +5464,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_8handlers_8payments_4gift_9gift_subscription_handler(__pyx_self, __pyx_v_callback_query);
+ __pyx_r = __pyx_pf_8handlers_8payments_4gift_6gift_subscription_handler(__pyx_self, __pyx_v_callback_query);
/* function exit code */
{
@@ -6242,19 +5477,19 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
return __pyx_r;
}
-static PyObject *__pyx_pf_8handlers_8payments_4gift_9gift_subscription_handler(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query) {
- struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler *__pyx_cur_scope;
+static PyObject *__pyx_pf_8handlers_8payments_4gift_6gift_subscription_handler(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query) {
+ struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler *__pyx_cur_scope;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("gift_subscription_handler", 0);
- __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler *)__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler, __pyx_empty_tuple, NULL);
+ __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler *)__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler, __pyx_empty_tuple, NULL);
if (unlikely(!__pyx_cur_scope)) {
- __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler *)Py_None);
+ __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(0, 138, __pyx_L1_error)
+ __PYX_ERR(0, 83, __pyx_L1_error)
} else {
__Pyx_GOTREF((PyObject *)__pyx_cur_scope);
}
@@ -6262,7 +5497,7 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_9gift_subscription_handler(C
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_callback_query);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_callback_query);
{
- __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_4gift_11generator3, __pyx_codeobj__19, (PyObject *) __pyx_cur_scope, __pyx_n_s_gift_subscription_handler, __pyx_n_s_gift_subscription_handler, __pyx_n_s_handlers_payments_gift); if (unlikely(!gen)) __PYX_ERR(0, 138, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_4gift_8generator2, __pyx_codeobj__17, (PyObject *) __pyx_cur_scope, __pyx_n_s_gift_subscription_handler, __pyx_n_s_gift_subscription_handler, __pyx_n_s_handlers_payments_gift); if (unlikely(!gen)) __PYX_ERR(0, 83, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -6278,9 +5513,9 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_9gift_subscription_handler(C
return __pyx_r;
}
-static PyObject *__pyx_gb_8handlers_8payments_4gift_11generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
+static PyObject *__pyx_gb_8handlers_8payments_4gift_8generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
- struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler *)__pyx_generator->closure);
+ struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler *)__pyx_generator->closure);
PyObject *__pyx_r = NULL;
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
@@ -6314,16 +5549,16 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_11generator3(__pyx_Coroutine
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 138, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 83, __pyx_L1_error)
- /* "handlers/payments/gift.py":141
+ /* "handlers/payments/gift.py":86
* async def gift_subscription_handler(callback_query: types.CallbackQuery):
* """ ''. ."""
* builder = InlineKeyboardBuilder() # <<<<<<<<<<<<<<
*
* for months, price in RENEWAL_PRICES.items():
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 141, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 86, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
@@ -6343,7 +5578,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_11generator3(__pyx_Coroutine
PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 141, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 86, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
@@ -6351,7 +5586,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_11generator3(__pyx_Coroutine
__pyx_cur_scope->__pyx_v_builder = __pyx_t_1;
__pyx_t_1 = 0;
- /* "handlers/payments/gift.py":143
+ /* "handlers/payments/gift.py":88
* builder = InlineKeyboardBuilder()
*
* for months, price in RENEWAL_PRICES.items(): # <<<<<<<<<<<<<<
@@ -6359,13 +5594,13 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_11generator3(__pyx_Coroutine
* types.InlineKeyboardButton(
*/
__pyx_t_5 = 0;
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_RENEWAL_PRICES); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 143, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_RENEWAL_PRICES); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 88, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (unlikely(__pyx_t_2 == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
- __PYX_ERR(0, 143, __pyx_L1_error)
+ __PYX_ERR(0, 88, __pyx_L1_error)
}
- __pyx_t_3 = __Pyx_dict_iterator(__pyx_t_2, 0, __pyx_n_s_items, (&__pyx_t_6), (&__pyx_t_7)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 143, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_dict_iterator(__pyx_t_2, 0, __pyx_n_s_items, (&__pyx_t_6), (&__pyx_t_7)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 88, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_XDECREF(__pyx_t_1);
@@ -6374,7 +5609,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_11generator3(__pyx_Coroutine
while (1) {
__pyx_t_8 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_6, &__pyx_t_5, &__pyx_t_3, &__pyx_t_2, NULL, __pyx_t_7);
if (unlikely(__pyx_t_8 == 0)) break;
- if (unlikely(__pyx_t_8 == -1)) __PYX_ERR(0, 143, __pyx_L1_error)
+ if (unlikely(__pyx_t_8 == -1)) __PYX_ERR(0, 88, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GOTREF(__pyx_t_2);
__Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_months);
@@ -6386,93 +5621,93 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_11generator3(__pyx_Coroutine
__Pyx_GIVEREF(__pyx_t_2);
__pyx_t_2 = 0;
- /* "handlers/payments/gift.py":144
+ /* "handlers/payments/gift.py":89
*
* for months, price in RENEWAL_PRICES.items():
* builder.row( # <<<<<<<<<<<<<<
* types.InlineKeyboardButton(
* text=f"\ud83c\udf81 {months} {'' if months == '1' else '' if int(months) in [2, 3, 4] else ''} {price} ",
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 144, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 89, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- /* "handlers/payments/gift.py":145
+ /* "handlers/payments/gift.py":90
* for months, price in RENEWAL_PRICES.items():
* builder.row(
* types.InlineKeyboardButton( # <<<<<<<<<<<<<<
* text=f"\ud83c\udf81 {months} {'' if months == '1' else '' if int(months) in [2, 3, 4] else ''} {price} ",
* callback_data=f"gift|{months}",
*/
- __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_types); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 145, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_types); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 90, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 145, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 90, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "handlers/payments/gift.py":146
+ /* "handlers/payments/gift.py":91
* builder.row(
* types.InlineKeyboardButton(
* text=f"\ud83c\udf81 {months} {'' if months == '1' else '' if int(months) in [2, 3, 4] else ''} {price} ", # <<<<<<<<<<<<<<
* callback_data=f"gift|{months}",
* )
*/
- __pyx_t_9 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 146, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 91, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- __pyx_t_11 = PyTuple_New(7); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 146, __pyx_L1_error)
+ __pyx_t_11 = PyTuple_New(7); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 91, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__pyx_t_12 = 0;
__pyx_t_13 = 127;
- __Pyx_INCREF(__pyx_ustring__20);
- __pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_ustring__20) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_ustring__20) : __pyx_t_13;
- __pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_ustring__20);
- __Pyx_GIVEREF(__pyx_ustring__20);
- PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_ustring__20);
- __pyx_t_14 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_months, __pyx_empty_unicode); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 146, __pyx_L1_error)
+ __Pyx_INCREF(__pyx_ustring__18);
+ __pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_ustring__18) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_ustring__18) : __pyx_t_13;
+ __pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_ustring__18);
+ __Pyx_GIVEREF(__pyx_ustring__18);
+ PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_ustring__18);
+ __pyx_t_14 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_months, __pyx_empty_unicode); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 91, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
__pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_14) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_14) : __pyx_t_13;
__pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_14);
__Pyx_GIVEREF(__pyx_t_14);
PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_14);
__pyx_t_14 = 0;
- __Pyx_INCREF(__pyx_kp_u__21);
+ __Pyx_INCREF(__pyx_kp_u__9);
__pyx_t_12 += 1;
- __Pyx_GIVEREF(__pyx_kp_u__21);
- PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_kp_u__21);
- __pyx_t_15 = (__Pyx_PyUnicode_Equals(__pyx_cur_scope->__pyx_v_months, __pyx_kp_u_1, Py_EQ)); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 146, __pyx_L1_error)
+ __Pyx_GIVEREF(__pyx_kp_u__9);
+ PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_kp_u__9);
+ __pyx_t_15 = (__Pyx_PyUnicode_Equals(__pyx_cur_scope->__pyx_v_months, __pyx_kp_u_1, Py_EQ)); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 91, __pyx_L1_error)
if (__pyx_t_15) {
- __Pyx_INCREF(__pyx_n_u__5);
- __pyx_t_14 = __pyx_n_u__5;
+ __Pyx_INCREF(__pyx_n_u__10);
+ __pyx_t_14 = __pyx_n_u__10;
} else {
- __pyx_t_17 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_months); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 146, __pyx_L1_error)
+ __pyx_t_17 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_months); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 91, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_17);
- __pyx_t_19 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_17, __pyx_int_2, 2, 0)); if (unlikely((__pyx_t_19 < 0))) __PYX_ERR(0, 146, __pyx_L1_error)
+ __pyx_t_19 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_17, __pyx_int_2, 2, 0)); if (unlikely((__pyx_t_19 < 0))) __PYX_ERR(0, 91, __pyx_L1_error)
if (!__pyx_t_19) {
} else {
__pyx_t_18 = __pyx_t_19;
goto __pyx_L6_bool_binop_done;
}
- __pyx_t_19 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_17, __pyx_int_3, 3, 0)); if (unlikely((__pyx_t_19 < 0))) __PYX_ERR(0, 146, __pyx_L1_error)
+ __pyx_t_19 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_17, __pyx_int_3, 3, 0)); if (unlikely((__pyx_t_19 < 0))) __PYX_ERR(0, 91, __pyx_L1_error)
if (!__pyx_t_19) {
} else {
__pyx_t_18 = __pyx_t_19;
goto __pyx_L6_bool_binop_done;
}
- __pyx_t_19 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_17, __pyx_int_4, 4, 0)); if (unlikely((__pyx_t_19 < 0))) __PYX_ERR(0, 146, __pyx_L1_error)
+ __pyx_t_19 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_17, __pyx_int_4, 4, 0)); if (unlikely((__pyx_t_19 < 0))) __PYX_ERR(0, 91, __pyx_L1_error)
__pyx_t_18 = __pyx_t_19;
__pyx_L6_bool_binop_done:;
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
__pyx_t_19 = __pyx_t_18;
if (__pyx_t_19) {
- __Pyx_INCREF(__pyx_n_u__6);
- __pyx_t_16 = __pyx_n_u__6;
+ __Pyx_INCREF(__pyx_n_u__11);
+ __pyx_t_16 = __pyx_n_u__11;
} else {
- __Pyx_INCREF(__pyx_n_u__7);
- __pyx_t_16 = __pyx_n_u__7;
+ __Pyx_INCREF(__pyx_n_u__12);
+ __pyx_t_16 = __pyx_n_u__12;
}
__pyx_t_14 = __pyx_t_16;
__pyx_t_16 = 0;
}
- __pyx_t_16 = __Pyx_PyUnicode_Unicode(__pyx_t_14); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 146, __pyx_L1_error)
+ __pyx_t_16 = __Pyx_PyUnicode_Unicode(__pyx_t_14); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 91, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16);
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
__pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_16) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_16) : __pyx_t_13;
@@ -6480,52 +5715,52 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_11generator3(__pyx_Coroutine
__Pyx_GIVEREF(__pyx_t_16);
PyTuple_SET_ITEM(__pyx_t_11, 3, __pyx_t_16);
__pyx_t_16 = 0;
- __Pyx_INCREF(__pyx_kp_u__22);
+ __Pyx_INCREF(__pyx_kp_u__19);
__pyx_t_13 = (65535 > __pyx_t_13) ? 65535 : __pyx_t_13;
__pyx_t_12 += 4;
- __Pyx_GIVEREF(__pyx_kp_u__22);
- PyTuple_SET_ITEM(__pyx_t_11, 4, __pyx_kp_u__22);
- __pyx_t_16 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_price, __pyx_empty_unicode); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 146, __pyx_L1_error)
+ __Pyx_GIVEREF(__pyx_kp_u__19);
+ PyTuple_SET_ITEM(__pyx_t_11, 4, __pyx_kp_u__19);
+ __pyx_t_16 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_price, __pyx_empty_unicode); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 91, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16);
__pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_16) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_16) : __pyx_t_13;
__pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_16);
__Pyx_GIVEREF(__pyx_t_16);
PyTuple_SET_ITEM(__pyx_t_11, 5, __pyx_t_16);
__pyx_t_16 = 0;
- __Pyx_INCREF(__pyx_kp_u__23);
+ __Pyx_INCREF(__pyx_kp_u__20);
__pyx_t_13 = (65535 > __pyx_t_13) ? 65535 : __pyx_t_13;
__pyx_t_12 += 7;
- __Pyx_GIVEREF(__pyx_kp_u__23);
- PyTuple_SET_ITEM(__pyx_t_11, 6, __pyx_kp_u__23);
- __pyx_t_16 = __Pyx_PyUnicode_Join(__pyx_t_11, 7, __pyx_t_12, __pyx_t_13); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 146, __pyx_L1_error)
+ __Pyx_GIVEREF(__pyx_kp_u__20);
+ PyTuple_SET_ITEM(__pyx_t_11, 6, __pyx_kp_u__20);
+ __pyx_t_16 = __Pyx_PyUnicode_Join(__pyx_t_11, 7, __pyx_t_12, __pyx_t_13); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 91, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
- if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_text, __pyx_t_16) < 0) __PYX_ERR(0, 146, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_text, __pyx_t_16) < 0) __PYX_ERR(0, 91, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
- /* "handlers/payments/gift.py":147
+ /* "handlers/payments/gift.py":92
* types.InlineKeyboardButton(
* text=f"\ud83c\udf81 {months} {'' if months == '1' else '' if int(months) in [2, 3, 4] else ''} {price} ",
* callback_data=f"gift|{months}", # <<<<<<<<<<<<<<
* )
* )
*/
- __pyx_t_16 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_months, __pyx_empty_unicode); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 147, __pyx_L1_error)
+ __pyx_t_16 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_months, __pyx_empty_unicode); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 92, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16);
- __pyx_t_11 = __Pyx_PyUnicode_Concat(__pyx_kp_u_gift_2, __pyx_t_16); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 147, __pyx_L1_error)
+ __pyx_t_11 = __Pyx_PyUnicode_Concat(__pyx_kp_u_gift_2, __pyx_t_16); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 92, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
- if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_callback_data, __pyx_t_11) < 0) __PYX_ERR(0, 146, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_callback_data, __pyx_t_11) < 0) __PYX_ERR(0, 91, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
- /* "handlers/payments/gift.py":145
+ /* "handlers/payments/gift.py":90
* for months, price in RENEWAL_PRICES.items():
* builder.row(
* types.InlineKeyboardButton( # <<<<<<<<<<<<<<
* text=f"\ud83c\udf81 {months} {'' if months == '1' else '' if int(months) in [2, 3, 4] else ''} {price} ",
* callback_data=f"gift|{months}",
*/
- __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_empty_tuple, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 145, __pyx_L1_error)
+ __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_empty_tuple, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 90, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
@@ -6548,7 +5783,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_11generator3(__pyx_Coroutine
__pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 144, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 89, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
@@ -6556,25 +5791,25 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_11generator3(__pyx_Coroutine
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "handlers/payments/gift.py":151
+ /* "handlers/payments/gift.py":96
* )
*
* builder.row(types.InlineKeyboardButton(text=" ", callback_data="profile")) # <<<<<<<<<<<<<<
*
* await callback_query.message.answer(
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 151, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 96, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_types); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 151, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_types); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 96, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 151, __pyx_L1_error)
+ __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 96, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 151, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 96, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_kp_u__24) < 0) __PYX_ERR(0, 151, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_data, __pyx_n_u_profile) < 0) __PYX_ERR(0, 151, __pyx_L1_error)
- __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 151, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_kp_u__21) < 0) __PYX_ERR(0, 96, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_data, __pyx_n_u_profile) < 0) __PYX_ERR(0, 96, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 96, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -6597,36 +5832,36 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_11generator3(__pyx_Coroutine
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 151, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "handlers/payments/gift.py":153
+ /* "handlers/payments/gift.py":98
* builder.row(types.InlineKeyboardButton(text=" ", callback_data="profile"))
*
* await callback_query.message.answer( # <<<<<<<<<<<<<<
* text=" :", reply_markup=builder.as_markup()
* )
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 153, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 98, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_answer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 153, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_answer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 98, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "handlers/payments/gift.py":154
+ /* "handlers/payments/gift.py":99
*
* await callback_query.message.answer(
* text=" :", reply_markup=builder.as_markup() # <<<<<<<<<<<<<<
* )
*
*/
- __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 154, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 99, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_text, __pyx_kp_u_b_b_3) < 0) __PYX_ERR(0, 154, __pyx_L1_error)
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 154, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_text, __pyx_kp_u_b_b_3) < 0) __PYX_ERR(0, 99, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 99, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_11 = NULL;
__pyx_t_4 = 0;
@@ -6646,21 +5881,21 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_11generator3(__pyx_Coroutine
PyObject *__pyx_callargs[2] = {__pyx_t_11, NULL};
__pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
- if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 154, __pyx_L1_error)
+ if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 99, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_reply_markup, __pyx_t_9) < 0) __PYX_ERR(0, 154, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_reply_markup, __pyx_t_9) < 0) __PYX_ERR(0, 99, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "handlers/payments/gift.py":153
+ /* "handlers/payments/gift.py":98
* builder.row(types.InlineKeyboardButton(text=" ", callback_data="profile"))
*
* await callback_query.message.answer( # <<<<<<<<<<<<<<
* text=" :", reply_markup=builder.as_markup()
* )
*/
- __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 153, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 98, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -6675,17 +5910,17 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_11generator3(__pyx_Coroutine
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L9_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 153, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 98, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 153, __pyx_L1_error)
+ else __PYX_ERR(0, 98, __pyx_L1_error)
}
}
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "handlers/payments/gift.py":138
+ /* "handlers/payments/gift.py":83
*
*
* @router.callback_query(F.data == "gift") # <<<<<<<<<<<<<<
@@ -6718,9 +5953,9 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_11generator3(__pyx_Coroutine
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_gb_8handlers_8payments_4gift_14generator4(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
+static PyObject *__pyx_gb_8handlers_8payments_4gift_11generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "handlers/payments/gift.py":158
+/* "handlers/payments/gift.py":103
*
*
* @router.callback_query(F.data.startswith("gift|")) # <<<<<<<<<<<<<<
@@ -6729,16 +5964,16 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_14generator4(__pyx_Coroutine
*/
/* Python wrapper */
-static PyObject *__pyx_pw_8handlers_8payments_4gift_13confirm_gift_handler(PyObject *__pyx_self,
+static PyObject *__pyx_pw_8handlers_8payments_4gift_10confirm_gift_handler(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
-PyDoc_STRVAR(__pyx_doc_8handlers_8payments_4gift_12confirm_gift_handler, "\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272 \320\264\320\273\321\217 \320\262\321\213\320\261\320\276\321\200\320\260 \321\201\321\200\320\276\320\272\320\260 \320\277\320\276\320\264\320\277\320\270\321\201\320\272\320\270.");
-static PyMethodDef __pyx_mdef_8handlers_8payments_4gift_13confirm_gift_handler = {"confirm_gift_handler", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_4gift_13confirm_gift_handler, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8handlers_8payments_4gift_12confirm_gift_handler};
-static PyObject *__pyx_pw_8handlers_8payments_4gift_13confirm_gift_handler(PyObject *__pyx_self,
+PyDoc_STRVAR(__pyx_doc_8handlers_8payments_4gift_9confirm_gift_handler, "\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272 \320\264\320\273\321\217 \320\262\321\213\320\261\320\276\321\200\320\260 \321\201\321\200\320\276\320\272\320\260 \320\277\320\276\320\264\320\277\320\270\321\201\320\272\320\270.");
+static PyMethodDef __pyx_mdef_8handlers_8payments_4gift_10confirm_gift_handler = {"confirm_gift_handler", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_4gift_10confirm_gift_handler, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8handlers_8payments_4gift_9confirm_gift_handler};
+static PyObject *__pyx_pw_8handlers_8payments_4gift_10confirm_gift_handler(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
@@ -6785,7 +6020,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
(void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
kw_args--;
}
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 158, __pyx_L3_error)
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 103, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
@@ -6793,14 +6028,14 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
(void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
kw_args--;
}
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 158, __pyx_L3_error)
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 103, __pyx_L3_error)
else {
- __Pyx_RaiseArgtupleInvalid("confirm_gift_handler", 1, 2, 2, 1); __PYX_ERR(0, 158, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("confirm_gift_handler", 1, 2, 2, 1); __PYX_ERR(0, 103, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "confirm_gift_handler") < 0)) __PYX_ERR(0, 158, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "confirm_gift_handler") < 0)) __PYX_ERR(0, 103, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
@@ -6813,7 +6048,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("confirm_gift_handler", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 158, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("confirm_gift_handler", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 103, __pyx_L3_error)
__pyx_L6_skip:;
goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
@@ -6827,7 +6062,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_8handlers_8payments_4gift_12confirm_gift_handler(__pyx_self, __pyx_v_callback_query, __pyx_v_session);
+ __pyx_r = __pyx_pf_8handlers_8payments_4gift_9confirm_gift_handler(__pyx_self, __pyx_v_callback_query, __pyx_v_session);
/* function exit code */
{
@@ -6840,19 +6075,19 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
return __pyx_r;
}
-static PyObject *__pyx_pf_8handlers_8payments_4gift_12confirm_gift_handler(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, CYTHON_UNUSED PyObject *__pyx_v_session) {
- struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler *__pyx_cur_scope;
+static PyObject *__pyx_pf_8handlers_8payments_4gift_9confirm_gift_handler(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, CYTHON_UNUSED PyObject *__pyx_v_session) {
+ struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler *__pyx_cur_scope;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("confirm_gift_handler", 0);
- __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler *)__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler, __pyx_empty_tuple, NULL);
+ __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler *)__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler, __pyx_empty_tuple, NULL);
if (unlikely(!__pyx_cur_scope)) {
- __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler *)Py_None);
+ __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(0, 158, __pyx_L1_error)
+ __PYX_ERR(0, 103, __pyx_L1_error)
} else {
__Pyx_GOTREF((PyObject *)__pyx_cur_scope);
}
@@ -6863,7 +6098,7 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_12confirm_gift_handler(CYTHO
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_session);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_session);
{
- __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_4gift_14generator4, __pyx_codeobj__25, (PyObject *) __pyx_cur_scope, __pyx_n_s_confirm_gift_handler, __pyx_n_s_confirm_gift_handler, __pyx_n_s_handlers_payments_gift); if (unlikely(!gen)) __PYX_ERR(0, 158, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_4gift_11generator3, __pyx_codeobj__22, (PyObject *) __pyx_cur_scope, __pyx_n_s_confirm_gift_handler, __pyx_n_s_confirm_gift_handler, __pyx_n_s_handlers_payments_gift); if (unlikely(!gen)) __PYX_ERR(0, 103, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -6879,9 +6114,9 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_12confirm_gift_handler(CYTHO
return __pyx_r;
}
-static PyObject *__pyx_gb_8handlers_8payments_4gift_14generator4(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
+static PyObject *__pyx_gb_8handlers_8payments_4gift_11generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
- struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler *)__pyx_generator->closure);
+ struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler *)__pyx_generator->closure);
PyObject *__pyx_r = NULL;
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
@@ -6911,18 +6146,18 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_14generator4(__pyx_Coroutine
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 158, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 103, __pyx_L1_error)
- /* "handlers/payments/gift.py":161
+ /* "handlers/payments/gift.py":106
* async def confirm_gift_handler(callback_query: types.CallbackQuery, session: Any):
* """ ."""
* selected_months = callback_query.data.split("|")[1] # <<<<<<<<<<<<<<
* price = RENEWAL_PRICES.get(selected_months, None)
* user_tg_id = callback_query.from_user.id
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 161, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 106, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 161, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 106, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -6940,30 +6175,30 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_14generator4(__pyx_Coroutine
}
#endif
{
- PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_kp_u__14};
+ PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_kp_u__23};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 161, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 106, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
- __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_1, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 161, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_1, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 106, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GIVEREF(__pyx_t_3);
__pyx_cur_scope->__pyx_v_selected_months = __pyx_t_3;
__pyx_t_3 = 0;
- /* "handlers/payments/gift.py":162
+ /* "handlers/payments/gift.py":107
* """ ."""
* selected_months = callback_query.data.split("|")[1]
* price = RENEWAL_PRICES.get(selected_months, None) # <<<<<<<<<<<<<<
* user_tg_id = callback_query.from_user.id
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_RENEWAL_PRICES); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 162, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_RENEWAL_PRICES); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 107, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 162, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 107, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = NULL;
@@ -6984,7 +6219,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_14generator4(__pyx_Coroutine
PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_cur_scope->__pyx_v_selected_months, Py_None};
__pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 162, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 107, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
@@ -6992,46 +6227,46 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_14generator4(__pyx_Coroutine
__pyx_cur_scope->__pyx_v_price = __pyx_t_3;
__pyx_t_3 = 0;
- /* "handlers/payments/gift.py":163
+ /* "handlers/payments/gift.py":108
* selected_months = callback_query.data.split("|")[1]
* price = RENEWAL_PRICES.get(selected_months, None)
* user_tg_id = callback_query.from_user.id # <<<<<<<<<<<<<<
*
* if not price:
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_from_user); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 163, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_from_user); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 108, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_id); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 163, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_id); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 108, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GIVEREF(__pyx_t_2);
__pyx_cur_scope->__pyx_v_user_tg_id = __pyx_t_2;
__pyx_t_2 = 0;
- /* "handlers/payments/gift.py":165
+ /* "handlers/payments/gift.py":110
* user_tg_id = callback_query.from_user.id
*
* if not price: # <<<<<<<<<<<<<<
* await callback_query.answer(" . .", show_alert=True)
* return
*/
- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_price); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 165, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_price); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 110, __pyx_L1_error)
__pyx_t_6 = (!__pyx_t_5);
if (__pyx_t_6) {
- /* "handlers/payments/gift.py":166
+ /* "handlers/payments/gift.py":111
*
* if not price:
* await callback_query.answer(" . .", show_alert=True) # <<<<<<<<<<<<<<
* return
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_answer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 166, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_answer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 111, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 166, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 111, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_show_alert, Py_True) < 0) __PYX_ERR(0, 166, __pyx_L1_error)
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__27, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 166, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_show_alert, Py_True) < 0) __PYX_ERR(0, 111, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__25, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 111, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -7046,16 +6281,16 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_14generator4(__pyx_Coroutine
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L5_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 166, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 111, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 166, __pyx_L1_error)
+ else __PYX_ERR(0, 111, __pyx_L1_error)
}
}
- /* "handlers/payments/gift.py":167
+ /* "handlers/payments/gift.py":112
* if not price:
* await callback_query.answer(" . .", show_alert=True)
* return # <<<<<<<<<<<<<<
@@ -7066,7 +6301,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_14generator4(__pyx_Coroutine
__pyx_r = NULL;
goto __pyx_L0;
- /* "handlers/payments/gift.py":165
+ /* "handlers/payments/gift.py":110
* user_tg_id = callback_query.from_user.id
*
* if not price: # <<<<<<<<<<<<<<
@@ -7075,14 +6310,14 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_14generator4(__pyx_Coroutine
*/
}
- /* "handlers/payments/gift.py":169
+ /* "handlers/payments/gift.py":114
* return
*
* balance = await get_balance(user_tg_id) # <<<<<<<<<<<<<<
*
* if balance < price:
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_get_balance); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 169, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_get_balance); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 114, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_2 = NULL;
__pyx_t_4 = 0;
@@ -7102,7 +6337,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_14generator4(__pyx_Coroutine
PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_cur_scope->__pyx_v_user_tg_id};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 169, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 114, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
@@ -7117,37 +6352,37 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_14generator4(__pyx_Coroutine
__pyx_generator->resume_label = 2;
return __pyx_r;
__pyx_L6_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 169, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 114, __pyx_L1_error)
__pyx_t_1 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_1);
} else {
__pyx_t_1 = NULL;
- if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_1) < 0) __PYX_ERR(0, 169, __pyx_L1_error)
+ if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_1) < 0) __PYX_ERR(0, 114, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
}
__Pyx_GIVEREF(__pyx_t_1);
__pyx_cur_scope->__pyx_v_balance = __pyx_t_1;
__pyx_t_1 = 0;
- /* "handlers/payments/gift.py":171
+ /* "handlers/payments/gift.py":116
* balance = await get_balance(user_tg_id)
*
* if balance < price: # <<<<<<<<<<<<<<
* builder = InlineKeyboardBuilder()
* builder.row(types.InlineKeyboardButton(text=" ", callback_data="profile"))
*/
- __pyx_t_1 = PyObject_RichCompare(__pyx_cur_scope->__pyx_v_balance, __pyx_cur_scope->__pyx_v_price, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 171, __pyx_L1_error)
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 171, __pyx_L1_error)
+ __pyx_t_1 = PyObject_RichCompare(__pyx_cur_scope->__pyx_v_balance, __pyx_cur_scope->__pyx_v_price, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 116, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 116, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_6) {
- /* "handlers/payments/gift.py":172
+ /* "handlers/payments/gift.py":117
*
* if balance < price:
* builder = InlineKeyboardBuilder() # <<<<<<<<<<<<<<
* builder.row(types.InlineKeyboardButton(text=" ", callback_data="profile"))
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 172, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 117, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_2 = NULL;
__pyx_t_4 = 0;
@@ -7167,7 +6402,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_14generator4(__pyx_Coroutine
PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 172, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 117, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
@@ -7175,25 +6410,25 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_14generator4(__pyx_Coroutine
__pyx_cur_scope->__pyx_v_builder = __pyx_t_1;
__pyx_t_1 = 0;
- /* "handlers/payments/gift.py":173
+ /* "handlers/payments/gift.py":118
* if balance < price:
* builder = InlineKeyboardBuilder()
* builder.row(types.InlineKeyboardButton(text=" ", callback_data="profile")) # <<<<<<<<<<<<<<
*
* await callback_query.message.answer(
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 173, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_types); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 173, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_types); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 173, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 173, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_text, __pyx_kp_u__28) < 0) __PYX_ERR(0, 173, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_callback_data, __pyx_n_u_profile) < 0) __PYX_ERR(0, 173, __pyx_L1_error)
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 173, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_text, __pyx_kp_u__26) < 0) __PYX_ERR(0, 118, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_callback_data, __pyx_n_u_profile) < 0) __PYX_ERR(0, 118, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -7216,44 +6451,44 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_14generator4(__pyx_Coroutine
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 173, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "handlers/payments/gift.py":175
+ /* "handlers/payments/gift.py":120
* builder.row(types.InlineKeyboardButton(text=" ", callback_data="profile"))
*
* await callback_query.message.answer( # <<<<<<<<<<<<<<
* text=" . .",
* reply_markup=builder.as_markup(),
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 175, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 120, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_answer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 175, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_answer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 120, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "handlers/payments/gift.py":176
+ /* "handlers/payments/gift.py":121
*
* await callback_query.message.answer(
* text=" . .", # <<<<<<<<<<<<<<
* reply_markup=builder.as_markup(),
* )
*/
- __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 176, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 121, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_text, __pyx_kp_u__29) < 0) __PYX_ERR(0, 176, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_text, __pyx_kp_u__27) < 0) __PYX_ERR(0, 121, __pyx_L1_error)
- /* "handlers/payments/gift.py":177
+ /* "handlers/payments/gift.py":122
* await callback_query.message.answer(
* text=" . .",
* reply_markup=builder.as_markup(), # <<<<<<<<<<<<<<
* )
* return
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 177, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 122, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_7 = NULL;
__pyx_t_4 = 0;
@@ -7273,21 +6508,21 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_14generator4(__pyx_Coroutine
PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL};
__pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 177, __pyx_L1_error)
+ if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 122, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_reply_markup, __pyx_t_8) < 0) __PYX_ERR(0, 176, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_reply_markup, __pyx_t_8) < 0) __PYX_ERR(0, 121, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "handlers/payments/gift.py":175
+ /* "handlers/payments/gift.py":120
* builder.row(types.InlineKeyboardButton(text=" ", callback_data="profile"))
*
* await callback_query.message.answer( # <<<<<<<<<<<<<<
* text=" . .",
* reply_markup=builder.as_markup(),
*/
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 175, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 120, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -7302,16 +6537,16 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_14generator4(__pyx_Coroutine
__pyx_generator->resume_label = 3;
return __pyx_r;
__pyx_L8_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 175, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 120, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 175, __pyx_L1_error)
+ else __PYX_ERR(0, 120, __pyx_L1_error)
}
}
- /* "handlers/payments/gift.py":179
+ /* "handlers/payments/gift.py":124
* reply_markup=builder.as_markup(),
* )
* return # <<<<<<<<<<<<<<
@@ -7322,7 +6557,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_14generator4(__pyx_Coroutine
__pyx_r = NULL;
goto __pyx_L0;
- /* "handlers/payments/gift.py":171
+ /* "handlers/payments/gift.py":116
* balance = await get_balance(user_tg_id)
*
* if balance < price: # <<<<<<<<<<<<<<
@@ -7331,14 +6566,14 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_14generator4(__pyx_Coroutine
*/
}
- /* "handlers/payments/gift.py":181
+ /* "handlers/payments/gift.py":126
* return
*
* builder = InlineKeyboardBuilder() # <<<<<<<<<<<<<<
* builder.row(
* types.InlineKeyboardButton(text=" ", callback_data=f"confirm_gift|{selected_months}"),
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 181, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 126, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
@@ -7358,7 +6593,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_14generator4(__pyx_Coroutine
PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
__pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 181, __pyx_L1_error)
+ if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 126, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
@@ -7366,60 +6601,60 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_14generator4(__pyx_Coroutine
__pyx_cur_scope->__pyx_v_builder = __pyx_t_8;
__pyx_t_8 = 0;
- /* "handlers/payments/gift.py":182
+ /* "handlers/payments/gift.py":127
*
* builder = InlineKeyboardBuilder()
* builder.row( # <<<<<<<<<<<<<<
* types.InlineKeyboardButton(text=" ", callback_data=f"confirm_gift|{selected_months}"),
* types.InlineKeyboardButton(text=" ", callback_data="profile"),
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 182, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 127, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- /* "handlers/payments/gift.py":183
+ /* "handlers/payments/gift.py":128
* builder = InlineKeyboardBuilder()
* builder.row(
* types.InlineKeyboardButton(text=" ", callback_data=f"confirm_gift|{selected_months}"), # <<<<<<<<<<<<<<
* types.InlineKeyboardButton(text=" ", callback_data="profile"),
* )
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_types); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 183, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_types); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 128, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 183, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 128, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 183, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 128, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_kp_u__30) < 0) __PYX_ERR(0, 183, __pyx_L1_error)
- __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_selected_months, __pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 183, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_kp_u__28) < 0) __PYX_ERR(0, 128, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_selected_months, __pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 128, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
- __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_kp_u_confirm_gift, __pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 183, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_kp_u_confirm_gift, __pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 128, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_data, __pyx_t_9) < 0) __PYX_ERR(0, 183, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_data, __pyx_t_9) < 0) __PYX_ERR(0, 128, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 183, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 128, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "handlers/payments/gift.py":184
+ /* "handlers/payments/gift.py":129
* builder.row(
* types.InlineKeyboardButton(text=" ", callback_data=f"confirm_gift|{selected_months}"),
* types.InlineKeyboardButton(text=" ", callback_data="profile"), # <<<<<<<<<<<<<<
* )
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_types); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 184, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_types); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 129, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 184, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 129, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 184, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 129, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_kp_u__31) < 0) __PYX_ERR(0, 184, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_data, __pyx_n_u_profile) < 0) __PYX_ERR(0, 184, __pyx_L1_error)
- __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 184, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_kp_u__29) < 0) __PYX_ERR(0, 129, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_data, __pyx_n_u_profile) < 0) __PYX_ERR(0, 129, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 129, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -7443,43 +6678,43 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_14generator4(__pyx_Coroutine
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 182, __pyx_L1_error)
+ if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 127, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "handlers/payments/gift.py":187
+ /* "handlers/payments/gift.py":132
* )
*
* await callback_query.message.answer( # <<<<<<<<<<<<<<
* text=(
* f" :\n"
*/
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 187, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 132, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_answer); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 187, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_answer); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 132, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "handlers/payments/gift.py":188
+ /* "handlers/payments/gift.py":133
*
* await callback_query.message.answer(
* text=( # <<<<<<<<<<<<<<
* f" :\n"
* f" {selected_months} {'' if selected_months == '1' else '' if int(selected_months) in [2, 3, 4] else ''}\n"
*/
- __pyx_t_8 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 188, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 133, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
- /* "handlers/payments/gift.py":189
+ /* "handlers/payments/gift.py":134
* await callback_query.message.answer(
* text=(
* f" :\n" # <<<<<<<<<<<<<<
* f" {selected_months} {'' if selected_months == '1' else '' if int(selected_months) in [2, 3, 4] else ''}\n"
* f": {price} \n\n"
*/
- __pyx_t_7 = PyTuple_New(7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 189, __pyx_L1_error)
+ __pyx_t_7 = PyTuple_New(7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 134, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_10 = 0;
__pyx_t_11 = 127;
@@ -7489,59 +6724,59 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_14generator4(__pyx_Coroutine
__Pyx_GIVEREF(__pyx_kp_u_b_b_b);
PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_kp_u_b_b_b);
- /* "handlers/payments/gift.py":190
+ /* "handlers/payments/gift.py":135
* text=(
* f" :\n"
* f" {selected_months} {'' if selected_months == '1' else '' if int(selected_months) in [2, 3, 4] else ''}\n" # <<<<<<<<<<<<<<
* f": {price} \n\n"
* " ."
*/
- __pyx_t_9 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_selected_months, __pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 190, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_selected_months, __pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 135, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_11 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) > __pyx_t_11) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) : __pyx_t_11;
__pyx_t_10 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9);
__Pyx_GIVEREF(__pyx_t_9);
PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_9);
__pyx_t_9 = 0;
- __Pyx_INCREF(__pyx_kp_u__21);
+ __Pyx_INCREF(__pyx_kp_u__9);
__pyx_t_10 += 1;
- __Pyx_GIVEREF(__pyx_kp_u__21);
- PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_kp_u__21);
- __pyx_t_6 = (__Pyx_PyUnicode_Equals(__pyx_cur_scope->__pyx_v_selected_months, __pyx_kp_u_1, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 190, __pyx_L1_error)
+ __Pyx_GIVEREF(__pyx_kp_u__9);
+ PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_kp_u__9);
+ __pyx_t_6 = (__Pyx_PyUnicode_Equals(__pyx_cur_scope->__pyx_v_selected_months, __pyx_kp_u_1, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 135, __pyx_L1_error)
if (__pyx_t_6) {
- __Pyx_INCREF(__pyx_n_u__5);
- __pyx_t_9 = __pyx_n_u__5;
+ __Pyx_INCREF(__pyx_n_u__10);
+ __pyx_t_9 = __pyx_n_u__10;
} else {
- __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_selected_months); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 190, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_selected_months); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 135, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_12 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_2, __pyx_int_2, 2, 0)); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 190, __pyx_L1_error)
+ __pyx_t_12 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_2, __pyx_int_2, 2, 0)); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 135, __pyx_L1_error)
if (!__pyx_t_12) {
} else {
__pyx_t_5 = __pyx_t_12;
goto __pyx_L9_bool_binop_done;
}
- __pyx_t_12 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_2, __pyx_int_3, 3, 0)); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 190, __pyx_L1_error)
+ __pyx_t_12 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_2, __pyx_int_3, 3, 0)); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 135, __pyx_L1_error)
if (!__pyx_t_12) {
} else {
__pyx_t_5 = __pyx_t_12;
goto __pyx_L9_bool_binop_done;
}
- __pyx_t_12 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_2, __pyx_int_4, 4, 0)); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 190, __pyx_L1_error)
+ __pyx_t_12 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_2, __pyx_int_4, 4, 0)); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 135, __pyx_L1_error)
__pyx_t_5 = __pyx_t_12;
__pyx_L9_bool_binop_done:;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_12 = __pyx_t_5;
if (__pyx_t_12) {
- __Pyx_INCREF(__pyx_n_u__6);
- __pyx_t_3 = __pyx_n_u__6;
+ __Pyx_INCREF(__pyx_n_u__11);
+ __pyx_t_3 = __pyx_n_u__11;
} else {
- __Pyx_INCREF(__pyx_n_u__7);
- __pyx_t_3 = __pyx_n_u__7;
+ __Pyx_INCREF(__pyx_n_u__12);
+ __pyx_t_3 = __pyx_n_u__12;
}
__pyx_t_9 = __pyx_t_3;
__pyx_t_3 = 0;
}
- __pyx_t_3 = __Pyx_PyUnicode_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 190, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyUnicode_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 135, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__pyx_t_11 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) > __pyx_t_11) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) : __pyx_t_11;
@@ -7555,14 +6790,14 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_14generator4(__pyx_Coroutine
__Pyx_GIVEREF(__pyx_kp_u_b_b_4);
PyTuple_SET_ITEM(__pyx_t_7, 4, __pyx_kp_u_b_b_4);
- /* "handlers/payments/gift.py":191
+ /* "handlers/payments/gift.py":136
* f" :\n"
* f" {selected_months} {'' if selected_months == '1' else '' if int(selected_months) in [2, 3, 4] else ''}\n"
* f": {price} \n\n" # <<<<<<<<<<<<<<
* " ."
* ),
*/
- __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_price, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 191, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_price, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 136, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_11 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) > __pyx_t_11) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) : __pyx_t_11;
__pyx_t_10 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3);
@@ -7575,27 +6810,27 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_14generator4(__pyx_Coroutine
__Pyx_GIVEREF(__pyx_kp_u_b);
PyTuple_SET_ITEM(__pyx_t_7, 6, __pyx_kp_u_b);
- /* "handlers/payments/gift.py":189
+ /* "handlers/payments/gift.py":134
* await callback_query.message.answer(
* text=(
* f" :\n" # <<<<<<<<<<<<<<
* f" {selected_months} {'' if selected_months == '1' else '' if int(selected_months) in [2, 3, 4] else ''}\n"
* f": {price} \n\n"
*/
- __pyx_t_3 = __Pyx_PyUnicode_Join(__pyx_t_7, 7, __pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 189, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyUnicode_Join(__pyx_t_7, 7, __pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 134, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_text, __pyx_t_3) < 0) __PYX_ERR(0, 188, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_text, __pyx_t_3) < 0) __PYX_ERR(0, 133, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "handlers/payments/gift.py":194
+ /* "handlers/payments/gift.py":139
* " ."
* ),
* reply_markup=builder.as_markup(), # <<<<<<<<<<<<<<
* )
*
*/
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 194, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 139, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_9 = NULL;
__pyx_t_4 = 0;
@@ -7615,21 +6850,21 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_14generator4(__pyx_Coroutine
PyObject *__pyx_callargs[2] = {__pyx_t_9, NULL};
__pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 194, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 139, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
}
- if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_reply_markup, __pyx_t_3) < 0) __PYX_ERR(0, 188, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_reply_markup, __pyx_t_3) < 0) __PYX_ERR(0, 133, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "handlers/payments/gift.py":187
+ /* "handlers/payments/gift.py":132
* )
*
* await callback_query.message.answer( # <<<<<<<<<<<<<<
* text=(
* f" :\n"
*/
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 187, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 132, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -7644,17 +6879,17 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_14generator4(__pyx_Coroutine
__pyx_generator->resume_label = 4;
return __pyx_r;
__pyx_L12_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 187, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 132, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 187, __pyx_L1_error)
+ else __PYX_ERR(0, 132, __pyx_L1_error)
}
}
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "handlers/payments/gift.py":158
+ /* "handlers/payments/gift.py":103
*
*
* @router.callback_query(F.data.startswith("gift|")) # <<<<<<<<<<<<<<
@@ -7684,9 +6919,9 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_14generator4(__pyx_Coroutine
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_gb_8handlers_8payments_4gift_17generator5(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
+static PyObject *__pyx_gb_8handlers_8payments_4gift_14generator4(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "handlers/payments/gift.py":198
+/* "handlers/payments/gift.py":143
*
*
* @router.callback_query(F.data.startswith("confirm_gift|")) # <<<<<<<<<<<<<<
@@ -7695,16 +6930,16 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_17generator5(__pyx_Coroutine
*/
/* Python wrapper */
-static PyObject *__pyx_pw_8handlers_8payments_4gift_16finalize_gift_handler(PyObject *__pyx_self,
+static PyObject *__pyx_pw_8handlers_8payments_4gift_13finalize_gift_handler(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
-PyDoc_STRVAR(__pyx_doc_8handlers_8payments_4gift_15finalize_gift_handler, "\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272 \320\277\320\276\320\264\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217 \320\277\320\276\320\264\320\260\321\200\320\272\320\260.");
-static PyMethodDef __pyx_mdef_8handlers_8payments_4gift_16finalize_gift_handler = {"finalize_gift_handler", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_4gift_16finalize_gift_handler, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8handlers_8payments_4gift_15finalize_gift_handler};
-static PyObject *__pyx_pw_8handlers_8payments_4gift_16finalize_gift_handler(PyObject *__pyx_self,
+PyDoc_STRVAR(__pyx_doc_8handlers_8payments_4gift_12finalize_gift_handler, "\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272 \320\277\320\276\320\264\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217 \320\277\320\276\320\264\320\260\321\200\320\272\320\260.");
+static PyMethodDef __pyx_mdef_8handlers_8payments_4gift_13finalize_gift_handler = {"finalize_gift_handler", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_4gift_13finalize_gift_handler, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8handlers_8payments_4gift_12finalize_gift_handler};
+static PyObject *__pyx_pw_8handlers_8payments_4gift_13finalize_gift_handler(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
@@ -7754,7 +6989,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
(void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
kw_args--;
}
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 198, __pyx_L3_error)
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 143, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
@@ -7762,9 +6997,9 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
(void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
kw_args--;
}
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 198, __pyx_L3_error)
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 143, __pyx_L3_error)
else {
- __Pyx_RaiseArgtupleInvalid("finalize_gift_handler", 1, 3, 3, 1); __PYX_ERR(0, 198, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("finalize_gift_handler", 1, 3, 3, 1); __PYX_ERR(0, 143, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
@@ -7772,14 +7007,14 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
(void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
kw_args--;
}
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 198, __pyx_L3_error)
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 143, __pyx_L3_error)
else {
- __Pyx_RaiseArgtupleInvalid("finalize_gift_handler", 1, 3, 3, 2); __PYX_ERR(0, 198, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("finalize_gift_handler", 1, 3, 3, 2); __PYX_ERR(0, 143, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "finalize_gift_handler") < 0)) __PYX_ERR(0, 198, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "finalize_gift_handler") < 0)) __PYX_ERR(0, 143, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
@@ -7794,7 +7029,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("finalize_gift_handler", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 198, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("finalize_gift_handler", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 143, __pyx_L3_error)
__pyx_L6_skip:;
goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
@@ -7808,7 +7043,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_8handlers_8payments_4gift_15finalize_gift_handler(__pyx_self, __pyx_v_callback_query, __pyx_v_state, __pyx_v_session);
+ __pyx_r = __pyx_pf_8handlers_8payments_4gift_12finalize_gift_handler(__pyx_self, __pyx_v_callback_query, __pyx_v_state, __pyx_v_session);
/* function exit code */
{
@@ -7821,19 +7056,19 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
return __pyx_r;
}
-static PyObject *__pyx_pf_8handlers_8payments_4gift_15finalize_gift_handler(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, CYTHON_UNUSED PyObject *__pyx_v_state, PyObject *__pyx_v_session) {
- struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler *__pyx_cur_scope;
+static PyObject *__pyx_pf_8handlers_8payments_4gift_12finalize_gift_handler(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, CYTHON_UNUSED PyObject *__pyx_v_state, PyObject *__pyx_v_session) {
+ struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler *__pyx_cur_scope;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("finalize_gift_handler", 0);
- __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler *)__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler, __pyx_empty_tuple, NULL);
+ __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler *)__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler, __pyx_empty_tuple, NULL);
if (unlikely(!__pyx_cur_scope)) {
- __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler *)Py_None);
+ __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(0, 198, __pyx_L1_error)
+ __PYX_ERR(0, 143, __pyx_L1_error)
} else {
__Pyx_GOTREF((PyObject *)__pyx_cur_scope);
}
@@ -7847,7 +7082,7 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_15finalize_gift_handler(CYTH
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_session);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_session);
{
- __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_4gift_17generator5, __pyx_codeobj__32, (PyObject *) __pyx_cur_scope, __pyx_n_s_finalize_gift_handler, __pyx_n_s_finalize_gift_handler, __pyx_n_s_handlers_payments_gift); if (unlikely(!gen)) __PYX_ERR(0, 198, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_4gift_14generator4, __pyx_codeobj__30, (PyObject *) __pyx_cur_scope, __pyx_n_s_finalize_gift_handler, __pyx_n_s_finalize_gift_handler, __pyx_n_s_handlers_payments_gift); if (unlikely(!gen)) __PYX_ERR(0, 143, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -7863,9 +7098,9 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_15finalize_gift_handler(CYTH
return __pyx_r;
}
-static PyObject *__pyx_gb_8handlers_8payments_4gift_17generator5(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
+static PyObject *__pyx_gb_8handlers_8payments_4gift_14generator4(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
- struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler *)__pyx_generator->closure);
+ struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler *)__pyx_generator->closure);
PyObject *__pyx_r = NULL;
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
@@ -7878,11 +7113,11 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_17generator5(__pyx_Coroutine
PyObject *__pyx_t_9 = NULL;
PyObject *__pyx_t_10 = NULL;
PyObject *__pyx_t_11 = NULL;
- Py_ssize_t __pyx_t_12;
- Py_UCS4 __pyx_t_13;
+ int __pyx_t_12;
+ int __pyx_t_13;
PyObject *__pyx_t_14 = NULL;
- int __pyx_t_15;
- int __pyx_t_16;
+ Py_ssize_t __pyx_t_15;
+ Py_UCS4 __pyx_t_16;
PyObject *__pyx_t_17 = NULL;
int __pyx_t_18;
char const *__pyx_t_19;
@@ -7909,18 +7144,18 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_17generator5(__pyx_Coroutine
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 198, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 143, __pyx_L1_error)
- /* "handlers/payments/gift.py":201
+ /* "handlers/payments/gift.py":146
* async def finalize_gift_handler(callback_query: types.CallbackQuery, state: FSMContext, session: Any):
* """ ."""
* selected_months = callback_query.data.split("|")[1] # <<<<<<<<<<<<<<
* price = RENEWAL_PRICES.get(selected_months, None)
* tg_id = callback_query.from_user.id
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 201, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 146, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 201, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 146, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -7938,30 +7173,30 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_17generator5(__pyx_Coroutine
}
#endif
{
- PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_kp_u__14};
+ PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_kp_u__23};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 201, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 146, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
- __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_1, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 201, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_1, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 146, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GIVEREF(__pyx_t_3);
__pyx_cur_scope->__pyx_v_selected_months = __pyx_t_3;
__pyx_t_3 = 0;
- /* "handlers/payments/gift.py":202
+ /* "handlers/payments/gift.py":147
* """ ."""
* selected_months = callback_query.data.split("|")[1]
* price = RENEWAL_PRICES.get(selected_months, None) # <<<<<<<<<<<<<<
* tg_id = callback_query.from_user.id
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_RENEWAL_PRICES); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 202, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_RENEWAL_PRICES); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 147, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 202, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 147, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = NULL;
@@ -7982,7 +7217,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_17generator5(__pyx_Coroutine
PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_cur_scope->__pyx_v_selected_months, Py_None};
__pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 202, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 147, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
@@ -7990,46 +7225,46 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_17generator5(__pyx_Coroutine
__pyx_cur_scope->__pyx_v_price = __pyx_t_3;
__pyx_t_3 = 0;
- /* "handlers/payments/gift.py":203
+ /* "handlers/payments/gift.py":148
* selected_months = callback_query.data.split("|")[1]
* price = RENEWAL_PRICES.get(selected_months, None)
* tg_id = callback_query.from_user.id # <<<<<<<<<<<<<<
*
* if not price:
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_from_user); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 203, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_from_user); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 148, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_id); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 203, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_id); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 148, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GIVEREF(__pyx_t_2);
__pyx_cur_scope->__pyx_v_tg_id = __pyx_t_2;
__pyx_t_2 = 0;
- /* "handlers/payments/gift.py":205
+ /* "handlers/payments/gift.py":150
* tg_id = callback_query.from_user.id
*
* if not price: # <<<<<<<<<<<<<<
* await callback_query.answer(" . .", show_alert=True)
* return
*/
- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_price); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 205, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_price); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 150, __pyx_L1_error)
__pyx_t_6 = (!__pyx_t_5);
if (__pyx_t_6) {
- /* "handlers/payments/gift.py":206
+ /* "handlers/payments/gift.py":151
*
* if not price:
* await callback_query.answer(" . .", show_alert=True) # <<<<<<<<<<<<<<
* return
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_answer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 206, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_answer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 151, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 206, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 151, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_show_alert, Py_True) < 0) __PYX_ERR(0, 206, __pyx_L1_error)
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__27, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 206, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_show_alert, Py_True) < 0) __PYX_ERR(0, 151, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__25, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 151, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -8044,16 +7279,16 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_17generator5(__pyx_Coroutine
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L5_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 206, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 151, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 206, __pyx_L1_error)
+ else __PYX_ERR(0, 151, __pyx_L1_error)
}
}
- /* "handlers/payments/gift.py":207
+ /* "handlers/payments/gift.py":152
* if not price:
* await callback_query.answer(" . .", show_alert=True)
* return # <<<<<<<<<<<<<<
@@ -8064,7 +7299,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_17generator5(__pyx_Coroutine
__pyx_r = NULL;
goto __pyx_L0;
- /* "handlers/payments/gift.py":205
+ /* "handlers/payments/gift.py":150
* tg_id = callback_query.from_user.id
*
* if not price: # <<<<<<<<<<<<<<
@@ -8073,7 +7308,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_17generator5(__pyx_Coroutine
*/
}
- /* "handlers/payments/gift.py":209
+ /* "handlers/payments/gift.py":154
* return
*
* try: # <<<<<<<<<<<<<<
@@ -8087,16 +7322,16 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_17generator5(__pyx_Coroutine
__Pyx_XGOTREF(__pyx_t_9);
/*try:*/ {
- /* "handlers/payments/gift.py":210
+ /* "handlers/payments/gift.py":155
*
* try:
* await update_balance(tg_id, -price) # <<<<<<<<<<<<<<
*
* expiry_time = datetime.utcnow() + timedelta(days=int(selected_months) * 30)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_update_balance); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 210, __pyx_L6_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_update_balance); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 155, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = PyNumber_Negative(__pyx_cur_scope->__pyx_v_price); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 210, __pyx_L6_error)
+ __pyx_t_2 = PyNumber_Negative(__pyx_cur_scope->__pyx_v_price); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 155, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_10 = NULL;
__pyx_t_4 = 0;
@@ -8117,7 +7352,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_17generator5(__pyx_Coroutine
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 210, __pyx_L6_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 155, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
@@ -8147,25 +7382,25 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_17generator5(__pyx_Coroutine
__pyx_t_9 = __pyx_cur_scope->__pyx_t_2;
__pyx_cur_scope->__pyx_t_2 = 0;
__Pyx_XGOTREF(__pyx_t_9);
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 210, __pyx_L6_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 155, __pyx_L6_error)
} else {
PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 210, __pyx_L6_error)
+ else __PYX_ERR(0, 155, __pyx_L6_error)
}
}
- /* "handlers/payments/gift.py":212
+ /* "handlers/payments/gift.py":157
* await update_balance(tg_id, -price)
*
* expiry_time = datetime.utcnow() + timedelta(days=int(selected_months) * 30) # <<<<<<<<<<<<<<
*
* gift_id = f"{uuid.uuid4().hex}"
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_datetime); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 212, __pyx_L6_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_datetime); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 157, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_utcnow); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 212, __pyx_L6_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_utcnow); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 157, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -8186,26 +7421,26 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_17generator5(__pyx_Coroutine
PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 212, __pyx_L6_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 157, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_timedelta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 212, __pyx_L6_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_timedelta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 157, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 212, __pyx_L6_error)
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 157, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_10 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_selected_months); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 212, __pyx_L6_error)
+ __pyx_t_10 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_selected_months); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 157, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_10);
- __pyx_t_11 = __Pyx_PyInt_MultiplyObjC(__pyx_t_10, __pyx_int_30, 30, 0, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 212, __pyx_L6_error)
+ __pyx_t_11 = __Pyx_PyInt_MultiplyObjC(__pyx_t_10, __pyx_int_30, 30, 0, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 157, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_days, __pyx_t_11) < 0) __PYX_ERR(0, 212, __pyx_L6_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_days, __pyx_t_11) < 0) __PYX_ERR(0, 157, __pyx_L6_error)
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
- __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 212, __pyx_L6_error)
+ __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 157, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 212, __pyx_L6_error)
+ __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 157, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
@@ -8213,16 +7448,16 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_17generator5(__pyx_Coroutine
__pyx_cur_scope->__pyx_v_expiry_time = __pyx_t_3;
__pyx_t_3 = 0;
- /* "handlers/payments/gift.py":214
+ /* "handlers/payments/gift.py":159
* expiry_time = datetime.utcnow() + timedelta(days=int(selected_months) * 30)
*
* gift_id = f"{uuid.uuid4().hex}" # <<<<<<<<<<<<<<
- *
* gift_link = get_gift_link(tg_id, gift_id)
+ *
*/
- __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_uuid); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 214, __pyx_L6_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_uuid); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 159, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_11);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_uuid4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 214, __pyx_L6_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_uuid4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 159, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__pyx_t_11 = NULL;
@@ -8243,28 +7478,28 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_17generator5(__pyx_Coroutine
PyObject *__pyx_callargs[2] = {__pyx_t_11, NULL};
__pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 214, __pyx_L6_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 159, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_hex); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 214, __pyx_L6_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_hex); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 159, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_t_1, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 214, __pyx_L6_error)
+ __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_t_1, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 159, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GIVEREF(__pyx_t_3);
__pyx_cur_scope->__pyx_v_gift_id = ((PyObject*)__pyx_t_3);
__pyx_t_3 = 0;
- /* "handlers/payments/gift.py":216
- * gift_id = f"{uuid.uuid4().hex}"
+ /* "handlers/payments/gift.py":160
*
+ * gift_id = f"{uuid.uuid4().hex}"
* gift_link = get_gift_link(tg_id, gift_id) # <<<<<<<<<<<<<<
*
* await store_gift_link(gift_id, tg_id, int(selected_months), expiry_time, gift_link, session)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_get_gift_link); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 216, __pyx_L6_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_get_gift_link); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 160, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_11 = NULL;
__pyx_t_4 = 0;
@@ -8284,7 +7519,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_17generator5(__pyx_Coroutine
PyObject *__pyx_callargs[3] = {__pyx_t_11, __pyx_cur_scope->__pyx_v_tg_id, __pyx_cur_scope->__pyx_v_gift_id};
__pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 216, __pyx_L6_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 160, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
@@ -8292,16 +7527,16 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_17generator5(__pyx_Coroutine
__pyx_cur_scope->__pyx_v_gift_link = __pyx_t_3;
__pyx_t_3 = 0;
- /* "handlers/payments/gift.py":218
+ /* "handlers/payments/gift.py":162
* gift_link = get_gift_link(tg_id, gift_id)
*
* await store_gift_link(gift_id, tg_id, int(selected_months), expiry_time, gift_link, session) # <<<<<<<<<<<<<<
*
- * builder = InlineKeyboardBuilder()
+ * months_text = (
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_store_gift_link); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 218, __pyx_L6_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_store_gift_link); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 162, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_11 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_selected_months); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 218, __pyx_L6_error)
+ __pyx_t_11 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_selected_months); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 162, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_11);
__pyx_t_2 = NULL;
__pyx_t_4 = 0;
@@ -8322,7 +7557,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_17generator5(__pyx_Coroutine
__pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 6+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 218, __pyx_L6_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 162, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
@@ -8352,80 +7587,268 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_17generator5(__pyx_Coroutine
__pyx_t_9 = __pyx_cur_scope->__pyx_t_2;
__pyx_cur_scope->__pyx_t_2 = 0;
__Pyx_XGOTREF(__pyx_t_9);
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 218, __pyx_L6_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 162, __pyx_L6_error)
} else {
PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 218, __pyx_L6_error)
+ else __PYX_ERR(0, 162, __pyx_L6_error)
}
}
- /* "handlers/payments/gift.py":220
- * await store_gift_link(gift_id, tg_id, int(selected_months), expiry_time, gift_link, session)
- *
- * builder = InlineKeyboardBuilder() # <<<<<<<<<<<<<<
- * builder.row(types.InlineKeyboardButton(text=" ", callback_data="profile"))
+ /* "handlers/payments/gift.py":165
*
+ * months_text = (
+ * "" if selected_months == "1" else "" if int(selected_months) in [2, 3, 4] else "" # <<<<<<<<<<<<<<
+ * )
+ * message_text = GIFTS_TEXT_TEMPLATE.format(
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 220, __pyx_L6_error)
+ __pyx_t_6 = (__Pyx_PyUnicode_Equals(__pyx_cur_scope->__pyx_v_selected_months, __pyx_kp_u_1, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 165, __pyx_L6_error)
+ if (__pyx_t_6) {
+ __Pyx_INCREF(__pyx_n_u__10);
+ __pyx_t_3 = __pyx_n_u__10;
+ } else {
+ __pyx_t_11 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_selected_months); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 165, __pyx_L6_error)
+ __Pyx_GOTREF(__pyx_t_11);
+ __pyx_t_12 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_11, __pyx_int_2, 2, 0)); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 165, __pyx_L6_error)
+ if (!__pyx_t_12) {
+ } else {
+ __pyx_t_5 = __pyx_t_12;
+ goto __pyx_L14_bool_binop_done;
+ }
+ __pyx_t_12 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_11, __pyx_int_3, 3, 0)); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 165, __pyx_L6_error)
+ if (!__pyx_t_12) {
+ } else {
+ __pyx_t_5 = __pyx_t_12;
+ goto __pyx_L14_bool_binop_done;
+ }
+ __pyx_t_12 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_11, __pyx_int_4, 4, 0)); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 165, __pyx_L6_error)
+ __pyx_t_5 = __pyx_t_12;
+ __pyx_L14_bool_binop_done:;
+ __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+ __pyx_t_12 = __pyx_t_5;
+ if (__pyx_t_12) {
+ __Pyx_INCREF(__pyx_n_u__11);
+ __pyx_t_1 = __pyx_n_u__11;
+ } else {
+ __Pyx_INCREF(__pyx_n_u__12);
+ __pyx_t_1 = __pyx_n_u__12;
+ }
+ __pyx_t_3 = __pyx_t_1;
+ __pyx_t_1 = 0;
+ }
+ __Pyx_GIVEREF(__pyx_t_3);
+ __pyx_cur_scope->__pyx_v_months_text = ((PyObject*)__pyx_t_3);
+ __pyx_t_3 = 0;
+
+ /* "handlers/payments/gift.py":167
+ * "" if selected_months == "1" else "" if int(selected_months) in [2, 3, 4] else ""
+ * )
+ * message_text = GIFTS_TEXT_TEMPLATE.format( # <<<<<<<<<<<<<<
+ * months=selected_months,
+ * months_text=months_text,
+ */
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_GIFTS_TEXT_TEMPLATE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 167, __pyx_L6_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_format); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 167, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_11 = NULL;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+
+ /* "handlers/payments/gift.py":168
+ * )
+ * message_text = GIFTS_TEXT_TEMPLATE.format(
+ * months=selected_months, # <<<<<<<<<<<<<<
+ * months_text=months_text,
+ * expiry_time=expiry_time.strftime("%d-%m-%Y %H:%M"),
+ */
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 168, __pyx_L6_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_months, __pyx_cur_scope->__pyx_v_selected_months) < 0) __PYX_ERR(0, 168, __pyx_L6_error)
+
+ /* "handlers/payments/gift.py":169
+ * message_text = GIFTS_TEXT_TEMPLATE.format(
+ * months=selected_months,
+ * months_text=months_text, # <<<<<<<<<<<<<<
+ * expiry_time=expiry_time.strftime("%d-%m-%Y %H:%M"),
+ * recipient=" ",
+ */
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_months_text, __pyx_cur_scope->__pyx_v_months_text) < 0) __PYX_ERR(0, 168, __pyx_L6_error)
+
+ /* "handlers/payments/gift.py":170
+ * months=selected_months,
+ * months_text=months_text,
+ * expiry_time=expiry_time.strftime("%d-%m-%Y %H:%M"), # <<<<<<<<<<<<<<
+ * recipient=" ",
+ * is_used="",
+ */
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_expiry_time, __pyx_n_s_strftime); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 170, __pyx_L6_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_10 = NULL;
__pyx_t_4 = 0;
#if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_1))) {
- __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_1);
- if (likely(__pyx_t_11)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
- __Pyx_INCREF(__pyx_t_11);
+ if (likely(PyMethod_Check(__pyx_t_2))) {
+ __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_2);
+ if (likely(__pyx_t_10)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+ __Pyx_INCREF(__pyx_t_10);
__Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_1, function);
+ __Pyx_DECREF_SET(__pyx_t_2, function);
__pyx_t_4 = 1;
}
}
#endif
{
- PyObject *__pyx_callargs[2] = {__pyx_t_11, NULL};
- __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
- __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 220, __pyx_L6_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_kp_u_d_m_Y_H_M};
+ __pyx_t_11 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+ if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 170, __pyx_L6_error)
+ __Pyx_GOTREF(__pyx_t_11);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
- __Pyx_GIVEREF(__pyx_t_3);
- __pyx_cur_scope->__pyx_v_builder = __pyx_t_3;
- __pyx_t_3 = 0;
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_expiry_time, __pyx_t_11) < 0) __PYX_ERR(0, 168, __pyx_L6_error)
+ __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_recipient, __pyx_kp_u__7) < 0) __PYX_ERR(0, 168, __pyx_L6_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_is_used, __pyx_n_u__6) < 0) __PYX_ERR(0, 168, __pyx_L6_error)
- /* "handlers/payments/gift.py":221
+ /* "handlers/payments/gift.py":173
+ * recipient=" ",
+ * is_used="",
+ * gift_link=gift_link, # <<<<<<<<<<<<<<
+ * )
+ *
+ */
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_gift_link, __pyx_cur_scope->__pyx_v_gift_link) < 0) __PYX_ERR(0, 168, __pyx_L6_error)
+
+ /* "handlers/payments/gift.py":167
+ * "" if selected_months == "1" else "" if int(selected_months) in [2, 3, 4] else ""
+ * )
+ * message_text = GIFTS_TEXT_TEMPLATE.format( # <<<<<<<<<<<<<<
+ * months=selected_months,
+ * months_text=months_text,
+ */
+ __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 167, __pyx_L6_error)
+ __Pyx_GOTREF(__pyx_t_11);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_GIVEREF(__pyx_t_11);
+ __pyx_cur_scope->__pyx_v_message_text = __pyx_t_11;
+ __pyx_t_11 = 0;
+
+ /* "handlers/payments/gift.py":176
+ * )
+ *
+ * builder = InlineKeyboardBuilder() # <<<<<<<<<<<<<<
+ * builder.row(types.InlineKeyboardButton(text=" ", callback_data="profile"))
+ *
+ */
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 176, __pyx_L6_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_1 = NULL;
+ __pyx_t_4 = 0;
+ #if CYTHON_UNPACK_METHODS
+ if (unlikely(PyMethod_Check(__pyx_t_3))) {
+ __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
+ if (likely(__pyx_t_1)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+ __Pyx_INCREF(__pyx_t_1);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_3, function);
+ __pyx_t_4 = 1;
+ }
+ }
+ #endif
+ {
+ PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
+ __pyx_t_11 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 176, __pyx_L6_error)
+ __Pyx_GOTREF(__pyx_t_11);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ }
+ __Pyx_GIVEREF(__pyx_t_11);
+ __pyx_cur_scope->__pyx_v_builder = __pyx_t_11;
+ __pyx_t_11 = 0;
+
+ /* "handlers/payments/gift.py":177
*
* builder = InlineKeyboardBuilder()
* builder.row(types.InlineKeyboardButton(text=" ", callback_data="profile")) # <<<<<<<<<<<<<<
*
* await callback_query.message.answer(
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 221, __pyx_L6_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 177, __pyx_L6_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_types); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 177, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_1);
- __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_types); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 221, __pyx_L6_error)
- __Pyx_GOTREF(__pyx_t_11);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 221, __pyx_L6_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 177, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
- __pyx_t_11 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 221, __pyx_L6_error)
- __Pyx_GOTREF(__pyx_t_11);
- if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_text, __pyx_kp_u__28) < 0) __PYX_ERR(0, 221, __pyx_L6_error)
- if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_callback_data, __pyx_n_u_profile) < 0) __PYX_ERR(0, 221, __pyx_L6_error)
- __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 221, __pyx_L6_error)
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 177, __pyx_L6_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_text, __pyx_kp_u__26) < 0) __PYX_ERR(0, 177, __pyx_L6_error)
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_callback_data, __pyx_n_u_profile) < 0) __PYX_ERR(0, 177, __pyx_L6_error)
+ __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 177, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = NULL;
+ __pyx_t_4 = 0;
+ #if CYTHON_UNPACK_METHODS
+ if (likely(PyMethod_Check(__pyx_t_3))) {
+ __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
+ if (likely(__pyx_t_1)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+ __Pyx_INCREF(__pyx_t_1);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_3, function);
+ __pyx_t_4 = 1;
+ }
+ }
+ #endif
+ {
+ PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_10};
+ __pyx_t_11 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+ if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 177, __pyx_L6_error)
+ __Pyx_GOTREF(__pyx_t_11);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ }
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
- __pyx_t_11 = NULL;
+
+ /* "handlers/payments/gift.py":179
+ * builder.row(types.InlineKeyboardButton(text=" ", callback_data="profile"))
+ *
+ * await callback_query.message.answer( # <<<<<<<<<<<<<<
+ * text=message_text, reply_markup=builder.as_markup()
+ * )
+ */
+ __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 179, __pyx_L6_error)
+ __Pyx_GOTREF(__pyx_t_11);
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_answer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 179, __pyx_L6_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+
+ /* "handlers/payments/gift.py":180
+ *
+ * await callback_query.message.answer(
+ * text=message_text, reply_markup=builder.as_markup() # <<<<<<<<<<<<<<
+ * )
+ *
+ */
+ __pyx_t_11 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 180, __pyx_L6_error)
+ __Pyx_GOTREF(__pyx_t_11);
+ if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_text, __pyx_cur_scope->__pyx_v_message_text) < 0) __PYX_ERR(0, 180, __pyx_L6_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 180, __pyx_L6_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_2 = NULL;
__pyx_t_4 = 0;
#if CYTHON_UNPACK_METHODS
if (likely(PyMethod_Check(__pyx_t_1))) {
- __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_1);
- if (likely(__pyx_t_11)) {
+ __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
+ if (likely(__pyx_t_2)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
- __Pyx_INCREF(__pyx_t_11);
+ __Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_1, function);
__pyx_t_4 = 1;
@@ -8433,194 +7856,29 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_17generator5(__pyx_Coroutine
}
#endif
{
- PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_10};
- __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
- __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
- __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 221, __pyx_L6_error)
- __Pyx_GOTREF(__pyx_t_3);
+ PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
+ __pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 180, __pyx_L6_error)
+ __Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
- /* "handlers/payments/gift.py":223
- * builder.row(types.InlineKeyboardButton(text=" ", callback_data="profile"))
- *
- * await callback_query.message.answer( # <<<<<<<<<<<<<<
- * text=(
- * f" {selected_months} {'' if selected_months == '1' else '' if int(selected_months) in [2, 3, 4] else ''} !\n\n"
- */
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 223, __pyx_L6_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_answer); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 223, __pyx_L6_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
- /* "handlers/payments/gift.py":224
- *
- * await callback_query.message.answer(
- * text=( # <<<<<<<<<<<<<<
- * f" {selected_months} {'' if selected_months == '1' else '' if int(selected_months) in [2, 3, 4] else ''} !\n\n"
- * f" :\n\n {gift_link}\n\n"
- */
- __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 224, __pyx_L6_error)
- __Pyx_GOTREF(__pyx_t_3);
-
- /* "handlers/payments/gift.py":225
- * await callback_query.message.answer(
- * text=(
- * f" {selected_months} {'' if selected_months == '1' else '' if int(selected_months) in [2, 3, 4] else ''} !\n\n" # <<<<<<<<<<<<<<
- * f" :\n\n {gift_link}\n\n"
- * " ."
- */
- __pyx_t_10 = PyTuple_New(7); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 225, __pyx_L6_error)
- __Pyx_GOTREF(__pyx_t_10);
- __pyx_t_12 = 0;
- __pyx_t_13 = 127;
- __Pyx_INCREF(__pyx_kp_u_b_2);
- __pyx_t_13 = (1114111 > __pyx_t_13) ? 1114111 : __pyx_t_13;
- __pyx_t_12 += 17;
- __Pyx_GIVEREF(__pyx_kp_u_b_2);
- PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_b_2);
- __pyx_t_11 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_selected_months, __pyx_empty_unicode); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 225, __pyx_L6_error)
- __Pyx_GOTREF(__pyx_t_11);
- __pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_11) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_11) : __pyx_t_13;
- __pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_11);
- __Pyx_GIVEREF(__pyx_t_11);
- PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_11);
- __pyx_t_11 = 0;
- __Pyx_INCREF(__pyx_kp_u__21);
- __pyx_t_12 += 1;
- __Pyx_GIVEREF(__pyx_kp_u__21);
- PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_kp_u__21);
- __pyx_t_6 = (__Pyx_PyUnicode_Equals(__pyx_cur_scope->__pyx_v_selected_months, __pyx_kp_u_1, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 225, __pyx_L6_error)
- if (__pyx_t_6) {
- __Pyx_INCREF(__pyx_n_u__5);
- __pyx_t_11 = __pyx_n_u__5;
- } else {
- __pyx_t_14 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_selected_months); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 225, __pyx_L6_error)
- __Pyx_GOTREF(__pyx_t_14);
- __pyx_t_15 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_14, __pyx_int_2, 2, 0)); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 225, __pyx_L6_error)
- if (!__pyx_t_15) {
- } else {
- __pyx_t_5 = __pyx_t_15;
- goto __pyx_L14_bool_binop_done;
- }
- __pyx_t_15 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_14, __pyx_int_3, 3, 0)); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 225, __pyx_L6_error)
- if (!__pyx_t_15) {
- } else {
- __pyx_t_5 = __pyx_t_15;
- goto __pyx_L14_bool_binop_done;
- }
- __pyx_t_15 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_14, __pyx_int_4, 4, 0)); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 225, __pyx_L6_error)
- __pyx_t_5 = __pyx_t_15;
- __pyx_L14_bool_binop_done:;
- __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
- __pyx_t_15 = __pyx_t_5;
- if (__pyx_t_15) {
- __Pyx_INCREF(__pyx_n_u__6);
- __pyx_t_2 = __pyx_n_u__6;
- } else {
- __Pyx_INCREF(__pyx_n_u__7);
- __pyx_t_2 = __pyx_n_u__7;
- }
- __pyx_t_11 = __pyx_t_2;
- __pyx_t_2 = 0;
- }
- __pyx_t_2 = __Pyx_PyUnicode_Unicode(__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 225, __pyx_L6_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
- __pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) : __pyx_t_13;
- __pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- PyTuple_SET_ITEM(__pyx_t_10, 3, __pyx_t_2);
- __pyx_t_2 = 0;
- __Pyx_INCREF(__pyx_kp_u_b_code);
- __pyx_t_13 = (1114111 > __pyx_t_13) ? 1114111 : __pyx_t_13;
- __pyx_t_12 += 65;
- __Pyx_GIVEREF(__pyx_kp_u_b_code);
- PyTuple_SET_ITEM(__pyx_t_10, 4, __pyx_kp_u_b_code);
-
- /* "handlers/payments/gift.py":226
- * text=(
- * f" {selected_months} {'' if selected_months == '1' else '' if int(selected_months) in [2, 3, 4] else ''} !\n\n"
- * f" :\n\n {gift_link}\n\n" # <<<<<<<<<<<<<<
- * " ."
- * ),
- */
- __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_gift_link, __pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 226, __pyx_L6_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) : __pyx_t_13;
- __pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- PyTuple_SET_ITEM(__pyx_t_10, 5, __pyx_t_2);
- __pyx_t_2 = 0;
- __Pyx_INCREF(__pyx_kp_u_code);
- __pyx_t_13 = (65535 > __pyx_t_13) ? 65535 : __pyx_t_13;
- __pyx_t_12 += 51;
- __Pyx_GIVEREF(__pyx_kp_u_code);
- PyTuple_SET_ITEM(__pyx_t_10, 6, __pyx_kp_u_code);
-
- /* "handlers/payments/gift.py":225
- * await callback_query.message.answer(
- * text=(
- * f" {selected_months} {'' if selected_months == '1' else '' if int(selected_months) in [2, 3, 4] else ''} !\n\n" # <<<<<<<<<<<<<<
- * f" :\n\n {gift_link}\n\n"
- * " ."
- */
- __pyx_t_2 = __Pyx_PyUnicode_Join(__pyx_t_10, 7, __pyx_t_12, __pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 225, __pyx_L6_error)
- __Pyx_GOTREF(__pyx_t_2);
+ if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_reply_markup, __pyx_t_10) < 0) __PYX_ERR(0, 180, __pyx_L6_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_t_2) < 0) __PYX_ERR(0, 224, __pyx_L6_error)
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "handlers/payments/gift.py":229
- * " ."
- * ),
- * reply_markup=builder.as_markup(), # <<<<<<<<<<<<<<
- * )
- * except Exception as e:
- */
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 229, __pyx_L6_error)
- __Pyx_GOTREF(__pyx_t_10);
- __pyx_t_11 = NULL;
- __pyx_t_4 = 0;
- #if CYTHON_UNPACK_METHODS
- if (likely(PyMethod_Check(__pyx_t_10))) {
- __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10);
- if (likely(__pyx_t_11)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
- __Pyx_INCREF(__pyx_t_11);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_10, function);
- __pyx_t_4 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_11, NULL};
- __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
- __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 229, __pyx_L6_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- }
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_reply_markup, __pyx_t_2) < 0) __PYX_ERR(0, 224, __pyx_L6_error)
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
- /* "handlers/payments/gift.py":223
+ /* "handlers/payments/gift.py":179
* builder.row(types.InlineKeyboardButton(text=" ", callback_data="profile"))
*
* await callback_query.message.answer( # <<<<<<<<<<<<<<
- * text=(
- * f" {selected_months} {'' if selected_months == '1' else '' if int(selected_months) in [2, 3, 4] else ''} !\n\n"
+ * text=message_text, reply_markup=builder.as_markup()
+ * )
*/
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 223, __pyx_L6_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 179, __pyx_L6_error)
+ __Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_2);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+ __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_10);
+ __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
__Pyx_XGOTREF(__pyx_r);
if (likely(__pyx_r)) {
__Pyx_XGIVEREF(__pyx_t_7);
@@ -8645,16 +7903,16 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_17generator5(__pyx_Coroutine
__pyx_t_9 = __pyx_cur_scope->__pyx_t_2;
__pyx_cur_scope->__pyx_t_2 = 0;
__Pyx_XGOTREF(__pyx_t_9);
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 223, __pyx_L6_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 179, __pyx_L6_error)
} else {
PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 223, __pyx_L6_error)
+ else __PYX_ERR(0, 179, __pyx_L6_error)
}
}
- /* "handlers/payments/gift.py":209
+ /* "handlers/payments/gift.py":154
* return
*
* try: # <<<<<<<<<<<<<<
@@ -8670,89 +7928,88 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_17generator5(__pyx_Coroutine
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
__Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
- __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "handlers/payments/gift.py":231
- * reply_markup=builder.as_markup(),
+ /* "handlers/payments/gift.py":183
* )
+ *
* except Exception as e: # <<<<<<<<<<<<<<
* await callback_query.message.answer(text=f" : {e}\n, .")
*
*/
- __pyx_t_16 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
- if (__pyx_t_16) {
+ __pyx_t_13 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
+ if (__pyx_t_13) {
__Pyx_AddTraceback("handlers.payments.gift.finalize_gift_handler", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(0, 231, __pyx_L8_except_error)
- __Pyx_XGOTREF(__pyx_t_2);
+ if (__Pyx_GetException(&__pyx_t_10, &__pyx_t_11, &__pyx_t_3) < 0) __PYX_ERR(0, 183, __pyx_L8_except_error)
+ __Pyx_XGOTREF(__pyx_t_10);
+ __Pyx_XGOTREF(__pyx_t_11);
__Pyx_XGOTREF(__pyx_t_3);
- __Pyx_XGOTREF(__pyx_t_1);
- __Pyx_INCREF(__pyx_t_3);
- __Pyx_GIVEREF(__pyx_t_3);
- __pyx_cur_scope->__pyx_v_e = __pyx_t_3;
+ __Pyx_INCREF(__pyx_t_11);
+ __Pyx_GIVEREF(__pyx_t_11);
+ __pyx_cur_scope->__pyx_v_e = __pyx_t_11;
/*try:*/ {
- /* "handlers/payments/gift.py":232
- * )
+ /* "handlers/payments/gift.py":184
+ *
* except Exception as e:
* await callback_query.message.answer(text=f" : {e}\n, .") # <<<<<<<<<<<<<<
*
*
*/
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 232, __pyx_L23_error)
- __Pyx_GOTREF(__pyx_t_10);
- __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_answer); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 232, __pyx_L23_error)
- __Pyx_GOTREF(__pyx_t_11);
- __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- __pyx_t_10 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 232, __pyx_L23_error)
- __Pyx_GOTREF(__pyx_t_10);
- __pyx_t_14 = PyTuple_New(3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 232, __pyx_L23_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 184, __pyx_L23_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_answer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 184, __pyx_L23_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 184, __pyx_L23_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_14 = PyTuple_New(3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 184, __pyx_L23_error)
__Pyx_GOTREF(__pyx_t_14);
- __pyx_t_12 = 0;
- __pyx_t_13 = 127;
- __Pyx_INCREF(__pyx_kp_u__33);
- __pyx_t_13 = (65535 > __pyx_t_13) ? 65535 : __pyx_t_13;
- __pyx_t_12 += 31;
- __Pyx_GIVEREF(__pyx_kp_u__33);
- PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_kp_u__33);
- __pyx_t_17 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_e, __pyx_empty_unicode); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 232, __pyx_L23_error)
+ __pyx_t_15 = 0;
+ __pyx_t_16 = 127;
+ __Pyx_INCREF(__pyx_kp_u__31);
+ __pyx_t_16 = (65535 > __pyx_t_16) ? 65535 : __pyx_t_16;
+ __pyx_t_15 += 31;
+ __Pyx_GIVEREF(__pyx_kp_u__31);
+ PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_kp_u__31);
+ __pyx_t_17 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_e, __pyx_empty_unicode); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 184, __pyx_L23_error)
__Pyx_GOTREF(__pyx_t_17);
- __pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_17) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_17) : __pyx_t_13;
- __pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_17);
+ __pyx_t_16 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_17) > __pyx_t_16) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_17) : __pyx_t_16;
+ __pyx_t_15 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_17);
__Pyx_GIVEREF(__pyx_t_17);
PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_17);
__pyx_t_17 = 0;
- __Pyx_INCREF(__pyx_kp_u__34);
- __pyx_t_13 = (65535 > __pyx_t_13) ? 65535 : __pyx_t_13;
- __pyx_t_12 += 30;
- __Pyx_GIVEREF(__pyx_kp_u__34);
- PyTuple_SET_ITEM(__pyx_t_14, 2, __pyx_kp_u__34);
- __pyx_t_17 = __Pyx_PyUnicode_Join(__pyx_t_14, 3, __pyx_t_12, __pyx_t_13); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 232, __pyx_L23_error)
+ __Pyx_INCREF(__pyx_kp_u__32);
+ __pyx_t_16 = (65535 > __pyx_t_16) ? 65535 : __pyx_t_16;
+ __pyx_t_15 += 30;
+ __Pyx_GIVEREF(__pyx_kp_u__32);
+ PyTuple_SET_ITEM(__pyx_t_14, 2, __pyx_kp_u__32);
+ __pyx_t_17 = __Pyx_PyUnicode_Join(__pyx_t_14, 3, __pyx_t_15, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 184, __pyx_L23_error)
__Pyx_GOTREF(__pyx_t_17);
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
- if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_text, __pyx_t_17) < 0) __PYX_ERR(0, 232, __pyx_L23_error)
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_text, __pyx_t_17) < 0) __PYX_ERR(0, 184, __pyx_L23_error)
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
- __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_empty_tuple, __pyx_t_10); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 232, __pyx_L23_error)
+ __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 184, __pyx_L23_error)
__Pyx_GOTREF(__pyx_t_17);
- __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
- __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_17);
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
__Pyx_XGOTREF(__pyx_r);
if (likely(__pyx_r)) {
- __Pyx_XGIVEREF(__pyx_t_1);
- __pyx_cur_scope->__pyx_t_0 = __pyx_t_1;
- __Pyx_XGIVEREF(__pyx_t_2);
- __pyx_cur_scope->__pyx_t_1 = __pyx_t_2;
__Pyx_XGIVEREF(__pyx_t_3);
- __pyx_cur_scope->__pyx_t_2 = __pyx_t_3;
+ __pyx_cur_scope->__pyx_t_0 = __pyx_t_3;
__Pyx_XGIVEREF(__pyx_t_7);
- __pyx_cur_scope->__pyx_t_3 = __pyx_t_7;
+ __pyx_cur_scope->__pyx_t_1 = __pyx_t_7;
__Pyx_XGIVEREF(__pyx_t_8);
- __pyx_cur_scope->__pyx_t_4 = __pyx_t_8;
+ __pyx_cur_scope->__pyx_t_2 = __pyx_t_8;
__Pyx_XGIVEREF(__pyx_t_9);
- __pyx_cur_scope->__pyx_t_5 = __pyx_t_9;
+ __pyx_cur_scope->__pyx_t_3 = __pyx_t_9;
+ __Pyx_XGIVEREF(__pyx_t_10);
+ __pyx_cur_scope->__pyx_t_4 = __pyx_t_10;
+ __Pyx_XGIVEREF(__pyx_t_11);
+ __pyx_cur_scope->__pyx_t_5 = __pyx_t_11;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
__Pyx_Coroutine_SwapException(__pyx_generator);
@@ -8760,37 +8017,37 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_17generator5(__pyx_Coroutine
__pyx_generator->resume_label = 5;
return __pyx_r;
__pyx_L25_resume_from_await:;
- __pyx_t_1 = __pyx_cur_scope->__pyx_t_0;
+ __pyx_t_3 = __pyx_cur_scope->__pyx_t_0;
__pyx_cur_scope->__pyx_t_0 = 0;
- __Pyx_XGOTREF(__pyx_t_1);
- __pyx_t_2 = __pyx_cur_scope->__pyx_t_1;
- __pyx_cur_scope->__pyx_t_1 = 0;
- __Pyx_XGOTREF(__pyx_t_2);
- __pyx_t_3 = __pyx_cur_scope->__pyx_t_2;
- __pyx_cur_scope->__pyx_t_2 = 0;
__Pyx_XGOTREF(__pyx_t_3);
- __pyx_t_7 = __pyx_cur_scope->__pyx_t_3;
- __pyx_cur_scope->__pyx_t_3 = 0;
+ __pyx_t_7 = __pyx_cur_scope->__pyx_t_1;
+ __pyx_cur_scope->__pyx_t_1 = 0;
__Pyx_XGOTREF(__pyx_t_7);
- __pyx_t_8 = __pyx_cur_scope->__pyx_t_4;
- __pyx_cur_scope->__pyx_t_4 = 0;
+ __pyx_t_8 = __pyx_cur_scope->__pyx_t_2;
+ __pyx_cur_scope->__pyx_t_2 = 0;
__Pyx_XGOTREF(__pyx_t_8);
- __pyx_t_9 = __pyx_cur_scope->__pyx_t_5;
- __pyx_cur_scope->__pyx_t_5 = 0;
+ __pyx_t_9 = __pyx_cur_scope->__pyx_t_3;
+ __pyx_cur_scope->__pyx_t_3 = 0;
__Pyx_XGOTREF(__pyx_t_9);
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 232, __pyx_L23_error)
+ __pyx_t_10 = __pyx_cur_scope->__pyx_t_4;
+ __pyx_cur_scope->__pyx_t_4 = 0;
+ __Pyx_XGOTREF(__pyx_t_10);
+ __pyx_t_11 = __pyx_cur_scope->__pyx_t_5;
+ __pyx_cur_scope->__pyx_t_5 = 0;
+ __Pyx_XGOTREF(__pyx_t_11);
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 184, __pyx_L23_error)
} else {
PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 232, __pyx_L23_error)
+ else __PYX_ERR(0, 184, __pyx_L23_error)
}
}
}
- /* "handlers/payments/gift.py":231
- * reply_markup=builder.as_markup(),
+ /* "handlers/payments/gift.py":183
* )
+ *
* except Exception as e: # <<<<<<<<<<<<<<
* await callback_query.message.answer(text=f" : {e}\n, .")
*
@@ -8805,10 +8062,10 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_17generator5(__pyx_Coroutine
/*exception exit:*/{
__Pyx_PyThreadState_assign
__pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0;
- __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
- __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
+ __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
__Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
+ __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_23, &__pyx_t_24, &__pyx_t_25);
if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22) < 0)) __Pyx_ErrFetch(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22);
__Pyx_XGOTREF(__pyx_t_20);
@@ -8817,7 +8074,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_17generator5(__pyx_Coroutine
__Pyx_XGOTREF(__pyx_t_23);
__Pyx_XGOTREF(__pyx_t_24);
__Pyx_XGOTREF(__pyx_t_25);
- __pyx_t_16 = __pyx_lineno; __pyx_t_18 = __pyx_clineno; __pyx_t_19 = __pyx_filename;
+ __pyx_t_13 = __pyx_lineno; __pyx_t_18 = __pyx_clineno; __pyx_t_19 = __pyx_filename;
{
__Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e);
__Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0;
@@ -8833,19 +8090,19 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_17generator5(__pyx_Coroutine
__Pyx_XGIVEREF(__pyx_t_22);
__Pyx_ErrRestore(__pyx_t_20, __pyx_t_21, __pyx_t_22);
__pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0;
- __pyx_lineno = __pyx_t_16; __pyx_clineno = __pyx_t_18; __pyx_filename = __pyx_t_19;
+ __pyx_lineno = __pyx_t_13; __pyx_clineno = __pyx_t_18; __pyx_filename = __pyx_t_19;
goto __pyx_L8_except_error;
}
__pyx_L24:;
}
- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+ __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
goto __pyx_L7_exception_handled;
}
goto __pyx_L8_except_error;
- /* "handlers/payments/gift.py":209
+ /* "handlers/payments/gift.py":154
* return
*
* try: # <<<<<<<<<<<<<<
@@ -8867,7 +8124,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_17generator5(__pyx_Coroutine
}
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "handlers/payments/gift.py":198
+ /* "handlers/payments/gift.py":143
*
*
* @router.callback_query(F.data.startswith("confirm_gift|")) # <<<<<<<<<<<<<<
@@ -8899,7 +8156,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_17generator5(__pyx_Coroutine
return __pyx_r;
}
-/* "handlers/payments/gift.py":235
+/* "handlers/payments/gift.py":188
*
*
* def get_hardware_id(): # <<<<<<<<<<<<<<
@@ -8908,23 +8165,23 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_17generator5(__pyx_Coroutine
*/
/* Python wrapper */
-static PyObject *__pyx_pw_8handlers_8payments_4gift_19get_hardware_id(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-PyDoc_STRVAR(__pyx_doc_8handlers_8payments_4gift_18get_hardware_id, "\n \320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217 \321\203\320\275\320\270\320\272\320\260\320\273\321\214\320\275\320\276\320\263\320\276 \320\270\320\264\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\276\321\200\320\260 \321\203\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\260 \320\275\320\260 \320\276\321\201\320\275\320\276\320\262\320\265 hardware-\320\270\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\270.\n ");
-static PyMethodDef __pyx_mdef_8handlers_8payments_4gift_19get_hardware_id = {"get_hardware_id", (PyCFunction)__pyx_pw_8handlers_8payments_4gift_19get_hardware_id, METH_NOARGS, __pyx_doc_8handlers_8payments_4gift_18get_hardware_id};
-static PyObject *__pyx_pw_8handlers_8payments_4gift_19get_hardware_id(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
+static PyObject *__pyx_pw_8handlers_8payments_4gift_16get_hardware_id(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+PyDoc_STRVAR(__pyx_doc_8handlers_8payments_4gift_15get_hardware_id, "\n \320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217 \321\203\320\275\320\270\320\272\320\260\320\273\321\214\320\275\320\276\320\263\320\276 \320\270\320\264\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\276\321\200\320\260 \321\203\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\260 \320\275\320\260 \320\276\321\201\320\275\320\276\320\262\320\265 hardware-\320\270\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\270.\n ");
+static PyMethodDef __pyx_mdef_8handlers_8payments_4gift_16get_hardware_id = {"get_hardware_id", (PyCFunction)__pyx_pw_8handlers_8payments_4gift_16get_hardware_id, METH_NOARGS, __pyx_doc_8handlers_8payments_4gift_15get_hardware_id};
+static PyObject *__pyx_pw_8handlers_8payments_4gift_16get_hardware_id(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("get_hardware_id (wrapper)", 0);
__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
- __pyx_r = __pyx_pf_8handlers_8payments_4gift_18get_hardware_id(__pyx_self);
+ __pyx_r = __pyx_pf_8handlers_8payments_4gift_15get_hardware_id(__pyx_self);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_8handlers_8payments_4gift_18get_hardware_id(CYTHON_UNUSED PyObject *__pyx_self) {
+static PyObject *__pyx_pf_8handlers_8payments_4gift_15get_hardware_id(CYTHON_UNUSED PyObject *__pyx_self) {
PyObject *__pyx_v_result = NULL;
PyObject *__pyx_v_f = NULL;
PyObject *__pyx_v_hardware_id = NULL;
@@ -8953,7 +8210,7 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_18get_hardware_id(CYTHON_UNU
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("get_hardware_id", 1);
- /* "handlers/payments/gift.py":239
+ /* "handlers/payments/gift.py":192
* hardware-.
* """
* try: # <<<<<<<<<<<<<<
@@ -8969,16 +8226,16 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_18get_hardware_id(CYTHON_UNU
__Pyx_XGOTREF(__pyx_t_3);
/*try:*/ {
- /* "handlers/payments/gift.py":240
+ /* "handlers/payments/gift.py":193
* """
* try:
* if platform.system() == "Windows": # <<<<<<<<<<<<<<
* result = subprocess.check_output("wmic cpu get ProcessorId", shell=True).decode().split("\n")[1].strip()
* else:
*/
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_platform); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 240, __pyx_L3_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_platform); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 193, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_system); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 240, __pyx_L3_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_system); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 193, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = NULL;
@@ -8999,34 +8256,34 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_18get_hardware_id(CYTHON_UNU
PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
__pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 240, __pyx_L3_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 193, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
- __pyx_t_8 = (__Pyx_PyUnicode_Equals(__pyx_t_4, __pyx_n_u_Windows, Py_EQ)); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 240, __pyx_L3_error)
+ __pyx_t_8 = (__Pyx_PyUnicode_Equals(__pyx_t_4, __pyx_n_u_Windows, Py_EQ)); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 193, __pyx_L3_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (__pyx_t_8) {
- /* "handlers/payments/gift.py":241
+ /* "handlers/payments/gift.py":194
* try:
* if platform.system() == "Windows":
* result = subprocess.check_output("wmic cpu get ProcessorId", shell=True).decode().split("\n")[1].strip() # <<<<<<<<<<<<<<
* else:
* with open("/etc/machine-id") as f:
*/
- __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_subprocess); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 241, __pyx_L3_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_subprocess); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 194, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_9);
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_check_output); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 241, __pyx_L3_error)
+ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_check_output); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 194, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_9 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 241, __pyx_L3_error)
+ __pyx_t_9 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 194, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_9);
- if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_shell, Py_True) < 0) __PYX_ERR(0, 241, __pyx_L3_error)
- __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__35, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 241, __pyx_L3_error)
+ if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_shell, Py_True) < 0) __PYX_ERR(0, 194, __pyx_L3_error)
+ __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__33, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 194, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_decode); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 241, __pyx_L3_error)
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_decode); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 194, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__pyx_t_11 = NULL;
@@ -9047,11 +8304,11 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_18get_hardware_id(CYTHON_UNU
PyObject *__pyx_callargs[2] = {__pyx_t_11, NULL};
__pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
__Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 241, __pyx_L3_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 194, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
}
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_split); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 241, __pyx_L3_error)
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_split); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 194, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = NULL;
@@ -9069,17 +8326,17 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_18get_hardware_id(CYTHON_UNU
}
#endif
{
- PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_kp_u__36};
+ PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_kp_u__34};
__pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 241, __pyx_L3_error)
+ if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 194, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
}
- __pyx_t_9 = __Pyx_GetItemInt(__pyx_t_6, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 241, __pyx_L3_error)
+ __pyx_t_9 = __Pyx_GetItemInt(__pyx_t_6, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 194, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_strip); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 241, __pyx_L3_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_strip); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 194, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__pyx_t_9 = NULL;
@@ -9100,14 +8357,14 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_18get_hardware_id(CYTHON_UNU
PyObject *__pyx_callargs[2] = {__pyx_t_9, NULL};
__pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 241, __pyx_L3_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 194, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
__pyx_v_result = __pyx_t_4;
__pyx_t_4 = 0;
- /* "handlers/payments/gift.py":240
+ /* "handlers/payments/gift.py":193
* """
* try:
* if platform.system() == "Windows": # <<<<<<<<<<<<<<
@@ -9117,7 +8374,7 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_18get_hardware_id(CYTHON_UNU
goto __pyx_L9;
}
- /* "handlers/payments/gift.py":243
+ /* "handlers/payments/gift.py":196
* result = subprocess.check_output("wmic cpu get ProcessorId", shell=True).decode().split("\n")[1].strip()
* else:
* with open("/etc/machine-id") as f: # <<<<<<<<<<<<<<
@@ -9126,11 +8383,11 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_18get_hardware_id(CYTHON_UNU
*/
/*else*/ {
/*with:*/ {
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_tuple__37, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 243, __pyx_L3_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_tuple__35, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 196, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_12 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_exit); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 243, __pyx_L3_error)
+ __pyx_t_12 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_exit); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 196, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_12);
- __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_enter); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 243, __pyx_L10_error)
+ __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_enter); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 196, __pyx_L10_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_5 = NULL;
__pyx_t_7 = 0;
@@ -9150,7 +8407,7 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_18get_hardware_id(CYTHON_UNU
PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
__pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 243, __pyx_L10_error)
+ if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 196, __pyx_L10_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
}
@@ -9169,14 +8426,14 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_18get_hardware_id(CYTHON_UNU
__pyx_v_f = __pyx_t_9;
__pyx_t_9 = 0;
- /* "handlers/payments/gift.py":244
+ /* "handlers/payments/gift.py":197
* else:
* with open("/etc/machine-id") as f:
* result = f.read().strip() # <<<<<<<<<<<<<<
*
* hardware_id = hashlib.sha256(result.encode()).hexdigest()
*/
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 244, __pyx_L14_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 197, __pyx_L14_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_5 = NULL;
__pyx_t_7 = 0;
@@ -9196,11 +8453,11 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_18get_hardware_id(CYTHON_UNU
PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
__pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 244, __pyx_L14_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 197, __pyx_L14_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_strip); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 244, __pyx_L14_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_strip); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 197, __pyx_L14_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = NULL;
@@ -9221,14 +8478,14 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_18get_hardware_id(CYTHON_UNU
PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
__pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 244, __pyx_L14_error)
+ if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 197, __pyx_L14_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
__pyx_v_result = __pyx_t_9;
__pyx_t_9 = 0;
- /* "handlers/payments/gift.py":243
+ /* "handlers/payments/gift.py":196
* result = subprocess.check_output("wmic cpu get ProcessorId", shell=True).decode().split("\n")[1].strip()
* else:
* with open("/etc/machine-id") as f: # <<<<<<<<<<<<<<
@@ -9249,20 +8506,20 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_18get_hardware_id(CYTHON_UNU
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
/*except:*/ {
__Pyx_AddTraceback("handlers.payments.gift.get_hardware_id", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_9, &__pyx_t_6, &__pyx_t_4) < 0) __PYX_ERR(0, 243, __pyx_L16_except_error)
+ if (__Pyx_GetException(&__pyx_t_9, &__pyx_t_6, &__pyx_t_4) < 0) __PYX_ERR(0, 196, __pyx_L16_except_error)
__Pyx_XGOTREF(__pyx_t_9);
__Pyx_XGOTREF(__pyx_t_6);
__Pyx_XGOTREF(__pyx_t_4);
- __pyx_t_5 = PyTuple_Pack(3, __pyx_t_9, __pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 243, __pyx_L16_except_error)
+ __pyx_t_5 = PyTuple_Pack(3, __pyx_t_9, __pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 196, __pyx_L16_except_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_5, NULL);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 243, __pyx_L16_except_error)
+ if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 196, __pyx_L16_except_error)
__Pyx_GOTREF(__pyx_t_16);
__pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_16);
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
- if (__pyx_t_8 < 0) __PYX_ERR(0, 243, __pyx_L16_except_error)
+ if (__pyx_t_8 < 0) __PYX_ERR(0, 196, __pyx_L16_except_error)
__pyx_t_17 = (!__pyx_t_8);
if (unlikely(__pyx_t_17)) {
__Pyx_GIVEREF(__pyx_t_9);
@@ -9270,7 +8527,7 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_18get_hardware_id(CYTHON_UNU
__Pyx_XGIVEREF(__pyx_t_4);
__Pyx_ErrRestoreWithState(__pyx_t_9, __pyx_t_6, __pyx_t_4);
__pyx_t_9 = 0; __pyx_t_6 = 0; __pyx_t_4 = 0;
- __PYX_ERR(0, 243, __pyx_L16_except_error)
+ __PYX_ERR(0, 196, __pyx_L16_except_error)
}
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
@@ -9294,9 +8551,9 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_18get_hardware_id(CYTHON_UNU
/*finally:*/ {
/*normal exit:*/{
if (__pyx_t_12) {
- __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_tuple__38, NULL);
+ __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_tuple__36, NULL);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
- if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 243, __pyx_L3_error)
+ if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 196, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_15);
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
}
@@ -9313,20 +8570,20 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_18get_hardware_id(CYTHON_UNU
}
__pyx_L9:;
- /* "handlers/payments/gift.py":246
+ /* "handlers/payments/gift.py":199
* result = f.read().strip()
*
* hardware_id = hashlib.sha256(result.encode()).hexdigest() # <<<<<<<<<<<<<<
* return hardware_id
* except Exception:
*/
- __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_hashlib); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 246, __pyx_L3_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_hashlib); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 199, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_9);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_sha256); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 246, __pyx_L3_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_sha256); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 199, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); __PYX_ERR(0, 246, __pyx_L3_error) }
- __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_result, __pyx_n_s_encode); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 246, __pyx_L3_error)
+ if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); __PYX_ERR(0, 199, __pyx_L3_error) }
+ __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_result, __pyx_n_s_encode); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 199, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_11);
__pyx_t_10 = NULL;
__pyx_t_7 = 0;
@@ -9346,7 +8603,7 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_18get_hardware_id(CYTHON_UNU
PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
__pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 246, __pyx_L3_error)
+ if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 199, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
}
@@ -9369,11 +8626,11 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_18get_hardware_id(CYTHON_UNU
__pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
__Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 246, __pyx_L3_error)
+ if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 199, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_hexdigest); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 246, __pyx_L3_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_hexdigest); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 199, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = NULL;
@@ -9394,14 +8651,14 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_18get_hardware_id(CYTHON_UNU
PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
__pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 246, __pyx_L3_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 199, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
__pyx_v_hardware_id = __pyx_t_4;
__pyx_t_4 = 0;
- /* "handlers/payments/gift.py":247
+ /* "handlers/payments/gift.py":200
*
* hardware_id = hashlib.sha256(result.encode()).hexdigest()
* return hardware_id # <<<<<<<<<<<<<<
@@ -9413,7 +8670,7 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_18get_hardware_id(CYTHON_UNU
__pyx_r = __pyx_v_hardware_id;
goto __pyx_L7_try_return;
- /* "handlers/payments/gift.py":239
+ /* "handlers/payments/gift.py":192
* hardware-.
* """
* try: # <<<<<<<<<<<<<<
@@ -9429,7 +8686,7 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_18get_hardware_id(CYTHON_UNU
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "handlers/payments/gift.py":248
+ /* "handlers/payments/gift.py":201
* hardware_id = hashlib.sha256(result.encode()).hexdigest()
* return hardware_id
* except Exception: # <<<<<<<<<<<<<<
@@ -9439,12 +8696,12 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_18get_hardware_id(CYTHON_UNU
__pyx_t_18 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
if (__pyx_t_18) {
__Pyx_AddTraceback("handlers.payments.gift.get_hardware_id", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6) < 0) __PYX_ERR(0, 248, __pyx_L5_except_error)
+ if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6) < 0) __PYX_ERR(0, 201, __pyx_L5_except_error)
__Pyx_XGOTREF(__pyx_t_4);
__Pyx_XGOTREF(__pyx_t_5);
__Pyx_XGOTREF(__pyx_t_6);
- /* "handlers/payments/gift.py":249
+ /* "handlers/payments/gift.py":202
* return hardware_id
* except Exception:
* return None # <<<<<<<<<<<<<<
@@ -9460,7 +8717,7 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_18get_hardware_id(CYTHON_UNU
}
goto __pyx_L5_except_error;
- /* "handlers/payments/gift.py":239
+ /* "handlers/payments/gift.py":192
* hardware-.
* """
* try: # <<<<<<<<<<<<<<
@@ -9487,7 +8744,7 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_18get_hardware_id(CYTHON_UNU
goto __pyx_L0;
}
- /* "handlers/payments/gift.py":235
+ /* "handlers/payments/gift.py":188
*
*
* def get_hardware_id(): # <<<<<<<<<<<<<<
@@ -9513,9 +8770,9 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_18get_hardware_id(CYTHON_UNU
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
+static PyObject *__pyx_gb_8handlers_8payments_4gift_19generator5(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "handlers/payments/gift.py":251
+/* "handlers/payments/gift.py":204
* return None
*
* async def validate_client_code(): # <<<<<<<<<<<<<<
@@ -9524,40 +8781,40 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
*/
/* Python wrapper */
-static PyObject *__pyx_pw_8handlers_8payments_4gift_21validate_client_code(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-PyDoc_STRVAR(__pyx_doc_8handlers_8payments_4gift_20validate_client_code, "\n \320\236\321\202\320\277\321\200\320\260\320\262\320\273\321\217\320\265\321\202 \320\272\320\273\320\270\320\265\320\275\321\202\321\201\320\272\320\270\320\271 \320\272\320\276\320\264 \320\270 hardware ID \320\275\320\260 \321\201\320\265\321\200\320\262\320\265\321\200 \320\264\320\273\321\217 \320\277\321\200\320\276\320\262\320\265\321\200\320\272\320\270.\n \320\225\321\201\320\273\320\270 \321\201\320\265\321\200\320\262\320\265\321\200 \320\275\320\265\320\264\320\276\321\201\321\202\321\203\320\277\320\265\320\275, \320\260\320\272\321\202\320\270\320\262\320\260\321\206\320\270\321\217 \321\201\321\207\320\270\321\202\320\260\320\265\321\202\321\201\321\217 \321\203\321\201\320\277\320\265\321\210\320\275\320\276\320\271.\n ");
-static PyMethodDef __pyx_mdef_8handlers_8payments_4gift_21validate_client_code = {"validate_client_code", (PyCFunction)__pyx_pw_8handlers_8payments_4gift_21validate_client_code, METH_NOARGS, __pyx_doc_8handlers_8payments_4gift_20validate_client_code};
-static PyObject *__pyx_pw_8handlers_8payments_4gift_21validate_client_code(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
+static PyObject *__pyx_pw_8handlers_8payments_4gift_18validate_client_code(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+PyDoc_STRVAR(__pyx_doc_8handlers_8payments_4gift_17validate_client_code, "\n \320\236\321\202\320\277\321\200\320\260\320\262\320\273\321\217\320\265\321\202 \320\272\320\273\320\270\320\265\320\275\321\202\321\201\320\272\320\270\320\271 \320\272\320\276\320\264 \320\270 hardware ID \320\275\320\260 \321\201\320\265\321\200\320\262\320\265\321\200 \320\264\320\273\321\217 \320\277\321\200\320\276\320\262\320\265\321\200\320\272\320\270.\n ");
+static PyMethodDef __pyx_mdef_8handlers_8payments_4gift_18validate_client_code = {"validate_client_code", (PyCFunction)__pyx_pw_8handlers_8payments_4gift_18validate_client_code, METH_NOARGS, __pyx_doc_8handlers_8payments_4gift_17validate_client_code};
+static PyObject *__pyx_pw_8handlers_8payments_4gift_18validate_client_code(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("validate_client_code (wrapper)", 0);
__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
- __pyx_r = __pyx_pf_8handlers_8payments_4gift_20validate_client_code(__pyx_self);
+ __pyx_r = __pyx_pf_8handlers_8payments_4gift_17validate_client_code(__pyx_self);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_8handlers_8payments_4gift_20validate_client_code(CYTHON_UNUSED PyObject *__pyx_self) {
- struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code *__pyx_cur_scope;
+static PyObject *__pyx_pf_8handlers_8payments_4gift_17validate_client_code(CYTHON_UNUSED PyObject *__pyx_self) {
+ struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code *__pyx_cur_scope;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("validate_client_code", 0);
- __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code *)__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code, __pyx_empty_tuple, NULL);
+ __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code *)__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code, __pyx_empty_tuple, NULL);
if (unlikely(!__pyx_cur_scope)) {
- __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code *)Py_None);
+ __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(0, 251, __pyx_L1_error)
+ __PYX_ERR(0, 204, __pyx_L1_error)
} else {
__Pyx_GOTREF((PyObject *)__pyx_cur_scope);
}
{
- __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_4gift_22generator6, __pyx_codeobj__39, (PyObject *) __pyx_cur_scope, __pyx_n_s_validate_client_code, __pyx_n_s_validate_client_code, __pyx_n_s_handlers_payments_gift); if (unlikely(!gen)) __PYX_ERR(0, 251, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_4gift_19generator5, __pyx_codeobj__37, (PyObject *) __pyx_cur_scope, __pyx_n_s_validate_client_code, __pyx_n_s_validate_client_code, __pyx_n_s_handlers_payments_gift); if (unlikely(!gen)) __PYX_ERR(0, 204, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -9573,9 +8830,9 @@ static PyObject *__pyx_pf_8handlers_8payments_4gift_20validate_client_code(CYTHO
return __pyx_r;
}
-static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
+static PyObject *__pyx_gb_8handlers_8payments_4gift_19generator5(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
- struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code *)__pyx_generator->closure);
+ struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code *)__pyx_generator->closure);
PyObject *__pyx_r = NULL;
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
@@ -9628,16 +8885,16 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 251, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 204, __pyx_L1_error)
- /* "handlers/payments/gift.py":256
- * , .
+ /* "handlers/payments/gift.py":208
+ * hardware ID .
* """
* hardware_id = get_hardware_id() # <<<<<<<<<<<<<<
* if not hardware_id:
- * logger.info(" . , .")
+ * logger.info(" . ")
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_get_hardware_id); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 256, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_get_hardware_id); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 208, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
@@ -9657,7 +8914,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 256, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 208, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
@@ -9665,27 +8922,27 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
__pyx_cur_scope->__pyx_v_hardware_id = __pyx_t_1;
__pyx_t_1 = 0;
- /* "handlers/payments/gift.py":257
+ /* "handlers/payments/gift.py":209
* """
* hardware_id = get_hardware_id()
* if not hardware_id: # <<<<<<<<<<<<<<
- * logger.info(" . , .")
+ * logger.info(" . ")
* return False
*/
- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_hardware_id); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 257, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_hardware_id); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 209, __pyx_L1_error)
__pyx_t_6 = (!__pyx_t_5);
if (__pyx_t_6) {
- /* "handlers/payments/gift.py":258
+ /* "handlers/payments/gift.py":210
* hardware_id = get_hardware_id()
* if not hardware_id:
- * logger.info(" . , .") # <<<<<<<<<<<<<<
+ * logger.info(" . ") # <<<<<<<<<<<<<<
* return False
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 258, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 210, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_info); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 258, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_info); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 210, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -9703,18 +8960,18 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
}
#endif
{
- PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_kp_u__40};
+ PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_kp_u__38};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 258, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 210, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "handlers/payments/gift.py":259
+ /* "handlers/payments/gift.py":211
* if not hardware_id:
- * logger.info(" . , .")
+ * logger.info(" . ")
* return False # <<<<<<<<<<<<<<
*
* try:
@@ -9723,16 +8980,16 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
__pyx_r = NULL; __Pyx_ReturnWithStopIteration(Py_False);
goto __pyx_L0;
- /* "handlers/payments/gift.py":257
+ /* "handlers/payments/gift.py":209
* """
* hardware_id = get_hardware_id()
* if not hardware_id: # <<<<<<<<<<<<<<
- * logger.info(" . , .")
+ * logger.info(" . ")
* return False
*/
}
- /* "handlers/payments/gift.py":261
+ /* "handlers/payments/gift.py":213
* return False
*
* try: # <<<<<<<<<<<<<<
@@ -9746,17 +9003,17 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
__Pyx_XGOTREF(__pyx_t_9);
/*try:*/ {
- /* "handlers/payments/gift.py":262
+ /* "handlers/payments/gift.py":214
*
* try:
* async with aiohttp.ClientSession() as session: # <<<<<<<<<<<<<<
* payload = {"code": CLIENT_CODE, "hardware_id": hardware_id}
- * async with session.post("https://pocomacho.ru/solonetbot/codes/add/", json=payload, timeout=10) as response:
+ * async with session.post("https://pocomacho.ru/solonetbot/codes/add/", json=payload) as response:
*/
/*with:*/ {
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_aiohttp); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 262, __pyx_L5_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_aiohttp); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 214, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ClientSession); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 262, __pyx_L5_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ClientSession); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 214, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -9777,13 +9034,13 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 262, __pyx_L5_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 214, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
- __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_aexit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 262, __pyx_L5_error)
+ __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_aexit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 214, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_10);
- __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_aenter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 262, __pyx_L11_error)
+ __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_aenter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 214, __pyx_L11_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_11 = NULL;
__pyx_t_4 = 0;
@@ -9803,7 +9060,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
PyObject *__pyx_callargs[2] = {__pyx_t_11, NULL};
__pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 262, __pyx_L11_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 214, __pyx_L11_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
@@ -9843,11 +9100,11 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
__pyx_t_10 = __pyx_cur_scope->__pyx_t_4;
__pyx_cur_scope->__pyx_t_4 = 0;
__Pyx_XGOTREF(__pyx_t_10);
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 262, __pyx_L11_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 214, __pyx_L11_error)
__pyx_t_2 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_2);
} else {
__pyx_t_2 = NULL;
- if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_2) < 0) __PYX_ERR(0, 262, __pyx_L11_error)
+ if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_2) < 0) __PYX_ERR(0, 214, __pyx_L11_error)
__Pyx_GOTREF(__pyx_t_2);
}
__pyx_t_3 = __pyx_t_2;
@@ -9864,45 +9121,44 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
__pyx_cur_scope->__pyx_v_session = __pyx_t_3;
__pyx_t_3 = 0;
- /* "handlers/payments/gift.py":263
+ /* "handlers/payments/gift.py":215
* try:
* async with aiohttp.ClientSession() as session:
* payload = {"code": CLIENT_CODE, "hardware_id": hardware_id} # <<<<<<<<<<<<<<
- * async with session.post("https://pocomacho.ru/solonetbot/codes/add/", json=payload, timeout=10) as response:
+ * async with session.post("https://pocomacho.ru/solonetbot/codes/add/", json=payload) as response:
* if response.status == 200:
*/
- __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 263, __pyx_L16_error)
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 215, __pyx_L16_error)
__Pyx_GOTREF(__pyx_t_3);
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_CLIENT_CODE); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 263, __pyx_L16_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_CLIENT_CODE); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 215, __pyx_L16_error)
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_u_code_2, __pyx_t_1) < 0) __PYX_ERR(0, 263, __pyx_L16_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_u_code, __pyx_t_1) < 0) __PYX_ERR(0, 215, __pyx_L16_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_u_hardware_id, __pyx_cur_scope->__pyx_v_hardware_id) < 0) __PYX_ERR(0, 263, __pyx_L16_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_u_hardware_id, __pyx_cur_scope->__pyx_v_hardware_id) < 0) __PYX_ERR(0, 215, __pyx_L16_error)
__Pyx_GIVEREF(__pyx_t_3);
__pyx_cur_scope->__pyx_v_payload = ((PyObject*)__pyx_t_3);
__pyx_t_3 = 0;
- /* "handlers/payments/gift.py":264
+ /* "handlers/payments/gift.py":216
* async with aiohttp.ClientSession() as session:
* payload = {"code": CLIENT_CODE, "hardware_id": hardware_id}
- * async with session.post("https://pocomacho.ru/solonetbot/codes/add/", json=payload, timeout=10) as response: # <<<<<<<<<<<<<<
+ * async with session.post("https://pocomacho.ru/solonetbot/codes/add/", json=payload) as response: # <<<<<<<<<<<<<<
* if response.status == 200:
* data = await response.json()
*/
/*with:*/ {
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_session, __pyx_n_s_post); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 264, __pyx_L16_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_session, __pyx_n_s_post); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 216, __pyx_L16_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 264, __pyx_L16_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 216, __pyx_L16_error)
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_json, __pyx_cur_scope->__pyx_v_payload) < 0) __PYX_ERR(0, 264, __pyx_L16_error)
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_timeout, __pyx_int_10) < 0) __PYX_ERR(0, 264, __pyx_L16_error)
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__41, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 264, __pyx_L16_error)
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_json, __pyx_cur_scope->__pyx_v_payload) < 0) __PYX_ERR(0, 216, __pyx_L16_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__39, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 216, __pyx_L16_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_15 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_aexit); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 264, __pyx_L16_error)
+ __pyx_t_15 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_aexit); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 216, __pyx_L16_error)
__Pyx_GOTREF(__pyx_t_15);
- __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_aenter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 264, __pyx_L22_error)
+ __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_aenter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 216, __pyx_L22_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_11 = NULL;
__pyx_t_4 = 0;
@@ -9922,7 +9178,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
PyObject *__pyx_callargs[2] = {__pyx_t_11, NULL};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 264, __pyx_L22_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 216, __pyx_L22_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
@@ -9982,11 +9238,11 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
__pyx_t_15 = __pyx_cur_scope->__pyx_t_8;
__pyx_cur_scope->__pyx_t_8 = 0;
__Pyx_XGOTREF(__pyx_t_15);
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 264, __pyx_L22_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 216, __pyx_L22_error)
__pyx_t_1 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_1);
} else {
__pyx_t_1 = NULL;
- if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_1) < 0) __PYX_ERR(0, 264, __pyx_L22_error)
+ if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_1) < 0) __PYX_ERR(0, 216, __pyx_L22_error)
__Pyx_GOTREF(__pyx_t_1);
}
__pyx_t_3 = __pyx_t_1;
@@ -10003,27 +9259,27 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
__pyx_cur_scope->__pyx_v_response = __pyx_t_3;
__pyx_t_3 = 0;
- /* "handlers/payments/gift.py":265
+ /* "handlers/payments/gift.py":217
* payload = {"code": CLIENT_CODE, "hardware_id": hardware_id}
- * async with session.post("https://pocomacho.ru/solonetbot/codes/add/", json=payload, timeout=10) as response:
+ * async with session.post("https://pocomacho.ru/solonetbot/codes/add/", json=payload) as response:
* if response.status == 200: # <<<<<<<<<<<<<<
* data = await response.json()
* if data.get("status") == "success":
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_response, __pyx_n_s_status); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 265, __pyx_L27_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_response, __pyx_n_s_status); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 217, __pyx_L27_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_6 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_3, __pyx_int_200, 0xC8, 0)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 265, __pyx_L27_error)
+ __pyx_t_6 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_3, __pyx_int_200, 0xC8, 0)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 217, __pyx_L27_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (__pyx_t_6) {
- /* "handlers/payments/gift.py":266
- * async with session.post("https://pocomacho.ru/solonetbot/codes/add/", json=payload, timeout=10) as response:
+ /* "handlers/payments/gift.py":218
+ * async with session.post("https://pocomacho.ru/solonetbot/codes/add/", json=payload) as response:
* if response.status == 200:
* data = await response.json() # <<<<<<<<<<<<<<
* if data.get("status") == "success":
- * logger.info(" !")
+ * logger.info(" !.")
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_response, __pyx_n_s_json); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 266, __pyx_L27_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_response, __pyx_n_s_json); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 218, __pyx_L27_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_1 = NULL;
__pyx_t_4 = 0;
@@ -10043,7 +9299,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
__pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 266, __pyx_L27_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 218, __pyx_L27_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
@@ -10113,25 +9369,25 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
__pyx_t_18 = __pyx_cur_scope->__pyx_t_10;
__pyx_cur_scope->__pyx_t_10 = 0;
__Pyx_XGOTREF(__pyx_t_18);
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 266, __pyx_L27_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 218, __pyx_L27_error)
__pyx_t_3 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_3);
} else {
__pyx_t_3 = NULL;
- if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_3) < 0) __PYX_ERR(0, 266, __pyx_L27_error)
+ if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_3) < 0) __PYX_ERR(0, 218, __pyx_L27_error)
__Pyx_GOTREF(__pyx_t_3);
}
__Pyx_GIVEREF(__pyx_t_3);
__pyx_cur_scope->__pyx_v_data = __pyx_t_3;
__pyx_t_3 = 0;
- /* "handlers/payments/gift.py":267
+ /* "handlers/payments/gift.py":219
* if response.status == 200:
* data = await response.json()
* if data.get("status") == "success": # <<<<<<<<<<<<<<
- * logger.info(" !")
+ * logger.info(" !.")
* return True
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_data, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 267, __pyx_L27_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_data, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 219, __pyx_L27_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_1 = NULL;
__pyx_t_4 = 0;
@@ -10151,24 +9407,24 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_n_u_status};
__pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 267, __pyx_L27_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 219, __pyx_L27_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
- __pyx_t_6 = (__Pyx_PyUnicode_Equals(__pyx_t_3, __pyx_n_u_success, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 267, __pyx_L27_error)
+ __pyx_t_6 = (__Pyx_PyUnicode_Equals(__pyx_t_3, __pyx_n_u_success, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 219, __pyx_L27_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (__pyx_t_6) {
- /* "handlers/payments/gift.py":268
+ /* "handlers/payments/gift.py":220
* data = await response.json()
* if data.get("status") == "success":
- * logger.info(" !") # <<<<<<<<<<<<<<
+ * logger.info(" !.") # <<<<<<<<<<<<<<
* return True
* else:
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 268, __pyx_L27_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 220, __pyx_L27_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_info); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 268, __pyx_L27_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_info); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 220, __pyx_L27_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -10186,57 +9442,57 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
}
#endif
{
- PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_kp_u__42};
+ PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_kp_u__40};
__pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 268, __pyx_L27_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 220, __pyx_L27_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "handlers/payments/gift.py":269
+ /* "handlers/payments/gift.py":221
* if data.get("status") == "success":
- * logger.info(" !")
+ * logger.info(" !.")
* return True # <<<<<<<<<<<<<<
* else:
- * logger.info(f" : {data.get('message', ' ')}")
+ * logger.info(f": {data.get('message', ' .')}")
*/
__Pyx_XDECREF(__pyx_r);
__pyx_r = NULL; __Pyx_ReturnWithStopIteration(Py_True);
goto __pyx_L31_try_return;
- /* "handlers/payments/gift.py":267
+ /* "handlers/payments/gift.py":219
* if response.status == 200:
* data = await response.json()
* if data.get("status") == "success": # <<<<<<<<<<<<<<
- * logger.info(" !")
+ * logger.info(" !.")
* return True
*/
}
- /* "handlers/payments/gift.py":271
+ /* "handlers/payments/gift.py":223
* return True
* else:
- * logger.info(f" : {data.get('message', ' ')}") # <<<<<<<<<<<<<<
+ * logger.info(f": {data.get('message', ' .')}") # <<<<<<<<<<<<<<
* return False
- * elif response.status == 404:
+ * elif response.status == 502:
*/
/*else*/ {
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 271, __pyx_L27_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 223, __pyx_L27_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_info); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 271, __pyx_L27_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_info); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 223, __pyx_L27_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_data, __pyx_n_s_get); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 271, __pyx_L27_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_data, __pyx_n_s_get); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 223, __pyx_L27_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__45, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 271, __pyx_L27_error)
+ __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__43, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 223, __pyx_L27_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_t_11, __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 271, __pyx_L27_error)
+ __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_t_11, __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 223, __pyx_L27_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
- __pyx_t_11 = __Pyx_PyUnicode_Concat(__pyx_kp_u__43, __pyx_t_1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 271, __pyx_L27_error)
+ __pyx_t_11 = __Pyx_PyUnicode_Concat(__pyx_kp_u__41, __pyx_t_1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 223, __pyx_L27_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = NULL;
@@ -10258,56 +9514,56 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
__pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 271, __pyx_L27_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 223, __pyx_L27_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "handlers/payments/gift.py":272
+ /* "handlers/payments/gift.py":224
* else:
- * logger.info(f" : {data.get('message', ' ')}")
+ * logger.info(f": {data.get('message', ' .')}")
* return False # <<<<<<<<<<<<<<
- * elif response.status == 404:
- * logger.error(" (404 Not Found).")
+ * elif response.status == 502:
+ * logger.info(" , .")
*/
__Pyx_XDECREF(__pyx_r);
__pyx_r = NULL; __Pyx_ReturnWithStopIteration(Py_False);
goto __pyx_L31_try_return;
}
- /* "handlers/payments/gift.py":265
+ /* "handlers/payments/gift.py":217
* payload = {"code": CLIENT_CODE, "hardware_id": hardware_id}
- * async with session.post("https://pocomacho.ru/solonetbot/codes/add/", json=payload, timeout=10) as response:
+ * async with session.post("https://pocomacho.ru/solonetbot/codes/add/", json=payload) as response:
* if response.status == 200: # <<<<<<<<<<<<<<
* data = await response.json()
* if data.get("status") == "success":
*/
}
- /* "handlers/payments/gift.py":273
- * logger.info(f" : {data.get('message', ' ')}")
+ /* "handlers/payments/gift.py":225
+ * logger.info(f": {data.get('message', ' .')}")
* return False
- * elif response.status == 404: # <<<<<<<<<<<<<<
- * logger.error(" (404 Not Found).")
+ * elif response.status == 502: # <<<<<<<<<<<<<<
+ * logger.info(" , .")
* return True
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_response, __pyx_n_s_status); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 273, __pyx_L27_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_response, __pyx_n_s_status); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 225, __pyx_L27_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_6 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_3, __pyx_int_404, 0x194, 0)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 273, __pyx_L27_error)
+ __pyx_t_6 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_3, __pyx_int_502, 0x1F6, 0)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 225, __pyx_L27_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (__pyx_t_6) {
- /* "handlers/payments/gift.py":274
+ /* "handlers/payments/gift.py":226
* return False
- * elif response.status == 404:
- * logger.error(" (404 Not Found).") # <<<<<<<<<<<<<<
+ * elif response.status == 502:
+ * logger.info(" , .") # <<<<<<<<<<<<<<
* return True
- * else:
+ * elif response.status == 404:
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 274, __pyx_L27_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 226, __pyx_L27_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_error); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 274, __pyx_L27_error)
+ __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_info); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 226, __pyx_L27_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -10325,64 +9581,68 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
}
#endif
{
- PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_kp_u_404_Not_Found};
+ PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_kp_u__44};
__pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 274, __pyx_L27_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 226, __pyx_L27_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "handlers/payments/gift.py":275
- * elif response.status == 404:
- * logger.error(" (404 Not Found).")
+ /* "handlers/payments/gift.py":227
+ * elif response.status == 502:
+ * logger.info(" , .")
* return True # <<<<<<<<<<<<<<
- * else:
- * logger.error(f" : {response.status}")
+ * elif response.status == 404:
+ * logger.info(" , .")
*/
__Pyx_XDECREF(__pyx_r);
__pyx_r = NULL; __Pyx_ReturnWithStopIteration(Py_True);
goto __pyx_L31_try_return;
- /* "handlers/payments/gift.py":273
- * logger.info(f" : {data.get('message', ' ')}")
+ /* "handlers/payments/gift.py":225
+ * logger.info(f": {data.get('message', ' .')}")
* return False
- * elif response.status == 404: # <<<<<<<<<<<<<<
- * logger.error(" (404 Not Found).")
+ * elif response.status == 502: # <<<<<<<<<<<<<<
+ * logger.info(" , .")
* return True
*/
}
- /* "handlers/payments/gift.py":277
+ /* "handlers/payments/gift.py":228
+ * logger.info(" , .")
+ * return True
+ * elif response.status == 404: # <<<<<<<<<<<<<<
+ * logger.info(" , .")
+ * return True
+ */
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_response, __pyx_n_s_status); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 228, __pyx_L27_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_6 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_3, __pyx_int_404, 0x194, 0)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 228, __pyx_L27_error)
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (__pyx_t_6) {
+
+ /* "handlers/payments/gift.py":229
+ * return True
+ * elif response.status == 404:
+ * logger.info(" , .") # <<<<<<<<<<<<<<
* return True
* else:
- * logger.error(f" : {response.status}") # <<<<<<<<<<<<<<
- * return False
- * except aiohttp.ClientConnectorError:
*/
- /*else*/ {
- __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_logger); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 277, __pyx_L27_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_logger); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 229, __pyx_L27_error)
__Pyx_GOTREF(__pyx_t_11);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 277, __pyx_L27_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_info); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 229, __pyx_L27_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
- __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_response, __pyx_n_s_status); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 277, __pyx_L27_error)
- __Pyx_GOTREF(__pyx_t_11);
- __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_t_11, __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 277, __pyx_L27_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
- __pyx_t_11 = __Pyx_PyUnicode_Concat(__pyx_kp_u__46, __pyx_t_1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 277, __pyx_L27_error)
- __Pyx_GOTREF(__pyx_t_11);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = NULL;
+ __pyx_t_11 = NULL;
__pyx_t_4 = 0;
#if CYTHON_UNPACK_METHODS
if (unlikely(PyMethod_Check(__pyx_t_2))) {
- __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
- if (likely(__pyx_t_1)) {
+ __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_2);
+ if (likely(__pyx_t_11)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
- __Pyx_INCREF(__pyx_t_1);
+ __Pyx_INCREF(__pyx_t_11);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
__pyx_t_4 = 1;
@@ -10390,32 +9650,97 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
}
#endif
{
- PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_11};
+ PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_kp_u__44};
__pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 277, __pyx_L27_error)
+ __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 229, __pyx_L27_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "handlers/payments/gift.py":278
+ /* "handlers/payments/gift.py":230
+ * elif response.status == 404:
+ * logger.info(" , .")
+ * return True # <<<<<<<<<<<<<<
* else:
- * logger.error(f" : {response.status}")
+ * logger.info(f" : {response.status}")
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_r = NULL; __Pyx_ReturnWithStopIteration(Py_True);
+ goto __pyx_L31_try_return;
+
+ /* "handlers/payments/gift.py":228
+ * logger.info(" , .")
+ * return True
+ * elif response.status == 404: # <<<<<<<<<<<<<<
+ * logger.info(" , .")
+ * return True
+ */
+ }
+
+ /* "handlers/payments/gift.py":232
+ * return True
+ * else:
+ * logger.info(f" : {response.status}") # <<<<<<<<<<<<<<
+ * return False
+ * except aiohttp.ClientConnectorError:
+ */
+ /*else*/ {
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 232, __pyx_L27_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_info); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 232, __pyx_L27_error)
+ __Pyx_GOTREF(__pyx_t_11);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_response, __pyx_n_s_status); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 232, __pyx_L27_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_t_2, __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 232, __pyx_L27_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u__45, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 232, __pyx_L27_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = NULL;
+ __pyx_t_4 = 0;
+ #if CYTHON_UNPACK_METHODS
+ if (unlikely(PyMethod_Check(__pyx_t_11))) {
+ __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_11);
+ if (likely(__pyx_t_1)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
+ __Pyx_INCREF(__pyx_t_1);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_11, function);
+ __pyx_t_4 = 1;
+ }
+ }
+ #endif
+ {
+ PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_2};
+ __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 232, __pyx_L27_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+
+ /* "handlers/payments/gift.py":233
+ * else:
+ * logger.info(f" : {response.status}")
* return False # <<<<<<<<<<<<<<
* except aiohttp.ClientConnectorError:
- * logger.warning(" . -.")
+ * logger.info(" , .")
*/
__Pyx_XDECREF(__pyx_r);
__pyx_r = NULL; __Pyx_ReturnWithStopIteration(Py_False);
goto __pyx_L31_try_return;
}
- /* "handlers/payments/gift.py":264
+ /* "handlers/payments/gift.py":216
* async with aiohttp.ClientSession() as session:
* payload = {"code": CLIENT_CODE, "hardware_id": hardware_id}
- * async with session.post("https://pocomacho.ru/solonetbot/codes/add/", json=payload, timeout=10) as response: # <<<<<<<<<<<<<<
+ * async with session.post("https://pocomacho.ru/solonetbot/codes/add/", json=payload) as response: # <<<<<<<<<<<<<<
* if response.status == 200:
* data = await response.json()
*/
@@ -10427,16 +9752,16 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
/*except:*/ {
__Pyx_AddTraceback("handlers.payments.gift.validate_client_code", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_11) < 0) __PYX_ERR(0, 264, __pyx_L29_except_error)
+ if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_11, &__pyx_t_2) < 0) __PYX_ERR(0, 216, __pyx_L29_except_error)
__Pyx_XGOTREF(__pyx_t_3);
- __Pyx_XGOTREF(__pyx_t_2);
__Pyx_XGOTREF(__pyx_t_11);
- __pyx_t_1 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_2, __pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 264, __pyx_L29_except_error)
+ __Pyx_XGOTREF(__pyx_t_2);
+ __pyx_t_1 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_11, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 216, __pyx_L29_except_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_1, NULL);
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 264, __pyx_L29_except_error)
+ if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 216, __pyx_L29_except_error)
__Pyx_GOTREF(__pyx_t_19);
__pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_19);
__Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
@@ -10524,30 +9849,30 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
__pyx_t_19 = __pyx_cur_scope->__pyx_t_14;
__pyx_cur_scope->__pyx_t_14 = 0;
__Pyx_XGOTREF(__pyx_t_19);
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 264, __pyx_L29_except_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 216, __pyx_L29_except_error)
__pyx_t_1 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_1);
} else {
__pyx_t_1 = NULL;
- if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_1) < 0) __PYX_ERR(0, 264, __pyx_L29_except_error)
+ if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_1) < 0) __PYX_ERR(0, 216, __pyx_L29_except_error)
__Pyx_GOTREF(__pyx_t_1);
}
__pyx_t_19 = __pyx_t_1;
__pyx_t_1 = 0;
__pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_19);
__Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
- if (__pyx_t_6 < 0) __PYX_ERR(0, 264, __pyx_L29_except_error)
+ if (__pyx_t_6 < 0) __PYX_ERR(0, 216, __pyx_L29_except_error)
__pyx_t_5 = (!__pyx_t_6);
if (unlikely(__pyx_t_5)) {
__Pyx_GIVEREF(__pyx_t_3);
- __Pyx_GIVEREF(__pyx_t_2);
- __Pyx_XGIVEREF(__pyx_t_11);
- __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_2, __pyx_t_11);
- __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_11 = 0;
- __PYX_ERR(0, 264, __pyx_L29_except_error)
+ __Pyx_GIVEREF(__pyx_t_11);
+ __Pyx_XGIVEREF(__pyx_t_2);
+ __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_11, __pyx_t_2);
+ __pyx_t_3 = 0; __pyx_t_11 = 0; __pyx_t_2 = 0;
+ __PYX_ERR(0, 216, __pyx_L29_except_error)
}
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
+ __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
goto __pyx_L28_exception_handled;
}
__pyx_L29_except_error:;
@@ -10572,9 +9897,9 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
/*finally:*/ {
/*normal exit:*/{
if (__pyx_t_15) {
- __pyx_t_18 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_tuple__38, NULL);
+ __pyx_t_18 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_tuple__36, NULL);
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
- if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 264, __pyx_L16_error)
+ if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 216, __pyx_L16_error)
__Pyx_GOTREF(__pyx_t_18);
__pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_18);
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
@@ -10632,15 +9957,15 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
__pyx_t_18 = __pyx_cur_scope->__pyx_t_8;
__pyx_cur_scope->__pyx_t_8 = 0;
__Pyx_XGOTREF(__pyx_t_18);
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 264, __pyx_L16_error)
- __pyx_t_11 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_11);
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 216, __pyx_L16_error)
+ __pyx_t_2 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_2);
} else {
- __pyx_t_11 = NULL;
- if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_11) < 0) __PYX_ERR(0, 264, __pyx_L16_error)
- __Pyx_GOTREF(__pyx_t_11);
+ __pyx_t_2 = NULL;
+ if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_2) < 0) __PYX_ERR(0, 216, __pyx_L16_error)
+ __Pyx_GOTREF(__pyx_t_2);
}
- __pyx_t_18 = __pyx_t_11;
- __pyx_t_11 = 0;
+ __pyx_t_18 = __pyx_t_2;
+ __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
}
goto __pyx_L26;
@@ -10659,9 +9984,9 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
__pyx_t_22 = __pyx_r;
__pyx_r = 0;
if (__pyx_t_15) {
- __pyx_t_23 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_tuple__38, NULL);
+ __pyx_t_23 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_tuple__36, NULL);
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
- if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 264, __pyx_L16_error)
+ if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 216, __pyx_L16_error)
__Pyx_GOTREF(__pyx_t_23);
__pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_23);
__Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
@@ -10754,15 +10079,15 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
__pyx_t_23 = __pyx_cur_scope->__pyx_t_15;
__pyx_cur_scope->__pyx_t_15 = 0;
__Pyx_XGOTREF(__pyx_t_23);
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 264, __pyx_L16_error)
- __pyx_t_11 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_11);
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 216, __pyx_L16_error)
+ __pyx_t_2 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_2);
} else {
- __pyx_t_11 = NULL;
- if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_11) < 0) __PYX_ERR(0, 264, __pyx_L16_error)
- __Pyx_GOTREF(__pyx_t_11);
+ __pyx_t_2 = NULL;
+ if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_2) < 0) __PYX_ERR(0, 216, __pyx_L16_error)
+ __Pyx_GOTREF(__pyx_t_2);
}
- __pyx_t_23 = __pyx_t_11;
- __pyx_t_11 = 0;
+ __pyx_t_23 = __pyx_t_2;
+ __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
}
__pyx_r = __pyx_t_22;
@@ -10789,12 +10114,12 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
__pyx_L42:;
}
- /* "handlers/payments/gift.py":262
+ /* "handlers/payments/gift.py":214
*
* try:
* async with aiohttp.ClientSession() as session: # <<<<<<<<<<<<<<
* payload = {"code": CLIENT_CODE, "hardware_id": hardware_id}
- * async with session.post("https://pocomacho.ru/solonetbot/codes/add/", json=payload, timeout=10) as response:
+ * async with session.post("https://pocomacho.ru/solonetbot/codes/add/", json=payload) as response:
*/
}
__Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
@@ -10808,16 +10133,16 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
/*except:*/ {
__Pyx_AddTraceback("handlers.payments.gift.validate_client_code", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_11, &__pyx_t_2, &__pyx_t_3) < 0) __PYX_ERR(0, 262, __pyx_L18_except_error)
- __Pyx_XGOTREF(__pyx_t_11);
+ if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_11, &__pyx_t_3) < 0) __PYX_ERR(0, 214, __pyx_L18_except_error)
__Pyx_XGOTREF(__pyx_t_2);
+ __Pyx_XGOTREF(__pyx_t_11);
__Pyx_XGOTREF(__pyx_t_3);
- __pyx_t_1 = PyTuple_Pack(3, __pyx_t_11, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 262, __pyx_L18_except_error)
+ __pyx_t_1 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_11, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 214, __pyx_L18_except_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_1, NULL);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 262, __pyx_L18_except_error)
+ if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 214, __pyx_L18_except_error)
__Pyx_GOTREF(__pyx_t_15);
__pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_15);
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
@@ -10885,29 +10210,29 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
__pyx_t_15 = __pyx_cur_scope->__pyx_t_10;
__pyx_cur_scope->__pyx_t_10 = 0;
__Pyx_XGOTREF(__pyx_t_15);
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 262, __pyx_L18_except_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 214, __pyx_L18_except_error)
__pyx_t_1 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_1);
} else {
__pyx_t_1 = NULL;
- if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_1) < 0) __PYX_ERR(0, 262, __pyx_L18_except_error)
+ if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_1) < 0) __PYX_ERR(0, 214, __pyx_L18_except_error)
__Pyx_GOTREF(__pyx_t_1);
}
__pyx_t_15 = __pyx_t_1;
__pyx_t_1 = 0;
__pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_15);
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
- if (__pyx_t_5 < 0) __PYX_ERR(0, 262, __pyx_L18_except_error)
+ if (__pyx_t_5 < 0) __PYX_ERR(0, 214, __pyx_L18_except_error)
__pyx_t_6 = (!__pyx_t_5);
if (unlikely(__pyx_t_6)) {
- __Pyx_GIVEREF(__pyx_t_11);
__Pyx_GIVEREF(__pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_11);
__Pyx_XGIVEREF(__pyx_t_3);
- __Pyx_ErrRestoreWithState(__pyx_t_11, __pyx_t_2, __pyx_t_3);
- __pyx_t_11 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0;
- __PYX_ERR(0, 262, __pyx_L18_except_error)
+ __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_11, __pyx_t_3);
+ __pyx_t_2 = 0; __pyx_t_11 = 0; __pyx_t_3 = 0;
+ __PYX_ERR(0, 214, __pyx_L18_except_error)
}
- __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
goto __pyx_L17_exception_handled;
}
@@ -10934,9 +10259,9 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
/*finally:*/ {
/*normal exit:*/{
if (__pyx_t_10) {
- __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__38, NULL);
+ __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__36, NULL);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 262, __pyx_L5_error)
+ if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 214, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_14);
__pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_14);
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
@@ -10974,11 +10299,11 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
__pyx_t_14 = __pyx_cur_scope->__pyx_t_4;
__pyx_cur_scope->__pyx_t_4 = 0;
__Pyx_XGOTREF(__pyx_t_14);
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 262, __pyx_L5_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 214, __pyx_L5_error)
__pyx_t_3 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_3);
} else {
__pyx_t_3 = NULL;
- if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_3) < 0) __PYX_ERR(0, 262, __pyx_L5_error)
+ if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_3) < 0) __PYX_ERR(0, 214, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_3);
}
__pyx_t_14 = __pyx_t_3;
@@ -11001,9 +10326,9 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
__pyx_t_19 = __pyx_r;
__pyx_r = 0;
if (__pyx_t_10) {
- __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__38, NULL);
+ __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__36, NULL);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 262, __pyx_L5_error)
+ if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 214, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_16);
__pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_16);
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
@@ -11076,11 +10401,11 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
__pyx_t_21 = __pyx_cur_scope->__pyx_t_11;
__pyx_cur_scope->__pyx_t_11 = 0;
__Pyx_XGOTREF(__pyx_t_21);
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 262, __pyx_L5_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 214, __pyx_L5_error)
__pyx_t_3 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_3);
} else {
__pyx_t_3 = NULL;
- if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_3) < 0) __PYX_ERR(0, 262, __pyx_L5_error)
+ if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_3) < 0) __PYX_ERR(0, 214, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_3);
}
__pyx_t_16 = __pyx_t_3;
@@ -11111,7 +10436,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
__pyx_L49:;
}
- /* "handlers/payments/gift.py":261
+ /* "handlers/payments/gift.py":213
* return False
*
* try: # <<<<<<<<<<<<<<
@@ -11129,40 +10454,40 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "handlers/payments/gift.py":279
- * logger.error(f" : {response.status}")
+ /* "handlers/payments/gift.py":234
+ * logger.info(f" : {response.status}")
* return False
* except aiohttp.ClientConnectorError: # <<<<<<<<<<<<<<
- * logger.warning(" . -.")
+ * logger.info(" , .")
* return True
*/
- __Pyx_ErrFetch(&__pyx_t_3, &__pyx_t_2, &__pyx_t_11);
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_aiohttp); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 279, __pyx_L7_except_error)
+ __Pyx_ErrFetch(&__pyx_t_3, &__pyx_t_11, &__pyx_t_2);
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_aiohttp); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 234, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_24 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ClientConnectorError); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 279, __pyx_L7_except_error)
+ __pyx_t_24 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ClientConnectorError); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 234, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_24);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_25 = __Pyx_PyErr_GivenExceptionMatches(__pyx_t_3, __pyx_t_24);
__Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
- __Pyx_ErrRestore(__pyx_t_3, __pyx_t_2, __pyx_t_11);
- __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_11 = 0;
+ __Pyx_ErrRestore(__pyx_t_3, __pyx_t_11, __pyx_t_2);
+ __pyx_t_3 = 0; __pyx_t_11 = 0; __pyx_t_2 = 0;
if (__pyx_t_25) {
__Pyx_AddTraceback("handlers.payments.gift.validate_client_code", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_11, &__pyx_t_2, &__pyx_t_3) < 0) __PYX_ERR(0, 279, __pyx_L7_except_error)
- __Pyx_XGOTREF(__pyx_t_11);
+ if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_11, &__pyx_t_3) < 0) __PYX_ERR(0, 234, __pyx_L7_except_error)
__Pyx_XGOTREF(__pyx_t_2);
+ __Pyx_XGOTREF(__pyx_t_11);
__Pyx_XGOTREF(__pyx_t_3);
- /* "handlers/payments/gift.py":280
+ /* "handlers/payments/gift.py":235
* return False
* except aiohttp.ClientConnectorError:
- * logger.warning(" . -.") # <<<<<<<<<<<<<<
+ * logger.info(" , .") # <<<<<<<<<<<<<<
* return True
- * except asyncio.TimeoutError:
+ * except aiohttp.ClientResponseError as e:
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 280, __pyx_L7_except_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 235, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_warning); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 280, __pyx_L7_except_error)
+ __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_info); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 235, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_26);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = NULL;
@@ -11180,21 +10505,21 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
}
#endif
{
- PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_kp_u__47};
+ PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_kp_u__44};
__pyx_t_24 = __Pyx_PyObject_FastCall(__pyx_t_26, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 280, __pyx_L7_except_error)
+ if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 235, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_24);
__Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
}
__Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
- /* "handlers/payments/gift.py":281
+ /* "handlers/payments/gift.py":236
* except aiohttp.ClientConnectorError:
- * logger.warning(" . -.")
+ * logger.info(" , .")
* return True # <<<<<<<<<<<<<<
- * except asyncio.TimeoutError:
- * logger.warning(" . -.")
+ * except aiohttp.ClientResponseError as e:
+ * if e.status in [301, 302]:
*/
__Pyx_XDECREF(__pyx_r);
__pyx_r = NULL; __Pyx_ReturnWithStopIteration(Py_True);
@@ -11204,172 +10529,186 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
goto __pyx_L8_except_return;
}
- /* "handlers/payments/gift.py":282
- * logger.warning(" . -.")
- * return True
- * except asyncio.TimeoutError: # <<<<<<<<<<<<<<
- * logger.warning(" . -.")
+ /* "handlers/payments/gift.py":237
+ * logger.info(" , .")
* return True
+ * except aiohttp.ClientResponseError as e: # <<<<<<<<<<<<<<
+ * if e.status in [301, 302]:
+ * logger.info(" , .")
*/
- __Pyx_ErrFetch(&__pyx_t_3, &__pyx_t_2, &__pyx_t_11);
- __Pyx_GetModuleGlobalName(__pyx_t_24, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 282, __pyx_L7_except_error)
+ __Pyx_ErrFetch(&__pyx_t_3, &__pyx_t_11, &__pyx_t_2);
+ __Pyx_GetModuleGlobalName(__pyx_t_24, __pyx_n_s_aiohttp); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 237, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_24);
- __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_t_24, __pyx_n_s_TimeoutError); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 282, __pyx_L7_except_error)
+ __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_t_24, __pyx_n_s_ClientResponseError); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 237, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_26);
__Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
__pyx_t_25 = __Pyx_PyErr_GivenExceptionMatches(__pyx_t_3, __pyx_t_26);
__Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
- __Pyx_ErrRestore(__pyx_t_3, __pyx_t_2, __pyx_t_11);
- __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_11 = 0;
+ __Pyx_ErrRestore(__pyx_t_3, __pyx_t_11, __pyx_t_2);
+ __pyx_t_3 = 0; __pyx_t_11 = 0; __pyx_t_2 = 0;
if (__pyx_t_25) {
__Pyx_AddTraceback("handlers.payments.gift.validate_client_code", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_11, &__pyx_t_2, &__pyx_t_3) < 0) __PYX_ERR(0, 282, __pyx_L7_except_error)
- __Pyx_XGOTREF(__pyx_t_11);
+ if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_11, &__pyx_t_3) < 0) __PYX_ERR(0, 237, __pyx_L7_except_error)
__Pyx_XGOTREF(__pyx_t_2);
- __Pyx_XGOTREF(__pyx_t_3);
-
- /* "handlers/payments/gift.py":283
- * return True
- * except asyncio.TimeoutError:
- * logger.warning(" . -.") # <<<<<<<<<<<<<<
- * return True
- * except ClientError as e:
- */
- __Pyx_GetModuleGlobalName(__pyx_t_24, __pyx_n_s_logger); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 283, __pyx_L7_except_error)
- __Pyx_GOTREF(__pyx_t_24);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_24, __pyx_n_s_warning); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 283, __pyx_L7_except_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
- __pyx_t_24 = NULL;
- __pyx_t_4 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_1))) {
- __pyx_t_24 = PyMethod_GET_SELF(__pyx_t_1);
- if (likely(__pyx_t_24)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
- __Pyx_INCREF(__pyx_t_24);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_1, function);
- __pyx_t_4 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_24, __pyx_kp_u__48};
- __pyx_t_26 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
- __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0;
- if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 283, __pyx_L7_except_error)
- __Pyx_GOTREF(__pyx_t_26);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- }
- __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
-
- /* "handlers/payments/gift.py":284
- * except asyncio.TimeoutError:
- * logger.warning(" . -.")
- * return True # <<<<<<<<<<<<<<
- * except ClientError as e:
- * logger.error(f" : {e}")
- */
- __Pyx_XDECREF(__pyx_r);
- __pyx_r = NULL; __Pyx_ReturnWithStopIteration(Py_True);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
- goto __pyx_L8_except_return;
- }
-
- /* "handlers/payments/gift.py":285
- * logger.warning(" . -.")
- * return True
- * except ClientError as e: # <<<<<<<<<<<<<<
- * logger.error(f" : {e}")
- * return False
- */
- __Pyx_ErrFetch(&__pyx_t_3, &__pyx_t_2, &__pyx_t_11);
- __Pyx_GetModuleGlobalName(__pyx_t_26, __pyx_n_s_ClientError); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 285, __pyx_L7_except_error)
- __Pyx_GOTREF(__pyx_t_26);
- __pyx_t_25 = __Pyx_PyErr_GivenExceptionMatches(__pyx_t_3, __pyx_t_26);
- __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
- __Pyx_ErrRestore(__pyx_t_3, __pyx_t_2, __pyx_t_11);
- __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_11 = 0;
- if (__pyx_t_25) {
- __Pyx_AddTraceback("handlers.payments.gift.validate_client_code", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_11, &__pyx_t_2, &__pyx_t_3) < 0) __PYX_ERR(0, 285, __pyx_L7_except_error)
__Pyx_XGOTREF(__pyx_t_11);
- __Pyx_XGOTREF(__pyx_t_2);
__Pyx_XGOTREF(__pyx_t_3);
- __Pyx_INCREF(__pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_cur_scope->__pyx_v_e = __pyx_t_2;
+ __Pyx_INCREF(__pyx_t_11);
+ __Pyx_GIVEREF(__pyx_t_11);
+ __pyx_cur_scope->__pyx_v_e = __pyx_t_11;
/*try:*/ {
- /* "handlers/payments/gift.py":286
+ /* "handlers/payments/gift.py":238
+ * return True
+ * except aiohttp.ClientResponseError as e:
+ * if e.status in [301, 302]: # <<<<<<<<<<<<<<
+ * logger.info(" , .")
+ * return True
+ */
+ __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_e, __pyx_n_s_status); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 238, __pyx_L57_error)
+ __Pyx_GOTREF(__pyx_t_26);
+ __pyx_t_5 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_26, __pyx_int_301, 0x12D, 0)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 238, __pyx_L57_error)
+ if (!__pyx_t_5) {
+ } else {
+ __pyx_t_6 = __pyx_t_5;
+ goto __pyx_L60_bool_binop_done;
+ }
+ __pyx_t_5 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_26, __pyx_int_302, 0x12E, 0)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 238, __pyx_L57_error)
+ __pyx_t_6 = __pyx_t_5;
+ __pyx_L60_bool_binop_done:;
+ __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+ __pyx_t_5 = __pyx_t_6;
+ if (__pyx_t_5) {
+
+ /* "handlers/payments/gift.py":239
+ * except aiohttp.ClientResponseError as e:
+ * if e.status in [301, 302]:
+ * logger.info(" , .") # <<<<<<<<<<<<<<
+ * return True
+ * else:
+ */
+ __Pyx_GetModuleGlobalName(__pyx_t_24, __pyx_n_s_logger); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 239, __pyx_L57_error)
+ __Pyx_GOTREF(__pyx_t_24);
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_24, __pyx_n_s_info); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 239, __pyx_L57_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
+ __pyx_t_24 = NULL;
+ __pyx_t_4 = 0;
+ #if CYTHON_UNPACK_METHODS
+ if (unlikely(PyMethod_Check(__pyx_t_1))) {
+ __pyx_t_24 = PyMethod_GET_SELF(__pyx_t_1);
+ if (likely(__pyx_t_24)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+ __Pyx_INCREF(__pyx_t_24);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_1, function);
+ __pyx_t_4 = 1;
+ }
+ }
+ #endif
+ {
+ PyObject *__pyx_callargs[2] = {__pyx_t_24, __pyx_kp_u__44};
+ __pyx_t_26 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0;
+ if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 239, __pyx_L57_error)
+ __Pyx_GOTREF(__pyx_t_26);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+
+ /* "handlers/payments/gift.py":240
+ * if e.status in [301, 302]:
+ * logger.info(" , .")
+ * return True # <<<<<<<<<<<<<<
+ * else:
+ * logger.info(f" : {e.status}")
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_r = NULL; __Pyx_ReturnWithStopIteration(Py_True);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+ goto __pyx_L56_return;
+
+ /* "handlers/payments/gift.py":238
+ * return True
+ * except aiohttp.ClientResponseError as e:
+ * if e.status in [301, 302]: # <<<<<<<<<<<<<<
+ * logger.info(" , .")
+ * return True
+ */
+ }
+
+ /* "handlers/payments/gift.py":242
+ * return True
+ * else:
+ * logger.info(f" : {e.status}") # <<<<<<<<<<<<<<
* return True
- * except ClientError as e:
- * logger.error(f" : {e}") # <<<<<<<<<<<<<<
- * return False
* except Exception as e:
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 286, __pyx_L59_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_24 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_error); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 286, __pyx_L59_error)
- __Pyx_GOTREF(__pyx_t_24);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_e, __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 286, __pyx_L59_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_27 = __Pyx_PyUnicode_Concat(__pyx_kp_u__49, __pyx_t_1); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 286, __pyx_L59_error)
- __Pyx_GOTREF(__pyx_t_27);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = NULL;
- __pyx_t_4 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_24))) {
- __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_24);
- if (likely(__pyx_t_1)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_24);
- __Pyx_INCREF(__pyx_t_1);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_24, function);
- __pyx_t_4 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_27};
- __pyx_t_26 = __Pyx_PyObject_FastCall(__pyx_t_24, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+ /*else*/ {
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 242, __pyx_L57_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_24 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_info); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 242, __pyx_L57_error)
+ __Pyx_GOTREF(__pyx_t_24);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_e, __pyx_n_s_status); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 242, __pyx_L57_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_27 = __Pyx_PyObject_FormatSimple(__pyx_t_1, __pyx_empty_unicode); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 242, __pyx_L57_error)
+ __Pyx_GOTREF(__pyx_t_27);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u__46, __pyx_t_27); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 242, __pyx_L57_error)
+ __Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
- if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 286, __pyx_L59_error)
- __Pyx_GOTREF(__pyx_t_26);
- __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
+ __pyx_t_27 = NULL;
+ __pyx_t_4 = 0;
+ #if CYTHON_UNPACK_METHODS
+ if (unlikely(PyMethod_Check(__pyx_t_24))) {
+ __pyx_t_27 = PyMethod_GET_SELF(__pyx_t_24);
+ if (likely(__pyx_t_27)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_24);
+ __Pyx_INCREF(__pyx_t_27);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_24, function);
+ __pyx_t_4 = 1;
+ }
+ }
+ #endif
+ {
+ PyObject *__pyx_callargs[2] = {__pyx_t_27, __pyx_t_1};
+ __pyx_t_26 = __Pyx_PyObject_FastCall(__pyx_t_24, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 242, __pyx_L57_error)
+ __Pyx_GOTREF(__pyx_t_26);
+ __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
}
- __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
- /* "handlers/payments/gift.py":287
- * except ClientError as e:
- * logger.error(f" : {e}")
- * return False # <<<<<<<<<<<<<<
+ /* "handlers/payments/gift.py":243
+ * else:
+ * logger.info(f" : {e.status}")
+ * return True # <<<<<<<<<<<<<<
* except Exception as e:
- * logger.error(f" : {e}")
+ * if "Name or service not known" in str(e):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_r = NULL; __Pyx_ReturnWithStopIteration(Py_False);
+ __pyx_r = NULL; __Pyx_ReturnWithStopIteration(Py_True);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
- goto __pyx_L58_return;
+ goto __pyx_L56_return;
}
- /* "handlers/payments/gift.py":285
- * logger.warning(" . -.")
+ /* "handlers/payments/gift.py":237
+ * logger.info(" , .")
* return True
- * except ClientError as e: # <<<<<<<<<<<<<<
- * logger.error(f" : {e}")
- * return False
+ * except aiohttp.ClientResponseError as e: # <<<<<<<<<<<<<<
+ * if e.status in [301, 302]:
+ * logger.info(" , .")
*/
/*finally:*/ {
- __pyx_L59_error:;
+ __pyx_L57_error:;
/*exception exit:*/{
__Pyx_PyThreadState_assign
__pyx_t_10 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_15 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0;
@@ -11404,7 +10743,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
__pyx_lineno = __pyx_t_25; __pyx_clineno = __pyx_t_28; __pyx_filename = __pyx_t_29;
goto __pyx_L7_except_error;
}
- __pyx_L58_return: {
+ __pyx_L56_return: {
__Pyx_PyThreadState_assign
__pyx_t_13 = 0; __pyx_t_12 = 0; __pyx_t_15 = 0; __pyx_t_21 = 0; __pyx_t_20 = 0; __pyx_t_10 = 0;
if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_21, &__pyx_t_20, &__pyx_t_10);
@@ -11437,69 +10776,141 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
}
}
- /* "handlers/payments/gift.py":288
- * logger.error(f" : {e}")
- * return False
+ /* "handlers/payments/gift.py":244
+ * logger.info(f" : {e.status}")
+ * return True
* except Exception as e: # <<<<<<<<<<<<<<
- * logger.error(f" : {e}")
- * return False
+ * if "Name or service not known" in str(e):
+ * logger.info(" . .")
*/
__pyx_t_28 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
if (__pyx_t_28) {
__Pyx_AddTraceback("handlers.payments.gift.validate_client_code", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_11) < 0) __PYX_ERR(0, 288, __pyx_L7_except_error)
+ if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_11, &__pyx_t_2) < 0) __PYX_ERR(0, 244, __pyx_L7_except_error)
__Pyx_XGOTREF(__pyx_t_3);
- __Pyx_XGOTREF(__pyx_t_2);
__Pyx_XGOTREF(__pyx_t_11);
- __Pyx_INCREF(__pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_cur_scope->__pyx_v_e = __pyx_t_2;
+ __Pyx_XGOTREF(__pyx_t_2);
+ __Pyx_INCREF(__pyx_t_11);
+ __Pyx_GIVEREF(__pyx_t_11);
+ __pyx_cur_scope->__pyx_v_e = __pyx_t_11;
/*try:*/ {
- /* "handlers/payments/gift.py":289
- * return False
+ /* "handlers/payments/gift.py":245
+ * return True
* except Exception as e:
- * logger.error(f" : {e}") # <<<<<<<<<<<<<<
+ * if "Name or service not known" in str(e): # <<<<<<<<<<<<<<
+ * logger.info(" . .")
+ * return True
+ */
+ __pyx_t_26 = __Pyx_PyObject_Unicode(__pyx_cur_scope->__pyx_v_e); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 245, __pyx_L71_error)
+ __Pyx_GOTREF(__pyx_t_26);
+ __pyx_t_5 = (__Pyx_PyUnicode_ContainsTF(__pyx_kp_u_Name_or_service_not_known, __pyx_t_26, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 245, __pyx_L71_error)
+ __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+ if (__pyx_t_5) {
+
+ /* "handlers/payments/gift.py":246
+ * except Exception as e:
+ * if "Name or service not known" in str(e):
+ * logger.info(" . .") # <<<<<<<<<<<<<<
+ * return True
+ * logger.info(f" : {e}")
+ */
+ __Pyx_GetModuleGlobalName(__pyx_t_24, __pyx_n_s_logger); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 246, __pyx_L71_error)
+ __Pyx_GOTREF(__pyx_t_24);
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_24, __pyx_n_s_info); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 246, __pyx_L71_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
+ __pyx_t_24 = NULL;
+ __pyx_t_4 = 0;
+ #if CYTHON_UNPACK_METHODS
+ if (unlikely(PyMethod_Check(__pyx_t_1))) {
+ __pyx_t_24 = PyMethod_GET_SELF(__pyx_t_1);
+ if (likely(__pyx_t_24)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+ __Pyx_INCREF(__pyx_t_24);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_1, function);
+ __pyx_t_4 = 1;
+ }
+ }
+ #endif
+ {
+ PyObject *__pyx_callargs[2] = {__pyx_t_24, __pyx_kp_u__47};
+ __pyx_t_26 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0;
+ if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 246, __pyx_L71_error)
+ __Pyx_GOTREF(__pyx_t_26);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+
+ /* "handlers/payments/gift.py":247
+ * if "Name or service not known" in str(e):
+ * logger.info(" . .")
+ * return True # <<<<<<<<<<<<<<
+ * logger.info(f" : {e}")
* return False
*/
- __Pyx_GetModuleGlobalName(__pyx_t_24, __pyx_n_s_logger); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 289, __pyx_L70_error)
- __Pyx_GOTREF(__pyx_t_24);
- __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_t_24, __pyx_n_s_error); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 289, __pyx_L70_error)
- __Pyx_GOTREF(__pyx_t_27);
- __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
- __pyx_t_24 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_e, __pyx_empty_unicode); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 289, __pyx_L70_error)
- __Pyx_GOTREF(__pyx_t_24);
- __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u__50, __pyx_t_24); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 289, __pyx_L70_error)
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_r = NULL; __Pyx_ReturnWithStopIteration(Py_True);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+ goto __pyx_L70_return;
+
+ /* "handlers/payments/gift.py":245
+ * return True
+ * except Exception as e:
+ * if "Name or service not known" in str(e): # <<<<<<<<<<<<<<
+ * logger.info(" . .")
+ * return True
+ */
+ }
+
+ /* "handlers/payments/gift.py":248
+ * logger.info(" . .")
+ * return True
+ * logger.info(f" : {e}") # <<<<<<<<<<<<<<
+ * return False
+ */
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 248, __pyx_L71_error)
__Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
- __pyx_t_24 = NULL;
+ __pyx_t_24 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_info); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 248, __pyx_L71_error)
+ __Pyx_GOTREF(__pyx_t_24);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_e, __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 248, __pyx_L71_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_27 = __Pyx_PyUnicode_Concat(__pyx_kp_u__48, __pyx_t_1); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 248, __pyx_L71_error)
+ __Pyx_GOTREF(__pyx_t_27);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = NULL;
__pyx_t_4 = 0;
#if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_27))) {
- __pyx_t_24 = PyMethod_GET_SELF(__pyx_t_27);
- if (likely(__pyx_t_24)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_27);
- __Pyx_INCREF(__pyx_t_24);
+ if (unlikely(PyMethod_Check(__pyx_t_24))) {
+ __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_24);
+ if (likely(__pyx_t_1)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_24);
+ __Pyx_INCREF(__pyx_t_1);
__Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_27, function);
+ __Pyx_DECREF_SET(__pyx_t_24, function);
__pyx_t_4 = 1;
}
}
#endif
{
- PyObject *__pyx_callargs[2] = {__pyx_t_24, __pyx_t_1};
- __pyx_t_26 = __Pyx_PyObject_FastCall(__pyx_t_27, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
- __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 289, __pyx_L70_error)
- __Pyx_GOTREF(__pyx_t_26);
+ PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_27};
+ __pyx_t_26 = __Pyx_PyObject_FastCall(__pyx_t_24, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+ if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 248, __pyx_L71_error)
+ __Pyx_GOTREF(__pyx_t_26);
+ __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
}
__Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
- /* "handlers/payments/gift.py":290
- * except Exception as e:
- * logger.error(f" : {e}")
+ /* "handlers/payments/gift.py":249
+ * return True
+ * logger.info(f" : {e}")
* return False # <<<<<<<<<<<<<<
*/
__Pyx_XDECREF(__pyx_r);
@@ -11507,18 +10918,18 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
- goto __pyx_L69_return;
+ goto __pyx_L70_return;
}
- /* "handlers/payments/gift.py":288
- * logger.error(f" : {e}")
- * return False
+ /* "handlers/payments/gift.py":244
+ * logger.info(f" : {e.status}")
+ * return True
* except Exception as e: # <<<<<<<<<<<<<<
- * logger.error(f" : {e}")
- * return False
+ * if "Name or service not known" in str(e):
+ * logger.info(" . .")
*/
/*finally:*/ {
- __pyx_L70_error:;
+ __pyx_L71_error:;
/*exception exit:*/{
__Pyx_PyThreadState_assign
__pyx_t_10 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_15 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0;
@@ -11553,7 +10964,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
__pyx_lineno = __pyx_t_28; __pyx_clineno = __pyx_t_25; __pyx_filename = __pyx_t_30;
goto __pyx_L7_except_error;
}
- __pyx_L69_return: {
+ __pyx_L70_return: {
__Pyx_PyThreadState_assign
__pyx_t_13 = 0; __pyx_t_12 = 0; __pyx_t_15 = 0; __pyx_t_21 = 0; __pyx_t_20 = 0; __pyx_t_10 = 0;
if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_21, &__pyx_t_20, &__pyx_t_10);
@@ -11587,7 +10998,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
}
goto __pyx_L7_except_error;
- /* "handlers/payments/gift.py":261
+ /* "handlers/payments/gift.py":213
* return False
*
* try: # <<<<<<<<<<<<<<
@@ -11616,7 +11027,7 @@ static PyObject *__pyx_gb_8handlers_8payments_4gift_22generator6(__pyx_Coroutine
}
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "handlers/payments/gift.py":251
+ /* "handlers/payments/gift.py":204
* return None
*
* async def validate_client_code(): # <<<<<<<<<<<<<<
@@ -11861,13 +11272,10 @@ static void __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_1_my_g
Py_CLEAR(p->__pyx_v_callback_query);
Py_CLEAR(p->__pyx_v_expiry_time);
Py_CLEAR(p->__pyx_v_gift);
- Py_CLEAR(p->__pyx_v_gift_id);
- Py_CLEAR(p->__pyx_v_gift_link);
Py_CLEAR(p->__pyx_v_gifts);
Py_CLEAR(p->__pyx_v_gifts_text);
Py_CLEAR(p->__pyx_v_is_used);
Py_CLEAR(p->__pyx_v_months);
- Py_CLEAR(p->__pyx_v_months_text);
Py_CLEAR(p->__pyx_v_recipient);
Py_CLEAR(p->__pyx_v_session);
Py_CLEAR(p->__pyx_v_user_tg_id);
@@ -11903,18 +11311,9 @@ static int __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_1_my_g
if (p->__pyx_v_gift) {
e = (*v)(p->__pyx_v_gift, a); if (e) return e;
}
- if (p->__pyx_v_gift_id) {
- e = (*v)(p->__pyx_v_gift_id, a); if (e) return e;
- }
- if (p->__pyx_v_gift_link) {
- e = (*v)(p->__pyx_v_gift_link, a); if (e) return e;
- }
if (p->__pyx_v_gifts) {
e = (*v)(p->__pyx_v_gifts, a); if (e) return e;
}
- if (p->__pyx_v_gifts_text) {
- e = (*v)(p->__pyx_v_gifts_text, a); if (e) return e;
- }
if (p->__pyx_v_months) {
e = (*v)(p->__pyx_v_months, a); if (e) return e;
}
@@ -12031,20 +11430,20 @@ static PyTypeObject __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_1_my
#endif
#if CYTHON_USE_FREELISTS
-static struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler *__pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler[8];
-static int __pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler = 0;
+static struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler *__pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler[8];
+static int __pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler = 0;
#endif
-static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
+static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
PyObject *o;
#if CYTHON_COMPILING_IN_LIMITED_API
allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
o = alloc_func(t, 0);
#else
#if CYTHON_USE_FREELISTS
- if (likely((int)(__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler)))) {
- o = (PyObject*)__pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler[--__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler];
- memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler));
+ if (likely((int)(__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler)))) {
+ o = (PyObject*)__pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler[--__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler];
+ memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler));
(void) PyObject_INIT(o, t);
PyObject_GC_Track(o);
} else
@@ -12057,191 +11456,11 @@ static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_2_del
return o;
}
-static void __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler(PyObject *o) {
- struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler *p = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler *)o;
+static void __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler(PyObject *o) {
+ struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler *p = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler *)o;
#if CYTHON_USE_TP_FINALIZE
if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
- if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler) {
- if (PyObject_CallFinalizerFromDealloc(o)) return;
- }
- }
- #endif
- PyObject_GC_UnTrack(o);
- Py_CLEAR(p->__pyx_v_callback_query);
- Py_CLEAR(p->__pyx_v_gift);
- Py_CLEAR(p->__pyx_v_gift_id);
- Py_CLEAR(p->__pyx_v_session);
- Py_CLEAR(p->__pyx_v_user_tg_id);
- #if CYTHON_USE_FREELISTS
- if (((int)(__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler)))) {
- __pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler[__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler++] = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler *)o);
- } else
- #endif
- {
- #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
- (*Py_TYPE(o)->tp_free)(o);
- #else
- {
- freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
- if (tp_free) tp_free(o);
- }
- #endif
- }
-}
-
-static int __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler(PyObject *o, visitproc v, void *a) {
- int e;
- struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler *p = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler *)o;
- if (p->__pyx_v_callback_query) {
- e = (*v)(p->__pyx_v_callback_query, a); if (e) return e;
- }
- if (p->__pyx_v_gift) {
- e = (*v)(p->__pyx_v_gift, a); if (e) return e;
- }
- if (p->__pyx_v_gift_id) {
- e = (*v)(p->__pyx_v_gift_id, a); if (e) return e;
- }
- if (p->__pyx_v_session) {
- e = (*v)(p->__pyx_v_session, a); if (e) return e;
- }
- if (p->__pyx_v_user_tg_id) {
- e = (*v)(p->__pyx_v_user_tg_id, a); if (e) return e;
- }
- return 0;
-}
-#if CYTHON_USE_TYPE_SPECS
-static PyType_Slot __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler_slots[] = {
- {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler},
- {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler},
- {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler},
- {0, 0},
-};
-static PyType_Spec __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler_spec = {
- "handlers.payments.gift.__pyx_scope_struct_2_delete_gift_handler",
- sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler),
- 0,
- Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
- __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler_slots,
-};
-#else
-
-static PyTypeObject __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler = {
- PyVarObject_HEAD_INIT(0, 0)
- "handlers.payments.gift.""__pyx_scope_struct_2_delete_gift_handler", /*tp_name*/
- sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler), /*tp_basicsize*/
- 0, /*tp_itemsize*/
- __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler, /*tp_dealloc*/
- #if PY_VERSION_HEX < 0x030800b4
- 0, /*tp_print*/
- #endif
- #if PY_VERSION_HEX >= 0x030800b4
- 0, /*tp_vectorcall_offset*/
- #endif
- 0, /*tp_getattr*/
- 0, /*tp_setattr*/
- #if PY_MAJOR_VERSION < 3
- 0, /*tp_compare*/
- #endif
- #if PY_MAJOR_VERSION >= 3
- 0, /*tp_as_async*/
- #endif
- 0, /*tp_repr*/
- 0, /*tp_as_number*/
- 0, /*tp_as_sequence*/
- 0, /*tp_as_mapping*/
- 0, /*tp_hash*/
- 0, /*tp_call*/
- 0, /*tp_str*/
- 0, /*tp_getattro*/
- 0, /*tp_setattro*/
- 0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
- 0, /*tp_doc*/
- __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler, /*tp_traverse*/
- 0, /*tp_clear*/
- 0, /*tp_richcompare*/
- 0, /*tp_weaklistoffset*/
- 0, /*tp_iter*/
- 0, /*tp_iternext*/
- 0, /*tp_methods*/
- 0, /*tp_members*/
- 0, /*tp_getset*/
- 0, /*tp_base*/
- 0, /*tp_dict*/
- 0, /*tp_descr_get*/
- 0, /*tp_descr_set*/
- #if !CYTHON_USE_TYPE_SPECS
- 0, /*tp_dictoffset*/
- #endif
- 0, /*tp_init*/
- 0, /*tp_alloc*/
- __pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler, /*tp_new*/
- 0, /*tp_free*/
- 0, /*tp_is_gc*/
- 0, /*tp_bases*/
- 0, /*tp_mro*/
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0, /*tp_weaklist*/
- 0, /*tp_del*/
- 0, /*tp_version_tag*/
- #if PY_VERSION_HEX >= 0x030400a1
- #if CYTHON_USE_TP_FINALIZE
- 0, /*tp_finalize*/
- #else
- NULL, /*tp_finalize*/
- #endif
- #endif
- #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
- 0, /*tp_vectorcall*/
- #endif
- #if __PYX_NEED_TP_PRINT_SLOT == 1
- 0, /*tp_print*/
- #endif
- #if PY_VERSION_HEX >= 0x030C0000
- 0, /*tp_watched*/
- #endif
- #if PY_VERSION_HEX >= 0x030d00A4
- 0, /*tp_versions_used*/
- #endif
- #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
- 0, /*tp_pypy_flags*/
- #endif
-};
-#endif
-
-#if CYTHON_USE_FREELISTS
-static struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler *__pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler[8];
-static int __pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler = 0;
-#endif
-
-static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
- PyObject *o;
- #if CYTHON_COMPILING_IN_LIMITED_API
- allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
- o = alloc_func(t, 0);
- #else
- #if CYTHON_USE_FREELISTS
- if (likely((int)(__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler)))) {
- o = (PyObject*)__pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler[--__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler];
- memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler));
- (void) PyObject_INIT(o, t);
- PyObject_GC_Track(o);
- } else
- #endif
- {
- o = (*t->tp_alloc)(t, 0);
- if (unlikely(!o)) return 0;
- }
- #endif
- return o;
-}
-
-static void __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler(PyObject *o) {
- struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler *p = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler *)o;
- #if CYTHON_USE_TP_FINALIZE
- if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
- if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler) {
+ if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler) {
if (PyObject_CallFinalizerFromDealloc(o)) return;
}
}
@@ -12252,8 +11471,8 @@ static void __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_3_gift
Py_CLEAR(p->__pyx_v_months);
Py_CLEAR(p->__pyx_v_price);
#if CYTHON_USE_FREELISTS
- if (((int)(__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler)))) {
- __pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler[__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler++] = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler *)o);
+ if (((int)(__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler)))) {
+ __pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler[__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler++] = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler *)o);
} else
#endif
{
@@ -12268,9 +11487,9 @@ static void __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_3_gift
}
}
-static int __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler(PyObject *o, visitproc v, void *a) {
+static int __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler(PyObject *o, visitproc v, void *a) {
int e;
- struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler *p = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler *)o;
+ struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler *p = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler *)o;
if (p->__pyx_v_builder) {
e = (*v)(p->__pyx_v_builder, a); if (e) return e;
}
@@ -12286,27 +11505,27 @@ static int __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_3_gift
return 0;
}
#if CYTHON_USE_TYPE_SPECS
-static PyType_Slot __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler_slots[] = {
- {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler},
- {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler},
- {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler},
+static PyType_Slot __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler_slots[] = {
+ {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler},
+ {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler},
+ {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler},
{0, 0},
};
-static PyType_Spec __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler_spec = {
- "handlers.payments.gift.__pyx_scope_struct_3_gift_subscription_handler",
- sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler),
+static PyType_Spec __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler_spec = {
+ "handlers.payments.gift.__pyx_scope_struct_2_gift_subscription_handler",
+ sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler),
0,
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
- __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler_slots,
+ __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler_slots,
};
#else
-static PyTypeObject __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler = {
+static PyTypeObject __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler = {
PyVarObject_HEAD_INIT(0, 0)
- "handlers.payments.gift.""__pyx_scope_struct_3_gift_subscription_handler", /*tp_name*/
- sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler), /*tp_basicsize*/
+ "handlers.payments.gift.""__pyx_scope_struct_2_gift_subscription_handler", /*tp_name*/
+ sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler), /*tp_basicsize*/
0, /*tp_itemsize*/
- __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler, /*tp_dealloc*/
+ __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler, /*tp_dealloc*/
#if PY_VERSION_HEX < 0x030800b4
0, /*tp_print*/
#endif
@@ -12333,7 +11552,7 @@ static PyTypeObject __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_gi
0, /*tp_as_buffer*/
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
0, /*tp_doc*/
- __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler, /*tp_traverse*/
+ __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler, /*tp_traverse*/
0, /*tp_clear*/
0, /*tp_richcompare*/
0, /*tp_weaklistoffset*/
@@ -12351,7 +11570,7 @@ static PyTypeObject __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_gi
#endif
0, /*tp_init*/
0, /*tp_alloc*/
- __pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler, /*tp_new*/
+ __pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler, /*tp_new*/
0, /*tp_free*/
0, /*tp_is_gc*/
0, /*tp_bases*/
@@ -12387,20 +11606,20 @@ static PyTypeObject __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_gi
#endif
#if CYTHON_USE_FREELISTS
-static struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler *__pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler[8];
-static int __pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler = 0;
+static struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler *__pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler[8];
+static int __pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler = 0;
#endif
-static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
+static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
PyObject *o;
#if CYTHON_COMPILING_IN_LIMITED_API
allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
o = alloc_func(t, 0);
#else
#if CYTHON_USE_FREELISTS
- if (likely((int)(__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler)))) {
- o = (PyObject*)__pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler[--__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler];
- memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler));
+ if (likely((int)(__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler)))) {
+ o = (PyObject*)__pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler[--__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler];
+ memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler));
(void) PyObject_INIT(o, t);
PyObject_GC_Track(o);
} else
@@ -12413,11 +11632,11 @@ static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_4_con
return o;
}
-static void __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler(PyObject *o) {
- struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler *p = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler *)o;
+static void __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler(PyObject *o) {
+ struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler *p = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler *)o;
#if CYTHON_USE_TP_FINALIZE
if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
- if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler) {
+ if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler) {
if (PyObject_CallFinalizerFromDealloc(o)) return;
}
}
@@ -12431,8 +11650,8 @@ static void __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_4_conf
Py_CLEAR(p->__pyx_v_session);
Py_CLEAR(p->__pyx_v_user_tg_id);
#if CYTHON_USE_FREELISTS
- if (((int)(__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler)))) {
- __pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler[__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler++] = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler *)o);
+ if (((int)(__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler)))) {
+ __pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler[__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler++] = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler *)o);
} else
#endif
{
@@ -12447,9 +11666,9 @@ static void __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_4_conf
}
}
-static int __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler(PyObject *o, visitproc v, void *a) {
+static int __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler(PyObject *o, visitproc v, void *a) {
int e;
- struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler *p = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler *)o;
+ struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler *p = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler *)o;
if (p->__pyx_v_balance) {
e = (*v)(p->__pyx_v_balance, a); if (e) return e;
}
@@ -12474,27 +11693,27 @@ static int __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_4_conf
return 0;
}
#if CYTHON_USE_TYPE_SPECS
-static PyType_Slot __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler_slots[] = {
- {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler},
- {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler},
- {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler},
+static PyType_Slot __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler_slots[] = {
+ {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler},
+ {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler},
+ {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler},
{0, 0},
};
-static PyType_Spec __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler_spec = {
- "handlers.payments.gift.__pyx_scope_struct_4_confirm_gift_handler",
- sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler),
+static PyType_Spec __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler_spec = {
+ "handlers.payments.gift.__pyx_scope_struct_3_confirm_gift_handler",
+ sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler),
0,
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
- __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler_slots,
+ __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler_slots,
};
#else
-static PyTypeObject __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler = {
+static PyTypeObject __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler = {
PyVarObject_HEAD_INIT(0, 0)
- "handlers.payments.gift.""__pyx_scope_struct_4_confirm_gift_handler", /*tp_name*/
- sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler), /*tp_basicsize*/
+ "handlers.payments.gift.""__pyx_scope_struct_3_confirm_gift_handler", /*tp_name*/
+ sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler), /*tp_basicsize*/
0, /*tp_itemsize*/
- __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler, /*tp_dealloc*/
+ __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler, /*tp_dealloc*/
#if PY_VERSION_HEX < 0x030800b4
0, /*tp_print*/
#endif
@@ -12521,7 +11740,7 @@ static PyTypeObject __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_co
0, /*tp_as_buffer*/
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
0, /*tp_doc*/
- __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler, /*tp_traverse*/
+ __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler, /*tp_traverse*/
0, /*tp_clear*/
0, /*tp_richcompare*/
0, /*tp_weaklistoffset*/
@@ -12539,7 +11758,7 @@ static PyTypeObject __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_co
#endif
0, /*tp_init*/
0, /*tp_alloc*/
- __pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler, /*tp_new*/
+ __pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler, /*tp_new*/
0, /*tp_free*/
0, /*tp_is_gc*/
0, /*tp_bases*/
@@ -12575,20 +11794,20 @@ static PyTypeObject __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_co
#endif
#if CYTHON_USE_FREELISTS
-static struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler *__pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler[8];
-static int __pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler = 0;
+static struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler *__pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler[8];
+static int __pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler = 0;
#endif
-static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
+static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
PyObject *o;
#if CYTHON_COMPILING_IN_LIMITED_API
allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
o = alloc_func(t, 0);
#else
#if CYTHON_USE_FREELISTS
- if (likely((int)(__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler)))) {
- o = (PyObject*)__pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler[--__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler];
- memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler));
+ if (likely((int)(__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler)))) {
+ o = (PyObject*)__pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler[--__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler];
+ memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler));
(void) PyObject_INIT(o, t);
PyObject_GC_Track(o);
} else
@@ -12601,11 +11820,11 @@ static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_5_fin
return o;
}
-static void __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler(PyObject *o) {
- struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler *p = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler *)o;
+static void __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler(PyObject *o) {
+ struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler *p = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler *)o;
#if CYTHON_USE_TP_FINALIZE
if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
- if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler) {
+ if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler) {
if (PyObject_CallFinalizerFromDealloc(o)) return;
}
}
@@ -12617,6 +11836,8 @@ static void __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_5_fina
Py_CLEAR(p->__pyx_v_expiry_time);
Py_CLEAR(p->__pyx_v_gift_id);
Py_CLEAR(p->__pyx_v_gift_link);
+ Py_CLEAR(p->__pyx_v_message_text);
+ Py_CLEAR(p->__pyx_v_months_text);
Py_CLEAR(p->__pyx_v_price);
Py_CLEAR(p->__pyx_v_selected_months);
Py_CLEAR(p->__pyx_v_session);
@@ -12629,8 +11850,8 @@ static void __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_5_fina
Py_CLEAR(p->__pyx_t_4);
Py_CLEAR(p->__pyx_t_5);
#if CYTHON_USE_FREELISTS
- if (((int)(__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler)))) {
- __pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler[__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler++] = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler *)o);
+ if (((int)(__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler)))) {
+ __pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler[__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler++] = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler *)o);
} else
#endif
{
@@ -12645,9 +11866,9 @@ static void __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_5_fina
}
}
-static int __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler(PyObject *o, visitproc v, void *a) {
+static int __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler(PyObject *o, visitproc v, void *a) {
int e;
- struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler *p = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler *)o;
+ struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler *p = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler *)o;
if (p->__pyx_v_builder) {
e = (*v)(p->__pyx_v_builder, a); if (e) return e;
}
@@ -12663,6 +11884,9 @@ static int __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_5_fina
if (p->__pyx_v_gift_link) {
e = (*v)(p->__pyx_v_gift_link, a); if (e) return e;
}
+ if (p->__pyx_v_message_text) {
+ e = (*v)(p->__pyx_v_message_text, a); if (e) return e;
+ }
if (p->__pyx_v_price) {
e = (*v)(p->__pyx_v_price, a); if (e) return e;
}
@@ -12699,27 +11923,27 @@ static int __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_5_fina
return 0;
}
#if CYTHON_USE_TYPE_SPECS
-static PyType_Slot __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler_slots[] = {
- {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler},
- {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler},
- {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler},
+static PyType_Slot __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler_slots[] = {
+ {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler},
+ {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler},
+ {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler},
{0, 0},
};
-static PyType_Spec __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler_spec = {
- "handlers.payments.gift.__pyx_scope_struct_5_finalize_gift_handler",
- sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler),
+static PyType_Spec __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler_spec = {
+ "handlers.payments.gift.__pyx_scope_struct_4_finalize_gift_handler",
+ sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler),
0,
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
- __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler_slots,
+ __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler_slots,
};
#else
-static PyTypeObject __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler = {
+static PyTypeObject __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler = {
PyVarObject_HEAD_INIT(0, 0)
- "handlers.payments.gift.""__pyx_scope_struct_5_finalize_gift_handler", /*tp_name*/
- sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler), /*tp_basicsize*/
+ "handlers.payments.gift.""__pyx_scope_struct_4_finalize_gift_handler", /*tp_name*/
+ sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler), /*tp_basicsize*/
0, /*tp_itemsize*/
- __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler, /*tp_dealloc*/
+ __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler, /*tp_dealloc*/
#if PY_VERSION_HEX < 0x030800b4
0, /*tp_print*/
#endif
@@ -12746,7 +11970,7 @@ static PyTypeObject __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_fi
0, /*tp_as_buffer*/
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
0, /*tp_doc*/
- __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler, /*tp_traverse*/
+ __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler, /*tp_traverse*/
0, /*tp_clear*/
0, /*tp_richcompare*/
0, /*tp_weaklistoffset*/
@@ -12764,7 +11988,7 @@ static PyTypeObject __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_fi
#endif
0, /*tp_init*/
0, /*tp_alloc*/
- __pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler, /*tp_new*/
+ __pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler, /*tp_new*/
0, /*tp_free*/
0, /*tp_is_gc*/
0, /*tp_bases*/
@@ -12800,20 +12024,20 @@ static PyTypeObject __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_fi
#endif
#if CYTHON_USE_FREELISTS
-static struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code *__pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code[8];
-static int __pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code = 0;
+static struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code *__pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code[8];
+static int __pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code = 0;
#endif
-static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
+static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
PyObject *o;
#if CYTHON_COMPILING_IN_LIMITED_API
allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
o = alloc_func(t, 0);
#else
#if CYTHON_USE_FREELISTS
- if (likely((int)(__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code)))) {
- o = (PyObject*)__pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code[--__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code];
- memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code));
+ if (likely((int)(__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code)))) {
+ o = (PyObject*)__pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code[--__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code];
+ memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code));
(void) PyObject_INIT(o, t);
PyObject_GC_Track(o);
} else
@@ -12826,11 +12050,11 @@ static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_6_val
return o;
}
-static void __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code(PyObject *o) {
- struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code *p = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code *)o;
+static void __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code(PyObject *o) {
+ struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code *p = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code *)o;
#if CYTHON_USE_TP_FINALIZE
if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
- if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code) {
+ if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code) {
if (PyObject_CallFinalizerFromDealloc(o)) return;
}
}
@@ -12859,8 +12083,8 @@ static void __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_6_vali
Py_CLEAR(p->__pyx_t_14);
Py_CLEAR(p->__pyx_t_15);
#if CYTHON_USE_FREELISTS
- if (((int)(__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code)))) {
- __pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code[__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code++] = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code *)o);
+ if (((int)(__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code)))) {
+ __pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code[__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code++] = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code *)o);
} else
#endif
{
@@ -12875,9 +12099,9 @@ static void __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_6_vali
}
}
-static int __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code(PyObject *o, visitproc v, void *a) {
+static int __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code(PyObject *o, visitproc v, void *a) {
int e;
- struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code *p = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code *)o;
+ struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code *p = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code *)o;
if (p->__pyx_v_data) {
e = (*v)(p->__pyx_v_data, a); if (e) return e;
}
@@ -12947,27 +12171,27 @@ static int __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_6_vali
return 0;
}
#if CYTHON_USE_TYPE_SPECS
-static PyType_Slot __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code_slots[] = {
- {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code},
- {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code},
- {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code},
+static PyType_Slot __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code_slots[] = {
+ {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code},
+ {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code},
+ {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code},
{0, 0},
};
-static PyType_Spec __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code_spec = {
- "handlers.payments.gift.__pyx_scope_struct_6_validate_client_code",
- sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code),
+static PyType_Spec __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code_spec = {
+ "handlers.payments.gift.__pyx_scope_struct_5_validate_client_code",
+ sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code),
0,
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
- __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code_slots,
+ __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code_slots,
};
#else
-static PyTypeObject __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code = {
+static PyTypeObject __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code = {
PyVarObject_HEAD_INIT(0, 0)
- "handlers.payments.gift.""__pyx_scope_struct_6_validate_client_code", /*tp_name*/
- sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code), /*tp_basicsize*/
+ "handlers.payments.gift.""__pyx_scope_struct_5_validate_client_code", /*tp_name*/
+ sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code), /*tp_basicsize*/
0, /*tp_itemsize*/
- __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code, /*tp_dealloc*/
+ __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code, /*tp_dealloc*/
#if PY_VERSION_HEX < 0x030800b4
0, /*tp_print*/
#endif
@@ -12994,7 +12218,7 @@ static PyTypeObject __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_6_va
0, /*tp_as_buffer*/
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
0, /*tp_doc*/
- __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code, /*tp_traverse*/
+ __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code, /*tp_traverse*/
0, /*tp_clear*/
0, /*tp_richcompare*/
0, /*tp_weaklistoffset*/
@@ -13012,7 +12236,7 @@ static PyTypeObject __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_6_va
#endif
0, /*tp_init*/
0, /*tp_alloc*/
- __pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code, /*tp_new*/
+ __pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code, /*tp_new*/
0, /*tp_free*/
0, /*tp_is_gc*/
0, /*tp_bases*/
@@ -13065,71 +12289,68 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
__Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_kp_u_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 1, 0, 0},
{&__pyx_kp_u_21U68SOLOBOT, __pyx_k_21U68SOLOBOT, sizeof(__pyx_k_21U68SOLOBOT), 0, 1, 0, 0},
- {&__pyx_kp_u_404_Not_Found, __pyx_k_404_Not_Found, sizeof(__pyx_k_404_Not_Found), 0, 1, 0, 0},
{&__pyx_n_s_Any, __pyx_k_Any, sizeof(__pyx_k_Any), 0, 0, 1, 1},
{&__pyx_n_s_BACK, __pyx_k_BACK, sizeof(__pyx_k_BACK), 0, 0, 1, 1},
{&__pyx_n_s_CLIENT_CODE, __pyx_k_CLIENT_CODE, sizeof(__pyx_k_CLIENT_CODE), 0, 0, 1, 1},
{&__pyx_n_u_CRYPTOSALE, __pyx_k_CRYPTOSALE, sizeof(__pyx_k_CRYPTOSALE), 0, 1, 0, 1},
{&__pyx_n_s_ClientConnectorError, __pyx_k_ClientConnectorError, sizeof(__pyx_k_ClientConnectorError), 0, 0, 1, 1},
- {&__pyx_n_s_ClientError, __pyx_k_ClientError, sizeof(__pyx_k_ClientError), 0, 0, 1, 1},
+ {&__pyx_n_s_ClientResponseError, __pyx_k_ClientResponseError, sizeof(__pyx_k_ClientResponseError), 0, 0, 1, 1},
{&__pyx_n_s_ClientSession, __pyx_k_ClientSession, sizeof(__pyx_k_ClientSession), 0, 0, 1, 1},
- {&__pyx_kp_u_DELETE_FROM_gifts_WHERE_gift_id, __pyx_k_DELETE_FROM_gifts_WHERE_gift_id, sizeof(__pyx_k_DELETE_FROM_gifts_WHERE_gift_id), 0, 1, 0, 0},
{&__pyx_n_s_F, __pyx_k_F, sizeof(__pyx_k_F), 0, 0, 1, 1},
{&__pyx_n_s_FSMContext, __pyx_k_FSMContext, sizeof(__pyx_k_FSMContext), 0, 0, 1, 1},
{&__pyx_n_s_GIFT, __pyx_k_GIFT, sizeof(__pyx_k_GIFT), 0, 0, 1, 1},
{&__pyx_n_s_GIFTS_TEXT_TEMPLATE, __pyx_k_GIFTS_TEXT_TEMPLATE, sizeof(__pyx_k_GIFTS_TEXT_TEMPLATE), 0, 0, 1, 1},
{&__pyx_n_u_HASHHASHYOOKASSA, __pyx_k_HASHHASHYOOKASSA, sizeof(__pyx_k_HASHHASHYOOKASSA), 0, 1, 0, 1},
- {&__pyx_n_u_HTML, __pyx_k_HTML, sizeof(__pyx_k_HTML), 0, 1, 0, 1},
{&__pyx_n_s_InlineKeyboardBuilder, __pyx_k_InlineKeyboardBuilder, sizeof(__pyx_k_InlineKeyboardBuilder), 0, 0, 1, 1},
{&__pyx_n_s_InlineKeyboardButton, __pyx_k_InlineKeyboardButton, sizeof(__pyx_k_InlineKeyboardButton), 0, 0, 1, 1},
{&__pyx_n_s_MY_GIFTS, __pyx_k_MY_GIFTS, sizeof(__pyx_k_MY_GIFTS), 0, 0, 1, 1},
+ {&__pyx_kp_u_Name_or_service_not_known, __pyx_k_Name_or_service_not_known, sizeof(__pyx_k_Name_or_service_not_known), 0, 1, 0, 0},
{&__pyx_kp_u_None, __pyx_k_None, sizeof(__pyx_k_None), 0, 1, 0, 0},
{&__pyx_n_s_PROFILE, __pyx_k_PROFILE, sizeof(__pyx_k_PROFILE), 0, 0, 1, 1},
{&__pyx_n_s_PROJECTMANECONGIGURE, __pyx_k_PROJECTMANECONGIGURE, sizeof(__pyx_k_PROJECTMANECONGIGURE), 0, 0, 1, 1},
{&__pyx_n_s_RENEWAL_PRICES, __pyx_k_RENEWAL_PRICES, sizeof(__pyx_k_RENEWAL_PRICES), 0, 0, 1, 1},
{&__pyx_n_s_Router, __pyx_k_Router, sizeof(__pyx_k_Router), 0, 0, 1, 1},
- {&__pyx_kp_u_SELECT_gift_id_FROM_gifts_WHERE, __pyx_k_SELECT_gift_id_FROM_gifts_WHERE, sizeof(__pyx_k_SELECT_gift_id_FROM_gifts_WHERE), 0, 1, 0, 0},
- {&__pyx_kp_u_SELECT_gift_id_selected_months, __pyx_k_SELECT_gift_id_selected_months, sizeof(__pyx_k_SELECT_gift_id_selected_months), 0, 1, 0, 0},
+ {&__pyx_kp_u_SELECT_gift_id_selected_months_i, __pyx_k_SELECT_gift_id_selected_months_i, sizeof(__pyx_k_SELECT_gift_id_selected_months_i), 0, 1, 0, 0},
{&__pyx_n_s_STARS_ROUTER, __pyx_k_STARS_ROUTER, sizeof(__pyx_k_STARS_ROUTER), 0, 0, 1, 1},
- {&__pyx_n_s_TimeoutError, __pyx_k_TimeoutError, sizeof(__pyx_k_TimeoutError), 0, 0, 1, 1},
{&__pyx_n_u_Windows, __pyx_k_Windows, sizeof(__pyx_k_Windows), 0, 1, 0, 1},
{&__pyx_n_s_YOOKASSA_HASH, __pyx_k_YOOKASSA_HASH, sizeof(__pyx_k_YOOKASSA_HASH), 0, 0, 1, 1},
- {&__pyx_kp_u__10, __pyx_k__10, sizeof(__pyx_k__10), 0, 1, 0, 0},
- {&__pyx_kp_u__11, __pyx_k__11, sizeof(__pyx_k__11), 0, 1, 0, 0},
- {&__pyx_kp_u__12, __pyx_k__12, sizeof(__pyx_k__12), 0, 1, 0, 0},
+ {&__pyx_n_u__10, __pyx_k__10, sizeof(__pyx_k__10), 0, 1, 0, 1},
+ {&__pyx_n_u__11, __pyx_k__11, sizeof(__pyx_k__11), 0, 1, 0, 1},
+ {&__pyx_n_u__12, __pyx_k__12, sizeof(__pyx_k__12), 0, 1, 0, 1},
+ {&__pyx_kp_u__13, __pyx_k__13, sizeof(__pyx_k__13), 0, 1, 0, 0},
{&__pyx_kp_u__14, __pyx_k__14, sizeof(__pyx_k__14), 0, 1, 0, 0},
{&__pyx_kp_u__15, __pyx_k__15, sizeof(__pyx_k__15), 0, 1, 0, 0},
- {&__pyx_kp_u__17, __pyx_k__17, sizeof(__pyx_k__17), 0, 1, 0, 0},
+ {&__pyx_kp_u__16, __pyx_k__16, sizeof(__pyx_k__16), 0, 1, 0, 0},
+ {&__pyx_kp_u__19, __pyx_k__19, sizeof(__pyx_k__19), 0, 1, 0, 0},
+ {&__pyx_kp_u__20, __pyx_k__20, sizeof(__pyx_k__20), 0, 1, 0, 0},
{&__pyx_kp_u__21, __pyx_k__21, sizeof(__pyx_k__21), 0, 1, 0, 0},
- {&__pyx_kp_u__22, __pyx_k__22, sizeof(__pyx_k__22), 0, 1, 0, 0},
{&__pyx_kp_u__23, __pyx_k__23, sizeof(__pyx_k__23), 0, 1, 0, 0},
{&__pyx_kp_u__24, __pyx_k__24, sizeof(__pyx_k__24), 0, 1, 0, 0},
{&__pyx_kp_u__26, __pyx_k__26, sizeof(__pyx_k__26), 0, 1, 0, 0},
+ {&__pyx_kp_u__27, __pyx_k__27, sizeof(__pyx_k__27), 0, 1, 0, 0},
{&__pyx_kp_u__28, __pyx_k__28, sizeof(__pyx_k__28), 0, 1, 0, 0},
{&__pyx_kp_u__29, __pyx_k__29, sizeof(__pyx_k__29), 0, 1, 0, 0},
{&__pyx_kp_u__3, __pyx_k__3, sizeof(__pyx_k__3), 0, 1, 0, 0},
- {&__pyx_kp_u__30, __pyx_k__30, sizeof(__pyx_k__30), 0, 1, 0, 0},
{&__pyx_kp_u__31, __pyx_k__31, sizeof(__pyx_k__31), 0, 1, 0, 0},
- {&__pyx_kp_u__33, __pyx_k__33, sizeof(__pyx_k__33), 0, 1, 0, 0},
+ {&__pyx_kp_u__32, __pyx_k__32, sizeof(__pyx_k__32), 0, 1, 0, 0},
{&__pyx_kp_u__34, __pyx_k__34, sizeof(__pyx_k__34), 0, 1, 0, 0},
- {&__pyx_kp_u__36, __pyx_k__36, sizeof(__pyx_k__36), 0, 1, 0, 0},
+ {&__pyx_kp_u__38, __pyx_k__38, sizeof(__pyx_k__38), 0, 1, 0, 0},
{&__pyx_kp_u__40, __pyx_k__40, sizeof(__pyx_k__40), 0, 1, 0, 0},
+ {&__pyx_kp_u__41, __pyx_k__41, sizeof(__pyx_k__41), 0, 1, 0, 0},
{&__pyx_kp_u__42, __pyx_k__42, sizeof(__pyx_k__42), 0, 1, 0, 0},
- {&__pyx_kp_u__43, __pyx_k__43, sizeof(__pyx_k__43), 0, 1, 0, 0},
{&__pyx_kp_u__44, __pyx_k__44, sizeof(__pyx_k__44), 0, 1, 0, 0},
+ {&__pyx_kp_u__45, __pyx_k__45, sizeof(__pyx_k__45), 0, 1, 0, 0},
{&__pyx_kp_u__46, __pyx_k__46, sizeof(__pyx_k__46), 0, 1, 0, 0},
{&__pyx_kp_u__47, __pyx_k__47, sizeof(__pyx_k__47), 0, 1, 0, 0},
{&__pyx_kp_u__48, __pyx_k__48, sizeof(__pyx_k__48), 0, 1, 0, 0},
- {&__pyx_kp_u__49, __pyx_k__49, sizeof(__pyx_k__49), 0, 1, 0, 0},
+ {&__pyx_n_s__49, __pyx_k__49, sizeof(__pyx_k__49), 0, 0, 1, 1},
{&__pyx_n_u__5, __pyx_k__5, sizeof(__pyx_k__5), 0, 1, 0, 1},
{&__pyx_kp_u__50, __pyx_k__50, sizeof(__pyx_k__50), 0, 1, 0, 0},
- {&__pyx_n_s__51, __pyx_k__51, sizeof(__pyx_k__51), 0, 0, 1, 1},
- {&__pyx_kp_u__52, __pyx_k__52, sizeof(__pyx_k__52), 0, 1, 0, 0},
{&__pyx_n_u__6, __pyx_k__6, sizeof(__pyx_k__6), 0, 1, 0, 1},
- {&__pyx_n_s__65, __pyx_k__65, sizeof(__pyx_k__65), 0, 0, 1, 1},
- {&__pyx_n_u__7, __pyx_k__7, sizeof(__pyx_k__7), 0, 1, 0, 1},
- {&__pyx_n_u__8, __pyx_k__8, sizeof(__pyx_k__8), 0, 1, 0, 1},
- {&__pyx_n_u__9, __pyx_k__9, sizeof(__pyx_k__9), 0, 1, 0, 1},
+ {&__pyx_n_s__61, __pyx_k__61, sizeof(__pyx_k__61), 0, 0, 1, 1},
+ {&__pyx_kp_u__7, __pyx_k__7, sizeof(__pyx_k__7), 0, 1, 0, 0},
+ {&__pyx_kp_u__8, __pyx_k__8, sizeof(__pyx_k__8), 0, 1, 0, 0},
+ {&__pyx_kp_u__9, __pyx_k__9, sizeof(__pyx_k__9), 0, 1, 0, 0},
{&__pyx_n_s_aenter, __pyx_k_aenter, sizeof(__pyx_k_aenter), 0, 0, 1, 1},
{&__pyx_n_s_aexit, __pyx_k_aexit, sizeof(__pyx_k_aexit), 0, 0, 1, 1},
{&__pyx_n_s_aiogram, __pyx_k_aiogram, sizeof(__pyx_k_aiogram), 0, 0, 1, 1},
@@ -13139,18 +12360,14 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
{&__pyx_n_s_answer, __pyx_k_answer, sizeof(__pyx_k_answer), 0, 0, 1, 1},
{&__pyx_n_s_args, __pyx_k_args, sizeof(__pyx_k_args), 0, 0, 1, 1},
{&__pyx_n_s_as_markup, __pyx_k_as_markup, sizeof(__pyx_k_as_markup), 0, 0, 1, 1},
- {&__pyx_n_s_asyncio, __pyx_k_asyncio, sizeof(__pyx_k_asyncio), 0, 0, 1, 1},
{&__pyx_n_s_asyncio_coroutines, __pyx_k_asyncio_coroutines, sizeof(__pyx_k_asyncio_coroutines), 0, 0, 1, 1},
- {&__pyx_n_s_asyncio_tasks, __pyx_k_asyncio_tasks, sizeof(__pyx_k_asyncio_tasks), 0, 0, 1, 1},
{&__pyx_n_s_await, __pyx_k_await, sizeof(__pyx_k_await), 0, 0, 1, 1},
{&__pyx_kp_u_b, __pyx_k_b, sizeof(__pyx_k_b), 0, 1, 0, 0},
- {&__pyx_kp_u_b_2, __pyx_k_b_2, sizeof(__pyx_k_b_2), 0, 1, 0, 0},
{&__pyx_kp_u_b_b, __pyx_k_b_b, sizeof(__pyx_k_b_b), 0, 1, 0, 0},
{&__pyx_kp_u_b_b_2, __pyx_k_b_b_2, sizeof(__pyx_k_b_b_2), 0, 1, 0, 0},
{&__pyx_kp_u_b_b_3, __pyx_k_b_b_3, sizeof(__pyx_k_b_b_3), 0, 1, 0, 0},
{&__pyx_kp_u_b_b_4, __pyx_k_b_b_4, sizeof(__pyx_k_b_b_4), 0, 1, 0, 0},
{&__pyx_kp_u_b_b_b, __pyx_k_b_b_b, sizeof(__pyx_k_b_b_b), 0, 1, 0, 0},
- {&__pyx_kp_u_b_code, __pyx_k_b_code, sizeof(__pyx_k_b_code), 0, 1, 0, 0},
{&__pyx_n_s_balance, __pyx_k_balance, sizeof(__pyx_k_balance), 0, 0, 1, 1},
{&__pyx_n_s_builder, __pyx_k_builder, sizeof(__pyx_k_builder), 0, 0, 1, 1},
{&__pyx_n_s_callback_data, __pyx_k_callback_data, sizeof(__pyx_k_callback_data), 0, 0, 1, 1},
@@ -13158,8 +12375,7 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
{&__pyx_n_s_check_output, __pyx_k_check_output, sizeof(__pyx_k_check_output), 0, 0, 1, 1},
{&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1},
{&__pyx_n_s_close, __pyx_k_close, sizeof(__pyx_k_close), 0, 0, 1, 1},
- {&__pyx_kp_u_code, __pyx_k_code, sizeof(__pyx_k_code), 0, 1, 0, 0},
- {&__pyx_n_u_code_2, __pyx_k_code_2, sizeof(__pyx_k_code_2), 0, 1, 0, 1},
+ {&__pyx_n_u_code, __pyx_k_code, sizeof(__pyx_k_code), 0, 1, 0, 1},
{&__pyx_n_s_config, __pyx_k_config, sizeof(__pyx_k_config), 0, 0, 1, 1},
{&__pyx_kp_u_confirm_gift, __pyx_k_confirm_gift, sizeof(__pyx_k_confirm_gift), 0, 1, 0, 0},
{&__pyx_n_s_confirm_gift_handler, __pyx_k_confirm_gift_handler, sizeof(__pyx_k_confirm_gift_handler), 0, 0, 1, 1},
@@ -13169,9 +12385,6 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
{&__pyx_n_s_datetime, __pyx_k_datetime, sizeof(__pyx_k_datetime), 0, 0, 1, 1},
{&__pyx_n_s_days, __pyx_k_days, sizeof(__pyx_k_days), 0, 0, 1, 1},
{&__pyx_n_s_decode, __pyx_k_decode, sizeof(__pyx_k_decode), 0, 0, 1, 1},
- {&__pyx_kp_u_delete_gift, __pyx_k_delete_gift, sizeof(__pyx_k_delete_gift), 0, 1, 0, 0},
- {&__pyx_n_u_delete_gift_2, __pyx_k_delete_gift_2, sizeof(__pyx_k_delete_gift_2), 0, 1, 0, 1},
- {&__pyx_n_s_delete_gift_handler, __pyx_k_delete_gift_handler, sizeof(__pyx_k_delete_gift_handler), 0, 0, 1, 1},
{&__pyx_kp_u_disable, __pyx_k_disable, sizeof(__pyx_k_disable), 0, 1, 0, 0},
{&__pyx_n_s_e, __pyx_k_e, sizeof(__pyx_k_e), 0, 0, 1, 1},
{&__pyx_kp_u_enable, __pyx_k_enable, sizeof(__pyx_k_enable), 0, 1, 0, 0},
@@ -13179,13 +12392,11 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
{&__pyx_n_s_enter, __pyx_k_enter, sizeof(__pyx_k_enter), 0, 0, 1, 1},
{&__pyx_n_s_error, __pyx_k_error, sizeof(__pyx_k_error), 0, 0, 1, 1},
{&__pyx_kp_u_etc_machine_id, __pyx_k_etc_machine_id, sizeof(__pyx_k_etc_machine_id), 0, 1, 0, 0},
- {&__pyx_n_s_execute, __pyx_k_execute, sizeof(__pyx_k_execute), 0, 0, 1, 1},
{&__pyx_n_s_exit, __pyx_k_exit, sizeof(__pyx_k_exit), 0, 0, 1, 1},
{&__pyx_n_s_expiry_time, __pyx_k_expiry_time, sizeof(__pyx_k_expiry_time), 0, 0, 1, 1},
{&__pyx_n_u_expiry_time, __pyx_k_expiry_time, sizeof(__pyx_k_expiry_time), 0, 1, 0, 1},
{&__pyx_n_s_f, __pyx_k_f, sizeof(__pyx_k_f), 0, 0, 1, 1},
{&__pyx_n_s_fetch, __pyx_k_fetch, sizeof(__pyx_k_fetch), 0, 0, 1, 1},
- {&__pyx_n_s_fetchrow, __pyx_k_fetchrow, sizeof(__pyx_k_fetchrow), 0, 0, 1, 1},
{&__pyx_n_s_finalize_gift_handler, __pyx_k_finalize_gift_handler, sizeof(__pyx_k_finalize_gift_handler), 0, 0, 1, 1},
{&__pyx_n_s_format, __pyx_k_format, sizeof(__pyx_k_format), 0, 0, 1, 1},
{&__pyx_n_s_from_user, __pyx_k_from_user, sizeof(__pyx_k_from_user), 0, 0, 1, 1},
@@ -13198,9 +12409,7 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
{&__pyx_n_u_gift, __pyx_k_gift, sizeof(__pyx_k_gift), 0, 1, 0, 1},
{&__pyx_kp_u_gift_2, __pyx_k_gift_2, sizeof(__pyx_k_gift_2), 0, 1, 0, 0},
{&__pyx_n_s_gift_id, __pyx_k_gift_id, sizeof(__pyx_k_gift_id), 0, 0, 1, 1},
- {&__pyx_n_u_gift_id, __pyx_k_gift_id, sizeof(__pyx_k_gift_id), 0, 1, 0, 1},
{&__pyx_n_s_gift_link, __pyx_k_gift_link, sizeof(__pyx_k_gift_link), 0, 0, 1, 1},
- {&__pyx_n_u_gift_link, __pyx_k_gift_link, sizeof(__pyx_k_gift_link), 0, 1, 0, 1},
{&__pyx_n_s_gift_subscription_handler, __pyx_k_gift_subscription_handler, sizeof(__pyx_k_gift_subscription_handler), 0, 0, 1, 1},
{&__pyx_n_s_gifts, __pyx_k_gifts, sizeof(__pyx_k_gifts), 0, 0, 1, 1},
{&__pyx_n_u_gifts, __pyx_k_gifts, sizeof(__pyx_k_gifts), 0, 1, 0, 1},
@@ -13219,7 +12428,6 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
{&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1},
{&__pyx_n_s_info, __pyx_k_info, sizeof(__pyx_k_info), 0, 0, 1, 1},
{&__pyx_n_s_initializing, __pyx_k_initializing, sizeof(__pyx_k_initializing), 0, 0, 1, 1},
- {&__pyx_n_s_inspect, __pyx_k_inspect, sizeof(__pyx_k_inspect), 0, 0, 1, 1},
{&__pyx_n_s_is_coroutine, __pyx_k_is_coroutine, sizeof(__pyx_k_is_coroutine), 0, 0, 1, 1},
{&__pyx_n_s_is_used, __pyx_k_is_used, sizeof(__pyx_k_is_used), 0, 0, 1, 1},
{&__pyx_n_u_is_used, __pyx_k_is_used, sizeof(__pyx_k_is_used), 0, 1, 0, 1},
@@ -13231,13 +12439,13 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
{&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1},
{&__pyx_n_s_message, __pyx_k_message, sizeof(__pyx_k_message), 0, 0, 1, 1},
{&__pyx_n_u_message, __pyx_k_message, sizeof(__pyx_k_message), 0, 1, 0, 1},
+ {&__pyx_n_s_message_text, __pyx_k_message_text, sizeof(__pyx_k_message_text), 0, 0, 1, 1},
{&__pyx_n_s_months, __pyx_k_months, sizeof(__pyx_k_months), 0, 0, 1, 1},
{&__pyx_n_s_months_text, __pyx_k_months_text, sizeof(__pyx_k_months_text), 0, 0, 1, 1},
{&__pyx_n_u_my_gifts, __pyx_k_my_gifts, sizeof(__pyx_k_my_gifts), 0, 1, 0, 1},
{&__pyx_n_s_my_gifts_handler, __pyx_k_my_gifts_handler, sizeof(__pyx_k_my_gifts_handler), 0, 0, 1, 1},
{&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1},
{&__pyx_n_s_open, __pyx_k_open, sizeof(__pyx_k_open), 0, 0, 1, 1},
- {&__pyx_n_s_parse_mode, __pyx_k_parse_mode, sizeof(__pyx_k_parse_mode), 0, 0, 1, 1},
{&__pyx_n_s_payload, __pyx_k_payload, sizeof(__pyx_k_payload), 0, 0, 1, 1},
{&__pyx_n_s_platform, __pyx_k_platform, sizeof(__pyx_k_platform), 0, 0, 1, 1},
{&__pyx_n_s_post, __pyx_k_post, sizeof(__pyx_k_post), 0, 0, 1, 1},
@@ -13277,7 +12485,6 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
{&__pyx_n_s_tg_id, __pyx_k_tg_id, sizeof(__pyx_k_tg_id), 0, 0, 1, 1},
{&__pyx_n_s_throw, __pyx_k_throw, sizeof(__pyx_k_throw), 0, 0, 1, 1},
{&__pyx_n_s_timedelta, __pyx_k_timedelta, sizeof(__pyx_k_timedelta), 0, 0, 1, 1},
- {&__pyx_n_s_timeout, __pyx_k_timeout, sizeof(__pyx_k_timeout), 0, 0, 1, 1},
{&__pyx_n_s_types, __pyx_k_types, sizeof(__pyx_k_types), 0, 0, 1, 1},
{&__pyx_kp_s_types_CallbackQuery, __pyx_k_types_CallbackQuery, sizeof(__pyx_k_types_CallbackQuery), 0, 0, 1, 0},
{&__pyx_n_s_typing, __pyx_k_typing, sizeof(__pyx_k_typing), 0, 0, 1, 1},
@@ -13287,7 +12494,6 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
{&__pyx_n_s_uuid, __pyx_k_uuid, sizeof(__pyx_k_uuid), 0, 0, 1, 1},
{&__pyx_n_s_uuid4, __pyx_k_uuid4, sizeof(__pyx_k_uuid4), 0, 0, 1, 1},
{&__pyx_n_s_validate_client_code, __pyx_k_validate_client_code, sizeof(__pyx_k_validate_client_code), 0, 0, 1, 1},
- {&__pyx_n_s_warning, __pyx_k_warning, sizeof(__pyx_k_warning), 0, 0, 1, 1},
{&__pyx_kp_u_wmic_cpu_get_ProcessorId, __pyx_k_wmic_cpu_get_ProcessorId, sizeof(__pyx_k_wmic_cpu_get_ProcessorId), 0, 1, 0, 0},
{0, 0, 0, 0, 0, 0, 0}
};
@@ -13295,7 +12501,7 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
}
/* #### Code section: cached_builtins ### */
static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) {
- __pyx_builtin_open = __Pyx_GetBuiltinName(__pyx_n_s_open); if (!__pyx_builtin_open) __PYX_ERR(0, 243, __pyx_L1_error)
+ __pyx_builtin_open = __Pyx_GetBuiltinName(__pyx_n_s_open); if (!__pyx_builtin_open) __PYX_ERR(0, 196, __pyx_L1_error)
return 0;
__pyx_L1_error:;
return -1;
@@ -13306,211 +12512,174 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
- /* "handlers/payments/gift.py":69
+ /* "handlers/payments/gift.py":63
*
* if not gifts:
* await callback_query.message.answer(" .", reply_markup=builder.as_markup()) # <<<<<<<<<<<<<<
* return
*
*/
- __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_u__3); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(0, 69, __pyx_L1_error)
+ __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_u__3); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(0, 63, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__4);
__Pyx_GIVEREF(__pyx_tuple__4);
- /* "handlers/payments/gift.py":119
- *
- * if not gift:
- * await callback_query.answer(" .", show_alert=True) # <<<<<<<<<<<<<<
- * return
- *
- */
- __pyx_tuple__16 = PyTuple_Pack(1, __pyx_kp_u__15); if (unlikely(!__pyx_tuple__16)) __PYX_ERR(0, 119, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__16);
- __Pyx_GIVEREF(__pyx_tuple__16);
-
- /* "handlers/payments/gift.py":129
- * )
- *
- * await callback_query.answer(" .", show_alert=True) # <<<<<<<<<<<<<<
- *
- * await my_gifts_handler(callback_query, session)
- */
- __pyx_tuple__18 = PyTuple_Pack(1, __pyx_kp_u__17); if (unlikely(!__pyx_tuple__18)) __PYX_ERR(0, 129, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__18);
- __Pyx_GIVEREF(__pyx_tuple__18);
-
- /* "handlers/payments/gift.py":146
+ /* "handlers/payments/gift.py":91
* builder.row(
* types.InlineKeyboardButton(
* text=f"\ud83c\udf81 {months} {'' if months == '1' else '' if int(months) in [2, 3, 4] else ''} {price} ", # <<<<<<<<<<<<<<
* callback_data=f"gift|{months}",
* )
*/
- __pyx_ustring__20 = PyUnicode_DecodeUnicodeEscape(__pyx_k_ud83c_udf81, sizeof(__pyx_k_ud83c_udf81) - 1, NULL); if (unlikely(!__pyx_ustring__20)) __PYX_ERR(0, 146, __pyx_L1_error)
- if (__Pyx_PyUnicode_READY(__pyx_ustring__20) < 0) __PYX_ERR(0, 146, __pyx_L1_error)
+ __pyx_ustring__18 = PyUnicode_DecodeUnicodeEscape(__pyx_k_ud83c_udf81, sizeof(__pyx_k_ud83c_udf81) - 1, NULL); if (unlikely(!__pyx_ustring__18)) __PYX_ERR(0, 91, __pyx_L1_error)
+ if (__Pyx_PyUnicode_READY(__pyx_ustring__18) < 0) __PYX_ERR(0, 91, __pyx_L1_error)
- /* "handlers/payments/gift.py":166
+ /* "handlers/payments/gift.py":111
*
* if not price:
* await callback_query.answer(" . .", show_alert=True) # <<<<<<<<<<<<<<
* return
*
*/
- __pyx_tuple__27 = PyTuple_Pack(1, __pyx_kp_u__26); if (unlikely(!__pyx_tuple__27)) __PYX_ERR(0, 166, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__27);
- __Pyx_GIVEREF(__pyx_tuple__27);
+ __pyx_tuple__25 = PyTuple_Pack(1, __pyx_kp_u__24); if (unlikely(!__pyx_tuple__25)) __PYX_ERR(0, 111, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__25);
+ __Pyx_GIVEREF(__pyx_tuple__25);
- /* "handlers/payments/gift.py":241
+ /* "handlers/payments/gift.py":194
* try:
* if platform.system() == "Windows":
* result = subprocess.check_output("wmic cpu get ProcessorId", shell=True).decode().split("\n")[1].strip() # <<<<<<<<<<<<<<
* else:
* with open("/etc/machine-id") as f:
*/
- __pyx_tuple__35 = PyTuple_Pack(1, __pyx_kp_u_wmic_cpu_get_ProcessorId); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(0, 241, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__35);
- __Pyx_GIVEREF(__pyx_tuple__35);
+ __pyx_tuple__33 = PyTuple_Pack(1, __pyx_kp_u_wmic_cpu_get_ProcessorId); if (unlikely(!__pyx_tuple__33)) __PYX_ERR(0, 194, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__33);
+ __Pyx_GIVEREF(__pyx_tuple__33);
- /* "handlers/payments/gift.py":243
+ /* "handlers/payments/gift.py":196
* result = subprocess.check_output("wmic cpu get ProcessorId", shell=True).decode().split("\n")[1].strip()
* else:
* with open("/etc/machine-id") as f: # <<<<<<<<<<<<<<
* result = f.read().strip()
*
*/
- __pyx_tuple__37 = PyTuple_Pack(1, __pyx_kp_u_etc_machine_id); if (unlikely(!__pyx_tuple__37)) __PYX_ERR(0, 243, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__37);
- __Pyx_GIVEREF(__pyx_tuple__37);
- __pyx_tuple__38 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__38)) __PYX_ERR(0, 243, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__38);
- __Pyx_GIVEREF(__pyx_tuple__38);
+ __pyx_tuple__35 = PyTuple_Pack(1, __pyx_kp_u_etc_machine_id); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(0, 196, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__35);
+ __Pyx_GIVEREF(__pyx_tuple__35);
+ __pyx_tuple__36 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(0, 196, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__36);
+ __Pyx_GIVEREF(__pyx_tuple__36);
- /* "handlers/payments/gift.py":264
+ /* "handlers/payments/gift.py":216
* async with aiohttp.ClientSession() as session:
* payload = {"code": CLIENT_CODE, "hardware_id": hardware_id}
- * async with session.post("https://pocomacho.ru/solonetbot/codes/add/", json=payload, timeout=10) as response: # <<<<<<<<<<<<<<
+ * async with session.post("https://pocomacho.ru/solonetbot/codes/add/", json=payload) as response: # <<<<<<<<<<<<<<
* if response.status == 200:
* data = await response.json()
*/
- __pyx_tuple__41 = PyTuple_Pack(1, __pyx_kp_u_https_pocomacho_ru_solonetbot_co); if (unlikely(!__pyx_tuple__41)) __PYX_ERR(0, 264, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__41);
- __Pyx_GIVEREF(__pyx_tuple__41);
+ __pyx_tuple__39 = PyTuple_Pack(1, __pyx_kp_u_https_pocomacho_ru_solonetbot_co); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(0, 216, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__39);
+ __Pyx_GIVEREF(__pyx_tuple__39);
- /* "handlers/payments/gift.py":271
+ /* "handlers/payments/gift.py":223
* return True
* else:
- * logger.info(f" : {data.get('message', ' ')}") # <<<<<<<<<<<<<<
+ * logger.info(f": {data.get('message', ' .')}") # <<<<<<<<<<<<<<
* return False
- * elif response.status == 404:
+ * elif response.status == 502:
*/
- __pyx_tuple__45 = PyTuple_Pack(2, __pyx_n_u_message, __pyx_kp_u__44); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(0, 271, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__45);
- __Pyx_GIVEREF(__pyx_tuple__45);
+ __pyx_tuple__43 = PyTuple_Pack(2, __pyx_n_u_message, __pyx_kp_u__42); if (unlikely(!__pyx_tuple__43)) __PYX_ERR(0, 223, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__43);
+ __Pyx_GIVEREF(__pyx_tuple__43);
- /* "handlers/payments/gift.py":29
+ /* "handlers/payments/gift.py":27
*
*
* @router.callback_query(F.data == "gifts") # <<<<<<<<<<<<<<
* async def start_menu_handler(callback_query: types.CallbackQuery):
* """ 'start'. ' ' ' '."""
*/
- __pyx_tuple__53 = PyTuple_Pack(3, __pyx_n_s_callback_query, __pyx_n_s_is_valid, __pyx_n_s_builder); if (unlikely(!__pyx_tuple__53)) __PYX_ERR(0, 29, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__53);
- __Pyx_GIVEREF(__pyx_tuple__53);
- __pyx_codeobj_ = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_gift_py, __pyx_n_s_start_menu_handler, 29, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj_)) __PYX_ERR(0, 29, __pyx_L1_error)
+ __pyx_tuple__51 = PyTuple_Pack(3, __pyx_n_s_callback_query, __pyx_n_s_is_valid, __pyx_n_s_builder); if (unlikely(!__pyx_tuple__51)) __PYX_ERR(0, 27, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__51);
+ __Pyx_GIVEREF(__pyx_tuple__51);
+ __pyx_codeobj_ = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_gift_py, __pyx_n_s_start_menu_handler, 27, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj_)) __PYX_ERR(0, 27, __pyx_L1_error)
- /* "handlers/payments/gift.py":50
+ /* "handlers/payments/gift.py":48
*
*
* @router.callback_query(F.data == "my_gifts") # <<<<<<<<<<<<<<
* async def my_gifts_handler(callback_query: types.CallbackQuery, session: Any):
- * """ ' '. ."""
+ * """ ' '. ."""
*/
- __pyx_tuple__54 = PyTuple_Pack(14, __pyx_n_s_callback_query, __pyx_n_s_session, __pyx_n_s_user_tg_id, __pyx_n_s_gifts, __pyx_n_s_builder, __pyx_n_s_gifts_text, __pyx_n_s_gift, __pyx_n_s_months, __pyx_n_s_months_text, __pyx_n_s_is_used, __pyx_n_s_recipient, __pyx_n_s_expiry_time, __pyx_n_s_gift_link, __pyx_n_s_gift_id); if (unlikely(!__pyx_tuple__54)) __PYX_ERR(0, 50, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__54);
- __Pyx_GIVEREF(__pyx_tuple__54);
- __pyx_codeobj__2 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 14, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__54, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_gift_py, __pyx_n_s_my_gifts_handler, 50, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__2)) __PYX_ERR(0, 50, __pyx_L1_error)
+ __pyx_tuple__52 = PyTuple_Pack(11, __pyx_n_s_callback_query, __pyx_n_s_session, __pyx_n_s_user_tg_id, __pyx_n_s_gifts, __pyx_n_s_builder, __pyx_n_s_gifts_text, __pyx_n_s_gift, __pyx_n_s_months, __pyx_n_s_is_used, __pyx_n_s_recipient, __pyx_n_s_expiry_time); if (unlikely(!__pyx_tuple__52)) __PYX_ERR(0, 48, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__52);
+ __Pyx_GIVEREF(__pyx_tuple__52);
+ __pyx_codeobj__2 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__52, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_gift_py, __pyx_n_s_my_gifts_handler, 48, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__2)) __PYX_ERR(0, 48, __pyx_L1_error)
- /* "handlers/payments/gift.py":103
- *
- *
- * @router.callback_query(F.data.startswith("delete_gift")) # <<<<<<<<<<<<<<
- * async def delete_gift_handler(callback_query: types.CallbackQuery, session: Any):
- * """ ."""
- */
- __pyx_tuple__55 = PyTuple_Pack(1, __pyx_n_u_delete_gift_2); if (unlikely(!__pyx_tuple__55)) __PYX_ERR(0, 103, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__55);
- __Pyx_GIVEREF(__pyx_tuple__55);
- __pyx_tuple__56 = PyTuple_Pack(5, __pyx_n_s_callback_query, __pyx_n_s_session, __pyx_n_s_user_tg_id, __pyx_n_s_gift_id, __pyx_n_s_gift); if (unlikely(!__pyx_tuple__56)) __PYX_ERR(0, 103, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__56);
- __Pyx_GIVEREF(__pyx_tuple__56);
- __pyx_codeobj__13 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_gift_py, __pyx_n_s_delete_gift_handler, 103, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__13)) __PYX_ERR(0, 103, __pyx_L1_error)
-
- /* "handlers/payments/gift.py":138
+ /* "handlers/payments/gift.py":83
*
*
* @router.callback_query(F.data == "gift") # <<<<<<<<<<<<<<
* async def gift_subscription_handler(callback_query: types.CallbackQuery):
* """ ''. ."""
*/
- __pyx_tuple__57 = PyTuple_Pack(4, __pyx_n_s_callback_query, __pyx_n_s_builder, __pyx_n_s_months, __pyx_n_s_price); if (unlikely(!__pyx_tuple__57)) __PYX_ERR(0, 138, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__57);
- __Pyx_GIVEREF(__pyx_tuple__57);
- __pyx_codeobj__19 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_gift_py, __pyx_n_s_gift_subscription_handler, 138, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__19)) __PYX_ERR(0, 138, __pyx_L1_error)
+ __pyx_tuple__53 = PyTuple_Pack(4, __pyx_n_s_callback_query, __pyx_n_s_builder, __pyx_n_s_months, __pyx_n_s_price); if (unlikely(!__pyx_tuple__53)) __PYX_ERR(0, 83, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__53);
+ __Pyx_GIVEREF(__pyx_tuple__53);
+ __pyx_codeobj__17 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_gift_py, __pyx_n_s_gift_subscription_handler, 83, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__17)) __PYX_ERR(0, 83, __pyx_L1_error)
- /* "handlers/payments/gift.py":158
+ /* "handlers/payments/gift.py":103
*
*
* @router.callback_query(F.data.startswith("gift|")) # <<<<<<<<<<<<<<
* async def confirm_gift_handler(callback_query: types.CallbackQuery, session: Any):
* """ ."""
*/
- __pyx_tuple__58 = PyTuple_Pack(1, __pyx_kp_u_gift_2); if (unlikely(!__pyx_tuple__58)) __PYX_ERR(0, 158, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__58);
- __Pyx_GIVEREF(__pyx_tuple__58);
- __pyx_tuple__59 = PyTuple_Pack(7, __pyx_n_s_callback_query, __pyx_n_s_session, __pyx_n_s_selected_months, __pyx_n_s_price, __pyx_n_s_user_tg_id, __pyx_n_s_balance, __pyx_n_s_builder); if (unlikely(!__pyx_tuple__59)) __PYX_ERR(0, 158, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__59);
- __Pyx_GIVEREF(__pyx_tuple__59);
- __pyx_codeobj__25 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_gift_py, __pyx_n_s_confirm_gift_handler, 158, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__25)) __PYX_ERR(0, 158, __pyx_L1_error)
+ __pyx_tuple__54 = PyTuple_Pack(1, __pyx_kp_u_gift_2); if (unlikely(!__pyx_tuple__54)) __PYX_ERR(0, 103, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__54);
+ __Pyx_GIVEREF(__pyx_tuple__54);
+ __pyx_tuple__55 = PyTuple_Pack(7, __pyx_n_s_callback_query, __pyx_n_s_session, __pyx_n_s_selected_months, __pyx_n_s_price, __pyx_n_s_user_tg_id, __pyx_n_s_balance, __pyx_n_s_builder); if (unlikely(!__pyx_tuple__55)) __PYX_ERR(0, 103, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__55);
+ __Pyx_GIVEREF(__pyx_tuple__55);
+ __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_gift_py, __pyx_n_s_confirm_gift_handler, 103, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) __PYX_ERR(0, 103, __pyx_L1_error)
- /* "handlers/payments/gift.py":198
+ /* "handlers/payments/gift.py":143
*
*
* @router.callback_query(F.data.startswith("confirm_gift|")) # <<<<<<<<<<<<<<
* async def finalize_gift_handler(callback_query: types.CallbackQuery, state: FSMContext, session: Any):
* """ ."""
*/
- __pyx_tuple__60 = PyTuple_Pack(1, __pyx_kp_u_confirm_gift); if (unlikely(!__pyx_tuple__60)) __PYX_ERR(0, 198, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__60);
- __Pyx_GIVEREF(__pyx_tuple__60);
- __pyx_tuple__61 = PyTuple_Pack(11, __pyx_n_s_callback_query, __pyx_n_s_state, __pyx_n_s_session, __pyx_n_s_selected_months, __pyx_n_s_price, __pyx_n_s_tg_id, __pyx_n_s_expiry_time, __pyx_n_s_gift_id, __pyx_n_s_gift_link, __pyx_n_s_builder, __pyx_n_s_e); if (unlikely(!__pyx_tuple__61)) __PYX_ERR(0, 198, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__61);
- __Pyx_GIVEREF(__pyx_tuple__61);
- __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_gift_py, __pyx_n_s_finalize_gift_handler, 198, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) __PYX_ERR(0, 198, __pyx_L1_error)
+ __pyx_tuple__56 = PyTuple_Pack(1, __pyx_kp_u_confirm_gift); if (unlikely(!__pyx_tuple__56)) __PYX_ERR(0, 143, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__56);
+ __Pyx_GIVEREF(__pyx_tuple__56);
+ __pyx_tuple__57 = PyTuple_Pack(13, __pyx_n_s_callback_query, __pyx_n_s_state, __pyx_n_s_session, __pyx_n_s_selected_months, __pyx_n_s_price, __pyx_n_s_tg_id, __pyx_n_s_expiry_time, __pyx_n_s_gift_id, __pyx_n_s_gift_link, __pyx_n_s_months_text, __pyx_n_s_message_text, __pyx_n_s_builder, __pyx_n_s_e); if (unlikely(!__pyx_tuple__57)) __PYX_ERR(0, 143, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__57);
+ __Pyx_GIVEREF(__pyx_tuple__57);
+ __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 13, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_gift_py, __pyx_n_s_finalize_gift_handler, 143, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) __PYX_ERR(0, 143, __pyx_L1_error)
- /* "handlers/payments/gift.py":235
+ /* "handlers/payments/gift.py":188
*
*
* def get_hardware_id(): # <<<<<<<<<<<<<<
* """
* hardware-.
*/
- __pyx_tuple__62 = PyTuple_Pack(3, __pyx_n_s_result, __pyx_n_s_f, __pyx_n_s_hardware_id); if (unlikely(!__pyx_tuple__62)) __PYX_ERR(0, 235, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__62);
- __Pyx_GIVEREF(__pyx_tuple__62);
- __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_gift_py, __pyx_n_s_get_hardware_id, 235, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) __PYX_ERR(0, 235, __pyx_L1_error)
+ __pyx_tuple__58 = PyTuple_Pack(3, __pyx_n_s_result, __pyx_n_s_f, __pyx_n_s_hardware_id); if (unlikely(!__pyx_tuple__58)) __PYX_ERR(0, 188, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__58);
+ __Pyx_GIVEREF(__pyx_tuple__58);
+ __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_gift_py, __pyx_n_s_get_hardware_id, 188, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) __PYX_ERR(0, 188, __pyx_L1_error)
- /* "handlers/payments/gift.py":251
+ /* "handlers/payments/gift.py":204
* return None
*
* async def validate_client_code(): # <<<<<<<<<<<<<<
* """
* hardware ID .
*/
- __pyx_tuple__64 = PyTuple_Pack(6, __pyx_n_s_hardware_id, __pyx_n_s_session, __pyx_n_s_payload, __pyx_n_s_response, __pyx_n_s_data, __pyx_n_s_e); if (unlikely(!__pyx_tuple__64)) __PYX_ERR(0, 251, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__64);
- __Pyx_GIVEREF(__pyx_tuple__64);
- __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_gift_py, __pyx_n_s_validate_client_code, 251, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) __PYX_ERR(0, 251, __pyx_L1_error)
+ __pyx_tuple__60 = PyTuple_Pack(6, __pyx_n_s_hardware_id, __pyx_n_s_session, __pyx_n_s_payload, __pyx_n_s_response, __pyx_n_s_data, __pyx_n_s_e); if (unlikely(!__pyx_tuple__60)) __PYX_ERR(0, 204, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__60);
+ __Pyx_GIVEREF(__pyx_tuple__60);
+ __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_gift_py, __pyx_n_s_validate_client_code, 204, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) __PYX_ERR(0, 204, __pyx_L1_error)
__Pyx_RefNannyFinishContext();
return 0;
__pyx_L1_error:;
@@ -13525,10 +12694,12 @@ static CYTHON_SMALL_CODE int __Pyx_InitConstants(void) {
__pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(0, 1, __pyx_L1_error)
__pyx_int_3 = PyInt_FromLong(3); if (unlikely(!__pyx_int_3)) __PYX_ERR(0, 1, __pyx_L1_error)
__pyx_int_4 = PyInt_FromLong(4); if (unlikely(!__pyx_int_4)) __PYX_ERR(0, 1, __pyx_L1_error)
- __pyx_int_10 = PyInt_FromLong(10); if (unlikely(!__pyx_int_10)) __PYX_ERR(0, 1, __pyx_L1_error)
__pyx_int_30 = PyInt_FromLong(30); if (unlikely(!__pyx_int_30)) __PYX_ERR(0, 1, __pyx_L1_error)
__pyx_int_200 = PyInt_FromLong(200); if (unlikely(!__pyx_int_200)) __PYX_ERR(0, 1, __pyx_L1_error)
+ __pyx_int_301 = PyInt_FromLong(301); if (unlikely(!__pyx_int_301)) __PYX_ERR(0, 1, __pyx_L1_error)
+ __pyx_int_302 = PyInt_FromLong(302); if (unlikely(!__pyx_int_302)) __PYX_ERR(0, 1, __pyx_L1_error)
__pyx_int_404 = PyInt_FromLong(404); if (unlikely(!__pyx_int_404)) __PYX_ERR(0, 1, __pyx_L1_error)
+ __pyx_int_502 = PyInt_FromLong(502); if (unlikely(!__pyx_int_502)) __PYX_ERR(0, 1, __pyx_L1_error)
return 0;
__pyx_L1_error:;
return -1;
@@ -13580,15 +12751,15 @@ static int __Pyx_modinit_type_init_code(void) {
__Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0);
/*--- Type init code ---*/
#if CYTHON_USE_TYPE_SPECS
- __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler)) __PYX_ERR(0, 29, __pyx_L1_error)
- if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler_spec, __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler) < 0) __PYX_ERR(0, 29, __pyx_L1_error)
+ __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler)) __PYX_ERR(0, 27, __pyx_L1_error)
+ if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler_spec, __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler) < 0) __PYX_ERR(0, 27, __pyx_L1_error)
#else
__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler = &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler;
#endif
#if !CYTHON_COMPILING_IN_LIMITED_API
#endif
#if !CYTHON_USE_TYPE_SPECS
- if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler) < 0) __PYX_ERR(0, 29, __pyx_L1_error)
+ if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler) < 0) __PYX_ERR(0, 27, __pyx_L1_error)
#endif
#if PY_MAJOR_VERSION < 3
__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler->tp_print = 0;
@@ -13599,15 +12770,15 @@ static int __Pyx_modinit_type_init_code(void) {
}
#endif
#if CYTHON_USE_TYPE_SPECS
- __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler)) __PYX_ERR(0, 50, __pyx_L1_error)
- if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler_spec, __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler) < 0) __PYX_ERR(0, 50, __pyx_L1_error)
+ __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler)) __PYX_ERR(0, 48, __pyx_L1_error)
+ if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler_spec, __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler) < 0) __PYX_ERR(0, 48, __pyx_L1_error)
#else
__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler = &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler;
#endif
#if !CYTHON_COMPILING_IN_LIMITED_API
#endif
#if !CYTHON_USE_TYPE_SPECS
- if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler) < 0) __PYX_ERR(0, 50, __pyx_L1_error)
+ if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler) < 0) __PYX_ERR(0, 48, __pyx_L1_error)
#endif
#if PY_MAJOR_VERSION < 3
__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler->tp_print = 0;
@@ -13618,98 +12789,79 @@ static int __Pyx_modinit_type_init_code(void) {
}
#endif
#if CYTHON_USE_TYPE_SPECS
- __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler)) __PYX_ERR(0, 103, __pyx_L1_error)
- if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler_spec, __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler) < 0) __PYX_ERR(0, 103, __pyx_L1_error)
+ __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler)) __PYX_ERR(0, 83, __pyx_L1_error)
+ if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler_spec, __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler) < 0) __PYX_ERR(0, 83, __pyx_L1_error)
#else
- __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler = &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler;
+ __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler = &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler;
#endif
#if !CYTHON_COMPILING_IN_LIMITED_API
#endif
#if !CYTHON_USE_TYPE_SPECS
- if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler) < 0) __PYX_ERR(0, 103, __pyx_L1_error)
+ if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler) < 0) __PYX_ERR(0, 83, __pyx_L1_error)
#endif
#if PY_MAJOR_VERSION < 3
- __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler->tp_print = 0;
+ __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler->tp_print = 0;
#endif
#if !CYTHON_COMPILING_IN_LIMITED_API
- if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler->tp_dictoffset && __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler->tp_getattro == PyObject_GenericGetAttr)) {
- __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
+ if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler->tp_dictoffset && __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler->tp_getattro == PyObject_GenericGetAttr)) {
+ __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_gift_subscription_handler->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
#endif
#if CYTHON_USE_TYPE_SPECS
- __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler)) __PYX_ERR(0, 138, __pyx_L1_error)
- if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler_spec, __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler) < 0) __PYX_ERR(0, 138, __pyx_L1_error)
+ __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler)) __PYX_ERR(0, 103, __pyx_L1_error)
+ if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler_spec, __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler) < 0) __PYX_ERR(0, 103, __pyx_L1_error)
#else
- __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler = &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler;
+ __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler = &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler;
#endif
#if !CYTHON_COMPILING_IN_LIMITED_API
#endif
#if !CYTHON_USE_TYPE_SPECS
- if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler) < 0) __PYX_ERR(0, 138, __pyx_L1_error)
+ if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler) < 0) __PYX_ERR(0, 103, __pyx_L1_error)
#endif
#if PY_MAJOR_VERSION < 3
- __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler->tp_print = 0;
+ __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler->tp_print = 0;
#endif
#if !CYTHON_COMPILING_IN_LIMITED_API
- if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler->tp_dictoffset && __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler->tp_getattro == PyObject_GenericGetAttr)) {
- __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
+ if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler->tp_dictoffset && __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler->tp_getattro == PyObject_GenericGetAttr)) {
+ __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_confirm_gift_handler->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
#endif
#if CYTHON_USE_TYPE_SPECS
- __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler)) __PYX_ERR(0, 158, __pyx_L1_error)
- if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler_spec, __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler) < 0) __PYX_ERR(0, 158, __pyx_L1_error)
+ __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler)) __PYX_ERR(0, 143, __pyx_L1_error)
+ if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler_spec, __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler) < 0) __PYX_ERR(0, 143, __pyx_L1_error)
#else
- __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler = &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler;
+ __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler = &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler;
#endif
#if !CYTHON_COMPILING_IN_LIMITED_API
#endif
#if !CYTHON_USE_TYPE_SPECS
- if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler) < 0) __PYX_ERR(0, 158, __pyx_L1_error)
+ if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler) < 0) __PYX_ERR(0, 143, __pyx_L1_error)
#endif
#if PY_MAJOR_VERSION < 3
- __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler->tp_print = 0;
+ __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler->tp_print = 0;
#endif
#if !CYTHON_COMPILING_IN_LIMITED_API
- if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler->tp_dictoffset && __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler->tp_getattro == PyObject_GenericGetAttr)) {
- __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
+ if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler->tp_dictoffset && __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler->tp_getattro == PyObject_GenericGetAttr)) {
+ __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_finalize_gift_handler->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
#endif
#if CYTHON_USE_TYPE_SPECS
- __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler)) __PYX_ERR(0, 198, __pyx_L1_error)
- if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler_spec, __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler) < 0) __PYX_ERR(0, 198, __pyx_L1_error)
+ __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code)) __PYX_ERR(0, 204, __pyx_L1_error)
+ if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code_spec, __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code) < 0) __PYX_ERR(0, 204, __pyx_L1_error)
#else
- __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler = &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler;
+ __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code = &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code;
#endif
#if !CYTHON_COMPILING_IN_LIMITED_API
#endif
#if !CYTHON_USE_TYPE_SPECS
- if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler) < 0) __PYX_ERR(0, 198, __pyx_L1_error)
+ if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code) < 0) __PYX_ERR(0, 204, __pyx_L1_error)
#endif
#if PY_MAJOR_VERSION < 3
- __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler->tp_print = 0;
+ __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code->tp_print = 0;
#endif
#if !CYTHON_COMPILING_IN_LIMITED_API
- if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler->tp_dictoffset && __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler->tp_getattro == PyObject_GenericGetAttr)) {
- __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
- }
- #endif
- #if CYTHON_USE_TYPE_SPECS
- __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code)) __PYX_ERR(0, 251, __pyx_L1_error)
- if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code_spec, __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code) < 0) __PYX_ERR(0, 251, __pyx_L1_error)
- #else
- __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code = &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code;
- #endif
- #if !CYTHON_COMPILING_IN_LIMITED_API
- #endif
- #if !CYTHON_USE_TYPE_SPECS
- if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code) < 0) __PYX_ERR(0, 251, __pyx_L1_error)
- #endif
- #if PY_MAJOR_VERSION < 3
- __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code->tp_print = 0;
- #endif
- #if !CYTHON_COMPILING_IN_LIMITED_API
- if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code->tp_dictoffset && __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code->tp_getattro == PyObject_GenericGetAttr)) {
- __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_6_validate_client_code->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
+ if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code->tp_dictoffset && __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code->tp_getattro == PyObject_GenericGetAttr)) {
+ __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_validate_client_code->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
#endif
__Pyx_RefNannyFinishContext();
@@ -14024,689 +13176,614 @@ if (!__Pyx_RefNanny) {
#endif
/* "handlers/payments/gift.py":1
- * import asyncio # <<<<<<<<<<<<<<
- * import hashlib
- * import platform
- */
- __pyx_t_2 = __Pyx_patch_asyncio(__Pyx_ImportDottedModule(__pyx_n_s_asyncio, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_asyncio, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
- /* "handlers/payments/gift.py":2
- * import asyncio
* import hashlib # <<<<<<<<<<<<<<
* import platform
* import subprocess
*/
- __pyx_t_2 = __Pyx_ImportDottedModule(__pyx_n_s_hashlib, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_ImportDottedModule(__pyx_n_s_hashlib, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_hashlib, __pyx_t_2) < 0) __PYX_ERR(0, 2, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_hashlib, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "handlers/payments/gift.py":3
- * import asyncio
+ /* "handlers/payments/gift.py":2
* import hashlib
* import platform # <<<<<<<<<<<<<<
* import subprocess
* import uuid
*/
- __pyx_t_2 = __Pyx_ImportDottedModule(__pyx_n_s_platform, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_ImportDottedModule(__pyx_n_s_platform, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_platform, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_platform, __pyx_t_2) < 0) __PYX_ERR(0, 2, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "handlers/payments/gift.py":4
+ /* "handlers/payments/gift.py":3
* import hashlib
* import platform
* import subprocess # <<<<<<<<<<<<<<
* import uuid
* from datetime import datetime, timedelta
*/
- __pyx_t_2 = __Pyx_ImportDottedModule(__pyx_n_s_subprocess, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_ImportDottedModule(__pyx_n_s_subprocess, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_subprocess, __pyx_t_2) < 0) __PYX_ERR(0, 4, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_subprocess, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "handlers/payments/gift.py":5
+ /* "handlers/payments/gift.py":4
* import platform
* import subprocess
* import uuid # <<<<<<<<<<<<<<
* from datetime import datetime, timedelta
* from typing import Any
*/
- __pyx_t_2 = __Pyx_ImportDottedModule(__pyx_n_s_uuid, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_ImportDottedModule(__pyx_n_s_uuid, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_uuid, __pyx_t_2) < 0) __PYX_ERR(0, 5, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_uuid, __pyx_t_2) < 0) __PYX_ERR(0, 4, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "handlers/payments/gift.py":6
+ /* "handlers/payments/gift.py":5
* import subprocess
* import uuid
* from datetime import datetime, timedelta # <<<<<<<<<<<<<<
* from typing import Any
*
*/
- __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6, __pyx_L1_error)
+ __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_datetime);
__Pyx_GIVEREF(__pyx_n_s_datetime);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_datetime)) __PYX_ERR(0, 6, __pyx_L1_error);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_datetime)) __PYX_ERR(0, 5, __pyx_L1_error);
__Pyx_INCREF(__pyx_n_s_timedelta);
__Pyx_GIVEREF(__pyx_n_s_timedelta);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_timedelta)) __PYX_ERR(0, 6, __pyx_L1_error);
- __pyx_t_3 = __Pyx_Import(__pyx_n_s_datetime, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6, __pyx_L1_error)
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_timedelta)) __PYX_ERR(0, 5, __pyx_L1_error);
+ __pyx_t_3 = __Pyx_Import(__pyx_n_s_datetime, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_datetime); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_datetime); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_datetime, __pyx_t_2) < 0) __PYX_ERR(0, 6, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_datetime, __pyx_t_2) < 0) __PYX_ERR(0, 5, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_timedelta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_timedelta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_timedelta, __pyx_t_2) < 0) __PYX_ERR(0, 6, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_timedelta, __pyx_t_2) < 0) __PYX_ERR(0, 5, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "handlers/payments/gift.py":7
+ /* "handlers/payments/gift.py":6
* import uuid
* from datetime import datetime, timedelta
* from typing import Any # <<<<<<<<<<<<<<
*
* import aiohttp
*/
- __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7, __pyx_L1_error)
+ __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_n_s_Any);
__Pyx_GIVEREF(__pyx_n_s_Any);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_Any)) __PYX_ERR(0, 7, __pyx_L1_error);
- __pyx_t_2 = __Pyx_Import(__pyx_n_s_typing, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7, __pyx_L1_error)
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_Any)) __PYX_ERR(0, 6, __pyx_L1_error);
+ __pyx_t_2 = __Pyx_Import(__pyx_n_s_typing, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Any); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Any); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_Any, __pyx_t_3) < 0) __PYX_ERR(0, 7, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_Any, __pyx_t_3) < 0) __PYX_ERR(0, 6, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "handlers/payments/gift.py":9
+ /* "handlers/payments/gift.py":8
* from typing import Any
*
* import aiohttp # <<<<<<<<<<<<<<
* from aiogram import F, Router, types
* from aiogram.fsm.context import FSMContext
*/
- __pyx_t_2 = __Pyx_ImportDottedModule(__pyx_n_s_aiohttp, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_ImportDottedModule(__pyx_n_s_aiohttp, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_aiohttp, __pyx_t_2) < 0) __PYX_ERR(0, 9, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_aiohttp, __pyx_t_2) < 0) __PYX_ERR(0, 8, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "handlers/payments/gift.py":10
+ /* "handlers/payments/gift.py":9
*
* import aiohttp
* from aiogram import F, Router, types # <<<<<<<<<<<<<<
* from aiogram.fsm.context import FSMContext
* from aiogram.utils.keyboard import InlineKeyboardBuilder
*/
- __pyx_t_2 = PyList_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error)
+ __pyx_t_2 = PyList_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_F);
__Pyx_GIVEREF(__pyx_n_s_F);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_F)) __PYX_ERR(0, 10, __pyx_L1_error);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_F)) __PYX_ERR(0, 9, __pyx_L1_error);
__Pyx_INCREF(__pyx_n_s_Router);
__Pyx_GIVEREF(__pyx_n_s_Router);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_Router)) __PYX_ERR(0, 10, __pyx_L1_error);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_Router)) __PYX_ERR(0, 9, __pyx_L1_error);
__Pyx_INCREF(__pyx_n_s_types);
__Pyx_GIVEREF(__pyx_n_s_types);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 2, __pyx_n_s_types)) __PYX_ERR(0, 10, __pyx_L1_error);
- __pyx_t_3 = __Pyx_Import(__pyx_n_s_aiogram, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10, __pyx_L1_error)
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 2, __pyx_n_s_types)) __PYX_ERR(0, 9, __pyx_L1_error);
+ __pyx_t_3 = __Pyx_Import(__pyx_n_s_aiogram, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_F); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_F); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_F, __pyx_t_2) < 0) __PYX_ERR(0, 10, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_F, __pyx_t_2) < 0) __PYX_ERR(0, 9, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_Router); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_Router); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_Router, __pyx_t_2) < 0) __PYX_ERR(0, 10, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_Router, __pyx_t_2) < 0) __PYX_ERR(0, 9, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_types); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_types); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_types, __pyx_t_2) < 0) __PYX_ERR(0, 10, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_types, __pyx_t_2) < 0) __PYX_ERR(0, 9, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "handlers/payments/gift.py":11
+ /* "handlers/payments/gift.py":10
* import aiohttp
* from aiogram import F, Router, types
* from aiogram.fsm.context import FSMContext # <<<<<<<<<<<<<<
* from aiogram.utils.keyboard import InlineKeyboardBuilder
- * from aiohttp import ClientError
+ *
*/
- __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11, __pyx_L1_error)
+ __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_n_s_FSMContext);
__Pyx_GIVEREF(__pyx_n_s_FSMContext);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_FSMContext)) __PYX_ERR(0, 11, __pyx_L1_error);
- __pyx_t_2 = __Pyx_Import(__pyx_n_s_aiogram_fsm_context, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11, __pyx_L1_error)
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_FSMContext)) __PYX_ERR(0, 10, __pyx_L1_error);
+ __pyx_t_2 = __Pyx_Import(__pyx_n_s_aiogram_fsm_context, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_FSMContext); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_FSMContext); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_FSMContext, __pyx_t_3) < 0) __PYX_ERR(0, 11, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_FSMContext, __pyx_t_3) < 0) __PYX_ERR(0, 10, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "handlers/payments/gift.py":12
+ /* "handlers/payments/gift.py":11
* from aiogram import F, Router, types
* from aiogram.fsm.context import FSMContext
* from aiogram.utils.keyboard import InlineKeyboardBuilder # <<<<<<<<<<<<<<
- * from aiohttp import ClientError
*
+ * from config import CLIENT_CODE, RENEWAL_PRICES
*/
- __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error)
+ __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_InlineKeyboardBuilder);
__Pyx_GIVEREF(__pyx_n_s_InlineKeyboardBuilder);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_InlineKeyboardBuilder)) __PYX_ERR(0, 12, __pyx_L1_error);
- __pyx_t_3 = __Pyx_Import(__pyx_n_s_aiogram_utils_keyboard, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12, __pyx_L1_error)
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_InlineKeyboardBuilder)) __PYX_ERR(0, 11, __pyx_L1_error);
+ __pyx_t_3 = __Pyx_Import(__pyx_n_s_aiogram_utils_keyboard, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_InlineKeyboardBuilder, __pyx_t_2) < 0) __PYX_ERR(0, 12, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_InlineKeyboardBuilder, __pyx_t_2) < 0) __PYX_ERR(0, 11, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* "handlers/payments/gift.py":13
- * from aiogram.fsm.context import FSMContext
* from aiogram.utils.keyboard import InlineKeyboardBuilder
- * from aiohttp import ClientError # <<<<<<<<<<<<<<
- *
- * from config import CLIENT_CODE, RENEWAL_PRICES
- */
- __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_INCREF(__pyx_n_s_ClientError);
- __Pyx_GIVEREF(__pyx_n_s_ClientError);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_ClientError)) __PYX_ERR(0, 13, __pyx_L1_error);
- __pyx_t_2 = __Pyx_Import(__pyx_n_s_aiohttp, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_ClientError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_ClientError, __pyx_t_3) < 0) __PYX_ERR(0, 13, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
- /* "handlers/payments/gift.py":15
- * from aiohttp import ClientError
*
* from config import CLIENT_CODE, RENEWAL_PRICES # <<<<<<<<<<<<<<
* from database import get_balance, store_gift_link, update_balance
- * from handlers.texts import GIFTS_TEXT_TEMPLATE, get_gift_link
+ * from handlers.texts import get_gift_link, GIFTS_TEXT_TEMPLATE
*/
- __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_n_s_CLIENT_CODE);
__Pyx_GIVEREF(__pyx_n_s_CLIENT_CODE);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_CLIENT_CODE)) __PYX_ERR(0, 15, __pyx_L1_error);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_CLIENT_CODE)) __PYX_ERR(0, 13, __pyx_L1_error);
__Pyx_INCREF(__pyx_n_s_RENEWAL_PRICES);
__Pyx_GIVEREF(__pyx_n_s_RENEWAL_PRICES);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_RENEWAL_PRICES)) __PYX_ERR(0, 15, __pyx_L1_error);
- __pyx_t_3 = __Pyx_Import(__pyx_n_s_config, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_CLIENT_CODE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15, __pyx_L1_error)
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_RENEWAL_PRICES)) __PYX_ERR(0, 13, __pyx_L1_error);
+ __pyx_t_2 = __Pyx_Import(__pyx_n_s_config, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_CLIENT_CODE, __pyx_t_2) < 0) __PYX_ERR(0, 15, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_RENEWAL_PRICES); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_RENEWAL_PRICES, __pyx_t_2) < 0) __PYX_ERR(0, 15, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_CLIENT_CODE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_CLIENT_CODE, __pyx_t_3) < 0) __PYX_ERR(0, 13, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_RENEWAL_PRICES); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_RENEWAL_PRICES, __pyx_t_3) < 0) __PYX_ERR(0, 13, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "handlers/payments/gift.py":16
+ /* "handlers/payments/gift.py":14
*
* from config import CLIENT_CODE, RENEWAL_PRICES
* from database import get_balance, store_gift_link, update_balance # <<<<<<<<<<<<<<
- * from handlers.texts import GIFTS_TEXT_TEMPLATE, get_gift_link
+ * from handlers.texts import get_gift_link, GIFTS_TEXT_TEMPLATE
* from logger import logger
*/
- __pyx_t_3 = PyList_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_2 = PyList_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_get_balance);
__Pyx_GIVEREF(__pyx_n_s_get_balance);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_get_balance)) __PYX_ERR(0, 16, __pyx_L1_error);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_get_balance)) __PYX_ERR(0, 14, __pyx_L1_error);
__Pyx_INCREF(__pyx_n_s_store_gift_link);
__Pyx_GIVEREF(__pyx_n_s_store_gift_link);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_store_gift_link)) __PYX_ERR(0, 16, __pyx_L1_error);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_store_gift_link)) __PYX_ERR(0, 14, __pyx_L1_error);
__Pyx_INCREF(__pyx_n_s_update_balance);
__Pyx_GIVEREF(__pyx_n_s_update_balance);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 2, __pyx_n_s_update_balance)) __PYX_ERR(0, 16, __pyx_L1_error);
- __pyx_t_2 = __Pyx_Import(__pyx_n_s_database, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_get_balance); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16, __pyx_L1_error)
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 2, __pyx_n_s_update_balance)) __PYX_ERR(0, 14, __pyx_L1_error);
+ __pyx_t_3 = __Pyx_Import(__pyx_n_s_database, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_balance, __pyx_t_3) < 0) __PYX_ERR(0, 16, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_store_gift_link); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_store_gift_link, __pyx_t_3) < 0) __PYX_ERR(0, 16, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_update_balance); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_update_balance, __pyx_t_3) < 0) __PYX_ERR(0, 16, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_get_balance); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_balance, __pyx_t_2) < 0) __PYX_ERR(0, 14, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_store_gift_link); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_store_gift_link, __pyx_t_2) < 0) __PYX_ERR(0, 14, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_update_balance); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_update_balance, __pyx_t_2) < 0) __PYX_ERR(0, 14, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "handlers/payments/gift.py":17
+ /* "handlers/payments/gift.py":15
* from config import CLIENT_CODE, RENEWAL_PRICES
* from database import get_balance, store_gift_link, update_balance
- * from handlers.texts import GIFTS_TEXT_TEMPLATE, get_gift_link # <<<<<<<<<<<<<<
+ * from handlers.texts import get_gift_link, GIFTS_TEXT_TEMPLATE # <<<<<<<<<<<<<<
* from logger import logger
- * from handlers.buttons.gifts import GIFT, MY_GIFTS, PROFILE, BACK
+ * from handlers.buttons.gifts import GIFT, MY_GIFTS, BACK, PROFILE
*/
- __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_n_s_GIFTS_TEXT_TEMPLATE);
- __Pyx_GIVEREF(__pyx_n_s_GIFTS_TEXT_TEMPLATE);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_GIFTS_TEXT_TEMPLATE)) __PYX_ERR(0, 17, __pyx_L1_error);
+ __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_n_s_get_gift_link);
__Pyx_GIVEREF(__pyx_n_s_get_gift_link);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_get_gift_link)) __PYX_ERR(0, 17, __pyx_L1_error);
- __pyx_t_3 = __Pyx_Import(__pyx_n_s_handlers_texts, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17, __pyx_L1_error)
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_get_gift_link)) __PYX_ERR(0, 15, __pyx_L1_error);
+ __Pyx_INCREF(__pyx_n_s_GIFTS_TEXT_TEMPLATE);
+ __Pyx_GIVEREF(__pyx_n_s_GIFTS_TEXT_TEMPLATE);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_GIFTS_TEXT_TEMPLATE)) __PYX_ERR(0, 15, __pyx_L1_error);
+ __pyx_t_2 = __Pyx_Import(__pyx_n_s_handlers_texts, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_get_gift_link); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_gift_link, __pyx_t_3) < 0) __PYX_ERR(0, 15, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_GIFTS_TEXT_TEMPLATE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_GIFTS_TEXT_TEMPLATE, __pyx_t_3) < 0) __PYX_ERR(0, 15, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+ /* "handlers/payments/gift.py":16
+ * from database import get_balance, store_gift_link, update_balance
+ * from handlers.texts import get_gift_link, GIFTS_TEXT_TEMPLATE
+ * from logger import logger # <<<<<<<<<<<<<<
+ * from handlers.buttons.gifts import GIFT, MY_GIFTS, BACK, PROFILE
+ *
+ */
+ __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_INCREF(__pyx_n_s_logger);
+ __Pyx_GIVEREF(__pyx_n_s_logger);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_logger)) __PYX_ERR(0, 16, __pyx_L1_error);
+ __pyx_t_3 = __Pyx_Import(__pyx_n_s_logger, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_GIFTS_TEXT_TEMPLATE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_GIFTS_TEXT_TEMPLATE, __pyx_t_2) < 0) __PYX_ERR(0, 17, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_get_gift_link); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_gift_link, __pyx_t_2) < 0) __PYX_ERR(0, 17, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_logger, __pyx_t_2) < 0) __PYX_ERR(0, 16, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "handlers/payments/gift.py":18
- * from database import get_balance, store_gift_link, update_balance
- * from handlers.texts import GIFTS_TEXT_TEMPLATE, get_gift_link
- * from logger import logger # <<<<<<<<<<<<<<
- * from handlers.buttons.gifts import GIFT, MY_GIFTS, PROFILE, BACK
+ /* "handlers/payments/gift.py":17
+ * from handlers.texts import get_gift_link, GIFTS_TEXT_TEMPLATE
+ * from logger import logger
+ * from handlers.buttons.gifts import GIFT, MY_GIFTS, BACK, PROFILE # <<<<<<<<<<<<<<
*
+ * router = Router()
*/
- __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18, __pyx_L1_error)
+ __pyx_t_3 = PyList_New(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __Pyx_INCREF(__pyx_n_s_logger);
- __Pyx_GIVEREF(__pyx_n_s_logger);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_logger)) __PYX_ERR(0, 18, __pyx_L1_error);
- __pyx_t_2 = __Pyx_Import(__pyx_n_s_logger, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18, __pyx_L1_error)
+ __Pyx_INCREF(__pyx_n_s_GIFT);
+ __Pyx_GIVEREF(__pyx_n_s_GIFT);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_GIFT)) __PYX_ERR(0, 17, __pyx_L1_error);
+ __Pyx_INCREF(__pyx_n_s_MY_GIFTS);
+ __Pyx_GIVEREF(__pyx_n_s_MY_GIFTS);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_MY_GIFTS)) __PYX_ERR(0, 17, __pyx_L1_error);
+ __Pyx_INCREF(__pyx_n_s_BACK);
+ __Pyx_GIVEREF(__pyx_n_s_BACK);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 2, __pyx_n_s_BACK)) __PYX_ERR(0, 17, __pyx_L1_error);
+ __Pyx_INCREF(__pyx_n_s_PROFILE);
+ __Pyx_GIVEREF(__pyx_n_s_PROFILE);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 3, __pyx_n_s_PROFILE)) __PYX_ERR(0, 17, __pyx_L1_error);
+ __pyx_t_2 = __Pyx_Import(__pyx_n_s_handlers_buttons_gifts, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_GIFT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_logger, __pyx_t_3) < 0) __PYX_ERR(0, 18, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_GIFT, __pyx_t_3) < 0) __PYX_ERR(0, 17, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_MY_GIFTS); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_MY_GIFTS, __pyx_t_3) < 0) __PYX_ERR(0, 17, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_BACK); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_BACK, __pyx_t_3) < 0) __PYX_ERR(0, 17, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_PROFILE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_PROFILE, __pyx_t_3) < 0) __PYX_ERR(0, 17, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "handlers/payments/gift.py":19
- * from handlers.texts import GIFTS_TEXT_TEMPLATE, get_gift_link
- * from logger import logger
- * from handlers.buttons.gifts import GIFT, MY_GIFTS, PROFILE, BACK # <<<<<<<<<<<<<<
- *
- * router = Router()
- */
- __pyx_t_2 = PyList_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_n_s_GIFT);
- __Pyx_GIVEREF(__pyx_n_s_GIFT);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_GIFT)) __PYX_ERR(0, 19, __pyx_L1_error);
- __Pyx_INCREF(__pyx_n_s_MY_GIFTS);
- __Pyx_GIVEREF(__pyx_n_s_MY_GIFTS);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_MY_GIFTS)) __PYX_ERR(0, 19, __pyx_L1_error);
- __Pyx_INCREF(__pyx_n_s_PROFILE);
- __Pyx_GIVEREF(__pyx_n_s_PROFILE);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 2, __pyx_n_s_PROFILE)) __PYX_ERR(0, 19, __pyx_L1_error);
- __Pyx_INCREF(__pyx_n_s_BACK);
- __Pyx_GIVEREF(__pyx_n_s_BACK);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 3, __pyx_n_s_BACK)) __PYX_ERR(0, 19, __pyx_L1_error);
- __pyx_t_3 = __Pyx_Import(__pyx_n_s_handlers_buttons_gifts, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_GIFT); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_GIFT, __pyx_t_2) < 0) __PYX_ERR(0, 19, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_MY_GIFTS); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_MY_GIFTS, __pyx_t_2) < 0) __PYX_ERR(0, 19, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PROFILE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_PROFILE, __pyx_t_2) < 0) __PYX_ERR(0, 19, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_BACK); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_BACK, __pyx_t_2) < 0) __PYX_ERR(0, 19, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
- /* "handlers/payments/gift.py":21
- * from handlers.buttons.gifts import GIFT, MY_GIFTS, PROFILE, BACK
+ * from handlers.buttons.gifts import GIFT, MY_GIFTS, BACK, PROFILE
*
* router = Router() # <<<<<<<<<<<<<<
*
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_Router); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Router); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_router, __pyx_t_2) < 0) __PYX_ERR(0, 21, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_router, __pyx_t_3) < 0) __PYX_ERR(0, 19, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "handlers/payments/gift.py":24
+ /* "handlers/payments/gift.py":22
*
*
* PROJECTMANECONGIGURE = "CRYPTOSALE" # <<<<<<<<<<<<<<
* STARS_ROUTER = "21U68SOLOBOT"
* YOOKASSA_HASH = "HASHHASHYOOKASSA"
*/
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_PROJECTMANECONGIGURE, __pyx_n_u_CRYPTOSALE) < 0) __PYX_ERR(0, 24, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_PROJECTMANECONGIGURE, __pyx_n_u_CRYPTOSALE) < 0) __PYX_ERR(0, 22, __pyx_L1_error)
- /* "handlers/payments/gift.py":25
+ /* "handlers/payments/gift.py":23
*
* PROJECTMANECONGIGURE = "CRYPTOSALE"
* STARS_ROUTER = "21U68SOLOBOT" # <<<<<<<<<<<<<<
* YOOKASSA_HASH = "HASHHASHYOOKASSA"
*
*/
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_STARS_ROUTER, __pyx_kp_u_21U68SOLOBOT) < 0) __PYX_ERR(0, 25, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_STARS_ROUTER, __pyx_kp_u_21U68SOLOBOT) < 0) __PYX_ERR(0, 23, __pyx_L1_error)
- /* "handlers/payments/gift.py":26
+ /* "handlers/payments/gift.py":24
* PROJECTMANECONGIGURE = "CRYPTOSALE"
* STARS_ROUTER = "21U68SOLOBOT"
* YOOKASSA_HASH = "HASHHASHYOOKASSA" # <<<<<<<<<<<<<<
*
*
*/
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_YOOKASSA_HASH, __pyx_n_u_HASHHASHYOOKASSA) < 0) __PYX_ERR(0, 26, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_YOOKASSA_HASH, __pyx_n_u_HASHHASHYOOKASSA) < 0) __PYX_ERR(0, 24, __pyx_L1_error)
- /* "handlers/payments/gift.py":29
+ /* "handlers/payments/gift.py":27
*
*
* @router.callback_query(F.data == "gifts") # <<<<<<<<<<<<<<
* async def start_menu_handler(callback_query: types.CallbackQuery):
* """ 'start'. ' ' ' '."""
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_router); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_router); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_F); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_data); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyObject_RichCompare(__pyx_t_4, __pyx_n_u_gifts, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_F); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_data); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 29, __pyx_L1_error)
- __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_4gift_1start_menu_handler, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_start_menu_handler, NULL, __pyx_n_s_handlers_payments_gift, __pyx_d, ((PyObject *)__pyx_codeobj_)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, __pyx_n_u_gifts, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_start_menu_handler, __pyx_t_2) < 0) __PYX_ERR(0, 29, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 27, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_4gift_1start_menu_handler, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_start_menu_handler, NULL, __pyx_n_s_handlers_payments_gift, __pyx_d, ((PyObject *)__pyx_codeobj_)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_start_menu_handler, __pyx_t_3) < 0) __PYX_ERR(0, 27, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "handlers/payments/gift.py":50
+ /* "handlers/payments/gift.py":48
*
*
* @router.callback_query(F.data == "my_gifts") # <<<<<<<<<<<<<<
* async def my_gifts_handler(callback_query: types.CallbackQuery, session: Any):
- * """ ' '. ."""
+ * """ ' '. ."""
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_router); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 50, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 50, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_router); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 48, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_F); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 50, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 48, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_data); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 50, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyObject_RichCompare(__pyx_t_4, __pyx_n_u_my_gifts, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 50, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 50, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_F); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 48, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_data); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 48, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 50, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 50, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_session, __pyx_n_s_Any) < 0) __PYX_ERR(0, 50, __pyx_L1_error)
- __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_4gift_4my_gifts_handler, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_my_gifts_handler, NULL, __pyx_n_s_handlers_payments_gift, __pyx_d, ((PyObject *)__pyx_codeobj__2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 50, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 50, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, __pyx_n_u_my_gifts, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 48, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_my_gifts_handler, __pyx_t_2) < 0) __PYX_ERR(0, 50, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 48, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 48, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 48, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_session, __pyx_n_s_Any) < 0) __PYX_ERR(0, 48, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_4gift_4my_gifts_handler, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_my_gifts_handler, NULL, __pyx_n_s_handlers_payments_gift, __pyx_d, ((PyObject *)__pyx_codeobj__2)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 48, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 48, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_my_gifts_handler, __pyx_t_3) < 0) __PYX_ERR(0, 48, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "handlers/payments/gift.py":103
- *
- *
- * @router.callback_query(F.data.startswith("delete_gift")) # <<<<<<<<<<<<<<
- * async def delete_gift_handler(callback_query: types.CallbackQuery, session: Any):
- * """ ."""
- */
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_router); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 103, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 103, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_F); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 103, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_data); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 103, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_startswith); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 103, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__55, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 103, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 103, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 103, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 103, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_session, __pyx_n_s_Any) < 0) __PYX_ERR(0, 103, __pyx_L1_error)
- __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_4gift_7delete_gift_handler, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_delete_gift_handler, NULL, __pyx_n_s_handlers_payments_gift, __pyx_d, ((PyObject *)__pyx_codeobj__13)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 103, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_4);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 103, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_delete_gift_handler, __pyx_t_4) < 0) __PYX_ERR(0, 103, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
- /* "handlers/payments/gift.py":138
+ /* "handlers/payments/gift.py":83
*
*
* @router.callback_query(F.data == "gift") # <<<<<<<<<<<<<<
* async def gift_subscription_handler(callback_query: types.CallbackQuery):
* """ ''. ."""
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_router); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 138, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 138, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_router); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 83, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_F); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 138, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 138, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, __pyx_n_u_gift, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 138, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 138, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 83, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 138, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 138, __pyx_L1_error)
- __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_4gift_10gift_subscription_handler, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_gift_subscription_handler, NULL, __pyx_n_s_handlers_payments_gift, __pyx_d, ((PyObject *)__pyx_codeobj__19)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 138, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_F); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 83, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_4);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_data); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 83, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, __pyx_n_u_gift, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 83, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 138, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 83, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_gift_subscription_handler, __pyx_t_4) < 0) __PYX_ERR(0, 138, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 83, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 83, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_4gift_7gift_subscription_handler, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_gift_subscription_handler, NULL, __pyx_n_s_handlers_payments_gift, __pyx_d, ((PyObject *)__pyx_codeobj__17)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 83, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 83, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_gift_subscription_handler, __pyx_t_3) < 0) __PYX_ERR(0, 83, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "handlers/payments/gift.py":158
+ /* "handlers/payments/gift.py":103
*
*
* @router.callback_query(F.data.startswith("gift|")) # <<<<<<<<<<<<<<
* async def confirm_gift_handler(callback_query: types.CallbackQuery, session: Any):
* """ ."""
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_router); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 158, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_router); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 103, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 103, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_F); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 103, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_data); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 103, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 158, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_startswith); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 103, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_F); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 158, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 158, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_startswith); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 158, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__54, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 103, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 103, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__58, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 158, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 158, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 103, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 103, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_session, __pyx_n_s_Any) < 0) __PYX_ERR(0, 103, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_4gift_10confirm_gift_handler, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_confirm_gift_handler, NULL, __pyx_n_s_handlers_payments_gift, __pyx_d, ((PyObject *)__pyx_codeobj__22)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 103, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_4);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 103, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 158, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 158, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_session, __pyx_n_s_Any) < 0) __PYX_ERR(0, 158, __pyx_L1_error)
- __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_4gift_13confirm_gift_handler, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_confirm_gift_handler, NULL, __pyx_n_s_handlers_payments_gift, __pyx_d, ((PyObject *)__pyx_codeobj__25)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 158, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 158, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_confirm_gift_handler, __pyx_t_4) < 0) __PYX_ERR(0, 103, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_confirm_gift_handler, __pyx_t_2) < 0) __PYX_ERR(0, 158, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "handlers/payments/gift.py":198
+ /* "handlers/payments/gift.py":143
*
*
* @router.callback_query(F.data.startswith("confirm_gift|")) # <<<<<<<<<<<<<<
* async def finalize_gift_handler(callback_query: types.CallbackQuery, state: FSMContext, session: Any):
* """ ."""
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_router); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 198, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 198, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_F); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 198, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_data); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 198, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_router); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 143, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_startswith); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 198, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 143, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__60, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 198, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_F); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 143, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_data); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 143, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_startswith); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 143, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 198, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 198, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 198, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_state, __pyx_n_s_FSMContext) < 0) __PYX_ERR(0, 198, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_session, __pyx_n_s_Any) < 0) __PYX_ERR(0, 198, __pyx_L1_error)
- __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_4gift_16finalize_gift_handler, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_finalize_gift_handler, NULL, __pyx_n_s_handlers_payments_gift, __pyx_d, ((PyObject *)__pyx_codeobj__32)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 198, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__56, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 143, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_4);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 198, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 143, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_finalize_gift_handler, __pyx_t_4) < 0) __PYX_ERR(0, 198, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 143, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 143, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_state, __pyx_n_s_FSMContext) < 0) __PYX_ERR(0, 143, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_session, __pyx_n_s_Any) < 0) __PYX_ERR(0, 143, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_4gift_13finalize_gift_handler, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_finalize_gift_handler, NULL, __pyx_n_s_handlers_payments_gift, __pyx_d, ((PyObject *)__pyx_codeobj__30)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 143, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 143, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_finalize_gift_handler, __pyx_t_3) < 0) __PYX_ERR(0, 143, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "handlers/payments/gift.py":235
+ /* "handlers/payments/gift.py":188
*
*
* def get_hardware_id(): # <<<<<<<<<<<<<<
* """
* hardware-.
*/
- __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_4gift_19get_hardware_id, 0, __pyx_n_s_get_hardware_id, NULL, __pyx_n_s_handlers_payments_gift, __pyx_d, ((PyObject *)__pyx_codeobj__63)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 235, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_hardware_id, __pyx_t_4) < 0) __PYX_ERR(0, 235, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_4gift_16get_hardware_id, 0, __pyx_n_s_get_hardware_id, NULL, __pyx_n_s_handlers_payments_gift, __pyx_d, ((PyObject *)__pyx_codeobj__59)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 188, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_hardware_id, __pyx_t_3) < 0) __PYX_ERR(0, 188, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "handlers/payments/gift.py":251
+ /* "handlers/payments/gift.py":204
* return None
*
* async def validate_client_code(): # <<<<<<<<<<<<<<
* """
* hardware ID .
*/
- __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_4gift_21validate_client_code, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_validate_client_code, NULL, __pyx_n_s_handlers_payments_gift, __pyx_d, ((PyObject *)__pyx_codeobj__39)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 251, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_validate_client_code, __pyx_t_4) < 0) __PYX_ERR(0, 251, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_4gift_18validate_client_code, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_validate_client_code, NULL, __pyx_n_s_handlers_payments_gift, __pyx_d, ((PyObject *)__pyx_codeobj__37)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 204, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_validate_client_code, __pyx_t_3) < 0) __PYX_ERR(0, 204, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* "handlers/payments/gift.py":1
- * import asyncio # <<<<<<<<<<<<<<
- * import hashlib
+ * import hashlib # <<<<<<<<<<<<<<
* import platform
+ * import subprocess
*/
- __pyx_t_4 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_4) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_3) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/*--- Wrapped vars code ---*/
@@ -17946,6 +17023,13 @@ static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) {
}
#endif
+/* PyUnicode_Unicode */
+ static CYTHON_INLINE PyObject* __Pyx_PyUnicode_Unicode(PyObject *obj) {
+ if (unlikely(obj == Py_None))
+ obj = __pyx_kp_u_None;
+ return __Pyx_NewRef(obj);
+}
+
/* PyIntCompare */
static CYTHON_INLINE int __Pyx_PyInt_BoolEqObjC(PyObject *op1, PyObject *op2, long intval, long inplace) {
CYTHON_MAYBE_UNUSED_VAR(intval);
@@ -18087,100 +17171,69 @@ bad:
#endif
}
-/* GetItemInt */
- static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
- PyObject *r;
- if (unlikely(!j)) return NULL;
- r = PyObject_GetItem(o, j);
- Py_DECREF(j);
- return r;
+/* UnicodeConcatInPlace */
+ # if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
+static int
+__Pyx_unicode_modifiable(PyObject *unicode)
+{
+ if (Py_REFCNT(unicode) != 1)
+ return 0;
+ if (!PyUnicode_CheckExact(unicode))
+ return 0;
+ if (PyUnicode_CHECK_INTERNED(unicode))
+ return 0;
+ return 1;
}
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
- CYTHON_NCP_UNUSED int wraparound,
- CYTHON_NCP_UNUSED int boundscheck) {
-#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- Py_ssize_t wrapped_i = i;
- if (wraparound & unlikely(i < 0)) {
- wrapped_i += PyList_GET_SIZE(o);
+static CYTHON_INLINE PyObject *__Pyx_PyUnicode_ConcatInPlaceImpl(PyObject **p_left, PyObject *right
+ #if CYTHON_REFNANNY
+ , void* __pyx_refnanny
+ #endif
+ ) {
+ PyObject *left = *p_left;
+ Py_ssize_t left_len, right_len, new_len;
+ if (unlikely(__Pyx_PyUnicode_READY(left) == -1))
+ return NULL;
+ if (unlikely(__Pyx_PyUnicode_READY(right) == -1))
+ return NULL;
+ left_len = PyUnicode_GET_LENGTH(left);
+ if (left_len == 0) {
+ Py_INCREF(right);
+ return right;
}
- if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) {
- PyObject *r = PyList_GET_ITEM(o, wrapped_i);
- Py_INCREF(r);
- return r;
+ right_len = PyUnicode_GET_LENGTH(right);
+ if (right_len == 0) {
+ Py_INCREF(left);
+ return left;
}
- return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
-#else
- return PySequence_GetItem(o, i);
-#endif
-}
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
- CYTHON_NCP_UNUSED int wraparound,
- CYTHON_NCP_UNUSED int boundscheck) {
-#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- Py_ssize_t wrapped_i = i;
- if (wraparound & unlikely(i < 0)) {
- wrapped_i += PyTuple_GET_SIZE(o);
+ if (unlikely(left_len > PY_SSIZE_T_MAX - right_len)) {
+ PyErr_SetString(PyExc_OverflowError,
+ "strings are too large to concat");
+ return NULL;
}
- if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) {
- PyObject *r = PyTuple_GET_ITEM(o, wrapped_i);
- Py_INCREF(r);
- return r;
- }
- return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
-#else
- return PySequence_GetItem(o, i);
-#endif
-}
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list,
- CYTHON_NCP_UNUSED int wraparound,
- CYTHON_NCP_UNUSED int boundscheck) {
-#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS
- if (is_list || PyList_CheckExact(o)) {
- Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
- if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) {
- PyObject *r = PyList_GET_ITEM(o, n);
- Py_INCREF(r);
- return r;
- }
- }
- else if (PyTuple_CheckExact(o)) {
- Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
- if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) {
- PyObject *r = PyTuple_GET_ITEM(o, n);
- Py_INCREF(r);
- return r;
- }
+ new_len = left_len + right_len;
+ if (__Pyx_unicode_modifiable(left)
+ && PyUnicode_CheckExact(right)
+ && PyUnicode_KIND(right) <= PyUnicode_KIND(left)
+ && !(PyUnicode_IS_ASCII(left) && !PyUnicode_IS_ASCII(right))) {
+ int ret;
+ __Pyx_GIVEREF(*p_left);
+ ret = PyUnicode_Resize(p_left, new_len);
+ __Pyx_GOTREF(*p_left);
+ if (unlikely(ret != 0))
+ return NULL;
+ #if PY_VERSION_HEX >= 0x030d0000
+ if (unlikely(PyUnicode_CopyCharacters(*p_left, left_len, right, 0, right_len) < 0)) return NULL;
+ #else
+ _PyUnicode_FastCopyCharacters(*p_left, left_len, right, 0, right_len);
+ #endif
+ __Pyx_INCREF(*p_left);
+ __Pyx_GIVEREF(*p_left);
+ return *p_left;
} else {
- PyMappingMethods *mm = Py_TYPE(o)->tp_as_mapping;
- PySequenceMethods *sm = Py_TYPE(o)->tp_as_sequence;
- if (mm && mm->mp_subscript) {
- PyObject *r, *key = PyInt_FromSsize_t(i);
- if (unlikely(!key)) return NULL;
- r = mm->mp_subscript(o, key);
- Py_DECREF(key);
- return r;
- }
- if (likely(sm && sm->sq_item)) {
- if (wraparound && unlikely(i < 0) && likely(sm->sq_length)) {
- Py_ssize_t l = sm->sq_length(o);
- if (likely(l >= 0)) {
- i += l;
- } else {
- if (!PyErr_ExceptionMatches(PyExc_OverflowError))
- return NULL;
- PyErr_Clear();
- }
- }
- return sm->sq_item(o, i);
- }
- }
-#else
- if (is_list || !PyMapping_Check(o)) {
- return PySequence_GetItem(o, i);
+ return __Pyx_PyUnicode_Concat(left, right);
}
+ }
#endif
- return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
-}
/* IterFinish */
static CYTHON_INLINE int __Pyx_IterFinish(void) {
@@ -18420,11 +17473,99 @@ static CYTHON_INLINE int __Pyx_dict_iter_next(
return 1;
}
-/* PyUnicode_Unicode */
- static CYTHON_INLINE PyObject* __Pyx_PyUnicode_Unicode(PyObject *obj) {
- if (unlikely(obj == Py_None))
- obj = __pyx_kp_u_None;
- return __Pyx_NewRef(obj);
+/* GetItemInt */
+ static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
+ PyObject *r;
+ if (unlikely(!j)) return NULL;
+ r = PyObject_GetItem(o, j);
+ Py_DECREF(j);
+ return r;
+}
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
+ CYTHON_NCP_UNUSED int wraparound,
+ CYTHON_NCP_UNUSED int boundscheck) {
+#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+ Py_ssize_t wrapped_i = i;
+ if (wraparound & unlikely(i < 0)) {
+ wrapped_i += PyList_GET_SIZE(o);
+ }
+ if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) {
+ PyObject *r = PyList_GET_ITEM(o, wrapped_i);
+ Py_INCREF(r);
+ return r;
+ }
+ return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
+#else
+ return PySequence_GetItem(o, i);
+#endif
+}
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
+ CYTHON_NCP_UNUSED int wraparound,
+ CYTHON_NCP_UNUSED int boundscheck) {
+#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+ Py_ssize_t wrapped_i = i;
+ if (wraparound & unlikely(i < 0)) {
+ wrapped_i += PyTuple_GET_SIZE(o);
+ }
+ if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) {
+ PyObject *r = PyTuple_GET_ITEM(o, wrapped_i);
+ Py_INCREF(r);
+ return r;
+ }
+ return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
+#else
+ return PySequence_GetItem(o, i);
+#endif
+}
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list,
+ CYTHON_NCP_UNUSED int wraparound,
+ CYTHON_NCP_UNUSED int boundscheck) {
+#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS
+ if (is_list || PyList_CheckExact(o)) {
+ Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
+ if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) {
+ PyObject *r = PyList_GET_ITEM(o, n);
+ Py_INCREF(r);
+ return r;
+ }
+ }
+ else if (PyTuple_CheckExact(o)) {
+ Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
+ if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) {
+ PyObject *r = PyTuple_GET_ITEM(o, n);
+ Py_INCREF(r);
+ return r;
+ }
+ } else {
+ PyMappingMethods *mm = Py_TYPE(o)->tp_as_mapping;
+ PySequenceMethods *sm = Py_TYPE(o)->tp_as_sequence;
+ if (mm && mm->mp_subscript) {
+ PyObject *r, *key = PyInt_FromSsize_t(i);
+ if (unlikely(!key)) return NULL;
+ r = mm->mp_subscript(o, key);
+ Py_DECREF(key);
+ return r;
+ }
+ if (likely(sm && sm->sq_item)) {
+ if (wraparound && unlikely(i < 0) && likely(sm->sq_length)) {
+ Py_ssize_t l = sm->sq_length(o);
+ if (likely(l >= 0)) {
+ i += l;
+ } else {
+ if (!PyErr_ExceptionMatches(PyExc_OverflowError))
+ return NULL;
+ PyErr_Clear();
+ }
+ }
+ return sm->sq_item(o, i);
+ }
+ }
+#else
+ if (is_list || !PyMapping_Check(o)) {
+ return PySequence_GetItem(o, i);
+ }
+#endif
+ return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
}
/* PyIntBinop */
@@ -19064,7 +18205,7 @@ static PyObject *__Pyx_ImportDottedModule_WalkParts(PyObject *module, PyObject *
#endif
static PyObject *__Pyx__ImportDottedModule(PyObject *name, PyObject *parts_tuple) {
#if PY_MAJOR_VERSION < 3
- PyObject *module, *from_list, *star = __pyx_n_s__51;
+ PyObject *module, *from_list, *star = __pyx_n_s__49;
CYTHON_UNUSED_VAR(parts_tuple);
from_list = PyList_New(1);
if (unlikely(!from_list))
@@ -19114,114 +18255,6 @@ static PyObject *__Pyx_ImportDottedModule(PyObject *name, PyObject *parts_tuple)
return __Pyx__ImportDottedModule(name, parts_tuple);
}
-/* PatchInspect */
- static PyObject* __Pyx_patch_inspect(PyObject* module) {
-#if defined(__Pyx_Generator_USED) && (!defined(CYTHON_PATCH_INSPECT) || CYTHON_PATCH_INSPECT)
- static int inspect_patched = 0;
- if (unlikely((!inspect_patched) && module)) {
- module = __Pyx_Coroutine_patch_module(
- module, ""
-"old_types = getattr(_module.isgenerator, '_cython_generator_types', None)\n"
-"if old_types is None or not isinstance(old_types, set):\n"
-" old_types = set()\n"
-" def cy_wrap(orig_func, type=type, cython_generator_types=old_types):\n"
-" def cy_isgenerator(obj): return type(obj) in cython_generator_types or orig_func(obj)\n"
-" cy_isgenerator._cython_generator_types = cython_generator_types\n"
-" return cy_isgenerator\n"
-" _module.isgenerator = cy_wrap(_module.isgenerator)\n"
-"old_types.add(_cython_generator_type)\n"
- );
- inspect_patched = 1;
- }
-#else
- if ((0)) return __Pyx_Coroutine_patch_module(module, NULL);
-#endif
- return module;
-}
-
-/* PatchAsyncIO */
- static PyObject* __Pyx_patch_asyncio(PyObject* module) {
-#if PY_VERSION_HEX < 0x030500B2 &&\
- (defined(__Pyx_Coroutine_USED) || defined(__Pyx_Generator_USED)) &&\
- (!defined(CYTHON_PATCH_ASYNCIO) || CYTHON_PATCH_ASYNCIO)
- PyObject *patch_module = NULL;
- static int asyncio_patched = 0;
- if (unlikely((!asyncio_patched) && module)) {
- PyObject *package;
- package = __Pyx_Import(__pyx_n_s_asyncio_coroutines, NULL, 0);
- if (package) {
- patch_module = __Pyx_Coroutine_patch_module(
- PyObject_GetAttrString(package, "coroutines"), ""
-"try:\n"
-" coro_types = _module._COROUTINE_TYPES\n"
-"except AttributeError: pass\n"
-"else:\n"
-" if _cython_coroutine_type is not None and _cython_coroutine_type not in coro_types:\n"
-" coro_types = tuple(coro_types) + (_cython_coroutine_type,)\n"
-" if _cython_generator_type is not None and _cython_generator_type not in coro_types:\n"
-" coro_types = tuple(coro_types) + (_cython_generator_type,)\n"
-"_module._COROUTINE_TYPES = coro_types\n"
- );
- } else {
- PyErr_Clear();
- package = __Pyx_Import(__pyx_n_s_asyncio_tasks, NULL, 0);
- if (unlikely(!package)) goto asyncio_done;
- patch_module = __Pyx_Coroutine_patch_module(
- PyObject_GetAttrString(package, "tasks"), ""
-"if hasattr(_module, 'iscoroutine'):\n"
-" old_types = getattr(_module.iscoroutine, '_cython_coroutine_types', None)\n"
-" if old_types is None or not isinstance(old_types, set):\n"
-" old_types = set()\n"
-" def cy_wrap(orig_func, type=type, cython_coroutine_types=old_types):\n"
-" def cy_iscoroutine(obj): return type(obj) in cython_coroutine_types or orig_func(obj)\n"
-" cy_iscoroutine._cython_coroutine_types = cython_coroutine_types\n"
-" return cy_iscoroutine\n"
-" _module.iscoroutine = cy_wrap(_module.iscoroutine)\n"
-" if _cython_coroutine_type is not None:\n"
-" old_types.add(_cython_coroutine_type)\n"
-" if _cython_generator_type is not None:\n"
-" old_types.add(_cython_generator_type)\n"
- );
- }
- Py_DECREF(package);
- if (unlikely(!patch_module)) goto ignore;
-asyncio_done:
- PyErr_Clear();
- asyncio_patched = 1;
-#ifdef __Pyx_Generator_USED
- {
- PyObject *inspect_module;
- if (patch_module) {
- inspect_module = PyObject_GetAttr(patch_module, __pyx_n_s_inspect);
- Py_DECREF(patch_module);
- } else {
- inspect_module = __Pyx_Import(__pyx_n_s_inspect, NULL, 0);
- }
- if (unlikely(!inspect_module)) goto ignore;
- inspect_module = __Pyx_patch_inspect(inspect_module);
- if (unlikely(!inspect_module)) {
- Py_DECREF(module);
- module = NULL;
- }
- Py_XDECREF(inspect_module);
- }
-#else
- if ((0)) return __Pyx_patch_inspect(module);
-#endif
- }
- return module;
-ignore:
- PyErr_WriteUnraisable(module);
- if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, "Cython module failed to patch asyncio package with custom generator type", 1) < 0)) {
- Py_DECREF(module);
- module = NULL;
- }
-#else
- if ((0)) return __Pyx_patch_inspect(__Pyx_Coroutine_patch_module(module, NULL));
-#endif
- return module;
-}
-
/* ImportFrom */
static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) {
PyObject* value = __Pyx_PyObject_GetAttrStr(module, name);
@@ -19235,7 +18268,7 @@ ignore:
if (unlikely(!module_name_str)) { goto modbad; }
module_name = PyUnicode_FromString(module_name_str);
if (unlikely(!module_name)) { goto modbad; }
- module_dot = PyUnicode_Concat(module_name, __pyx_kp_u__52);
+ module_dot = PyUnicode_Concat(module_name, __pyx_kp_u__50);
if (unlikely(!module_dot)) { goto modbad; }
full_name = PyUnicode_Concat(module_dot, name);
if (unlikely(!full_name)) { goto modbad; }
@@ -20737,7 +19770,7 @@ __Pyx_PyType_GetName(PyTypeObject* tp)
if (unlikely(name == NULL) || unlikely(!PyUnicode_Check(name))) {
PyErr_Clear();
Py_XDECREF(name);
- name = __Pyx_NewRef(__pyx_n_s__65);
+ name = __Pyx_NewRef(__pyx_n_s__61);
}
return name;
}
diff --git a/handlers/payments/gift.cpython-312-x86_64-linux-gnu.so b/handlers/payments/gift.cpython-312-x86_64-linux-gnu.so
index 6ddca2e1..189cc0b0 100755
Binary files a/handlers/payments/gift.cpython-312-x86_64-linux-gnu.so and b/handlers/payments/gift.cpython-312-x86_64-linux-gnu.so differ
diff --git a/handlers/payments/robokassa_pay.c b/handlers/payments/robokassa_pay.c
deleted file mode 100644
index 36922515..00000000
--- a/handlers/payments/robokassa_pay.c
+++ /dev/null
@@ -1,20444 +0,0 @@
-/* Generated by Cython 3.0.11 */
-
-/* BEGIN: Cython Metadata
-{
- "distutils": {
- "extra_compile_args": [
- "-O2"
- ],
- "name": "handlers.payments.robokassa_pay",
- "sources": [
- "handlers/payments/robokassa_pay.py"
- ]
- },
- "module_name": "handlers.payments.robokassa_pay"
-}
-END: Cython Metadata */
-
-#ifndef PY_SSIZE_T_CLEAN
-#define PY_SSIZE_T_CLEAN
-#endif /* PY_SSIZE_T_CLEAN */
-#if defined(CYTHON_LIMITED_API) && 0
- #ifndef Py_LIMITED_API
- #if CYTHON_LIMITED_API+0 > 0x03030000
- #define Py_LIMITED_API CYTHON_LIMITED_API
- #else
- #define Py_LIMITED_API 0x03030000
- #endif
- #endif
-#endif
-
-#include "Python.h"
-#ifndef Py_PYTHON_H
- #error Python headers needed to compile C extensions, please install development version of Python.
-#elif PY_VERSION_HEX < 0x02070000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
- #error Cython requires Python 2.7+ or Python 3.3+.
-#else
-#if defined(CYTHON_LIMITED_API) && CYTHON_LIMITED_API
-#define __PYX_EXTRA_ABI_MODULE_NAME "limited"
-#else
-#define __PYX_EXTRA_ABI_MODULE_NAME ""
-#endif
-#define CYTHON_ABI "3_0_11" __PYX_EXTRA_ABI_MODULE_NAME
-#define __PYX_ABI_MODULE_NAME "_cython_" CYTHON_ABI
-#define __PYX_TYPE_MODULE_PREFIX __PYX_ABI_MODULE_NAME "."
-#define CYTHON_HEX_VERSION 0x03000BF0
-#define CYTHON_FUTURE_DIVISION 1
-#include
-#ifndef offsetof
- #define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
-#endif
-#if !defined(_WIN32) && !defined(WIN32) && !defined(MS_WINDOWS)
- #ifndef __stdcall
- #define __stdcall
- #endif
- #ifndef __cdecl
- #define __cdecl
- #endif
- #ifndef __fastcall
- #define __fastcall
- #endif
-#endif
-#ifndef DL_IMPORT
- #define DL_IMPORT(t) t
-#endif
-#ifndef DL_EXPORT
- #define DL_EXPORT(t) t
-#endif
-#define __PYX_COMMA ,
-#ifndef HAVE_LONG_LONG
- #define HAVE_LONG_LONG
-#endif
-#ifndef PY_LONG_LONG
- #define PY_LONG_LONG LONG_LONG
-#endif
-#ifndef Py_HUGE_VAL
- #define Py_HUGE_VAL HUGE_VAL
-#endif
-#define __PYX_LIMITED_VERSION_HEX PY_VERSION_HEX
-#if defined(GRAALVM_PYTHON)
- /* For very preliminary testing purposes. Most variables are set the same as PyPy.
- The existence of this section does not imply that anything works or is even tested */
- #define CYTHON_COMPILING_IN_PYPY 0
- #define CYTHON_COMPILING_IN_CPYTHON 0
- #define CYTHON_COMPILING_IN_LIMITED_API 0
- #define CYTHON_COMPILING_IN_GRAAL 1
- #define CYTHON_COMPILING_IN_NOGIL 0
- #undef CYTHON_USE_TYPE_SLOTS
- #define CYTHON_USE_TYPE_SLOTS 0
- #undef CYTHON_USE_TYPE_SPECS
- #define CYTHON_USE_TYPE_SPECS 0
- #undef CYTHON_USE_PYTYPE_LOOKUP
- #define CYTHON_USE_PYTYPE_LOOKUP 0
- #if PY_VERSION_HEX < 0x03050000
- #undef CYTHON_USE_ASYNC_SLOTS
- #define CYTHON_USE_ASYNC_SLOTS 0
- #elif !defined(CYTHON_USE_ASYNC_SLOTS)
- #define CYTHON_USE_ASYNC_SLOTS 1
- #endif
- #undef CYTHON_USE_PYLIST_INTERNALS
- #define CYTHON_USE_PYLIST_INTERNALS 0
- #undef CYTHON_USE_UNICODE_INTERNALS
- #define CYTHON_USE_UNICODE_INTERNALS 0
- #undef CYTHON_USE_UNICODE_WRITER
- #define CYTHON_USE_UNICODE_WRITER 0
- #undef CYTHON_USE_PYLONG_INTERNALS
- #define CYTHON_USE_PYLONG_INTERNALS 0
- #undef CYTHON_AVOID_BORROWED_REFS
- #define CYTHON_AVOID_BORROWED_REFS 1
- #undef CYTHON_ASSUME_SAFE_MACROS
- #define CYTHON_ASSUME_SAFE_MACROS 0
- #undef CYTHON_UNPACK_METHODS
- #define CYTHON_UNPACK_METHODS 0
- #undef CYTHON_FAST_THREAD_STATE
- #define CYTHON_FAST_THREAD_STATE 0
- #undef CYTHON_FAST_GIL
- #define CYTHON_FAST_GIL 0
- #undef CYTHON_METH_FASTCALL
- #define CYTHON_METH_FASTCALL 0
- #undef CYTHON_FAST_PYCALL
- #define CYTHON_FAST_PYCALL 0
- #ifndef CYTHON_PEP487_INIT_SUBCLASS
- #define CYTHON_PEP487_INIT_SUBCLASS (PY_MAJOR_VERSION >= 3)
- #endif
- #undef CYTHON_PEP489_MULTI_PHASE_INIT
- #define CYTHON_PEP489_MULTI_PHASE_INIT 1
- #undef CYTHON_USE_MODULE_STATE
- #define CYTHON_USE_MODULE_STATE 0
- #undef CYTHON_USE_TP_FINALIZE
- #define CYTHON_USE_TP_FINALIZE 0
- #undef CYTHON_USE_DICT_VERSIONS
- #define CYTHON_USE_DICT_VERSIONS 0
- #undef CYTHON_USE_EXC_INFO_STACK
- #define CYTHON_USE_EXC_INFO_STACK 0
- #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
- #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
- #endif
- #undef CYTHON_USE_FREELISTS
- #define CYTHON_USE_FREELISTS 0
-#elif defined(PYPY_VERSION)
- #define CYTHON_COMPILING_IN_PYPY 1
- #define CYTHON_COMPILING_IN_CPYTHON 0
- #define CYTHON_COMPILING_IN_LIMITED_API 0
- #define CYTHON_COMPILING_IN_GRAAL 0
- #define CYTHON_COMPILING_IN_NOGIL 0
- #undef CYTHON_USE_TYPE_SLOTS
- #define CYTHON_USE_TYPE_SLOTS 0
- #ifndef CYTHON_USE_TYPE_SPECS
- #define CYTHON_USE_TYPE_SPECS 0
- #endif
- #undef CYTHON_USE_PYTYPE_LOOKUP
- #define CYTHON_USE_PYTYPE_LOOKUP 0
- #if PY_VERSION_HEX < 0x03050000
- #undef CYTHON_USE_ASYNC_SLOTS
- #define CYTHON_USE_ASYNC_SLOTS 0
- #elif !defined(CYTHON_USE_ASYNC_SLOTS)
- #define CYTHON_USE_ASYNC_SLOTS 1
- #endif
- #undef CYTHON_USE_PYLIST_INTERNALS
- #define CYTHON_USE_PYLIST_INTERNALS 0
- #undef CYTHON_USE_UNICODE_INTERNALS
- #define CYTHON_USE_UNICODE_INTERNALS 0
- #undef CYTHON_USE_UNICODE_WRITER
- #define CYTHON_USE_UNICODE_WRITER 0
- #undef CYTHON_USE_PYLONG_INTERNALS
- #define CYTHON_USE_PYLONG_INTERNALS 0
- #undef CYTHON_AVOID_BORROWED_REFS
- #define CYTHON_AVOID_BORROWED_REFS 1
- #undef CYTHON_ASSUME_SAFE_MACROS
- #define CYTHON_ASSUME_SAFE_MACROS 0
- #undef CYTHON_UNPACK_METHODS
- #define CYTHON_UNPACK_METHODS 0
- #undef CYTHON_FAST_THREAD_STATE
- #define CYTHON_FAST_THREAD_STATE 0
- #undef CYTHON_FAST_GIL
- #define CYTHON_FAST_GIL 0
- #undef CYTHON_METH_FASTCALL
- #define CYTHON_METH_FASTCALL 0
- #undef CYTHON_FAST_PYCALL
- #define CYTHON_FAST_PYCALL 0
- #ifndef CYTHON_PEP487_INIT_SUBCLASS
- #define CYTHON_PEP487_INIT_SUBCLASS (PY_MAJOR_VERSION >= 3)
- #endif
- #if PY_VERSION_HEX < 0x03090000
- #undef CYTHON_PEP489_MULTI_PHASE_INIT
- #define CYTHON_PEP489_MULTI_PHASE_INIT 0
- #elif !defined(CYTHON_PEP489_MULTI_PHASE_INIT)
- #define CYTHON_PEP489_MULTI_PHASE_INIT 1
- #endif
- #undef CYTHON_USE_MODULE_STATE
- #define CYTHON_USE_MODULE_STATE 0
- #undef CYTHON_USE_TP_FINALIZE
- #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1 && PYPY_VERSION_NUM >= 0x07030C00)
- #undef CYTHON_USE_DICT_VERSIONS
- #define CYTHON_USE_DICT_VERSIONS 0
- #undef CYTHON_USE_EXC_INFO_STACK
- #define CYTHON_USE_EXC_INFO_STACK 0
- #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
- #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
- #endif
- #undef CYTHON_USE_FREELISTS
- #define CYTHON_USE_FREELISTS 0
-#elif defined(CYTHON_LIMITED_API)
- #ifdef Py_LIMITED_API
- #undef __PYX_LIMITED_VERSION_HEX
- #define __PYX_LIMITED_VERSION_HEX Py_LIMITED_API
- #endif
- #define CYTHON_COMPILING_IN_PYPY 0
- #define CYTHON_COMPILING_IN_CPYTHON 0
- #define CYTHON_COMPILING_IN_LIMITED_API 1
- #define CYTHON_COMPILING_IN_GRAAL 0
- #define CYTHON_COMPILING_IN_NOGIL 0
- #undef CYTHON_CLINE_IN_TRACEBACK
- #define CYTHON_CLINE_IN_TRACEBACK 0
- #undef CYTHON_USE_TYPE_SLOTS
- #define CYTHON_USE_TYPE_SLOTS 0
- #undef CYTHON_USE_TYPE_SPECS
- #define CYTHON_USE_TYPE_SPECS 1
- #undef CYTHON_USE_PYTYPE_LOOKUP
- #define CYTHON_USE_PYTYPE_LOOKUP 0
- #undef CYTHON_USE_ASYNC_SLOTS
- #define CYTHON_USE_ASYNC_SLOTS 0
- #undef CYTHON_USE_PYLIST_INTERNALS
- #define CYTHON_USE_PYLIST_INTERNALS 0
- #undef CYTHON_USE_UNICODE_INTERNALS
- #define CYTHON_USE_UNICODE_INTERNALS 0
- #ifndef CYTHON_USE_UNICODE_WRITER
- #define CYTHON_USE_UNICODE_WRITER 0
- #endif
- #undef CYTHON_USE_PYLONG_INTERNALS
- #define CYTHON_USE_PYLONG_INTERNALS 0
- #ifndef CYTHON_AVOID_BORROWED_REFS
- #define CYTHON_AVOID_BORROWED_REFS 0
- #endif
- #undef CYTHON_ASSUME_SAFE_MACROS
- #define CYTHON_ASSUME_SAFE_MACROS 0
- #undef CYTHON_UNPACK_METHODS
- #define CYTHON_UNPACK_METHODS 0
- #undef CYTHON_FAST_THREAD_STATE
- #define CYTHON_FAST_THREAD_STATE 0
- #undef CYTHON_FAST_GIL
- #define CYTHON_FAST_GIL 0
- #undef CYTHON_METH_FASTCALL
- #define CYTHON_METH_FASTCALL 0
- #undef CYTHON_FAST_PYCALL
- #define CYTHON_FAST_PYCALL 0
- #ifndef CYTHON_PEP487_INIT_SUBCLASS
- #define CYTHON_PEP487_INIT_SUBCLASS 1
- #endif
- #undef CYTHON_PEP489_MULTI_PHASE_INIT
- #define CYTHON_PEP489_MULTI_PHASE_INIT 0
- #undef CYTHON_USE_MODULE_STATE
- #define CYTHON_USE_MODULE_STATE 1
- #ifndef CYTHON_USE_TP_FINALIZE
- #define CYTHON_USE_TP_FINALIZE 0
- #endif
- #undef CYTHON_USE_DICT_VERSIONS
- #define CYTHON_USE_DICT_VERSIONS 0
- #undef CYTHON_USE_EXC_INFO_STACK
- #define CYTHON_USE_EXC_INFO_STACK 0
- #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
- #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
- #endif
- #undef CYTHON_USE_FREELISTS
- #define CYTHON_USE_FREELISTS 0
-#elif defined(Py_GIL_DISABLED) || defined(Py_NOGIL)
- #define CYTHON_COMPILING_IN_PYPY 0
- #define CYTHON_COMPILING_IN_CPYTHON 0
- #define CYTHON_COMPILING_IN_LIMITED_API 0
- #define CYTHON_COMPILING_IN_GRAAL 0
- #define CYTHON_COMPILING_IN_NOGIL 1
- #ifndef CYTHON_USE_TYPE_SLOTS
- #define CYTHON_USE_TYPE_SLOTS 1
- #endif
- #ifndef CYTHON_USE_TYPE_SPECS
- #define CYTHON_USE_TYPE_SPECS 0
- #endif
- #undef CYTHON_USE_PYTYPE_LOOKUP
- #define CYTHON_USE_PYTYPE_LOOKUP 0
- #ifndef CYTHON_USE_ASYNC_SLOTS
- #define CYTHON_USE_ASYNC_SLOTS 1
- #endif
- #ifndef CYTHON_USE_PYLONG_INTERNALS
- #define CYTHON_USE_PYLONG_INTERNALS 0
- #endif
- #undef CYTHON_USE_PYLIST_INTERNALS
- #define CYTHON_USE_PYLIST_INTERNALS 0
- #ifndef CYTHON_USE_UNICODE_INTERNALS
- #define CYTHON_USE_UNICODE_INTERNALS 1
- #endif
- #undef CYTHON_USE_UNICODE_WRITER
- #define CYTHON_USE_UNICODE_WRITER 0
- #ifndef CYTHON_AVOID_BORROWED_REFS
- #define CYTHON_AVOID_BORROWED_REFS 0
- #endif
- #ifndef CYTHON_ASSUME_SAFE_MACROS
- #define CYTHON_ASSUME_SAFE_MACROS 1
- #endif
- #ifndef CYTHON_UNPACK_METHODS
- #define CYTHON_UNPACK_METHODS 1
- #endif
- #undef CYTHON_FAST_THREAD_STATE
- #define CYTHON_FAST_THREAD_STATE 0
- #undef CYTHON_FAST_GIL
- #define CYTHON_FAST_GIL 0
- #ifndef CYTHON_METH_FASTCALL
- #define CYTHON_METH_FASTCALL 1
- #endif
- #undef CYTHON_FAST_PYCALL
- #define CYTHON_FAST_PYCALL 0
- #ifndef CYTHON_PEP487_INIT_SUBCLASS
- #define CYTHON_PEP487_INIT_SUBCLASS 1
- #endif
- #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
- #define CYTHON_PEP489_MULTI_PHASE_INIT 1
- #endif
- #ifndef CYTHON_USE_MODULE_STATE
- #define CYTHON_USE_MODULE_STATE 0
- #endif
- #ifndef CYTHON_USE_TP_FINALIZE
- #define CYTHON_USE_TP_FINALIZE 1
- #endif
- #undef CYTHON_USE_DICT_VERSIONS
- #define CYTHON_USE_DICT_VERSIONS 0
- #undef CYTHON_USE_EXC_INFO_STACK
- #define CYTHON_USE_EXC_INFO_STACK 0
- #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
- #define CYTHON_UPDATE_DESCRIPTOR_DOC 1
- #endif
- #ifndef CYTHON_USE_FREELISTS
- #define CYTHON_USE_FREELISTS 0
- #endif
-#else
- #define CYTHON_COMPILING_IN_PYPY 0
- #define CYTHON_COMPILING_IN_CPYTHON 1
- #define CYTHON_COMPILING_IN_LIMITED_API 0
- #define CYTHON_COMPILING_IN_GRAAL 0
- #define CYTHON_COMPILING_IN_NOGIL 0
- #ifndef CYTHON_USE_TYPE_SLOTS
- #define CYTHON_USE_TYPE_SLOTS 1
- #endif
- #ifndef CYTHON_USE_TYPE_SPECS
- #define CYTHON_USE_TYPE_SPECS 0
- #endif
- #ifndef CYTHON_USE_PYTYPE_LOOKUP
- #define CYTHON_USE_PYTYPE_LOOKUP 1
- #endif
- #if PY_MAJOR_VERSION < 3
- #undef CYTHON_USE_ASYNC_SLOTS
- #define CYTHON_USE_ASYNC_SLOTS 0
- #elif !defined(CYTHON_USE_ASYNC_SLOTS)
- #define CYTHON_USE_ASYNC_SLOTS 1
- #endif
- #ifndef CYTHON_USE_PYLONG_INTERNALS
- #define CYTHON_USE_PYLONG_INTERNALS 1
- #endif
- #ifndef CYTHON_USE_PYLIST_INTERNALS
- #define CYTHON_USE_PYLIST_INTERNALS 1
- #endif
- #ifndef CYTHON_USE_UNICODE_INTERNALS
- #define CYTHON_USE_UNICODE_INTERNALS 1
- #endif
- #if PY_VERSION_HEX < 0x030300F0 || PY_VERSION_HEX >= 0x030B00A2
- #undef CYTHON_USE_UNICODE_WRITER
- #define CYTHON_USE_UNICODE_WRITER 0
- #elif !defined(CYTHON_USE_UNICODE_WRITER)
- #define CYTHON_USE_UNICODE_WRITER 1
- #endif
- #ifndef CYTHON_AVOID_BORROWED_REFS
- #define CYTHON_AVOID_BORROWED_REFS 0
- #endif
- #ifndef CYTHON_ASSUME_SAFE_MACROS
- #define CYTHON_ASSUME_SAFE_MACROS 1
- #endif
- #ifndef CYTHON_UNPACK_METHODS
- #define CYTHON_UNPACK_METHODS 1
- #endif
- #ifndef CYTHON_FAST_THREAD_STATE
- #define CYTHON_FAST_THREAD_STATE 1
- #endif
- #ifndef CYTHON_FAST_GIL
- #define CYTHON_FAST_GIL (PY_MAJOR_VERSION < 3 || PY_VERSION_HEX >= 0x03060000 && PY_VERSION_HEX < 0x030C00A6)
- #endif
- #ifndef CYTHON_METH_FASTCALL
- #define CYTHON_METH_FASTCALL (PY_VERSION_HEX >= 0x030700A1)
- #endif
- #ifndef CYTHON_FAST_PYCALL
- #define CYTHON_FAST_PYCALL 1
- #endif
- #ifndef CYTHON_PEP487_INIT_SUBCLASS
- #define CYTHON_PEP487_INIT_SUBCLASS 1
- #endif
- #if PY_VERSION_HEX < 0x03050000
- #undef CYTHON_PEP489_MULTI_PHASE_INIT
- #define CYTHON_PEP489_MULTI_PHASE_INIT 0
- #elif !defined(CYTHON_PEP489_MULTI_PHASE_INIT)
- #define CYTHON_PEP489_MULTI_PHASE_INIT 1
- #endif
- #ifndef CYTHON_USE_MODULE_STATE
- #define CYTHON_USE_MODULE_STATE 0
- #endif
- #if PY_VERSION_HEX < 0x030400a1
- #undef CYTHON_USE_TP_FINALIZE
- #define CYTHON_USE_TP_FINALIZE 0
- #elif !defined(CYTHON_USE_TP_FINALIZE)
- #define CYTHON_USE_TP_FINALIZE 1
- #endif
- #if PY_VERSION_HEX < 0x030600B1
- #undef CYTHON_USE_DICT_VERSIONS
- #define CYTHON_USE_DICT_VERSIONS 0
- #elif !defined(CYTHON_USE_DICT_VERSIONS)
- #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX < 0x030C00A5)
- #endif
- #if PY_VERSION_HEX < 0x030700A3
- #undef CYTHON_USE_EXC_INFO_STACK
- #define CYTHON_USE_EXC_INFO_STACK 0
- #elif !defined(CYTHON_USE_EXC_INFO_STACK)
- #define CYTHON_USE_EXC_INFO_STACK 1
- #endif
- #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
- #define CYTHON_UPDATE_DESCRIPTOR_DOC 1
- #endif
- #ifndef CYTHON_USE_FREELISTS
- #define CYTHON_USE_FREELISTS 1
- #endif
-#endif
-#if !defined(CYTHON_FAST_PYCCALL)
-#define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1)
-#endif
-#if !defined(CYTHON_VECTORCALL)
-#define CYTHON_VECTORCALL (CYTHON_FAST_PYCCALL && PY_VERSION_HEX >= 0x030800B1)
-#endif
-#define CYTHON_BACKPORT_VECTORCALL (CYTHON_METH_FASTCALL && PY_VERSION_HEX < 0x030800B1)
-#if CYTHON_USE_PYLONG_INTERNALS
- #if PY_MAJOR_VERSION < 3
- #include "longintrepr.h"
- #endif
- #undef SHIFT
- #undef BASE
- #undef MASK
- #ifdef SIZEOF_VOID_P
- enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) };
- #endif
-#endif
-#ifndef __has_attribute
- #define __has_attribute(x) 0
-#endif
-#ifndef __has_cpp_attribute
- #define __has_cpp_attribute(x) 0
-#endif
-#ifndef CYTHON_RESTRICT
- #if defined(__GNUC__)
- #define CYTHON_RESTRICT __restrict__
- #elif defined(_MSC_VER) && _MSC_VER >= 1400
- #define CYTHON_RESTRICT __restrict
- #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
- #define CYTHON_RESTRICT restrict
- #else
- #define CYTHON_RESTRICT
- #endif
-#endif
-#ifndef CYTHON_UNUSED
- #if defined(__cplusplus)
- /* for clang __has_cpp_attribute(maybe_unused) is true even before C++17
- * but leads to warnings with -pedantic, since it is a C++17 feature */
- #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L)
- #if __has_cpp_attribute(maybe_unused)
- #define CYTHON_UNUSED [[maybe_unused]]
- #endif
- #endif
- #endif
-#endif
-#ifndef CYTHON_UNUSED
-# if defined(__GNUC__)
-# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
-# define CYTHON_UNUSED __attribute__ ((__unused__))
-# else
-# define CYTHON_UNUSED
-# endif
-# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
-# define CYTHON_UNUSED __attribute__ ((__unused__))
-# else
-# define CYTHON_UNUSED
-# endif
-#endif
-#ifndef CYTHON_UNUSED_VAR
-# if defined(__cplusplus)
- template void CYTHON_UNUSED_VAR( const T& ) { }
-# else
-# define CYTHON_UNUSED_VAR(x) (void)(x)
-# endif
-#endif
-#ifndef CYTHON_MAYBE_UNUSED_VAR
- #define CYTHON_MAYBE_UNUSED_VAR(x) CYTHON_UNUSED_VAR(x)
-#endif
-#ifndef CYTHON_NCP_UNUSED
-# if CYTHON_COMPILING_IN_CPYTHON
-# define CYTHON_NCP_UNUSED
-# else
-# define CYTHON_NCP_UNUSED CYTHON_UNUSED
-# endif
-#endif
-#ifndef CYTHON_USE_CPP_STD_MOVE
- #if defined(__cplusplus) && (\
- __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1600))
- #define CYTHON_USE_CPP_STD_MOVE 1
- #else
- #define CYTHON_USE_CPP_STD_MOVE 0
- #endif
-#endif
-#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None)
-#ifdef _MSC_VER
- #ifndef _MSC_STDINT_H_
- #if _MSC_VER < 1300
- typedef unsigned char uint8_t;
- typedef unsigned short uint16_t;
- typedef unsigned int uint32_t;
- #else
- typedef unsigned __int8 uint8_t;
- typedef unsigned __int16 uint16_t;
- typedef unsigned __int32 uint32_t;
- #endif
- #endif
- #if _MSC_VER < 1300
- #ifdef _WIN64
- typedef unsigned long long __pyx_uintptr_t;
- #else
- typedef unsigned int __pyx_uintptr_t;
- #endif
- #else
- #ifdef _WIN64
- typedef unsigned __int64 __pyx_uintptr_t;
- #else
- typedef unsigned __int32 __pyx_uintptr_t;
- #endif
- #endif
-#else
- #include
- typedef uintptr_t __pyx_uintptr_t;
-#endif
-#ifndef CYTHON_FALLTHROUGH
- #if defined(__cplusplus)
- /* for clang __has_cpp_attribute(fallthrough) is true even before C++17
- * but leads to warnings with -pedantic, since it is a C++17 feature */
- #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L)
- #if __has_cpp_attribute(fallthrough)
- #define CYTHON_FALLTHROUGH [[fallthrough]]
- #endif
- #endif
- #ifndef CYTHON_FALLTHROUGH
- #if __has_cpp_attribute(clang::fallthrough)
- #define CYTHON_FALLTHROUGH [[clang::fallthrough]]
- #elif __has_cpp_attribute(gnu::fallthrough)
- #define CYTHON_FALLTHROUGH [[gnu::fallthrough]]
- #endif
- #endif
- #endif
- #ifndef CYTHON_FALLTHROUGH
- #if __has_attribute(fallthrough)
- #define CYTHON_FALLTHROUGH __attribute__((fallthrough))
- #else
- #define CYTHON_FALLTHROUGH
- #endif
- #endif
- #if defined(__clang__) && defined(__apple_build_version__)
- #if __apple_build_version__ < 7000000
- #undef CYTHON_FALLTHROUGH
- #define CYTHON_FALLTHROUGH
- #endif
- #endif
-#endif
-#ifdef __cplusplus
- template
- struct __PYX_IS_UNSIGNED_IMPL {static const bool value = T(0) < T(-1);};
- #define __PYX_IS_UNSIGNED(type) (__PYX_IS_UNSIGNED_IMPL::value)
-#else
- #define __PYX_IS_UNSIGNED(type) (((type)-1) > 0)
-#endif
-#if CYTHON_COMPILING_IN_PYPY == 1
- #define __PYX_NEED_TP_PRINT_SLOT (PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x030A0000)
-#else
- #define __PYX_NEED_TP_PRINT_SLOT (PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000)
-#endif
-#define __PYX_REINTERPRET_FUNCION(func_pointer, other_pointer) ((func_pointer)(void(*)(void))(other_pointer))
-
-#ifndef CYTHON_INLINE
- #if defined(__clang__)
- #define CYTHON_INLINE __inline__ __attribute__ ((__unused__))
- #elif defined(__GNUC__)
- #define CYTHON_INLINE __inline__
- #elif defined(_MSC_VER)
- #define CYTHON_INLINE __inline
- #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
- #define CYTHON_INLINE inline
- #else
- #define CYTHON_INLINE
- #endif
-#endif
-
-#define __PYX_BUILD_PY_SSIZE_T "n"
-#define CYTHON_FORMAT_SSIZE_T "z"
-#if PY_MAJOR_VERSION < 3
- #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
- #define __Pyx_DefaultClassType PyClass_Type
- #define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
- PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#else
- #define __Pyx_BUILTIN_MODULE_NAME "builtins"
- #define __Pyx_DefaultClassType PyType_Type
-#if CYTHON_COMPILING_IN_LIMITED_API
- static CYTHON_INLINE PyObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f,
- PyObject *code, PyObject *c, PyObject* n, PyObject *v,
- PyObject *fv, PyObject *cell, PyObject* fn,
- PyObject *name, int fline, PyObject *lnos) {
- PyObject *exception_table = NULL;
- PyObject *types_module=NULL, *code_type=NULL, *result=NULL;
- #if __PYX_LIMITED_VERSION_HEX < 0x030B0000
- PyObject *version_info;
- PyObject *py_minor_version = NULL;
- #endif
- long minor_version = 0;
- PyObject *type, *value, *traceback;
- PyErr_Fetch(&type, &value, &traceback);
- #if __PYX_LIMITED_VERSION_HEX >= 0x030B0000
- minor_version = 11;
- #else
- if (!(version_info = PySys_GetObject("version_info"))) goto end;
- if (!(py_minor_version = PySequence_GetItem(version_info, 1))) goto end;
- minor_version = PyLong_AsLong(py_minor_version);
- Py_DECREF(py_minor_version);
- if (minor_version == -1 && PyErr_Occurred()) goto end;
- #endif
- if (!(types_module = PyImport_ImportModule("types"))) goto end;
- if (!(code_type = PyObject_GetAttrString(types_module, "CodeType"))) goto end;
- if (minor_version <= 7) {
- (void)p;
- result = PyObject_CallFunction(code_type, "iiiiiOOOOOOiOO", a, k, l, s, f, code,
- c, n, v, fn, name, fline, lnos, fv, cell);
- } else if (minor_version <= 10) {
- result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOiOO", a,p, k, l, s, f, code,
- c, n, v, fn, name, fline, lnos, fv, cell);
- } else {
- if (!(exception_table = PyBytes_FromStringAndSize(NULL, 0))) goto end;
- result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOOiOO", a,p, k, l, s, f, code,
- c, n, v, fn, name, name, fline, lnos, exception_table, fv, cell);
- }
- end:
- Py_XDECREF(code_type);
- Py_XDECREF(exception_table);
- Py_XDECREF(types_module);
- if (type) {
- PyErr_Restore(type, value, traceback);
- }
- return result;
- }
- #ifndef CO_OPTIMIZED
- #define CO_OPTIMIZED 0x0001
- #endif
- #ifndef CO_NEWLOCALS
- #define CO_NEWLOCALS 0x0002
- #endif
- #ifndef CO_VARARGS
- #define CO_VARARGS 0x0004
- #endif
- #ifndef CO_VARKEYWORDS
- #define CO_VARKEYWORDS 0x0008
- #endif
- #ifndef CO_ASYNC_GENERATOR
- #define CO_ASYNC_GENERATOR 0x0200
- #endif
- #ifndef CO_GENERATOR
- #define CO_GENERATOR 0x0020
- #endif
- #ifndef CO_COROUTINE
- #define CO_COROUTINE 0x0080
- #endif
-#elif PY_VERSION_HEX >= 0x030B0000
- static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f,
- PyObject *code, PyObject *c, PyObject* n, PyObject *v,
- PyObject *fv, PyObject *cell, PyObject* fn,
- PyObject *name, int fline, PyObject *lnos) {
- PyCodeObject *result;
- PyObject *empty_bytes = PyBytes_FromStringAndSize("", 0);
- if (!empty_bytes) return NULL;
- result =
- #if PY_VERSION_HEX >= 0x030C0000
- PyUnstable_Code_NewWithPosOnlyArgs
- #else
- PyCode_NewWithPosOnlyArgs
- #endif
- (a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, name, fline, lnos, empty_bytes);
- Py_DECREF(empty_bytes);
- return result;
- }
-#elif PY_VERSION_HEX >= 0x030800B2 && !CYTHON_COMPILING_IN_PYPY
- #define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
- PyCode_NewWithPosOnlyArgs(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#else
- #define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
- PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#endif
-#endif
-#if PY_VERSION_HEX >= 0x030900A4 || defined(Py_IS_TYPE)
- #define __Pyx_IS_TYPE(ob, type) Py_IS_TYPE(ob, type)
-#else
- #define __Pyx_IS_TYPE(ob, type) (((const PyObject*)ob)->ob_type == (type))
-#endif
-#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_Is)
- #define __Pyx_Py_Is(x, y) Py_Is(x, y)
-#else
- #define __Pyx_Py_Is(x, y) ((x) == (y))
-#endif
-#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsNone)
- #define __Pyx_Py_IsNone(ob) Py_IsNone(ob)
-#else
- #define __Pyx_Py_IsNone(ob) __Pyx_Py_Is((ob), Py_None)
-#endif
-#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsTrue)
- #define __Pyx_Py_IsTrue(ob) Py_IsTrue(ob)
-#else
- #define __Pyx_Py_IsTrue(ob) __Pyx_Py_Is((ob), Py_True)
-#endif
-#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsFalse)
- #define __Pyx_Py_IsFalse(ob) Py_IsFalse(ob)
-#else
- #define __Pyx_Py_IsFalse(ob) __Pyx_Py_Is((ob), Py_False)
-#endif
-#define __Pyx_NoneAsNull(obj) (__Pyx_Py_IsNone(obj) ? NULL : (obj))
-#if PY_VERSION_HEX >= 0x030900F0 && !CYTHON_COMPILING_IN_PYPY
- #define __Pyx_PyObject_GC_IsFinalized(o) PyObject_GC_IsFinalized(o)
-#else
- #define __Pyx_PyObject_GC_IsFinalized(o) _PyGC_FINALIZED(o)
-#endif
-#ifndef CO_COROUTINE
- #define CO_COROUTINE 0x80
-#endif
-#ifndef CO_ASYNC_GENERATOR
- #define CO_ASYNC_GENERATOR 0x200
-#endif
-#ifndef Py_TPFLAGS_CHECKTYPES
- #define Py_TPFLAGS_CHECKTYPES 0
-#endif
-#ifndef Py_TPFLAGS_HAVE_INDEX
- #define Py_TPFLAGS_HAVE_INDEX 0
-#endif
-#ifndef Py_TPFLAGS_HAVE_NEWBUFFER
- #define Py_TPFLAGS_HAVE_NEWBUFFER 0
-#endif
-#ifndef Py_TPFLAGS_HAVE_FINALIZE
- #define Py_TPFLAGS_HAVE_FINALIZE 0
-#endif
-#ifndef Py_TPFLAGS_SEQUENCE
- #define Py_TPFLAGS_SEQUENCE 0
-#endif
-#ifndef Py_TPFLAGS_MAPPING
- #define Py_TPFLAGS_MAPPING 0
-#endif
-#ifndef METH_STACKLESS
- #define METH_STACKLESS 0
-#endif
-#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL)
- #ifndef METH_FASTCALL
- #define METH_FASTCALL 0x80
- #endif
- typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs);
- typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args,
- Py_ssize_t nargs, PyObject *kwnames);
-#else
- #if PY_VERSION_HEX >= 0x030d00A4
- # define __Pyx_PyCFunctionFast PyCFunctionFast
- # define __Pyx_PyCFunctionFastWithKeywords PyCFunctionFastWithKeywords
- #else
- # define __Pyx_PyCFunctionFast _PyCFunctionFast
- # define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords
- #endif
-#endif
-#if CYTHON_METH_FASTCALL
- #define __Pyx_METH_FASTCALL METH_FASTCALL
- #define __Pyx_PyCFunction_FastCall __Pyx_PyCFunctionFast
- #define __Pyx_PyCFunction_FastCallWithKeywords __Pyx_PyCFunctionFastWithKeywords
-#else
- #define __Pyx_METH_FASTCALL METH_VARARGS
- #define __Pyx_PyCFunction_FastCall PyCFunction
- #define __Pyx_PyCFunction_FastCallWithKeywords PyCFunctionWithKeywords
-#endif
-#if CYTHON_VECTORCALL
- #define __pyx_vectorcallfunc vectorcallfunc
- #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET PY_VECTORCALL_ARGUMENTS_OFFSET
- #define __Pyx_PyVectorcall_NARGS(n) PyVectorcall_NARGS((size_t)(n))
-#elif CYTHON_BACKPORT_VECTORCALL
- typedef PyObject *(*__pyx_vectorcallfunc)(PyObject *callable, PyObject *const *args,
- size_t nargsf, PyObject *kwnames);
- #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET ((size_t)1 << (8 * sizeof(size_t) - 1))
- #define __Pyx_PyVectorcall_NARGS(n) ((Py_ssize_t)(((size_t)(n)) & ~__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET))
-#else
- #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET 0
- #define __Pyx_PyVectorcall_NARGS(n) ((Py_ssize_t)(n))
-#endif
-#if PY_MAJOR_VERSION >= 0x030900B1
-#define __Pyx_PyCFunction_CheckExact(func) PyCFunction_CheckExact(func)
-#else
-#define __Pyx_PyCFunction_CheckExact(func) PyCFunction_Check(func)
-#endif
-#define __Pyx_CyOrPyCFunction_Check(func) PyCFunction_Check(func)
-#if CYTHON_COMPILING_IN_CPYTHON
-#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) (((PyCFunctionObject*)(func))->m_ml->ml_meth)
-#elif !CYTHON_COMPILING_IN_LIMITED_API
-#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) PyCFunction_GET_FUNCTION(func)
-#endif
-#if CYTHON_COMPILING_IN_CPYTHON
-#define __Pyx_CyOrPyCFunction_GET_FLAGS(func) (((PyCFunctionObject*)(func))->m_ml->ml_flags)
-static CYTHON_INLINE PyObject* __Pyx_CyOrPyCFunction_GET_SELF(PyObject *func) {
- return (__Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_STATIC) ? NULL : ((PyCFunctionObject*)func)->m_self;
-}
-#endif
-static CYTHON_INLINE int __Pyx__IsSameCFunction(PyObject *func, void *cfunc) {
-#if CYTHON_COMPILING_IN_LIMITED_API
- return PyCFunction_Check(func) && PyCFunction_GetFunction(func) == (PyCFunction) cfunc;
-#else
- return PyCFunction_Check(func) && PyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc;
-#endif
-}
-#define __Pyx_IsSameCFunction(func, cfunc) __Pyx__IsSameCFunction(func, cfunc)
-#if __PYX_LIMITED_VERSION_HEX < 0x030900B1
- #define __Pyx_PyType_FromModuleAndSpec(m, s, b) ((void)m, PyType_FromSpecWithBases(s, b))
- typedef PyObject *(*__Pyx_PyCMethod)(PyObject *, PyTypeObject *, PyObject *const *, size_t, PyObject *);
-#else
- #define __Pyx_PyType_FromModuleAndSpec(m, s, b) PyType_FromModuleAndSpec(m, s, b)
- #define __Pyx_PyCMethod PyCMethod
-#endif
-#ifndef METH_METHOD
- #define METH_METHOD 0x200
-#endif
-#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc)
- #define PyObject_Malloc(s) PyMem_Malloc(s)
- #define PyObject_Free(p) PyMem_Free(p)
- #define PyObject_Realloc(p) PyMem_Realloc(p)
-#endif
-#if CYTHON_COMPILING_IN_LIMITED_API
- #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0)
- #define __Pyx_PyFrame_SetLineNumber(frame, lineno)
-#else
- #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0)
- #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno)
-#endif
-#if CYTHON_COMPILING_IN_LIMITED_API
- #define __Pyx_PyThreadState_Current PyThreadState_Get()
-#elif !CYTHON_FAST_THREAD_STATE
- #define __Pyx_PyThreadState_Current PyThreadState_GET()
-#elif PY_VERSION_HEX >= 0x030d00A1
- #define __Pyx_PyThreadState_Current PyThreadState_GetUnchecked()
-#elif PY_VERSION_HEX >= 0x03060000
- #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet()
-#elif PY_VERSION_HEX >= 0x03000000
- #define __Pyx_PyThreadState_Current PyThreadState_GET()
-#else
- #define __Pyx_PyThreadState_Current _PyThreadState_Current
-#endif
-#if CYTHON_COMPILING_IN_LIMITED_API
-static CYTHON_INLINE void *__Pyx_PyModule_GetState(PyObject *op)
-{
- void *result;
- result = PyModule_GetState(op);
- if (!result)
- Py_FatalError("Couldn't find the module state");
- return result;
-}
-#endif
-#define __Pyx_PyObject_GetSlot(obj, name, func_ctype) __Pyx_PyType_GetSlot(Py_TYPE(obj), name, func_ctype)
-#if CYTHON_COMPILING_IN_LIMITED_API
- #define __Pyx_PyType_GetSlot(type, name, func_ctype) ((func_ctype) PyType_GetSlot((type), Py_##name))
-#else
- #define __Pyx_PyType_GetSlot(type, name, func_ctype) ((type)->name)
-#endif
-#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT)
-#include "pythread.h"
-#define Py_tss_NEEDS_INIT 0
-typedef int Py_tss_t;
-static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) {
- *key = PyThread_create_key();
- return 0;
-}
-static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) {
- Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t));
- *key = Py_tss_NEEDS_INIT;
- return key;
-}
-static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) {
- PyObject_Free(key);
-}
-static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) {
- return *key != Py_tss_NEEDS_INIT;
-}
-static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) {
- PyThread_delete_key(*key);
- *key = Py_tss_NEEDS_INIT;
-}
-static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) {
- return PyThread_set_key_value(*key, value);
-}
-static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
- return PyThread_get_key_value(*key);
-}
-#endif
-#if PY_MAJOR_VERSION < 3
- #if CYTHON_COMPILING_IN_PYPY
- #if PYPY_VERSION_NUM < 0x07030600
- #if defined(__cplusplus) && __cplusplus >= 201402L
- [[deprecated("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6")]]
- #elif defined(__GNUC__) || defined(__clang__)
- __attribute__ ((__deprecated__("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6")))
- #elif defined(_MSC_VER)
- __declspec(deprecated("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6"))
- #endif
- static CYTHON_INLINE int PyGILState_Check(void) {
- return 0;
- }
- #else // PYPY_VERSION_NUM < 0x07030600
- #endif // PYPY_VERSION_NUM < 0x07030600
- #else
- static CYTHON_INLINE int PyGILState_Check(void) {
- PyThreadState * tstate = _PyThreadState_Current;
- return tstate && (tstate == PyGILState_GetThisThreadState());
- }
- #endif
-#endif
-#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030d0000 || defined(_PyDict_NewPresized)
-#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n))
-#else
-#define __Pyx_PyDict_NewPresized(n) PyDict_New()
-#endif
-#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION
- #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y)
- #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y)
-#else
- #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y)
- #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y)
-#endif
-#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX > 0x030600B4 && PY_VERSION_HEX < 0x030d0000 && CYTHON_USE_UNICODE_INTERNALS
-#define __Pyx_PyDict_GetItemStrWithError(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash)
-static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStr(PyObject *dict, PyObject *name) {
- PyObject *res = __Pyx_PyDict_GetItemStrWithError(dict, name);
- if (res == NULL) PyErr_Clear();
- return res;
-}
-#elif PY_MAJOR_VERSION >= 3 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07020000)
-#define __Pyx_PyDict_GetItemStrWithError PyDict_GetItemWithError
-#define __Pyx_PyDict_GetItemStr PyDict_GetItem
-#else
-static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStrWithError(PyObject *dict, PyObject *name) {
-#if CYTHON_COMPILING_IN_PYPY
- return PyDict_GetItem(dict, name);
-#else
- PyDictEntry *ep;
- PyDictObject *mp = (PyDictObject*) dict;
- long hash = ((PyStringObject *) name)->ob_shash;
- assert(hash != -1);
- ep = (mp->ma_lookup)(mp, name, hash);
- if (ep == NULL) {
- return NULL;
- }
- return ep->me_value;
-#endif
-}
-#define __Pyx_PyDict_GetItemStr PyDict_GetItem
-#endif
-#if CYTHON_USE_TYPE_SLOTS
- #define __Pyx_PyType_GetFlags(tp) (((PyTypeObject *)tp)->tp_flags)
- #define __Pyx_PyType_HasFeature(type, feature) ((__Pyx_PyType_GetFlags(type) & (feature)) != 0)
- #define __Pyx_PyObject_GetIterNextFunc(obj) (Py_TYPE(obj)->tp_iternext)
-#else
- #define __Pyx_PyType_GetFlags(tp) (PyType_GetFlags((PyTypeObject *)tp))
- #define __Pyx_PyType_HasFeature(type, feature) PyType_HasFeature(type, feature)
- #define __Pyx_PyObject_GetIterNextFunc(obj) PyIter_Next
-#endif
-#if CYTHON_COMPILING_IN_LIMITED_API
- #define __Pyx_SetItemOnTypeDict(tp, k, v) PyObject_GenericSetAttr((PyObject*)tp, k, v)
-#else
- #define __Pyx_SetItemOnTypeDict(tp, k, v) PyDict_SetItem(tp->tp_dict, k, v)
-#endif
-#if CYTHON_USE_TYPE_SPECS && PY_VERSION_HEX >= 0x03080000
-#define __Pyx_PyHeapTypeObject_GC_Del(obj) {\
- PyTypeObject *type = Py_TYPE((PyObject*)obj);\
- assert(__Pyx_PyType_HasFeature(type, Py_TPFLAGS_HEAPTYPE));\
- PyObject_GC_Del(obj);\
- Py_DECREF(type);\
-}
-#else
-#define __Pyx_PyHeapTypeObject_GC_Del(obj) PyObject_GC_Del(obj)
-#endif
-#if CYTHON_COMPILING_IN_LIMITED_API
- #define CYTHON_PEP393_ENABLED 1
- #define __Pyx_PyUnicode_READY(op) (0)
- #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GetLength(u)
- #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_ReadChar(u, i)
- #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((void)u, 1114111U)
- #define __Pyx_PyUnicode_KIND(u) ((void)u, (0))
- #define __Pyx_PyUnicode_DATA(u) ((void*)u)
- #define __Pyx_PyUnicode_READ(k, d, i) ((void)k, PyUnicode_ReadChar((PyObject*)(d), i))
- #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GetLength(u))
-#elif PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
- #define CYTHON_PEP393_ENABLED 1
- #if PY_VERSION_HEX >= 0x030C0000
- #define __Pyx_PyUnicode_READY(op) (0)
- #else
- #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\
- 0 : _PyUnicode_Ready((PyObject *)(op)))
- #endif
- #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u)
- #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
- #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u)
- #define __Pyx_PyUnicode_KIND(u) ((int)PyUnicode_KIND(u))
- #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u)
- #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i)
- #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, (Py_UCS4) ch)
- #if PY_VERSION_HEX >= 0x030C0000
- #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_LENGTH(u))
- #else
- #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000
- #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length))
- #else
- #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))
- #endif
- #endif
-#else
- #define CYTHON_PEP393_ENABLED 0
- #define PyUnicode_1BYTE_KIND 1
- #define PyUnicode_2BYTE_KIND 2
- #define PyUnicode_4BYTE_KIND 4
- #define __Pyx_PyUnicode_READY(op) (0)
- #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u)
- #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
- #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535U : 1114111U)
- #define __Pyx_PyUnicode_KIND(u) ((int)sizeof(Py_UNICODE))
- #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u))
- #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
- #define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = (Py_UNICODE) ch)
- #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u))
-#endif
-#if CYTHON_COMPILING_IN_PYPY
- #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b)
- #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b)
-#else
- #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b)
- #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\
- PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b))
-#endif
-#if CYTHON_COMPILING_IN_PYPY
- #if !defined(PyUnicode_DecodeUnicodeEscape)
- #define PyUnicode_DecodeUnicodeEscape(s, size, errors) PyUnicode_Decode(s, size, "unicode_escape", errors)
- #endif
- #if !defined(PyUnicode_Contains) || (PY_MAJOR_VERSION == 2 && PYPY_VERSION_NUM < 0x07030500)
- #undef PyUnicode_Contains
- #define PyUnicode_Contains(u, s) PySequence_Contains(u, s)
- #endif
- #if !defined(PyByteArray_Check)
- #define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type)
- #endif
- #if !defined(PyObject_Format)
- #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt)
- #endif
-#endif
-#define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b))
-#define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b))
-#if PY_MAJOR_VERSION >= 3
- #define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b)
-#else
- #define __Pyx_PyString_Format(a, b) PyString_Format(a, b)
-#endif
-#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII)
- #define PyObject_ASCII(o) PyObject_Repr(o)
-#endif
-#if PY_MAJOR_VERSION >= 3
- #define PyBaseString_Type PyUnicode_Type
- #define PyStringObject PyUnicodeObject
- #define PyString_Type PyUnicode_Type
- #define PyString_Check PyUnicode_Check
- #define PyString_CheckExact PyUnicode_CheckExact
-#ifndef PyObject_Unicode
- #define PyObject_Unicode PyObject_Str
-#endif
-#endif
-#if PY_MAJOR_VERSION >= 3
- #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj)
- #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj)
-#else
- #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj))
- #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj))
-#endif
-#if CYTHON_COMPILING_IN_CPYTHON
- #define __Pyx_PySequence_ListKeepNew(obj)\
- (likely(PyList_CheckExact(obj) && Py_REFCNT(obj) == 1) ? __Pyx_NewRef(obj) : PySequence_List(obj))
-#else
- #define __Pyx_PySequence_ListKeepNew(obj) PySequence_List(obj)
-#endif
-#ifndef PySet_CheckExact
- #define PySet_CheckExact(obj) __Pyx_IS_TYPE(obj, &PySet_Type)
-#endif
-#if PY_VERSION_HEX >= 0x030900A4
- #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt)
- #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size)
-#else
- #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt)
- #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size)
-#endif
-#if CYTHON_ASSUME_SAFE_MACROS
- #define __Pyx_PySequence_ITEM(o, i) PySequence_ITEM(o, i)
- #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq)
- #define __Pyx_PyTuple_SET_ITEM(o, i, v) (PyTuple_SET_ITEM(o, i, v), (0))
- #define __Pyx_PyList_SET_ITEM(o, i, v) (PyList_SET_ITEM(o, i, v), (0))
- #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_GET_SIZE(o)
- #define __Pyx_PyList_GET_SIZE(o) PyList_GET_SIZE(o)
- #define __Pyx_PySet_GET_SIZE(o) PySet_GET_SIZE(o)
- #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_GET_SIZE(o)
- #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_GET_SIZE(o)
-#else
- #define __Pyx_PySequence_ITEM(o, i) PySequence_GetItem(o, i)
- #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq)
- #define __Pyx_PyTuple_SET_ITEM(o, i, v) PyTuple_SetItem(o, i, v)
- #define __Pyx_PyList_SET_ITEM(o, i, v) PyList_SetItem(o, i, v)
- #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_Size(o)
- #define __Pyx_PyList_GET_SIZE(o) PyList_Size(o)
- #define __Pyx_PySet_GET_SIZE(o) PySet_Size(o)
- #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_Size(o)
- #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_Size(o)
-#endif
-#if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1
- #define __Pyx_PyImport_AddModuleRef(name) PyImport_AddModuleRef(name)
-#else
- static CYTHON_INLINE PyObject *__Pyx_PyImport_AddModuleRef(const char *name) {
- PyObject *module = PyImport_AddModule(name);
- Py_XINCREF(module);
- return module;
- }
-#endif
-#if PY_MAJOR_VERSION >= 3
- #define PyIntObject PyLongObject
- #define PyInt_Type PyLong_Type
- #define PyInt_Check(op) PyLong_Check(op)
- #define PyInt_CheckExact(op) PyLong_CheckExact(op)
- #define __Pyx_Py3Int_Check(op) PyLong_Check(op)
- #define __Pyx_Py3Int_CheckExact(op) PyLong_CheckExact(op)
- #define PyInt_FromString PyLong_FromString
- #define PyInt_FromUnicode PyLong_FromUnicode
- #define PyInt_FromLong PyLong_FromLong
- #define PyInt_FromSize_t PyLong_FromSize_t
- #define PyInt_FromSsize_t PyLong_FromSsize_t
- #define PyInt_AsLong PyLong_AsLong
- #define PyInt_AS_LONG PyLong_AS_LONG
- #define PyInt_AsSsize_t PyLong_AsSsize_t
- #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask
- #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
- #define PyNumber_Int PyNumber_Long
-#else
- #define __Pyx_Py3Int_Check(op) (PyLong_Check(op) || PyInt_Check(op))
- #define __Pyx_Py3Int_CheckExact(op) (PyLong_CheckExact(op) || PyInt_CheckExact(op))
-#endif
-#if PY_MAJOR_VERSION >= 3
- #define PyBoolObject PyLongObject
-#endif
-#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY
- #ifndef PyUnicode_InternFromString
- #define PyUnicode_InternFromString(s) PyUnicode_FromString(s)
- #endif
-#endif
-#if PY_VERSION_HEX < 0x030200A4
- typedef long Py_hash_t;
- #define __Pyx_PyInt_FromHash_t PyInt_FromLong
- #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsHash_t
-#else
- #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
- #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsSsize_t
-#endif
-#if CYTHON_USE_ASYNC_SLOTS
- #if PY_VERSION_HEX >= 0x030500B1
- #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods
- #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async)
- #else
- #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved))
- #endif
-#else
- #define __Pyx_PyType_AsAsync(obj) NULL
-#endif
-#ifndef __Pyx_PyAsyncMethodsStruct
- typedef struct {
- unaryfunc am_await;
- unaryfunc am_aiter;
- unaryfunc am_anext;
- } __Pyx_PyAsyncMethodsStruct;
-#endif
-
-#if defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS)
- #if !defined(_USE_MATH_DEFINES)
- #define _USE_MATH_DEFINES
- #endif
-#endif
-#include
-#ifdef NAN
-#define __PYX_NAN() ((float) NAN)
-#else
-static CYTHON_INLINE float __PYX_NAN() {
- float value;
- memset(&value, 0xFF, sizeof(value));
- return value;
-}
-#endif
-#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL)
-#define __Pyx_truncl trunc
-#else
-#define __Pyx_truncl truncl
-#endif
-
-#define __PYX_MARK_ERR_POS(f_index, lineno) \
- { __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__; (void)__pyx_clineno; }
-#define __PYX_ERR(f_index, lineno, Ln_error) \
- { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; }
-
-#ifdef CYTHON_EXTERN_C
- #undef __PYX_EXTERN_C
- #define __PYX_EXTERN_C CYTHON_EXTERN_C
-#elif defined(__PYX_EXTERN_C)
- #ifdef _MSC_VER
- #pragma message ("Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead.")
- #else
- #warning Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead.
- #endif
-#else
- #ifdef __cplusplus
- #define __PYX_EXTERN_C extern "C"
- #else
- #define __PYX_EXTERN_C extern
- #endif
-#endif
-
-#define __PYX_HAVE__handlers__payments__robokassa_pay
-#define __PYX_HAVE_API__handlers__payments__robokassa_pay
-/* Early includes */
-#ifdef _OPENMP
-#include
-#endif /* _OPENMP */
-
-#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS)
-#define CYTHON_WITHOUT_ASSERTIONS
-#endif
-
-typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;
- const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;
-
-#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0
-#define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0
-#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8)
-#define __PYX_DEFAULT_STRING_ENCODING ""
-#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString
-#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
-#define __Pyx_uchar_cast(c) ((unsigned char)c)
-#define __Pyx_long_cast(x) ((long)x)
-#define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\
- (sizeof(type) < sizeof(Py_ssize_t)) ||\
- (sizeof(type) > sizeof(Py_ssize_t) &&\
- likely(v < (type)PY_SSIZE_T_MAX ||\
- v == (type)PY_SSIZE_T_MAX) &&\
- (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\
- v == (type)PY_SSIZE_T_MIN))) ||\
- (sizeof(type) == sizeof(Py_ssize_t) &&\
- (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\
- v == (type)PY_SSIZE_T_MAX))) )
-static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) {
- return (size_t) i < (size_t) limit;
-}
-#if defined (__cplusplus) && __cplusplus >= 201103L
- #include
- #define __Pyx_sst_abs(value) std::abs(value)
-#elif SIZEOF_INT >= SIZEOF_SIZE_T
- #define __Pyx_sst_abs(value) abs(value)
-#elif SIZEOF_LONG >= SIZEOF_SIZE_T
- #define __Pyx_sst_abs(value) labs(value)
-#elif defined (_MSC_VER)
- #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value))
-#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
- #define __Pyx_sst_abs(value) llabs(value)
-#elif defined (__GNUC__)
- #define __Pyx_sst_abs(value) __builtin_llabs(value)
-#else
- #define __Pyx_sst_abs(value) ((value<0) ? -value : value)
-#endif
-static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s);
-static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*);
-static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
-static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char*);
-#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l)
-#define __Pyx_PyBytes_FromString PyBytes_FromString
-#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
-static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*);
-#if PY_MAJOR_VERSION < 3
- #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString
- #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
-#else
- #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString
- #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize
-#endif
-#define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s))
-#define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s))
-#define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s))
-#define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s))
-#define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s))
-#define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s))
-#define __Pyx_PyObject_AsWritableString(s) ((char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s))
-#define __Pyx_PyObject_AsWritableSString(s) ((signed char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s))
-#define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s))
-#define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s))
-#define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s))
-#define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s)
-#define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s)
-#define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s)
-#define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s)
-#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s)
-#define __Pyx_PyUnicode_FromOrdinal(o) PyUnicode_FromOrdinal((int)o)
-#define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode
-#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj)
-#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None)
-static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b);
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
-static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*);
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x);
-#define __Pyx_PySequence_Tuple(obj)\
- (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj))
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
-static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*);
-#if CYTHON_ASSUME_SAFE_MACROS
-#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
-#else
-#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
-#endif
-#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
-#if PY_MAJOR_VERSION >= 3
-#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x))
-#else
-#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x))
-#endif
-#if CYTHON_USE_PYLONG_INTERNALS
- #if PY_VERSION_HEX >= 0x030C00A7
- #ifndef _PyLong_SIGN_MASK
- #define _PyLong_SIGN_MASK 3
- #endif
- #ifndef _PyLong_NON_SIZE_BITS
- #define _PyLong_NON_SIZE_BITS 3
- #endif
- #define __Pyx_PyLong_Sign(x) (((PyLongObject*)x)->long_value.lv_tag & _PyLong_SIGN_MASK)
- #define __Pyx_PyLong_IsNeg(x) ((__Pyx_PyLong_Sign(x) & 2) != 0)
- #define __Pyx_PyLong_IsNonNeg(x) (!__Pyx_PyLong_IsNeg(x))
- #define __Pyx_PyLong_IsZero(x) (__Pyx_PyLong_Sign(x) & 1)
- #define __Pyx_PyLong_IsPos(x) (__Pyx_PyLong_Sign(x) == 0)
- #define __Pyx_PyLong_CompactValueUnsigned(x) (__Pyx_PyLong_Digits(x)[0])
- #define __Pyx_PyLong_DigitCount(x) ((Py_ssize_t) (((PyLongObject*)x)->long_value.lv_tag >> _PyLong_NON_SIZE_BITS))
- #define __Pyx_PyLong_SignedDigitCount(x)\
- ((1 - (Py_ssize_t) __Pyx_PyLong_Sign(x)) * __Pyx_PyLong_DigitCount(x))
- #if defined(PyUnstable_Long_IsCompact) && defined(PyUnstable_Long_CompactValue)
- #define __Pyx_PyLong_IsCompact(x) PyUnstable_Long_IsCompact((PyLongObject*) x)
- #define __Pyx_PyLong_CompactValue(x) PyUnstable_Long_CompactValue((PyLongObject*) x)
- #else
- #define __Pyx_PyLong_IsCompact(x) (((PyLongObject*)x)->long_value.lv_tag < (2 << _PyLong_NON_SIZE_BITS))
- #define __Pyx_PyLong_CompactValue(x) ((1 - (Py_ssize_t) __Pyx_PyLong_Sign(x)) * (Py_ssize_t) __Pyx_PyLong_Digits(x)[0])
- #endif
- typedef Py_ssize_t __Pyx_compact_pylong;
- typedef size_t __Pyx_compact_upylong;
- #else
- #define __Pyx_PyLong_IsNeg(x) (Py_SIZE(x) < 0)
- #define __Pyx_PyLong_IsNonNeg(x) (Py_SIZE(x) >= 0)
- #define __Pyx_PyLong_IsZero(x) (Py_SIZE(x) == 0)
- #define __Pyx_PyLong_IsPos(x) (Py_SIZE(x) > 0)
- #define __Pyx_PyLong_CompactValueUnsigned(x) ((Py_SIZE(x) == 0) ? 0 : __Pyx_PyLong_Digits(x)[0])
- #define __Pyx_PyLong_DigitCount(x) __Pyx_sst_abs(Py_SIZE(x))
- #define __Pyx_PyLong_SignedDigitCount(x) Py_SIZE(x)
- #define __Pyx_PyLong_IsCompact(x) (Py_SIZE(x) == 0 || Py_SIZE(x) == 1 || Py_SIZE(x) == -1)
- #define __Pyx_PyLong_CompactValue(x)\
- ((Py_SIZE(x) == 0) ? (sdigit) 0 : ((Py_SIZE(x) < 0) ? -(sdigit)__Pyx_PyLong_Digits(x)[0] : (sdigit)__Pyx_PyLong_Digits(x)[0]))
- typedef sdigit __Pyx_compact_pylong;
- typedef digit __Pyx_compact_upylong;
- #endif
- #if PY_VERSION_HEX >= 0x030C00A5
- #define __Pyx_PyLong_Digits(x) (((PyLongObject*)x)->long_value.ob_digit)
- #else
- #define __Pyx_PyLong_Digits(x) (((PyLongObject*)x)->ob_digit)
- #endif
-#endif
-#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
-#include
-static int __Pyx_sys_getdefaultencoding_not_ascii;
-static int __Pyx_init_sys_getdefaultencoding_params(void) {
- PyObject* sys;
- PyObject* default_encoding = NULL;
- PyObject* ascii_chars_u = NULL;
- PyObject* ascii_chars_b = NULL;
- const char* default_encoding_c;
- sys = PyImport_ImportModule("sys");
- if (!sys) goto bad;
- default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL);
- Py_DECREF(sys);
- if (!default_encoding) goto bad;
- default_encoding_c = PyBytes_AsString(default_encoding);
- if (!default_encoding_c) goto bad;
- if (strcmp(default_encoding_c, "ascii") == 0) {
- __Pyx_sys_getdefaultencoding_not_ascii = 0;
- } else {
- char ascii_chars[128];
- int c;
- for (c = 0; c < 128; c++) {
- ascii_chars[c] = (char) c;
- }
- __Pyx_sys_getdefaultencoding_not_ascii = 1;
- ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL);
- if (!ascii_chars_u) goto bad;
- ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL);
- if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) {
- PyErr_Format(
- PyExc_ValueError,
- "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.",
- default_encoding_c);
- goto bad;
- }
- Py_DECREF(ascii_chars_u);
- Py_DECREF(ascii_chars_b);
- }
- Py_DECREF(default_encoding);
- return 0;
-bad:
- Py_XDECREF(default_encoding);
- Py_XDECREF(ascii_chars_u);
- Py_XDECREF(ascii_chars_b);
- return -1;
-}
-#endif
-#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3
-#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL)
-#else
-#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
-#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
-#include
-static char* __PYX_DEFAULT_STRING_ENCODING;
-static int __Pyx_init_sys_getdefaultencoding_params(void) {
- PyObject* sys;
- PyObject* default_encoding = NULL;
- char* default_encoding_c;
- sys = PyImport_ImportModule("sys");
- if (!sys) goto bad;
- default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL);
- Py_DECREF(sys);
- if (!default_encoding) goto bad;
- default_encoding_c = PyBytes_AsString(default_encoding);
- if (!default_encoding_c) goto bad;
- __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1);
- if (!__PYX_DEFAULT_STRING_ENCODING) goto bad;
- strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c);
- Py_DECREF(default_encoding);
- return 0;
-bad:
- Py_XDECREF(default_encoding);
- return -1;
-}
-#endif
-#endif
-
-
-/* Test for GCC > 2.95 */
-#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)))
- #define likely(x) __builtin_expect(!!(x), 1)
- #define unlikely(x) __builtin_expect(!!(x), 0)
-#else /* !__GNUC__ or GCC < 2.95 */
- #define likely(x) (x)
- #define unlikely(x) (x)
-#endif /* __GNUC__ */
-static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; }
-
-#if !CYTHON_USE_MODULE_STATE
-static PyObject *__pyx_m = NULL;
-#endif
-static int __pyx_lineno;
-static int __pyx_clineno = 0;
-static const char * __pyx_cfilenm = __FILE__;
-static const char *__pyx_filename;
-
-/* #### Code section: filename_table ### */
-
-static const char *__pyx_f[] = {
- "handlers/payments/robokassa_pay.py",
-};
-/* #### Code section: utility_code_proto_before_types ### */
-/* ForceInitThreads.proto */
-#ifndef __PYX_FORCE_INIT_THREADS
- #define __PYX_FORCE_INIT_THREADS 0
-#endif
-
-/* #### Code section: numeric_typedefs ### */
-/* #### Code section: complex_type_declarations ### */
-/* #### Code section: type_declarations ### */
-
-/*--- Type declarations ---*/
-struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa;
-struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection;
-struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook;
-struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection;
-struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input;
-
-/* "handlers/payments/robokassa_pay.py":65
- *
- *
- * @router.callback_query(F.data == "pay_robokassa") # <<<<<<<<<<<<<<
- * async def process_callback_pay_robokassa(
- * callback_query: types.CallbackQuery, state: FSMContext, session: Any
- */
-struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa {
- PyObject_HEAD
- PyObject *__pyx_v_builder;
- PyObject *__pyx_v_callback_query;
- PyObject *__pyx_v_exists;
- PyObject *__pyx_v_i;
- PyObject *__pyx_v_key_count;
- PyObject *__pyx_v_session;
- PyObject *__pyx_v_state;
- PyObject *__pyx_v_tg_id;
-};
-
-
-/* "handlers/payments/robokassa_pay.py":116
- *
- *
- * @router.callback_query(F.data.startswith("robokassa_amount|")) # <<<<<<<<<<<<<<
- * async def process_amount_selection(
- * callback_query: types.CallbackQuery, state: FSMContext
- */
-struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection {
- PyObject_HEAD
- PyObject *__pyx_v_amount;
- PyObject *__pyx_v_amount_str;
- PyObject *__pyx_v_callback_query;
- PyObject *__pyx_v_confirm_keyboard;
- PyObject *__pyx_v_data;
- PyObject *__pyx_v_e;
- long __pyx_v_inv_id;
- PyObject *__pyx_v_payment_url;
- PyObject *__pyx_v_state;
- PyObject *__pyx_v_tg_id;
- PyObject *__pyx_t_0;
- PyObject *__pyx_t_1;
- PyObject *__pyx_t_2;
- PyObject *__pyx_t_3;
- PyObject *__pyx_t_4;
- PyObject *__pyx_t_5;
-};
-
-
-/* "handlers/payments/robokassa_pay.py":161
- *
- *
- * async def robokassa_webhook(request): # <<<<<<<<<<<<<<
- * """ webhook- Robokassa shp_id."""
- * try:
- */
-struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook {
- PyObject_HEAD
- PyObject *__pyx_v_amount;
- PyObject *__pyx_v_e;
- PyObject *__pyx_v_inv_id;
- PyObject *__pyx_v_params;
- PyObject *__pyx_v_request;
- PyObject *__pyx_v_shp_id;
- PyObject *__pyx_v_signature_value;
- PyObject *__pyx_v_tg_id;
- PyObject *__pyx_t_0;
- PyObject *__pyx_t_1;
- PyObject *__pyx_t_2;
-};
-
-
-/* "handlers/payments/robokassa_pay.py":224
- *
- *
- * @router.callback_query(F.data == "enter_custom_amount_robokassa") # <<<<<<<<<<<<<<
- * async def process_custom_amount_selection(
- * callback_query: types.CallbackQuery, state: FSMContext
- */
-struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection {
- PyObject_HEAD
- PyObject *__pyx_v_builder;
- PyObject *__pyx_v_callback_query;
- PyObject *__pyx_v_state;
- PyObject *__pyx_v_tg_id;
-};
-
-
-/* "handlers/payments/robokassa_pay.py":244
- *
- *
- * @router.message(ReplenishBalanceState.waiting_for_payment_confirmation_robokassa) # <<<<<<<<<<<<<<
- * async def handle_custom_amount_input(message: types.Message, state: FSMContext):
- * tg_id = message.chat.id
- */
-struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input {
- PyObject_HEAD
- PyObject *__pyx_v_amount;
- PyObject *__pyx_v_confirm_keyboard;
- PyObject *__pyx_v_e;
- long __pyx_v_inv_id;
- PyObject *__pyx_v_message;
- PyObject *__pyx_v_payment_url;
- PyObject *__pyx_v_state;
- PyObject *__pyx_v_tg_id;
- PyObject *__pyx_t_0;
- PyObject *__pyx_t_1;
- PyObject *__pyx_t_2;
- PyObject *__pyx_t_3;
- PyObject *__pyx_t_4;
- PyObject *__pyx_t_5;
-};
-
-/* #### Code section: utility_code_proto ### */
-
-/* --- Runtime support code (head) --- */
-/* Refnanny.proto */
-#ifndef CYTHON_REFNANNY
- #define CYTHON_REFNANNY 0
-#endif
-#if CYTHON_REFNANNY
- typedef struct {
- void (*INCREF)(void*, PyObject*, Py_ssize_t);
- void (*DECREF)(void*, PyObject*, Py_ssize_t);
- void (*GOTREF)(void*, PyObject*, Py_ssize_t);
- void (*GIVEREF)(void*, PyObject*, Py_ssize_t);
- void* (*SetupContext)(const char*, Py_ssize_t, const char*);
- void (*FinishContext)(void**);
- } __Pyx_RefNannyAPIStruct;
- static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
- static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname);
- #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
-#ifdef WITH_THREAD
- #define __Pyx_RefNannySetupContext(name, acquire_gil)\
- if (acquire_gil) {\
- PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
- __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__));\
- PyGILState_Release(__pyx_gilstate_save);\
- } else {\
- __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__));\
- }
- #define __Pyx_RefNannyFinishContextNogil() {\
- PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
- __Pyx_RefNannyFinishContext();\
- PyGILState_Release(__pyx_gilstate_save);\
- }
-#else
- #define __Pyx_RefNannySetupContext(name, acquire_gil)\
- __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__))
- #define __Pyx_RefNannyFinishContextNogil() __Pyx_RefNannyFinishContext()
-#endif
- #define __Pyx_RefNannyFinishContextNogil() {\
- PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
- __Pyx_RefNannyFinishContext();\
- PyGILState_Release(__pyx_gilstate_save);\
- }
- #define __Pyx_RefNannyFinishContext()\
- __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
- #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
- #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
- #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
- #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
- #define __Pyx_XINCREF(r) do { if((r) == NULL); else {__Pyx_INCREF(r); }} while(0)
- #define __Pyx_XDECREF(r) do { if((r) == NULL); else {__Pyx_DECREF(r); }} while(0)
- #define __Pyx_XGOTREF(r) do { if((r) == NULL); else {__Pyx_GOTREF(r); }} while(0)
- #define __Pyx_XGIVEREF(r) do { if((r) == NULL); else {__Pyx_GIVEREF(r);}} while(0)
-#else
- #define __Pyx_RefNannyDeclarations
- #define __Pyx_RefNannySetupContext(name, acquire_gil)
- #define __Pyx_RefNannyFinishContextNogil()
- #define __Pyx_RefNannyFinishContext()
- #define __Pyx_INCREF(r) Py_INCREF(r)
- #define __Pyx_DECREF(r) Py_DECREF(r)
- #define __Pyx_GOTREF(r)
- #define __Pyx_GIVEREF(r)
- #define __Pyx_XINCREF(r) Py_XINCREF(r)
- #define __Pyx_XDECREF(r) Py_XDECREF(r)
- #define __Pyx_XGOTREF(r)
- #define __Pyx_XGIVEREF(r)
-#endif
-#define __Pyx_Py_XDECREF_SET(r, v) do {\
- PyObject *tmp = (PyObject *) r;\
- r = v; Py_XDECREF(tmp);\
- } while (0)
-#define __Pyx_XDECREF_SET(r, v) do {\
- PyObject *tmp = (PyObject *) r;\
- r = v; __Pyx_XDECREF(tmp);\
- } while (0)
-#define __Pyx_DECREF_SET(r, v) do {\
- PyObject *tmp = (PyObject *) r;\
- r = v; __Pyx_DECREF(tmp);\
- } while (0)
-#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
-#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
-
-/* PyErrExceptionMatches.proto */
-#if CYTHON_FAST_THREAD_STATE
-#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err)
-static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err);
-#else
-#define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err)
-#endif
-
-/* PyThreadStateGet.proto */
-#if CYTHON_FAST_THREAD_STATE
-#define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate;
-#define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current;
-#if PY_VERSION_HEX >= 0x030C00A6
-#define __Pyx_PyErr_Occurred() (__pyx_tstate->current_exception != NULL)
-#define __Pyx_PyErr_CurrentExceptionType() (__pyx_tstate->current_exception ? (PyObject*) Py_TYPE(__pyx_tstate->current_exception) : (PyObject*) NULL)
-#else
-#define __Pyx_PyErr_Occurred() (__pyx_tstate->curexc_type != NULL)
-#define __Pyx_PyErr_CurrentExceptionType() (__pyx_tstate->curexc_type)
-#endif
-#else
-#define __Pyx_PyThreadState_declare
-#define __Pyx_PyThreadState_assign
-#define __Pyx_PyErr_Occurred() (PyErr_Occurred() != NULL)
-#define __Pyx_PyErr_CurrentExceptionType() PyErr_Occurred()
-#endif
-
-/* PyErrFetchRestore.proto */
-#if CYTHON_FAST_THREAD_STATE
-#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL)
-#define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb)
-#define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb)
-#define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb)
-#define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb)
-static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
-static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
-#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A6
-#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL))
-#else
-#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
-#endif
-#else
-#define __Pyx_PyErr_Clear() PyErr_Clear()
-#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
-#define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb)
-#define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb)
-#define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb)
-#define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb)
-#define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb)
-#define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb)
-#endif
-
-/* PyObjectGetAttrStr.proto */
-#if CYTHON_USE_TYPE_SLOTS
-static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name);
-#else
-#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n)
-#endif
-
-/* PyObjectGetAttrStrNoError.proto */
-static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name);
-
-/* GetBuiltinName.proto */
-static PyObject *__Pyx_GetBuiltinName(PyObject *name);
-
-/* TupleAndListFromArray.proto */
-#if CYTHON_COMPILING_IN_CPYTHON
-static CYTHON_INLINE PyObject* __Pyx_PyList_FromArray(PyObject *const *src, Py_ssize_t n);
-static CYTHON_INLINE PyObject* __Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n);
-#endif
-
-/* IncludeStringH.proto */
-#include
-
-/* BytesEquals.proto */
-static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals);
-
-/* UnicodeEquals.proto */
-static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals);
-
-/* fastcall.proto */
-#if CYTHON_AVOID_BORROWED_REFS
- #define __Pyx_Arg_VARARGS(args, i) PySequence_GetItem(args, i)
-#elif CYTHON_ASSUME_SAFE_MACROS
- #define __Pyx_Arg_VARARGS(args, i) PyTuple_GET_ITEM(args, i)
-#else
- #define __Pyx_Arg_VARARGS(args, i) PyTuple_GetItem(args, i)
-#endif
-#if CYTHON_AVOID_BORROWED_REFS
- #define __Pyx_Arg_NewRef_VARARGS(arg) __Pyx_NewRef(arg)
- #define __Pyx_Arg_XDECREF_VARARGS(arg) Py_XDECREF(arg)
-#else
- #define __Pyx_Arg_NewRef_VARARGS(arg) arg
- #define __Pyx_Arg_XDECREF_VARARGS(arg)
-#endif
-#define __Pyx_NumKwargs_VARARGS(kwds) PyDict_Size(kwds)
-#define __Pyx_KwValues_VARARGS(args, nargs) NULL
-#define __Pyx_GetKwValue_VARARGS(kw, kwvalues, s) __Pyx_PyDict_GetItemStrWithError(kw, s)
-#define __Pyx_KwargsAsDict_VARARGS(kw, kwvalues) PyDict_Copy(kw)
-#if CYTHON_METH_FASTCALL
- #define __Pyx_Arg_FASTCALL(args, i) args[i]
- #define __Pyx_NumKwargs_FASTCALL(kwds) PyTuple_GET_SIZE(kwds)
- #define __Pyx_KwValues_FASTCALL(args, nargs) ((args) + (nargs))
- static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s);
-#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000
- CYTHON_UNUSED static PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues);
- #else
- #define __Pyx_KwargsAsDict_FASTCALL(kw, kwvalues) _PyStack_AsDict(kwvalues, kw)
- #endif
- #define __Pyx_Arg_NewRef_FASTCALL(arg) arg /* no-op, __Pyx_Arg_FASTCALL is direct and this needs
- to have the same reference counting */
- #define __Pyx_Arg_XDECREF_FASTCALL(arg)
-#else
- #define __Pyx_Arg_FASTCALL __Pyx_Arg_VARARGS
- #define __Pyx_NumKwargs_FASTCALL __Pyx_NumKwargs_VARARGS
- #define __Pyx_KwValues_FASTCALL __Pyx_KwValues_VARARGS
- #define __Pyx_GetKwValue_FASTCALL __Pyx_GetKwValue_VARARGS
- #define __Pyx_KwargsAsDict_FASTCALL __Pyx_KwargsAsDict_VARARGS
- #define __Pyx_Arg_NewRef_FASTCALL(arg) __Pyx_Arg_NewRef_VARARGS(arg)
- #define __Pyx_Arg_XDECREF_FASTCALL(arg) __Pyx_Arg_XDECREF_VARARGS(arg)
-#endif
-#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
-#define __Pyx_ArgsSlice_VARARGS(args, start, stop) __Pyx_PyTuple_FromArray(&__Pyx_Arg_VARARGS(args, start), stop - start)
-#define __Pyx_ArgsSlice_FASTCALL(args, start, stop) __Pyx_PyTuple_FromArray(&__Pyx_Arg_FASTCALL(args, start), stop - start)
-#else
-#define __Pyx_ArgsSlice_VARARGS(args, start, stop) PyTuple_GetSlice(args, start, stop)
-#define __Pyx_ArgsSlice_FASTCALL(args, start, stop) PyTuple_GetSlice(args, start, stop)
-#endif
-
-/* RaiseArgTupleInvalid.proto */
-static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
- Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found);
-
-/* RaiseDoubleKeywords.proto */
-static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name);
-
-/* ParseKeywords.proto */
-static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject *const *kwvalues,
- PyObject **argnames[],
- PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,
- const char* function_name);
-
-/* PyDictVersioning.proto */
-#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
-#define __PYX_DICT_VERSION_INIT ((PY_UINT64_T) -1)
-#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag)
-#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\
- (version_var) = __PYX_GET_DICT_VERSION(dict);\
- (cache_var) = (value);
-#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\
- static PY_UINT64_T __pyx_dict_version = 0;\
- static PyObject *__pyx_dict_cached_value = NULL;\
- if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\
- (VAR) = __pyx_dict_cached_value;\
- } else {\
- (VAR) = __pyx_dict_cached_value = (LOOKUP);\
- __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\
- }\
-}
-static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj);
-static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj);
-static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version);
-#else
-#define __PYX_GET_DICT_VERSION(dict) (0)
-#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)
-#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP);
-#endif
-
-/* GetModuleGlobalName.proto */
-#if CYTHON_USE_DICT_VERSIONS
-#define __Pyx_GetModuleGlobalName(var, name) do {\
- static PY_UINT64_T __pyx_dict_version = 0;\
- static PyObject *__pyx_dict_cached_value = NULL;\
- (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\
- (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\
- __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
-} while(0)
-#define __Pyx_GetModuleGlobalNameUncached(var, name) do {\
- PY_UINT64_T __pyx_dict_version;\
- PyObject *__pyx_dict_cached_value;\
- (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
-} while(0)
-static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value);
-#else
-#define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name)
-#define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name)
-static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name);
-#endif
-
-/* PyObjectFormatSimple.proto */
-#if CYTHON_COMPILING_IN_PYPY
- #define __Pyx_PyObject_FormatSimple(s, f) (\
- likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\
- PyObject_Format(s, f))
-#elif PY_MAJOR_VERSION < 3
- #define __Pyx_PyObject_FormatSimple(s, f) (\
- likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\
- likely(PyString_CheckExact(s)) ? PyUnicode_FromEncodedObject(s, NULL, "strict") :\
- PyObject_Format(s, f))
-#elif CYTHON_USE_TYPE_SLOTS
- #define __Pyx_PyObject_FormatSimple(s, f) (\
- likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\
- likely(PyLong_CheckExact(s)) ? PyLong_Type.tp_repr(s) :\
- likely(PyFloat_CheckExact(s)) ? PyFloat_Type.tp_repr(s) :\
- PyObject_Format(s, f))
-#else
- #define __Pyx_PyObject_FormatSimple(s, f) (\
- likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\
- PyObject_Format(s, f))
-#endif
-
-/* JoinPyUnicode.proto */
-static PyObject* __Pyx_PyUnicode_Join(PyObject* value_tuple, Py_ssize_t value_count, Py_ssize_t result_ulength,
- Py_UCS4 max_char);
-
-/* PyFunctionFastCall.proto */
-#if CYTHON_FAST_PYCALL
-#if !CYTHON_VECTORCALL
-#define __Pyx_PyFunction_FastCall(func, args, nargs)\
- __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL)
-static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs);
-#endif
-#define __Pyx_BUILD_ASSERT_EXPR(cond)\
- (sizeof(char [1 - 2*!(cond)]) - 1)
-#ifndef Py_MEMBER_SIZE
-#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member)
-#endif
-#if !CYTHON_VECTORCALL
-#if PY_VERSION_HEX >= 0x03080000
- #include "frameobject.h"
-#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API
- #ifndef Py_BUILD_CORE
- #define Py_BUILD_CORE 1
- #endif
- #include "internal/pycore_frame.h"
-#endif
- #define __Pxy_PyFrame_Initialize_Offsets()
- #define __Pyx_PyFrame_GetLocalsplus(frame) ((frame)->f_localsplus)
-#else
- static size_t __pyx_pyframe_localsplus_offset = 0;
- #include "frameobject.h"
- #define __Pxy_PyFrame_Initialize_Offsets()\
- ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\
- (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus)))
- #define __Pyx_PyFrame_GetLocalsplus(frame)\
- (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset))
-#endif
-#endif
-#endif
-
-/* PyObjectCall.proto */
-#if CYTHON_COMPILING_IN_CPYTHON
-static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw);
-#else
-#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw)
-#endif
-
-/* PyObjectCallMethO.proto */
-#if CYTHON_COMPILING_IN_CPYTHON
-static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg);
-#endif
-
-/* PyObjectFastCall.proto */
-#define __Pyx_PyObject_FastCall(func, args, nargs) __Pyx_PyObject_FastCallDict(func, args, (size_t)(nargs), NULL)
-static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject **args, size_t nargs, PyObject *kwargs);
-
-/* PyIntBinop.proto */
-#if !CYTHON_COMPILING_IN_PYPY
-static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check);
-#else
-#define __Pyx_PyInt_AddObjC(op1, op2, intval, inplace, zerodivision_check)\
- (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2))
-#endif
-
-/* GetItemInt.proto */
-#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
- (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
- __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\
- (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\
- __Pyx_GetItemInt_Generic(o, to_py_func(i))))
-#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
- (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
- __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
- (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
- int wraparound, int boundscheck);
-#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
- (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
- __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
- (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL))
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
- int wraparound, int boundscheck);
-static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j);
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
- int is_list, int wraparound, int boundscheck);
-
-/* PyObjectCallOneArg.proto */
-static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg);
-
-/* ObjectGetItem.proto */
-#if CYTHON_USE_TYPE_SLOTS
-static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject *key);
-#else
-#define __Pyx_PyObject_GetItem(obj, key) PyObject_GetItem(obj, key)
-#endif
-
-/* DictGetItem.proto */
-#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY
-static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key);
-#define __Pyx_PyObject_Dict_GetItem(obj, name)\
- (likely(PyDict_CheckExact(obj)) ?\
- __Pyx_PyDict_GetItem(obj, name) : PyObject_GetItem(obj, name))
-#else
-#define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key)
-#define __Pyx_PyObject_Dict_GetItem(obj, name) PyObject_GetItem(obj, name)
-#endif
-
-/* IncludeStructmemberH.proto */
-#include
-
-/* FixUpExtensionType.proto */
-#if CYTHON_USE_TYPE_SPECS
-static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject *type);
-#endif
-
-/* FetchSharedCythonModule.proto */
-static PyObject *__Pyx_FetchSharedCythonABIModule(void);
-
-/* FetchCommonType.proto */
-#if !CYTHON_USE_TYPE_SPECS
-static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type);
-#else
-static PyTypeObject* __Pyx_FetchCommonTypeFromSpec(PyObject *module, PyType_Spec *spec, PyObject *bases);
-#endif
-
-/* RaiseException.proto */
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause);
-
-/* GetTopmostException.proto */
-#if CYTHON_USE_EXC_INFO_STACK && CYTHON_FAST_THREAD_STATE
-static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate);
-#endif
-
-/* SaveResetException.proto */
-#if CYTHON_FAST_THREAD_STATE
-#define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb)
-static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
-#define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb)
-static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
-#else
-#define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb)
-#define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb)
-#endif
-
-/* SwapException.proto */
-#if CYTHON_FAST_THREAD_STATE
-#define __Pyx_ExceptionSwap(type, value, tb) __Pyx__ExceptionSwap(__pyx_tstate, type, value, tb)
-static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
-#else
-static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb);
-#endif
-
-/* PyObjectCall2Args.proto */
-static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2);
-
-/* PyObjectGetMethod.proto */
-static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method);
-
-/* PyObjectCallMethod1.proto */
-static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg);
-
-/* PyObjectCallNoArg.proto */
-static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func);
-
-/* CoroutineBase.proto */
-struct __pyx_CoroutineObject;
-typedef PyObject *(*__pyx_coroutine_body_t)(struct __pyx_CoroutineObject *, PyThreadState *, PyObject *);
-#if CYTHON_USE_EXC_INFO_STACK
-#define __Pyx_ExcInfoStruct _PyErr_StackItem
-#else
-typedef struct {
- PyObject *exc_type;
- PyObject *exc_value;
- PyObject *exc_traceback;
-} __Pyx_ExcInfoStruct;
-#endif
-typedef struct __pyx_CoroutineObject {
- PyObject_HEAD
- __pyx_coroutine_body_t body;
- PyObject *closure;
- __Pyx_ExcInfoStruct gi_exc_state;
- PyObject *gi_weakreflist;
- PyObject *classobj;
- PyObject *yieldfrom;
- PyObject *gi_name;
- PyObject *gi_qualname;
- PyObject *gi_modulename;
- PyObject *gi_code;
- PyObject *gi_frame;
- int resume_label;
- char is_running;
-} __pyx_CoroutineObject;
-static __pyx_CoroutineObject *__Pyx__Coroutine_New(
- PyTypeObject *type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure,
- PyObject *name, PyObject *qualname, PyObject *module_name);
-static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit(
- __pyx_CoroutineObject *gen, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure,
- PyObject *name, PyObject *qualname, PyObject *module_name);
-static CYTHON_INLINE void __Pyx_Coroutine_ExceptionClear(__Pyx_ExcInfoStruct *self);
-static int __Pyx_Coroutine_clear(PyObject *self);
-static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value);
-static PyObject *__Pyx_Coroutine_Close(PyObject *self);
-static PyObject *__Pyx_Coroutine_Throw(PyObject *gen, PyObject *args);
-#if CYTHON_USE_EXC_INFO_STACK
-#define __Pyx_Coroutine_SwapException(self)
-#define __Pyx_Coroutine_ResetAndClearException(self) __Pyx_Coroutine_ExceptionClear(&(self)->gi_exc_state)
-#else
-#define __Pyx_Coroutine_SwapException(self) {\
- __Pyx_ExceptionSwap(&(self)->gi_exc_state.exc_type, &(self)->gi_exc_state.exc_value, &(self)->gi_exc_state.exc_traceback);\
- __Pyx_Coroutine_ResetFrameBackpointer(&(self)->gi_exc_state);\
- }
-#define __Pyx_Coroutine_ResetAndClearException(self) {\
- __Pyx_ExceptionReset((self)->gi_exc_state.exc_type, (self)->gi_exc_state.exc_value, (self)->gi_exc_state.exc_traceback);\
- (self)->gi_exc_state.exc_type = (self)->gi_exc_state.exc_value = (self)->gi_exc_state.exc_traceback = NULL;\
- }
-#endif
-#if CYTHON_FAST_THREAD_STATE
-#define __Pyx_PyGen_FetchStopIterationValue(pvalue)\
- __Pyx_PyGen__FetchStopIterationValue(__pyx_tstate, pvalue)
-#else
-#define __Pyx_PyGen_FetchStopIterationValue(pvalue)\
- __Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, pvalue)
-#endif
-static int __Pyx_PyGen__FetchStopIterationValue(PyThreadState *tstate, PyObject **pvalue);
-static CYTHON_INLINE void __Pyx_Coroutine_ResetFrameBackpointer(__Pyx_ExcInfoStruct *exc_state);
-
-/* PyObject_GenericGetAttrNoDict.proto */
-#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
-static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name);
-#else
-#define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr
-#endif
-
-/* PatchModuleWithCoroutine.proto */
-static PyObject* __Pyx_Coroutine_patch_module(PyObject* module, const char* py_code);
-
-/* PatchGeneratorABC.proto */
-static int __Pyx_patch_abc(void);
-
-/* Coroutine.proto */
-#define __Pyx_Coroutine_USED
-#define __Pyx_Coroutine_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_CoroutineType)
-#define __Pyx_Coroutine_Check(obj) __Pyx_Coroutine_CheckExact(obj)
-#define __Pyx_CoroutineAwait_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_CoroutineAwaitType)
-#define __Pyx_Coroutine_New(body, code, closure, name, qualname, module_name)\
- __Pyx__Coroutine_New(__pyx_CoroutineType, body, code, closure, name, qualname, module_name)
-static int __pyx_Coroutine_init(PyObject *module);
-static PyObject *__Pyx__Coroutine_await(PyObject *coroutine);
-typedef struct {
- PyObject_HEAD
- PyObject *coroutine;
-} __pyx_CoroutineAwaitObject;
-static PyObject *__Pyx_CoroutineAwait_Close(__pyx_CoroutineAwaitObject *self, PyObject *arg);
-static PyObject *__Pyx_CoroutineAwait_Throw(__pyx_CoroutineAwaitObject *self, PyObject *args);
-
-/* GetAwaitIter.proto */
-static CYTHON_INLINE PyObject *__Pyx_Coroutine_GetAwaitableIter(PyObject *o);
-static PyObject *__Pyx__Coroutine_GetAwaitableIter(PyObject *o);
-
-/* CoroutineYieldFrom.proto */
-static CYTHON_INLINE PyObject* __Pyx_Coroutine_Yield_From(__pyx_CoroutineObject *gen, PyObject *source);
-
-/* PyIntCompare.proto */
-static CYTHON_INLINE int __Pyx_PyInt_BoolEqObjC(PyObject *op1, PyObject *op2, long intval, long inplace);
-
-/* GetException.proto */
-#if CYTHON_FAST_THREAD_STATE
-#define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb)
-static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
-#else
-static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb);
-#endif
-
-/* pep479.proto */
-static void __Pyx_Generator_Replace_StopIteration(int in_async_gen);
-
-/* ReturnWithStopIteration.proto */
-#define __Pyx_ReturnWithStopIteration(value)\
- if (value == Py_None) PyErr_SetNone(PyExc_StopIteration); else __Pyx__ReturnWithStopIteration(value)
-static void __Pyx__ReturnWithStopIteration(PyObject* value);
-
-/* pybytes_as_double.proto */
-static double __Pyx_SlowPyString_AsDouble(PyObject *obj);
-static double __Pyx__PyBytes_AsDouble(PyObject *obj, const char* start, Py_ssize_t length);
-static CYTHON_INLINE double __Pyx_PyBytes_AsDouble(PyObject *obj) {
- char* as_c_string;
- Py_ssize_t size;
-#if CYTHON_ASSUME_SAFE_MACROS
- as_c_string = PyBytes_AS_STRING(obj);
- size = PyBytes_GET_SIZE(obj);
-#else
- if (PyBytes_AsStringAndSize(obj, &as_c_string, &size) < 0) {
- return (double)-1;
- }
-#endif
- return __Pyx__PyBytes_AsDouble(obj, as_c_string, size);
-}
-static CYTHON_INLINE double __Pyx_PyByteArray_AsDouble(PyObject *obj) {
- char* as_c_string;
- Py_ssize_t size;
-#if CYTHON_ASSUME_SAFE_MACROS
- as_c_string = PyByteArray_AS_STRING(obj);
- size = PyByteArray_GET_SIZE(obj);
-#else
- as_c_string = PyByteArray_AsString(obj);
- if (as_c_string == NULL) {
- return (double)-1;
- }
- size = PyByteArray_Size(obj);
-#endif
- return __Pyx__PyBytes_AsDouble(obj, as_c_string, size);
-}
-
-/* pyunicode_as_double.proto */
-#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY && CYTHON_ASSUME_SAFE_MACROS
-static const char* __Pyx__PyUnicode_AsDouble_Copy(const void* data, const int kind, char* buffer, Py_ssize_t start, Py_ssize_t end) {
- int last_was_punctuation;
- Py_ssize_t i;
- last_was_punctuation = 1;
- for (i=start; i <= end; i++) {
- Py_UCS4 chr = PyUnicode_READ(kind, data, i);
- int is_punctuation = (chr == '_') | (chr == '.');
- *buffer = (char)chr;
- buffer += (chr != '_');
- if (unlikely(chr > 127)) goto parse_failure;
- if (unlikely(last_was_punctuation & is_punctuation)) goto parse_failure;
- last_was_punctuation = is_punctuation;
- }
- if (unlikely(last_was_punctuation)) goto parse_failure;
- *buffer = '\0';
- return buffer;
-parse_failure:
- return NULL;
-}
-static double __Pyx__PyUnicode_AsDouble_inf_nan(const void* data, int kind, Py_ssize_t start, Py_ssize_t length) {
- int matches = 1;
- Py_UCS4 chr;
- Py_UCS4 sign = PyUnicode_READ(kind, data, start);
- int is_signed = (sign == '-') | (sign == '+');
- start += is_signed;
- length -= is_signed;
- switch (PyUnicode_READ(kind, data, start)) {
- #ifdef Py_NAN
- case 'n':
- case 'N':
- if (unlikely(length != 3)) goto parse_failure;
- chr = PyUnicode_READ(kind, data, start+1);
- matches &= (chr == 'a') | (chr == 'A');
- chr = PyUnicode_READ(kind, data, start+2);
- matches &= (chr == 'n') | (chr == 'N');
- if (unlikely(!matches)) goto parse_failure;
- return (sign == '-') ? -Py_NAN : Py_NAN;
- #endif
- case 'i':
- case 'I':
- if (unlikely(length < 3)) goto parse_failure;
- chr = PyUnicode_READ(kind, data, start+1);
- matches &= (chr == 'n') | (chr == 'N');
- chr = PyUnicode_READ(kind, data, start+2);
- matches &= (chr == 'f') | (chr == 'F');
- if (likely(length == 3 && matches))
- return (sign == '-') ? -Py_HUGE_VAL : Py_HUGE_VAL;
- if (unlikely(length != 8)) goto parse_failure;
- chr = PyUnicode_READ(kind, data, start+3);
- matches &= (chr == 'i') | (chr == 'I');
- chr = PyUnicode_READ(kind, data, start+4);
- matches &= (chr == 'n') | (chr == 'N');
- chr = PyUnicode_READ(kind, data, start+5);
- matches &= (chr == 'i') | (chr == 'I');
- chr = PyUnicode_READ(kind, data, start+6);
- matches &= (chr == 't') | (chr == 'T');
- chr = PyUnicode_READ(kind, data, start+7);
- matches &= (chr == 'y') | (chr == 'Y');
- if (unlikely(!matches)) goto parse_failure;
- return (sign == '-') ? -Py_HUGE_VAL : Py_HUGE_VAL;
- case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':
- break;
- default:
- goto parse_failure;
- }
- return 0.0;
-parse_failure:
- return -1.0;
-}
-static double __Pyx_PyUnicode_AsDouble_WithSpaces(PyObject *obj) {
- double value;
- const char *last;
- char *end;
- Py_ssize_t start, length = PyUnicode_GET_LENGTH(obj);
- const int kind = PyUnicode_KIND(obj);
- const void* data = PyUnicode_DATA(obj);
- start = 0;
- while (Py_UNICODE_ISSPACE(PyUnicode_READ(kind, data, start)))
- start++;
- while (start < length - 1 && Py_UNICODE_ISSPACE(PyUnicode_READ(kind, data, length - 1)))
- length--;
- length -= start;
- if (unlikely(length <= 0)) goto fallback;
- value = __Pyx__PyUnicode_AsDouble_inf_nan(data, kind, start, length);
- if (unlikely(value == -1.0)) goto fallback;
- if (value != 0.0) return value;
- if (length < 40) {
- char number[40];
- last = __Pyx__PyUnicode_AsDouble_Copy(data, kind, number, start, start + length);
- if (unlikely(!last)) goto fallback;
- value = PyOS_string_to_double(number, &end, NULL);
- } else {
- char *number = (char*) PyMem_Malloc((length + 1) * sizeof(char));
- if (unlikely(!number)) goto fallback;
- last = __Pyx__PyUnicode_AsDouble_Copy(data, kind, number, start, start + length);
- if (unlikely(!last)) {
- PyMem_Free(number);
- goto fallback;
- }
- value = PyOS_string_to_double(number, &end, NULL);
- PyMem_Free(number);
- }
- if (likely(end == last) || (value == (double)-1 && PyErr_Occurred())) {
- return value;
- }
-fallback:
- return __Pyx_SlowPyString_AsDouble(obj);
-}
-#endif
-static CYTHON_INLINE double __Pyx_PyUnicode_AsDouble(PyObject *obj) {
-#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY && CYTHON_ASSUME_SAFE_MACROS
- if (unlikely(__Pyx_PyUnicode_READY(obj) == -1))
- return (double)-1;
- if (likely(PyUnicode_IS_ASCII(obj))) {
- const char *s;
- Py_ssize_t length;
- s = PyUnicode_AsUTF8AndSize(obj, &length);
- return __Pyx__PyBytes_AsDouble(obj, s, length);
- }
- return __Pyx_PyUnicode_AsDouble_WithSpaces(obj);
-#else
- return __Pyx_SlowPyString_AsDouble(obj);
-#endif
-}
-
-/* pynumber_float.proto */
-static CYTHON_INLINE PyObject* __Pyx__PyNumber_Float(PyObject* obj);
-#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : __Pyx__PyNumber_Float(x))
-
-/* PyObjectCallMethod0.proto */
-static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name);
-
-/* ValidateBasesTuple.proto */
-#if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_USE_TYPE_SPECS
-static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffset, PyObject *bases);
-#endif
-
-/* PyType_Ready.proto */
-CYTHON_UNUSED static int __Pyx_PyType_Ready(PyTypeObject *t);
-
-/* Import.proto */
-static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level);
-
-/* ImportDottedModule.proto */
-static PyObject *__Pyx_ImportDottedModule(PyObject *name, PyObject *parts_tuple);
-#if PY_MAJOR_VERSION >= 3
-static PyObject *__Pyx_ImportDottedModule_WalkParts(PyObject *module, PyObject *name, PyObject *parts_tuple);
-#endif
-
-/* ImportFrom.proto */
-static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name);
-
-/* Py3UpdateBases.proto */
-static PyObject* __Pyx_PEP560_update_bases(PyObject *bases);
-
-/* CalculateMetaclass.proto */
-static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases);
-
-/* SetNameInClass.proto */
-#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && PY_VERSION_HEX < 0x030d0000
-#define __Pyx_SetNameInClass(ns, name, value)\
- (likely(PyDict_CheckExact(ns)) ? _PyDict_SetItem_KnownHash(ns, name, value, ((PyASCIIObject *) name)->hash) : PyObject_SetItem(ns, name, value))
-#elif CYTHON_COMPILING_IN_CPYTHON
-#define __Pyx_SetNameInClass(ns, name, value)\
- (likely(PyDict_CheckExact(ns)) ? PyDict_SetItem(ns, name, value) : PyObject_SetItem(ns, name, value))
-#else
-#define __Pyx_SetNameInClass(ns, name, value) PyObject_SetItem(ns, name, value)
-#endif
-
-/* PyObjectLookupSpecial.proto */
-#if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
-#define __Pyx_PyObject_LookupSpecialNoError(obj, attr_name) __Pyx__PyObject_LookupSpecial(obj, attr_name, 0)
-#define __Pyx_PyObject_LookupSpecial(obj, attr_name) __Pyx__PyObject_LookupSpecial(obj, attr_name, 1)
-static CYTHON_INLINE PyObject* __Pyx__PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name, int with_error);
-#else
-#define __Pyx_PyObject_LookupSpecialNoError(o,n) __Pyx_PyObject_GetAttrStrNoError(o,n)
-#define __Pyx_PyObject_LookupSpecial(o,n) __Pyx_PyObject_GetAttrStr(o,n)
-#endif
-
-/* Py3ClassCreate.proto */
-static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, PyObject *qualname,
- PyObject *mkw, PyObject *modname, PyObject *doc);
-static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, PyObject *dict,
- PyObject *mkw, int calculate_metaclass, int allow_py2_metaclass);
-
-/* PyMethodNew.proto */
-#if CYTHON_COMPILING_IN_LIMITED_API
-static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) {
- PyObject *typesModule=NULL, *methodType=NULL, *result=NULL;
- CYTHON_UNUSED_VAR(typ);
- if (!self)
- return __Pyx_NewRef(func);
- typesModule = PyImport_ImportModule("types");
- if (!typesModule) return NULL;
- methodType = PyObject_GetAttrString(typesModule, "MethodType");
- Py_DECREF(typesModule);
- if (!methodType) return NULL;
- result = PyObject_CallFunctionObjArgs(methodType, func, self, NULL);
- Py_DECREF(methodType);
- return result;
-}
-#elif PY_MAJOR_VERSION >= 3
-static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) {
- CYTHON_UNUSED_VAR(typ);
- if (!self)
- return __Pyx_NewRef(func);
- return PyMethod_New(func, self);
-}
-#else
- #define __Pyx_PyMethod_New PyMethod_New
-#endif
-
-/* PyVectorcallFastCallDict.proto */
-#if CYTHON_METH_FASTCALL
-static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw);
-#endif
-
-/* CythonFunctionShared.proto */
-#define __Pyx_CyFunction_USED
-#define __Pyx_CYFUNCTION_STATICMETHOD 0x01
-#define __Pyx_CYFUNCTION_CLASSMETHOD 0x02
-#define __Pyx_CYFUNCTION_CCLASS 0x04
-#define __Pyx_CYFUNCTION_COROUTINE 0x08
-#define __Pyx_CyFunction_GetClosure(f)\
- (((__pyx_CyFunctionObject *) (f))->func_closure)
-#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
- #define __Pyx_CyFunction_GetClassObj(f)\
- (((__pyx_CyFunctionObject *) (f))->func_classobj)
-#else
- #define __Pyx_CyFunction_GetClassObj(f)\
- ((PyObject*) ((PyCMethodObject *) (f))->mm_class)
-#endif
-#define __Pyx_CyFunction_SetClassObj(f, classobj)\
- __Pyx__CyFunction_SetClassObj((__pyx_CyFunctionObject *) (f), (classobj))
-#define __Pyx_CyFunction_Defaults(type, f)\
- ((type *)(((__pyx_CyFunctionObject *) (f))->defaults))
-#define __Pyx_CyFunction_SetDefaultsGetter(f, g)\
- ((__pyx_CyFunctionObject *) (f))->defaults_getter = (g)
-typedef struct {
-#if CYTHON_COMPILING_IN_LIMITED_API
- PyObject_HEAD
- PyObject *func;
-#elif PY_VERSION_HEX < 0x030900B1
- PyCFunctionObject func;
-#else
- PyCMethodObject func;
-#endif
-#if CYTHON_BACKPORT_VECTORCALL
- __pyx_vectorcallfunc func_vectorcall;
-#endif
-#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API
- PyObject *func_weakreflist;
-#endif
- PyObject *func_dict;
- PyObject *func_name;
- PyObject *func_qualname;
- PyObject *func_doc;
- PyObject *func_globals;
- PyObject *func_code;
- PyObject *func_closure;
-#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
- PyObject *func_classobj;
-#endif
- void *defaults;
- int defaults_pyobjects;
- size_t defaults_size;
- int flags;
- PyObject *defaults_tuple;
- PyObject *defaults_kwdict;
- PyObject *(*defaults_getter)(PyObject *);
- PyObject *func_annotations;
- PyObject *func_is_coroutine;
-} __pyx_CyFunctionObject;
-#undef __Pyx_CyOrPyCFunction_Check
-#define __Pyx_CyFunction_Check(obj) __Pyx_TypeCheck(obj, __pyx_CyFunctionType)
-#define __Pyx_CyOrPyCFunction_Check(obj) __Pyx_TypeCheck2(obj, __pyx_CyFunctionType, &PyCFunction_Type)
-#define __Pyx_CyFunction_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_CyFunctionType)
-static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc);
-#undef __Pyx_IsSameCFunction
-#define __Pyx_IsSameCFunction(func, cfunc) __Pyx__IsSameCyOrCFunction(func, cfunc)
-static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject* op, PyMethodDef *ml,
- int flags, PyObject* qualname,
- PyObject *closure,
- PyObject *module, PyObject *globals,
- PyObject* code);
-static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj);
-static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *m,
- size_t size,
- int pyobjects);
-static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m,
- PyObject *tuple);
-static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *m,
- PyObject *dict);
-static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *m,
- PyObject *dict);
-static int __pyx_CyFunction_init(PyObject *module);
-#if CYTHON_METH_FASTCALL
-static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
-static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
-static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
-static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
-#if CYTHON_BACKPORT_VECTORCALL
-#define __Pyx_CyFunction_func_vectorcall(f) (((__pyx_CyFunctionObject*)f)->func_vectorcall)
-#else
-#define __Pyx_CyFunction_func_vectorcall(f) (((PyCFunctionObject*)f)->vectorcall)
-#endif
-#endif
-
-/* CythonFunction.proto */
-static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml,
- int flags, PyObject* qualname,
- PyObject *closure,
- PyObject *module, PyObject *globals,
- PyObject* code);
-
-/* CLineInTraceback.proto */
-#ifdef CYTHON_CLINE_IN_TRACEBACK
-#define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0)
-#else
-static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line);
-#endif
-
-/* CodeObjectCache.proto */
-#if !CYTHON_COMPILING_IN_LIMITED_API
-typedef struct {
- PyCodeObject* code_object;
- int code_line;
-} __Pyx_CodeObjectCacheEntry;
-struct __Pyx_CodeObjectCache {
- int count;
- int max_count;
- __Pyx_CodeObjectCacheEntry* entries;
-};
-static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
-static PyCodeObject *__pyx_find_code_object(int code_line);
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
-#endif
-
-/* AddTraceback.proto */
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
- int py_line, const char *filename);
-
-/* GCCDiagnostics.proto */
-#if !defined(__INTEL_COMPILER) && defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
-#define __Pyx_HAS_GCC_DIAGNOSTIC
-#endif
-
-/* CIntToPy.proto */
-static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value);
-
-/* FormatTypeName.proto */
-#if CYTHON_COMPILING_IN_LIMITED_API
-typedef PyObject *__Pyx_TypeName;
-#define __Pyx_FMT_TYPENAME "%U"
-static __Pyx_TypeName __Pyx_PyType_GetName(PyTypeObject* tp);
-#define __Pyx_DECREF_TypeName(obj) Py_XDECREF(obj)
-#else
-typedef const char *__Pyx_TypeName;
-#define __Pyx_FMT_TYPENAME "%.200s"
-#define __Pyx_PyType_GetName(tp) ((tp)->tp_name)
-#define __Pyx_DECREF_TypeName(obj)
-#endif
-
-/* CIntFromPy.proto */
-static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *);
-
-/* CIntFromPy.proto */
-static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *);
-
-/* FastTypeChecks.proto */
-#if CYTHON_COMPILING_IN_CPYTHON
-#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type)
-#define __Pyx_TypeCheck2(obj, type1, type2) __Pyx_IsAnySubtype2(Py_TYPE(obj), (PyTypeObject *)type1, (PyTypeObject *)type2)
-static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b);
-static CYTHON_INLINE int __Pyx_IsAnySubtype2(PyTypeObject *cls, PyTypeObject *a, PyTypeObject *b);
-static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type);
-static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2);
-#else
-#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
-#define __Pyx_TypeCheck2(obj, type1, type2) (PyObject_TypeCheck(obj, (PyTypeObject *)type1) || PyObject_TypeCheck(obj, (PyTypeObject *)type2))
-#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type)
-#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2))
-#endif
-#define __Pyx_PyErr_ExceptionMatches2(err1, err2) __Pyx_PyErr_GivenExceptionMatches2(__Pyx_PyErr_CurrentExceptionType(), err1, err2)
-#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception)
-
-/* CheckBinaryVersion.proto */
-static unsigned long __Pyx_get_runtime_version(void);
-static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer);
-
-/* InitStrings.proto */
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);
-
-/* #### Code section: module_declarations ### */
-
-/* Module declarations from "handlers.payments.robokassa_pay" */
-/* #### Code section: typeinfo ### */
-/* #### Code section: before_global_var ### */
-#define __Pyx_MODULE_NAME "handlers.payments.robokassa_pay"
-extern int __pyx_module_is_main_handlers__payments__robokassa_pay;
-int __pyx_module_is_main_handlers__payments__robokassa_pay = 0;
-
-/* Implementation of "handlers.payments.robokassa_pay" */
-/* #### Code section: global_var ### */
-static PyObject *__pyx_builtin_range;
-static PyObject *__pyx_builtin_ValueError;
-/* #### Code section: string_decls ### */
-static const char __pyx_k_[] = "\320\277\320\276\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\261\320\260\320\273\320\260\320\275\321\201\320\260";
-static const char __pyx_k_F[] = "F";
-static const char __pyx_k_e[] = "e";
-static const char __pyx_k_i[] = "i";
-static const char __pyx_k_OK[] = "OK";
-static const char __pyx_k__3[] = "\360\237\222\260 \320\222\320\262\320\265\321\201\321\202\320\270 \321\201\320\262\320\276\321\216 \321\201\321\203\320\274\320\274\321\203";
-static const char __pyx_k__4[] = "\342\254\205\357\270\217 \320\235\320\260\320\267\320\260\320\264";
-static const char __pyx_k__5[] = "\320\222\321\213\320\261\320\265\321\200\320\270\321\202\320\265 \321\201\321\203\320\274\320\274\321\203 \320\277\320\276\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217:";
-static const char __pyx_k__6[] = ".";
-static const char __pyx_k__8[] = "|";
-static const char __pyx_k__9[] = "\320\236\321\210\320\270\320\261\320\272\320\260: \320\264\320\260\320\275\320\275\321\213\320\265 \320\277\320\276\320\262\321\200\320\265\320\266\320\264\320\265\320\275\321\213.";
-static const char __pyx_k_gc[] = "gc";
-static const char __pyx_k_id[] = "id";
-static const char __pyx_k_Any[] = "Any";
-static const char __pyx_k__10[] = "\320\241\321\203\320\274\320\274\320\260 \320\264\320\276\320\273\320\266\320\275\320\260 \320\261\321\213\321\202\321\214 \320\277\320\276\320\273\320\276\320\266\320\270\321\202\320\265\320\273\321\214\320\275\321\213\320\274 \321\207\320\270\321\201\320\273\320\276\320\274.";
-static const char __pyx_k__12[] = "\320\235\320\265\320\272\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\276\320\265 \320\267\320\275\320\260\321\207\320\265\320\275\320\270\320\265 \321\201\321\203\320\274\320\274\321\213: ";
-static const char __pyx_k__13[] = ". \320\236\321\210\320\270\320\261\320\272\320\260: ";
-static const char __pyx_k__14[] = "\320\235\320\265\320\272\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\260\321\217 \321\201\321\203\320\274\320\274\320\260.";
-static const char __pyx_k__15[] = "\320\237\320\276\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\261\320\260\320\273\320\260\320\275\321\201\320\260";
-static const char __pyx_k__16[] = ": ";
-static const char __pyx_k__17[] = "\320\236\320\277\320\273\320\260\321\202\320\270\321\202\321\214";
-static const char __pyx_k__18[] = "\320\222\321\213 \320\262\321\213\320\261\321\200\320\260\320\273\320\270 \320\277\320\276\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\275\320\260 ";
-static const char __pyx_k__19[] = " \321\200\321\203\320\261\320\273\320\265\320\271. \320\224\320\273\321\217 \320\276\320\277\320\273\320\260\321\202\321\213 \320\277\320\265\321\200\320\265\320\271\320\264\320\270\321\202\320\265 \320\277\320\276 \321\201\321\201\321\213\320\273\320\272\320\265 \320\275\320\270\320\266\320\265:";
-static const char __pyx_k__21[] = "\320\235\320\265\320\262\320\265\321\200\320\275\320\260\321\217 \320\277\320\276\320\264\320\277\320\270\321\201\321\214 \320\270\320\273\320\270 \320\264\320\260\320\275\320\275\321\213\320\265 \320\267\320\260\320\277\321\200\320\276\321\201\320\260.";
-static const char __pyx_k__22[] = "\320\236\321\202\321\201\321\203\321\202\321\201\321\202\320\262\321\203\321\216\321\202 \320\276\320\261\321\217\320\267\320\260\321\202\320\265\320\273\321\214\320\275\321\213\320\265 \320\277\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213.";
-static const char __pyx_k__23[] = ":";
-static const char __pyx_k__25[] = "\360\237\224\231 \320\235\320\260\320\267\320\260\320\264";
-static const char __pyx_k__26[] = "\320\237\320\276\320\266\320\260\320\273\321\203\320\271\321\201\321\202\320\260, \320\262\320\262\320\265\320\264\320\270\321\202\320\265 \321\201\321\203\320\274\320\274\321\203 \320\277\320\276\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.";
-static const char __pyx_k__29[] = "\320\235\320\265\320\272\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\260\321\217 \321\201\321\203\320\274\320\274\320\260 \320\276\321\202 \320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217 ";
-static const char __pyx_k__30[] = "\320\222\320\262\320\265\320\264\320\270\321\202\320\265 \320\272\320\276\321\200\321\200\320\265\320\272\321\202\320\275\321\203\321\216 \321\201\321\203\320\274\320\274\321\203 \320\262 \321\200\321\203\320\261\320\273\321\217\321\205 (\321\206\320\265\320\273\320\276\320\265 \320\277\320\276\320\273\320\276\320\266\320\270\321\202\320\265\320\273\321\214\320\275\320\276\320\265 \321\207\320\270\321\201\320\273\320\276).";
-static const char __pyx_k__31[] = "*";
-static const char __pyx_k__42[] = "?";
-static const char __pyx_k_doc[] = "__doc__";
-static const char __pyx_k_get[] = "get";
-static const char __pyx_k_md5[] = "md5";
-static const char __pyx_k_pay[] = "pay";
-static const char __pyx_k_row[] = "row";
-static const char __pyx_k_url[] = "url";
-static const char __pyx_k_web[] = "web";
-static const char __pyx_k_User[] = "User ";
-static const char __pyx_k_args[] = "args";
-static const char __pyx_k_chat[] = "chat";
-static const char __pyx_k_data[] = "data";
-static const char __pyx_k_dict[] = "__dict__";
-static const char __pyx_k_info[] = "info";
-static const char __pyx_k_link[] = "link";
-static const char __pyx_k_main[] = "__main__";
-static const char __pyx_k_name[] = "__name__";
-static const char __pyx_k_post[] = "post";
-static const char __pyx_k_send[] = "send";
-static const char __pyx_k_spec[] = "__spec__";
-static const char __pyx_k_test[] = "__test__";
-static const char __pyx_k_text[] = "text";
-static const char __pyx_k_InvId[] = "InvId";
-static const char __pyx_k_State[] = "State";
-static const char __pyx_k_await[] = "__await__";
-static const char __pyx_k_clear[] = "clear";
-static const char __pyx_k_close[] = "close";
-static const char __pyx_k_debug[] = "debug";
-static const char __pyx_k_error[] = "error";
-static const char __pyx_k_range[] = "range";
-static const char __pyx_k_split[] = "split";
-static const char __pyx_k_state[] = "state";
-static const char __pyx_k_super[] = "super";
-static const char __pyx_k_tg_id[] = "tg_id";
-static const char __pyx_k_throw[] = "throw";
-static const char __pyx_k_trial[] = "trial";
-static const char __pyx_k_types[] = "types";
-static const char __pyx_k_upper[] = "upper";
-static const char __pyx_k_OutSum[] = "OutSum";
-static const char __pyx_k_Router[] = "Router";
-static const char __pyx_k_amount[] = "amount";
-static const char __pyx_k_answer[] = "answer";
-static const char __pyx_k_config[] = "config";
-static const char __pyx_k_enable[] = "enable";
-static const char __pyx_k_exists[] = "exists";
-static const char __pyx_k_import[] = "__import__";
-static const char __pyx_k_inv_id[] = "inv_id";
-static const char __pyx_k_logger[] = "logger";
-static const char __pyx_k_module[] = "__module__";
-static const char __pyx_k_params[] = "params";
-static const char __pyx_k_router[] = "router";
-static const char __pyx_k_shp_id[] = "shp_id";
-static const char __pyx_k_status[] = "status";
-static const char __pyx_k_typing[] = "typing";
-static const char __pyx_k_InvId_2[] = ", InvId: ";
-static const char __pyx_k_aiogram[] = "aiogram";
-static const char __pyx_k_aiohttp[] = "aiohttp";
-static const char __pyx_k_balance[] = "balance";
-static const char __pyx_k_builder[] = "builder";
-static const char __pyx_k_disable[] = "disable";
-static const char __pyx_k_hashlib[] = "hashlib";
-static const char __pyx_k_is_test[] = "is_test";
-static const char __pyx_k_message[] = "message";
-static const char __pyx_k_out_sum[] = "out_sum";
-static const char __pyx_k_payment[] = "_payment";
-static const char __pyx_k_prepare[] = "__prepare__";
-static const char __pyx_k_request[] = "request";
-static const char __pyx_k_session[] = "session";
-static const char __pyx_k_OutSum_2[] = "OutSum: ";
-static const char __pyx_k_Response[] = "Response";
-static const char __pyx_k_database[] = "database";
-static const char __pyx_k_inv_id_2[] = ", inv_id: ";
-static const char __pyx_k_qualname[] = "__qualname__";
-static const char __pyx_k_set_name[] = "__set_name__";
-static const char __pyx_k_shp_id_2[] = ", shp_id: ";
-static const char __pyx_k_shp_id_3[] = ":shp_id=";
-static const char __pyx_k_Robokassa[] = "Robokassa";
-static const char __pyx_k_algorithm[] = "algorithm";
-static const char __pyx_k_as_markup[] = "as_markup";
-static const char __pyx_k_hexdigest[] = "hexdigest";
-static const char __pyx_k_isenabled[] = "isenabled";
-static const char __pyx_k_key_count[] = "key_count";
-static const char __pyx_k_metaclass[] = "__metaclass__";
-static const char __pyx_k_password1[] = "password1";
-static const char __pyx_k_password2[] = "password2";
-static const char __pyx_k_robokassa[] = "robokassa";
-static const char __pyx_k_set_state[] = "set_state";
-static const char __pyx_k_FSMContext[] = "FSMContext";
-static const char __pyx_k_ValueError[] = "ValueError";
-static const char __pyx_k_amount_str[] = "amount_str";
-static const char __pyx_k_startswith[] = "startswith";
-static const char __pyx_k_StatesGroup[] = "StatesGroup";
-static const char __pyx_k_add_payment[] = "add_payment";
-static const char __pyx_k_description[] = "description";
-static const char __pyx_k_mro_entries[] = "__mro_entries__";
-static const char __pyx_k_payment_url[] = "payment_url";
-static const char __pyx_k_update_data[] = "update_data";
-static const char __pyx_k_with_amount[] = " with amount ";
-static const char __pyx_k_initializing[] = "_initializing";
-static const char __pyx_k_is_coroutine[] = "_is_coroutine";
-static const char __pyx_k_payment_link[] = "payment_link";
-static const char __pyx_k_reply_markup[] = "reply_markup";
-static const char __pyx_k_HashAlgorithm[] = "HashAlgorithm";
-static const char __pyx_k_aiogram_types[] = "aiogram.types";
-static const char __pyx_k_callback_data[] = "callback_data";
-static const char __pyx_k_class_getitem[] = "__class_getitem__";
-static const char __pyx_k_description_2[] = ", description: ";
-static const char __pyx_k_get_key_count[] = "get_key_count";
-static const char __pyx_k_init_subclass[] = "__init_subclass__";
-static const char __pyx_k_pay_robokassa[] = "pay_robokassa";
-static const char __pyx_k_types_Message[] = "types.Message";
-static const char __pyx_k_SignatureValue[] = "SignatureValue";
-static const char __pyx_k_add_connection[] = "add_connection";
-static const char __pyx_k_callback_query[] = "callback_query";
-static const char __pyx_k_handlers_texts[] = "handlers.texts";
-static const char __pyx_k_merchant_login[] = "merchant_login";
-static const char __pyx_k_update_balance[] = "update_balance";
-static const char __pyx_k_PAYMENT_OPTIONS[] = "PAYMENT_OPTIONS";
-static const char __pyx_k_ROBOKASSA_LOGIN[] = "ROBOKASSA_LOGIN";
-static const char __pyx_k_callback_data_2[] = "\320\237\320\276\320\273\321\203\321\207\320\265\320\275\321\213 \320\264\320\260\320\275\320\275\321\213\320\265 callback_data: ";
-static const char __pyx_k_callback_data_3[] = "\320\236\321\210\320\270\320\261\320\272\320\260: callback_data \320\275\320\265 \321\201\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\321\203\320\265\321\202 \321\204\320\276\321\200\320\274\320\260\321\202\321\203.";
-static const char __pyx_k_inline_keyboard[] = "inline_keyboard";
-static const char __pyx_k_selected_amount[] = " selected amount: ";
-static const char __pyx_k_signature_value[] = "signature_value";
-static const char __pyx_k_ROBOKASSA_ENABLE[] = "ROBOKASSA_ENABLE";
-static const char __pyx_k_SignatureValue_2[] = ", SignatureValue: ";
-static const char __pyx_k_confirm_keyboard[] = "confirm_keyboard";
-static const char __pyx_k_robokassa_amount[] = "robokassa_amount|";
-static const char __pyx_k_signature_string[] = "signature_string";
-static const char __pyx_k_with_balance_0_0[] = " with balance 0.0.";
-static const char __pyx_k_aiogram_fsm_state[] = "aiogram.fsm.state";
-static const char __pyx_k_robokassa_webhook[] = "robokassa_webhook";
-static const char __pyx_k_Expected_signature[] = "Expected signature: ";
-static const char __pyx_k_Received_signature[] = "Received signature: ";
-static const char __pyx_k_asyncio_coroutines[] = "asyncio.coroutines";
-static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback";
-static const char __pyx_k_expected_signature[] = "expected_signature";
-static const char __pyx_k_generate_by_script[] = "generate_by_script";
-static const char __pyx_k_ROBOKASSA_PASSWORD1[] = "ROBOKASSA_PASSWORD1";
-static const char __pyx_k_ROBOKASSA_PASSWORD2[] = "ROBOKASSA_PASSWORD2";
-static const char __pyx_k_ROBOKASSA_TEST_MODE[] = "ROBOKASSA_TEST_MODE";
-static const char __pyx_k_aiogram_fsm_context[] = "aiogram.fsm.context";
-static const char __pyx_k_types_CallbackQuery[] = "types.CallbackQuery";
-static const char __pyx_k_InlineKeyboardButton[] = "InlineKeyboardButton";
-static const char __pyx_k_InlineKeyboardMarkup[] = "InlineKeyboardMarkup";
-static const char __pyx_k_Payment_URL_for_user[] = "Payment URL for user ";
-static const char __pyx_k_InlineKeyboardBuilder[] = "InlineKeyboardBuilder";
-static const char __pyx_k_ReplenishBalanceState[] = "ReplenishBalanceState";
-static const char __pyx_k_entered_custom_amount[] = " entered custom amount: ";
-static const char __pyx_k_generate_payment_link[] = "generate_payment_link";
-static const char __pyx_k_Generated_payment_link[] = "Generated payment link: ";
-static const char __pyx_k_aiogram_utils_keyboard[] = "aiogram.utils.keyboard";
-static const char __pyx_k_Received_webhook_params[] = "Received webhook params: ";
-static const char __pyx_k_check_connection_exists[] = "check_connection_exists";
-static const char __pyx_k_check_payment_signature[] = "check_payment_signature";
-static const char __pyx_k_handlers_payments_utils[] = "handlers.payments.utils";
-static const char __pyx_k_Error_processing_webhook[] = "Error processing webhook: ";
-static const char __pyx_k_process_amount_selection[] = "process_amount_selection";
-static const char __pyx_k_Payment_link_sent_to_user[] = "Payment link sent to user ";
-static const char __pyx_k_choosing_amount_robokassa[] = "choosing_amount_robokassa";
-static const char __pyx_k_handle_custom_amount_input[] = "handle_custom_amount_input";
-static const char __pyx_k_Processing_payment_for_user[] = "Processing payment for user ";
-static const char __pyx_k_initiated_Robokassa_payment[] = " initiated Robokassa payment.";
-static const char __pyx_k_enter_custom_amount_robokassa[] = "enter_custom_amount_robokassa";
-static const char __pyx_k_chose_to_enter_a_custom_amount[] = " chose to enter a custom amount.";
-static const char __pyx_k_process_callback_pay_robokassa[] = "process_callback_pay_robokassa";
-static const char __pyx_k_Created_new_connection_for_user[] = "Created new connection for user ";
-static const char __pyx_k_Generated_payment_link_for_user[] = "Generated payment link for user ";
-static const char __pyx_k_Signature_string_before_hashing[] = "Signature string before hashing: ";
-static const char __pyx_k_handlers_payments_robokassa_pay[] = "handlers.payments.robokassa_pay";
-static const char __pyx_k_process_custom_amount_selection[] = "process_custom_amount_selection";
-static const char __pyx_k_Displayed_amount_selection_for_u[] = "Displayed amount selection for user ";
-static const char __pyx_k_Generating_payment_link_for_amou[] = "Generating payment link for amount: ";
-static const char __pyx_k_Payment_successful_Balance_updat[] = "Payment successful. Balance updated for user ";
-static const char __pyx_k_Robokassa_initialized_with_login[] = "Robokassa initialized with login: {}";
-static const char __pyx_k_send_payment_success_notificatio[] = "send_payment_success_notification";
-static const char __pyx_k_waiting_for_payment_confirmation[] = "waiting_for_payment_confirmation_robokassa";
-static const char __pyx_k_handlers_payments_robokassa_pay_2[] = "handlers/payments/robokassa_pay.py";
-/* #### Code section: decls ### */
-static PyObject *__pyx_pf_8handlers_8payments_13robokassa_pay_generate_payment_link(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_amount, PyObject *__pyx_v_inv_id, PyObject *__pyx_v_description, PyObject *__pyx_v_tg_id); /* proto */
-static PyObject *__pyx_pf_8handlers_8payments_13robokassa_pay_2process_callback_pay_robokassa(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_state, PyObject *__pyx_v_session); /* proto */
-static PyObject *__pyx_pf_8handlers_8payments_13robokassa_pay_5process_amount_selection(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_state); /* proto */
-static PyObject *__pyx_pf_8handlers_8payments_13robokassa_pay_8robokassa_webhook(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_request); /* proto */
-static PyObject *__pyx_pf_8handlers_8payments_13robokassa_pay_11check_payment_signature(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_params); /* proto */
-static PyObject *__pyx_pf_8handlers_8payments_13robokassa_pay_13process_custom_amount_selection(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_state); /* proto */
-static PyObject *__pyx_pf_8handlers_8payments_13robokassa_pay_16handle_custom_amount_input(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_message, PyObject *__pyx_v_state); /* proto */
-static PyObject *__pyx_tp_new_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
-static PyObject *__pyx_tp_new_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
-static PyObject *__pyx_tp_new_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
-static PyObject *__pyx_tp_new_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
-static PyObject *__pyx_tp_new_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
-/* #### Code section: late_includes ### */
-/* #### Code section: module_state ### */
-typedef struct {
- PyObject *__pyx_d;
- PyObject *__pyx_b;
- PyObject *__pyx_cython_runtime;
- PyObject *__pyx_empty_tuple;
- PyObject *__pyx_empty_bytes;
- PyObject *__pyx_empty_unicode;
- #ifdef __Pyx_CyFunction_USED
- PyTypeObject *__pyx_CyFunctionType;
- #endif
- #ifdef __Pyx_FusedFunction_USED
- PyTypeObject *__pyx_FusedFunctionType;
- #endif
- #ifdef __Pyx_Generator_USED
- PyTypeObject *__pyx_GeneratorType;
- #endif
- #ifdef __Pyx_IterableCoroutine_USED
- PyTypeObject *__pyx_IterableCoroutineType;
- #endif
- #ifdef __Pyx_Coroutine_USED
- PyTypeObject *__pyx_CoroutineAwaitType;
- #endif
- #ifdef __Pyx_Coroutine_USED
- PyTypeObject *__pyx_CoroutineType;
- #endif
- #if CYTHON_USE_MODULE_STATE
- PyObject *__pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa;
- PyObject *__pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection;
- PyObject *__pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook;
- PyObject *__pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection;
- PyObject *__pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input;
- #endif
- PyTypeObject *__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa;
- PyTypeObject *__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection;
- PyTypeObject *__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook;
- PyTypeObject *__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection;
- PyTypeObject *__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input;
- PyObject *__pyx_kp_u_;
- PyObject *__pyx_n_s_Any;
- PyObject *__pyx_kp_u_Created_new_connection_for_user;
- PyObject *__pyx_kp_u_Displayed_amount_selection_for_u;
- PyObject *__pyx_kp_u_Error_processing_webhook;
- PyObject *__pyx_kp_u_Expected_signature;
- PyObject *__pyx_n_s_F;
- PyObject *__pyx_n_s_FSMContext;
- PyObject *__pyx_kp_u_Generated_payment_link;
- PyObject *__pyx_kp_u_Generated_payment_link_for_user;
- PyObject *__pyx_kp_u_Generating_payment_link_for_amou;
- PyObject *__pyx_n_s_HashAlgorithm;
- PyObject *__pyx_n_s_InlineKeyboardBuilder;
- PyObject *__pyx_n_s_InlineKeyboardButton;
- PyObject *__pyx_n_s_InlineKeyboardMarkup;
- PyObject *__pyx_n_u_InvId;
- PyObject *__pyx_kp_u_InvId_2;
- PyObject *__pyx_n_u_OK;
- PyObject *__pyx_n_u_OutSum;
- PyObject *__pyx_kp_u_OutSum_2;
- PyObject *__pyx_n_s_PAYMENT_OPTIONS;
- PyObject *__pyx_kp_u_Payment_URL_for_user;
- PyObject *__pyx_kp_u_Payment_link_sent_to_user;
- PyObject *__pyx_kp_u_Payment_successful_Balance_updat;
- PyObject *__pyx_kp_u_Processing_payment_for_user;
- PyObject *__pyx_n_s_ROBOKASSA_ENABLE;
- PyObject *__pyx_n_s_ROBOKASSA_LOGIN;
- PyObject *__pyx_n_s_ROBOKASSA_PASSWORD1;
- PyObject *__pyx_n_s_ROBOKASSA_PASSWORD2;
- PyObject *__pyx_n_s_ROBOKASSA_TEST_MODE;
- PyObject *__pyx_kp_u_Received_signature;
- PyObject *__pyx_kp_u_Received_webhook_params;
- PyObject *__pyx_n_s_ReplenishBalanceState;
- PyObject *__pyx_n_s_Response;
- PyObject *__pyx_n_s_Robokassa;
- PyObject *__pyx_kp_u_Robokassa_initialized_with_login;
- PyObject *__pyx_n_s_Router;
- PyObject *__pyx_n_u_SignatureValue;
- PyObject *__pyx_kp_u_SignatureValue_2;
- PyObject *__pyx_kp_u_Signature_string_before_hashing;
- PyObject *__pyx_n_s_State;
- PyObject *__pyx_n_s_StatesGroup;
- PyObject *__pyx_kp_u_User;
- PyObject *__pyx_n_s_ValueError;
- PyObject *__pyx_kp_u__10;
- PyObject *__pyx_kp_u__12;
- PyObject *__pyx_kp_u__13;
- PyObject *__pyx_kp_u__14;
- PyObject *__pyx_kp_u__15;
- PyObject *__pyx_kp_u__16;
- PyObject *__pyx_n_u__17;
- PyObject *__pyx_kp_u__18;
- PyObject *__pyx_kp_u__19;
- PyObject *__pyx_kp_u__21;
- PyObject *__pyx_kp_u__22;
- PyObject *__pyx_kp_u__23;
- PyObject *__pyx_kp_u__25;
- PyObject *__pyx_kp_u__26;
- PyObject *__pyx_kp_u__29;
- PyObject *__pyx_kp_u__3;
- PyObject *__pyx_kp_u__30;
- PyObject *__pyx_n_s__31;
- PyObject *__pyx_kp_u__4;
- PyObject *__pyx_n_s__42;
- PyObject *__pyx_kp_u__5;
- PyObject *__pyx_kp_u__6;
- PyObject *__pyx_kp_u__8;
- PyObject *__pyx_kp_u__9;
- PyObject *__pyx_n_s_add_connection;
- PyObject *__pyx_n_s_add_payment;
- PyObject *__pyx_n_s_aiogram;
- PyObject *__pyx_n_s_aiogram_fsm_context;
- PyObject *__pyx_n_s_aiogram_fsm_state;
- PyObject *__pyx_n_s_aiogram_types;
- PyObject *__pyx_n_s_aiogram_utils_keyboard;
- PyObject *__pyx_n_s_aiohttp;
- PyObject *__pyx_n_s_algorithm;
- PyObject *__pyx_n_s_amount;
- PyObject *__pyx_n_u_amount;
- PyObject *__pyx_n_s_amount_str;
- PyObject *__pyx_n_s_answer;
- PyObject *__pyx_n_s_args;
- PyObject *__pyx_n_s_as_markup;
- PyObject *__pyx_n_s_asyncio_coroutines;
- PyObject *__pyx_n_s_await;
- PyObject *__pyx_n_s_balance;
- PyObject *__pyx_n_s_builder;
- PyObject *__pyx_n_s_callback_data;
- PyObject *__pyx_n_u_callback_data;
- PyObject *__pyx_kp_u_callback_data_2;
- PyObject *__pyx_kp_u_callback_data_3;
- PyObject *__pyx_n_s_callback_query;
- PyObject *__pyx_n_s_chat;
- PyObject *__pyx_n_s_check_connection_exists;
- PyObject *__pyx_n_s_check_payment_signature;
- PyObject *__pyx_n_s_choosing_amount_robokassa;
- PyObject *__pyx_kp_u_chose_to_enter_a_custom_amount;
- PyObject *__pyx_n_s_class_getitem;
- PyObject *__pyx_n_s_clear;
- PyObject *__pyx_n_s_cline_in_traceback;
- PyObject *__pyx_n_s_close;
- PyObject *__pyx_n_s_config;
- PyObject *__pyx_n_s_confirm_keyboard;
- PyObject *__pyx_n_s_data;
- PyObject *__pyx_n_s_database;
- PyObject *__pyx_n_s_debug;
- PyObject *__pyx_n_s_description;
- PyObject *__pyx_kp_u_description_2;
- PyObject *__pyx_n_s_dict;
- PyObject *__pyx_kp_u_disable;
- PyObject *__pyx_n_s_doc;
- PyObject *__pyx_n_s_e;
- PyObject *__pyx_kp_u_enable;
- PyObject *__pyx_n_u_enter_custom_amount_robokassa;
- PyObject *__pyx_kp_u_entered_custom_amount;
- PyObject *__pyx_n_s_error;
- PyObject *__pyx_n_s_exists;
- PyObject *__pyx_n_s_expected_signature;
- PyObject *__pyx_kp_u_gc;
- PyObject *__pyx_n_s_generate_by_script;
- PyObject *__pyx_n_s_generate_payment_link;
- PyObject *__pyx_n_s_get;
- PyObject *__pyx_n_s_get_key_count;
- PyObject *__pyx_n_s_handle_custom_amount_input;
- PyObject *__pyx_n_s_handlers_payments_robokassa_pay;
- PyObject *__pyx_kp_s_handlers_payments_robokassa_pay_2;
- PyObject *__pyx_n_s_handlers_payments_utils;
- PyObject *__pyx_n_s_handlers_texts;
- PyObject *__pyx_n_s_hashlib;
- PyObject *__pyx_n_s_hexdigest;
- PyObject *__pyx_n_s_i;
- PyObject *__pyx_n_s_id;
- PyObject *__pyx_n_s_import;
- PyObject *__pyx_n_s_info;
- PyObject *__pyx_n_s_init_subclass;
- PyObject *__pyx_n_s_initializing;
- PyObject *__pyx_kp_u_initiated_Robokassa_payment;
- PyObject *__pyx_n_s_inline_keyboard;
- PyObject *__pyx_n_s_inv_id;
- PyObject *__pyx_kp_u_inv_id_2;
- PyObject *__pyx_n_s_is_coroutine;
- PyObject *__pyx_n_s_is_test;
- PyObject *__pyx_kp_u_isenabled;
- PyObject *__pyx_n_s_key_count;
- PyObject *__pyx_n_s_link;
- PyObject *__pyx_n_s_logger;
- PyObject *__pyx_n_s_main;
- PyObject *__pyx_n_s_md5;
- PyObject *__pyx_n_s_merchant_login;
- PyObject *__pyx_n_s_message;
- PyObject *__pyx_n_s_metaclass;
- PyObject *__pyx_n_s_module;
- PyObject *__pyx_n_s_mro_entries;
- PyObject *__pyx_n_s_name;
- PyObject *__pyx_n_s_out_sum;
- PyObject *__pyx_n_s_params;
- PyObject *__pyx_n_s_password1;
- PyObject *__pyx_n_s_password2;
- PyObject *__pyx_n_u_pay;
- PyObject *__pyx_n_u_pay_robokassa;
- PyObject *__pyx_n_s_payment;
- PyObject *__pyx_n_s_payment_link;
- PyObject *__pyx_n_s_payment_url;
- PyObject *__pyx_n_s_post;
- PyObject *__pyx_n_s_prepare;
- PyObject *__pyx_n_s_process_amount_selection;
- PyObject *__pyx_n_s_process_callback_pay_robokassa;
- PyObject *__pyx_n_s_process_custom_amount_selection;
- PyObject *__pyx_n_s_qualname;
- PyObject *__pyx_n_s_range;
- PyObject *__pyx_n_s_reply_markup;
- PyObject *__pyx_n_s_request;
- PyObject *__pyx_n_s_robokassa;
- PyObject *__pyx_n_u_robokassa;
- PyObject *__pyx_kp_u_robokassa_amount;
- PyObject *__pyx_n_s_robokassa_webhook;
- PyObject *__pyx_n_s_router;
- PyObject *__pyx_n_s_row;
- PyObject *__pyx_kp_u_selected_amount;
- PyObject *__pyx_n_s_send;
- PyObject *__pyx_n_s_send_payment_success_notificatio;
- PyObject *__pyx_n_s_session;
- PyObject *__pyx_n_s_set_name;
- PyObject *__pyx_n_s_set_state;
- PyObject *__pyx_n_s_shp_id;
- PyObject *__pyx_n_u_shp_id;
- PyObject *__pyx_kp_u_shp_id_2;
- PyObject *__pyx_kp_u_shp_id_3;
- PyObject *__pyx_n_s_signature_string;
- PyObject *__pyx_n_s_signature_value;
- PyObject *__pyx_n_s_spec;
- PyObject *__pyx_n_s_split;
- PyObject *__pyx_n_s_startswith;
- PyObject *__pyx_n_s_state;
- PyObject *__pyx_n_s_status;
- PyObject *__pyx_n_s_super;
- PyObject *__pyx_n_s_test;
- PyObject *__pyx_n_s_text;
- PyObject *__pyx_n_u_text;
- PyObject *__pyx_n_s_tg_id;
- PyObject *__pyx_n_s_throw;
- PyObject *__pyx_n_s_trial;
- PyObject *__pyx_n_s_types;
- PyObject *__pyx_kp_s_types_CallbackQuery;
- PyObject *__pyx_kp_s_types_Message;
- PyObject *__pyx_n_s_typing;
- PyObject *__pyx_n_s_update_balance;
- PyObject *__pyx_n_s_update_data;
- PyObject *__pyx_n_s_upper;
- PyObject *__pyx_n_s_url;
- PyObject *__pyx_n_s_waiting_for_payment_confirmation;
- PyObject *__pyx_n_s_web;
- PyObject *__pyx_kp_u_with_amount;
- PyObject *__pyx_kp_u_with_balance_0_0;
- PyObject *__pyx_float_0_0;
- PyObject *__pyx_int_0;
- PyObject *__pyx_int_1;
- PyObject *__pyx_int_2;
- PyObject *__pyx_int_400;
- PyObject *__pyx_int_500;
- PyObject *__pyx_tuple__11;
- PyObject *__pyx_tuple__27;
- PyObject *__pyx_tuple__32;
- PyObject *__pyx_tuple__34;
- PyObject *__pyx_tuple__35;
- PyObject *__pyx_tuple__36;
- PyObject *__pyx_tuple__37;
- PyObject *__pyx_tuple__38;
- PyObject *__pyx_tuple__40;
- PyObject *__pyx_tuple__41;
- PyObject *__pyx_codeobj__2;
- PyObject *__pyx_codeobj__7;
- PyObject *__pyx_codeobj__20;
- PyObject *__pyx_codeobj__24;
- PyObject *__pyx_codeobj__28;
- PyObject *__pyx_codeobj__33;
- PyObject *__pyx_codeobj__39;
-} __pyx_mstate;
-
-#if CYTHON_USE_MODULE_STATE
-#ifdef __cplusplus
-namespace {
- extern struct PyModuleDef __pyx_moduledef;
-} /* anonymous namespace */
-#else
-static struct PyModuleDef __pyx_moduledef;
-#endif
-
-#define __pyx_mstate(o) ((__pyx_mstate *)__Pyx_PyModule_GetState(o))
-
-#define __pyx_mstate_global (__pyx_mstate(PyState_FindModule(&__pyx_moduledef)))
-
-#define __pyx_m (PyState_FindModule(&__pyx_moduledef))
-#else
-static __pyx_mstate __pyx_mstate_global_static =
-#ifdef __cplusplus
- {};
-#else
- {0};
-#endif
-static __pyx_mstate *__pyx_mstate_global = &__pyx_mstate_global_static;
-#endif
-/* #### Code section: module_state_clear ### */
-#if CYTHON_USE_MODULE_STATE
-static int __pyx_m_clear(PyObject *m) {
- __pyx_mstate *clear_module_state = __pyx_mstate(m);
- if (!clear_module_state) return 0;
- Py_CLEAR(clear_module_state->__pyx_d);
- Py_CLEAR(clear_module_state->__pyx_b);
- Py_CLEAR(clear_module_state->__pyx_cython_runtime);
- Py_CLEAR(clear_module_state->__pyx_empty_tuple);
- Py_CLEAR(clear_module_state->__pyx_empty_bytes);
- Py_CLEAR(clear_module_state->__pyx_empty_unicode);
- #ifdef __Pyx_CyFunction_USED
- Py_CLEAR(clear_module_state->__pyx_CyFunctionType);
- #endif
- #ifdef __Pyx_FusedFunction_USED
- Py_CLEAR(clear_module_state->__pyx_FusedFunctionType);
- #endif
- Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa);
- Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa);
- Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection);
- Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection);
- Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook);
- Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook);
- Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection);
- Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection);
- Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input);
- Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input);
- Py_CLEAR(clear_module_state->__pyx_kp_u_);
- Py_CLEAR(clear_module_state->__pyx_n_s_Any);
- Py_CLEAR(clear_module_state->__pyx_kp_u_Created_new_connection_for_user);
- Py_CLEAR(clear_module_state->__pyx_kp_u_Displayed_amount_selection_for_u);
- Py_CLEAR(clear_module_state->__pyx_kp_u_Error_processing_webhook);
- Py_CLEAR(clear_module_state->__pyx_kp_u_Expected_signature);
- Py_CLEAR(clear_module_state->__pyx_n_s_F);
- Py_CLEAR(clear_module_state->__pyx_n_s_FSMContext);
- Py_CLEAR(clear_module_state->__pyx_kp_u_Generated_payment_link);
- Py_CLEAR(clear_module_state->__pyx_kp_u_Generated_payment_link_for_user);
- Py_CLEAR(clear_module_state->__pyx_kp_u_Generating_payment_link_for_amou);
- Py_CLEAR(clear_module_state->__pyx_n_s_HashAlgorithm);
- Py_CLEAR(clear_module_state->__pyx_n_s_InlineKeyboardBuilder);
- Py_CLEAR(clear_module_state->__pyx_n_s_InlineKeyboardButton);
- Py_CLEAR(clear_module_state->__pyx_n_s_InlineKeyboardMarkup);
- Py_CLEAR(clear_module_state->__pyx_n_u_InvId);
- Py_CLEAR(clear_module_state->__pyx_kp_u_InvId_2);
- Py_CLEAR(clear_module_state->__pyx_n_u_OK);
- Py_CLEAR(clear_module_state->__pyx_n_u_OutSum);
- Py_CLEAR(clear_module_state->__pyx_kp_u_OutSum_2);
- Py_CLEAR(clear_module_state->__pyx_n_s_PAYMENT_OPTIONS);
- Py_CLEAR(clear_module_state->__pyx_kp_u_Payment_URL_for_user);
- Py_CLEAR(clear_module_state->__pyx_kp_u_Payment_link_sent_to_user);
- Py_CLEAR(clear_module_state->__pyx_kp_u_Payment_successful_Balance_updat);
- Py_CLEAR(clear_module_state->__pyx_kp_u_Processing_payment_for_user);
- Py_CLEAR(clear_module_state->__pyx_n_s_ROBOKASSA_ENABLE);
- Py_CLEAR(clear_module_state->__pyx_n_s_ROBOKASSA_LOGIN);
- Py_CLEAR(clear_module_state->__pyx_n_s_ROBOKASSA_PASSWORD1);
- Py_CLEAR(clear_module_state->__pyx_n_s_ROBOKASSA_PASSWORD2);
- Py_CLEAR(clear_module_state->__pyx_n_s_ROBOKASSA_TEST_MODE);
- Py_CLEAR(clear_module_state->__pyx_kp_u_Received_signature);
- Py_CLEAR(clear_module_state->__pyx_kp_u_Received_webhook_params);
- Py_CLEAR(clear_module_state->__pyx_n_s_ReplenishBalanceState);
- Py_CLEAR(clear_module_state->__pyx_n_s_Response);
- Py_CLEAR(clear_module_state->__pyx_n_s_Robokassa);
- Py_CLEAR(clear_module_state->__pyx_kp_u_Robokassa_initialized_with_login);
- Py_CLEAR(clear_module_state->__pyx_n_s_Router);
- Py_CLEAR(clear_module_state->__pyx_n_u_SignatureValue);
- Py_CLEAR(clear_module_state->__pyx_kp_u_SignatureValue_2);
- Py_CLEAR(clear_module_state->__pyx_kp_u_Signature_string_before_hashing);
- Py_CLEAR(clear_module_state->__pyx_n_s_State);
- Py_CLEAR(clear_module_state->__pyx_n_s_StatesGroup);
- Py_CLEAR(clear_module_state->__pyx_kp_u_User);
- Py_CLEAR(clear_module_state->__pyx_n_s_ValueError);
- Py_CLEAR(clear_module_state->__pyx_kp_u__10);
- Py_CLEAR(clear_module_state->__pyx_kp_u__12);
- Py_CLEAR(clear_module_state->__pyx_kp_u__13);
- Py_CLEAR(clear_module_state->__pyx_kp_u__14);
- Py_CLEAR(clear_module_state->__pyx_kp_u__15);
- Py_CLEAR(clear_module_state->__pyx_kp_u__16);
- Py_CLEAR(clear_module_state->__pyx_n_u__17);
- Py_CLEAR(clear_module_state->__pyx_kp_u__18);
- Py_CLEAR(clear_module_state->__pyx_kp_u__19);
- Py_CLEAR(clear_module_state->__pyx_kp_u__21);
- Py_CLEAR(clear_module_state->__pyx_kp_u__22);
- Py_CLEAR(clear_module_state->__pyx_kp_u__23);
- Py_CLEAR(clear_module_state->__pyx_kp_u__25);
- Py_CLEAR(clear_module_state->__pyx_kp_u__26);
- Py_CLEAR(clear_module_state->__pyx_kp_u__29);
- Py_CLEAR(clear_module_state->__pyx_kp_u__3);
- Py_CLEAR(clear_module_state->__pyx_kp_u__30);
- Py_CLEAR(clear_module_state->__pyx_n_s__31);
- Py_CLEAR(clear_module_state->__pyx_kp_u__4);
- Py_CLEAR(clear_module_state->__pyx_n_s__42);
- Py_CLEAR(clear_module_state->__pyx_kp_u__5);
- Py_CLEAR(clear_module_state->__pyx_kp_u__6);
- Py_CLEAR(clear_module_state->__pyx_kp_u__8);
- Py_CLEAR(clear_module_state->__pyx_kp_u__9);
- Py_CLEAR(clear_module_state->__pyx_n_s_add_connection);
- Py_CLEAR(clear_module_state->__pyx_n_s_add_payment);
- Py_CLEAR(clear_module_state->__pyx_n_s_aiogram);
- Py_CLEAR(clear_module_state->__pyx_n_s_aiogram_fsm_context);
- Py_CLEAR(clear_module_state->__pyx_n_s_aiogram_fsm_state);
- Py_CLEAR(clear_module_state->__pyx_n_s_aiogram_types);
- Py_CLEAR(clear_module_state->__pyx_n_s_aiogram_utils_keyboard);
- Py_CLEAR(clear_module_state->__pyx_n_s_aiohttp);
- Py_CLEAR(clear_module_state->__pyx_n_s_algorithm);
- Py_CLEAR(clear_module_state->__pyx_n_s_amount);
- Py_CLEAR(clear_module_state->__pyx_n_u_amount);
- Py_CLEAR(clear_module_state->__pyx_n_s_amount_str);
- Py_CLEAR(clear_module_state->__pyx_n_s_answer);
- Py_CLEAR(clear_module_state->__pyx_n_s_args);
- Py_CLEAR(clear_module_state->__pyx_n_s_as_markup);
- Py_CLEAR(clear_module_state->__pyx_n_s_asyncio_coroutines);
- Py_CLEAR(clear_module_state->__pyx_n_s_await);
- Py_CLEAR(clear_module_state->__pyx_n_s_balance);
- Py_CLEAR(clear_module_state->__pyx_n_s_builder);
- Py_CLEAR(clear_module_state->__pyx_n_s_callback_data);
- Py_CLEAR(clear_module_state->__pyx_n_u_callback_data);
- Py_CLEAR(clear_module_state->__pyx_kp_u_callback_data_2);
- Py_CLEAR(clear_module_state->__pyx_kp_u_callback_data_3);
- Py_CLEAR(clear_module_state->__pyx_n_s_callback_query);
- Py_CLEAR(clear_module_state->__pyx_n_s_chat);
- Py_CLEAR(clear_module_state->__pyx_n_s_check_connection_exists);
- Py_CLEAR(clear_module_state->__pyx_n_s_check_payment_signature);
- Py_CLEAR(clear_module_state->__pyx_n_s_choosing_amount_robokassa);
- Py_CLEAR(clear_module_state->__pyx_kp_u_chose_to_enter_a_custom_amount);
- Py_CLEAR(clear_module_state->__pyx_n_s_class_getitem);
- Py_CLEAR(clear_module_state->__pyx_n_s_clear);
- Py_CLEAR(clear_module_state->__pyx_n_s_cline_in_traceback);
- Py_CLEAR(clear_module_state->__pyx_n_s_close);
- Py_CLEAR(clear_module_state->__pyx_n_s_config);
- Py_CLEAR(clear_module_state->__pyx_n_s_confirm_keyboard);
- Py_CLEAR(clear_module_state->__pyx_n_s_data);
- Py_CLEAR(clear_module_state->__pyx_n_s_database);
- Py_CLEAR(clear_module_state->__pyx_n_s_debug);
- Py_CLEAR(clear_module_state->__pyx_n_s_description);
- Py_CLEAR(clear_module_state->__pyx_kp_u_description_2);
- Py_CLEAR(clear_module_state->__pyx_n_s_dict);
- Py_CLEAR(clear_module_state->__pyx_kp_u_disable);
- Py_CLEAR(clear_module_state->__pyx_n_s_doc);
- Py_CLEAR(clear_module_state->__pyx_n_s_e);
- Py_CLEAR(clear_module_state->__pyx_kp_u_enable);
- Py_CLEAR(clear_module_state->__pyx_n_u_enter_custom_amount_robokassa);
- Py_CLEAR(clear_module_state->__pyx_kp_u_entered_custom_amount);
- Py_CLEAR(clear_module_state->__pyx_n_s_error);
- Py_CLEAR(clear_module_state->__pyx_n_s_exists);
- Py_CLEAR(clear_module_state->__pyx_n_s_expected_signature);
- Py_CLEAR(clear_module_state->__pyx_kp_u_gc);
- Py_CLEAR(clear_module_state->__pyx_n_s_generate_by_script);
- Py_CLEAR(clear_module_state->__pyx_n_s_generate_payment_link);
- Py_CLEAR(clear_module_state->__pyx_n_s_get);
- Py_CLEAR(clear_module_state->__pyx_n_s_get_key_count);
- Py_CLEAR(clear_module_state->__pyx_n_s_handle_custom_amount_input);
- Py_CLEAR(clear_module_state->__pyx_n_s_handlers_payments_robokassa_pay);
- Py_CLEAR(clear_module_state->__pyx_kp_s_handlers_payments_robokassa_pay_2);
- Py_CLEAR(clear_module_state->__pyx_n_s_handlers_payments_utils);
- Py_CLEAR(clear_module_state->__pyx_n_s_handlers_texts);
- Py_CLEAR(clear_module_state->__pyx_n_s_hashlib);
- Py_CLEAR(clear_module_state->__pyx_n_s_hexdigest);
- Py_CLEAR(clear_module_state->__pyx_n_s_i);
- Py_CLEAR(clear_module_state->__pyx_n_s_id);
- Py_CLEAR(clear_module_state->__pyx_n_s_import);
- Py_CLEAR(clear_module_state->__pyx_n_s_info);
- Py_CLEAR(clear_module_state->__pyx_n_s_init_subclass);
- Py_CLEAR(clear_module_state->__pyx_n_s_initializing);
- Py_CLEAR(clear_module_state->__pyx_kp_u_initiated_Robokassa_payment);
- Py_CLEAR(clear_module_state->__pyx_n_s_inline_keyboard);
- Py_CLEAR(clear_module_state->__pyx_n_s_inv_id);
- Py_CLEAR(clear_module_state->__pyx_kp_u_inv_id_2);
- Py_CLEAR(clear_module_state->__pyx_n_s_is_coroutine);
- Py_CLEAR(clear_module_state->__pyx_n_s_is_test);
- Py_CLEAR(clear_module_state->__pyx_kp_u_isenabled);
- Py_CLEAR(clear_module_state->__pyx_n_s_key_count);
- Py_CLEAR(clear_module_state->__pyx_n_s_link);
- Py_CLEAR(clear_module_state->__pyx_n_s_logger);
- Py_CLEAR(clear_module_state->__pyx_n_s_main);
- Py_CLEAR(clear_module_state->__pyx_n_s_md5);
- Py_CLEAR(clear_module_state->__pyx_n_s_merchant_login);
- Py_CLEAR(clear_module_state->__pyx_n_s_message);
- Py_CLEAR(clear_module_state->__pyx_n_s_metaclass);
- Py_CLEAR(clear_module_state->__pyx_n_s_module);
- Py_CLEAR(clear_module_state->__pyx_n_s_mro_entries);
- Py_CLEAR(clear_module_state->__pyx_n_s_name);
- Py_CLEAR(clear_module_state->__pyx_n_s_out_sum);
- Py_CLEAR(clear_module_state->__pyx_n_s_params);
- Py_CLEAR(clear_module_state->__pyx_n_s_password1);
- Py_CLEAR(clear_module_state->__pyx_n_s_password2);
- Py_CLEAR(clear_module_state->__pyx_n_u_pay);
- Py_CLEAR(clear_module_state->__pyx_n_u_pay_robokassa);
- Py_CLEAR(clear_module_state->__pyx_n_s_payment);
- Py_CLEAR(clear_module_state->__pyx_n_s_payment_link);
- Py_CLEAR(clear_module_state->__pyx_n_s_payment_url);
- Py_CLEAR(clear_module_state->__pyx_n_s_post);
- Py_CLEAR(clear_module_state->__pyx_n_s_prepare);
- Py_CLEAR(clear_module_state->__pyx_n_s_process_amount_selection);
- Py_CLEAR(clear_module_state->__pyx_n_s_process_callback_pay_robokassa);
- Py_CLEAR(clear_module_state->__pyx_n_s_process_custom_amount_selection);
- Py_CLEAR(clear_module_state->__pyx_n_s_qualname);
- Py_CLEAR(clear_module_state->__pyx_n_s_range);
- Py_CLEAR(clear_module_state->__pyx_n_s_reply_markup);
- Py_CLEAR(clear_module_state->__pyx_n_s_request);
- Py_CLEAR(clear_module_state->__pyx_n_s_robokassa);
- Py_CLEAR(clear_module_state->__pyx_n_u_robokassa);
- Py_CLEAR(clear_module_state->__pyx_kp_u_robokassa_amount);
- Py_CLEAR(clear_module_state->__pyx_n_s_robokassa_webhook);
- Py_CLEAR(clear_module_state->__pyx_n_s_router);
- Py_CLEAR(clear_module_state->__pyx_n_s_row);
- Py_CLEAR(clear_module_state->__pyx_kp_u_selected_amount);
- Py_CLEAR(clear_module_state->__pyx_n_s_send);
- Py_CLEAR(clear_module_state->__pyx_n_s_send_payment_success_notificatio);
- Py_CLEAR(clear_module_state->__pyx_n_s_session);
- Py_CLEAR(clear_module_state->__pyx_n_s_set_name);
- Py_CLEAR(clear_module_state->__pyx_n_s_set_state);
- Py_CLEAR(clear_module_state->__pyx_n_s_shp_id);
- Py_CLEAR(clear_module_state->__pyx_n_u_shp_id);
- Py_CLEAR(clear_module_state->__pyx_kp_u_shp_id_2);
- Py_CLEAR(clear_module_state->__pyx_kp_u_shp_id_3);
- Py_CLEAR(clear_module_state->__pyx_n_s_signature_string);
- Py_CLEAR(clear_module_state->__pyx_n_s_signature_value);
- Py_CLEAR(clear_module_state->__pyx_n_s_spec);
- Py_CLEAR(clear_module_state->__pyx_n_s_split);
- Py_CLEAR(clear_module_state->__pyx_n_s_startswith);
- Py_CLEAR(clear_module_state->__pyx_n_s_state);
- Py_CLEAR(clear_module_state->__pyx_n_s_status);
- Py_CLEAR(clear_module_state->__pyx_n_s_super);
- Py_CLEAR(clear_module_state->__pyx_n_s_test);
- Py_CLEAR(clear_module_state->__pyx_n_s_text);
- Py_CLEAR(clear_module_state->__pyx_n_u_text);
- Py_CLEAR(clear_module_state->__pyx_n_s_tg_id);
- Py_CLEAR(clear_module_state->__pyx_n_s_throw);
- Py_CLEAR(clear_module_state->__pyx_n_s_trial);
- Py_CLEAR(clear_module_state->__pyx_n_s_types);
- Py_CLEAR(clear_module_state->__pyx_kp_s_types_CallbackQuery);
- Py_CLEAR(clear_module_state->__pyx_kp_s_types_Message);
- Py_CLEAR(clear_module_state->__pyx_n_s_typing);
- Py_CLEAR(clear_module_state->__pyx_n_s_update_balance);
- Py_CLEAR(clear_module_state->__pyx_n_s_update_data);
- Py_CLEAR(clear_module_state->__pyx_n_s_upper);
- Py_CLEAR(clear_module_state->__pyx_n_s_url);
- Py_CLEAR(clear_module_state->__pyx_n_s_waiting_for_payment_confirmation);
- Py_CLEAR(clear_module_state->__pyx_n_s_web);
- Py_CLEAR(clear_module_state->__pyx_kp_u_with_amount);
- Py_CLEAR(clear_module_state->__pyx_kp_u_with_balance_0_0);
- Py_CLEAR(clear_module_state->__pyx_float_0_0);
- Py_CLEAR(clear_module_state->__pyx_int_0);
- Py_CLEAR(clear_module_state->__pyx_int_1);
- Py_CLEAR(clear_module_state->__pyx_int_2);
- Py_CLEAR(clear_module_state->__pyx_int_400);
- Py_CLEAR(clear_module_state->__pyx_int_500);
- Py_CLEAR(clear_module_state->__pyx_tuple__11);
- Py_CLEAR(clear_module_state->__pyx_tuple__27);
- Py_CLEAR(clear_module_state->__pyx_tuple__32);
- Py_CLEAR(clear_module_state->__pyx_tuple__34);
- Py_CLEAR(clear_module_state->__pyx_tuple__35);
- Py_CLEAR(clear_module_state->__pyx_tuple__36);
- Py_CLEAR(clear_module_state->__pyx_tuple__37);
- Py_CLEAR(clear_module_state->__pyx_tuple__38);
- Py_CLEAR(clear_module_state->__pyx_tuple__40);
- Py_CLEAR(clear_module_state->__pyx_tuple__41);
- Py_CLEAR(clear_module_state->__pyx_codeobj__2);
- Py_CLEAR(clear_module_state->__pyx_codeobj__7);
- Py_CLEAR(clear_module_state->__pyx_codeobj__20);
- Py_CLEAR(clear_module_state->__pyx_codeobj__24);
- Py_CLEAR(clear_module_state->__pyx_codeobj__28);
- Py_CLEAR(clear_module_state->__pyx_codeobj__33);
- Py_CLEAR(clear_module_state->__pyx_codeobj__39);
- return 0;
-}
-#endif
-/* #### Code section: module_state_traverse ### */
-#if CYTHON_USE_MODULE_STATE
-static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
- __pyx_mstate *traverse_module_state = __pyx_mstate(m);
- if (!traverse_module_state) return 0;
- Py_VISIT(traverse_module_state->__pyx_d);
- Py_VISIT(traverse_module_state->__pyx_b);
- Py_VISIT(traverse_module_state->__pyx_cython_runtime);
- Py_VISIT(traverse_module_state->__pyx_empty_tuple);
- Py_VISIT(traverse_module_state->__pyx_empty_bytes);
- Py_VISIT(traverse_module_state->__pyx_empty_unicode);
- #ifdef __Pyx_CyFunction_USED
- Py_VISIT(traverse_module_state->__pyx_CyFunctionType);
- #endif
- #ifdef __Pyx_FusedFunction_USED
- Py_VISIT(traverse_module_state->__pyx_FusedFunctionType);
- #endif
- Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa);
- Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa);
- Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection);
- Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection);
- Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook);
- Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook);
- Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection);
- Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection);
- Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input);
- Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input);
- Py_VISIT(traverse_module_state->__pyx_kp_u_);
- Py_VISIT(traverse_module_state->__pyx_n_s_Any);
- Py_VISIT(traverse_module_state->__pyx_kp_u_Created_new_connection_for_user);
- Py_VISIT(traverse_module_state->__pyx_kp_u_Displayed_amount_selection_for_u);
- Py_VISIT(traverse_module_state->__pyx_kp_u_Error_processing_webhook);
- Py_VISIT(traverse_module_state->__pyx_kp_u_Expected_signature);
- Py_VISIT(traverse_module_state->__pyx_n_s_F);
- Py_VISIT(traverse_module_state->__pyx_n_s_FSMContext);
- Py_VISIT(traverse_module_state->__pyx_kp_u_Generated_payment_link);
- Py_VISIT(traverse_module_state->__pyx_kp_u_Generated_payment_link_for_user);
- Py_VISIT(traverse_module_state->__pyx_kp_u_Generating_payment_link_for_amou);
- Py_VISIT(traverse_module_state->__pyx_n_s_HashAlgorithm);
- Py_VISIT(traverse_module_state->__pyx_n_s_InlineKeyboardBuilder);
- Py_VISIT(traverse_module_state->__pyx_n_s_InlineKeyboardButton);
- Py_VISIT(traverse_module_state->__pyx_n_s_InlineKeyboardMarkup);
- Py_VISIT(traverse_module_state->__pyx_n_u_InvId);
- Py_VISIT(traverse_module_state->__pyx_kp_u_InvId_2);
- Py_VISIT(traverse_module_state->__pyx_n_u_OK);
- Py_VISIT(traverse_module_state->__pyx_n_u_OutSum);
- Py_VISIT(traverse_module_state->__pyx_kp_u_OutSum_2);
- Py_VISIT(traverse_module_state->__pyx_n_s_PAYMENT_OPTIONS);
- Py_VISIT(traverse_module_state->__pyx_kp_u_Payment_URL_for_user);
- Py_VISIT(traverse_module_state->__pyx_kp_u_Payment_link_sent_to_user);
- Py_VISIT(traverse_module_state->__pyx_kp_u_Payment_successful_Balance_updat);
- Py_VISIT(traverse_module_state->__pyx_kp_u_Processing_payment_for_user);
- Py_VISIT(traverse_module_state->__pyx_n_s_ROBOKASSA_ENABLE);
- Py_VISIT(traverse_module_state->__pyx_n_s_ROBOKASSA_LOGIN);
- Py_VISIT(traverse_module_state->__pyx_n_s_ROBOKASSA_PASSWORD1);
- Py_VISIT(traverse_module_state->__pyx_n_s_ROBOKASSA_PASSWORD2);
- Py_VISIT(traverse_module_state->__pyx_n_s_ROBOKASSA_TEST_MODE);
- Py_VISIT(traverse_module_state->__pyx_kp_u_Received_signature);
- Py_VISIT(traverse_module_state->__pyx_kp_u_Received_webhook_params);
- Py_VISIT(traverse_module_state->__pyx_n_s_ReplenishBalanceState);
- Py_VISIT(traverse_module_state->__pyx_n_s_Response);
- Py_VISIT(traverse_module_state->__pyx_n_s_Robokassa);
- Py_VISIT(traverse_module_state->__pyx_kp_u_Robokassa_initialized_with_login);
- Py_VISIT(traverse_module_state->__pyx_n_s_Router);
- Py_VISIT(traverse_module_state->__pyx_n_u_SignatureValue);
- Py_VISIT(traverse_module_state->__pyx_kp_u_SignatureValue_2);
- Py_VISIT(traverse_module_state->__pyx_kp_u_Signature_string_before_hashing);
- Py_VISIT(traverse_module_state->__pyx_n_s_State);
- Py_VISIT(traverse_module_state->__pyx_n_s_StatesGroup);
- Py_VISIT(traverse_module_state->__pyx_kp_u_User);
- Py_VISIT(traverse_module_state->__pyx_n_s_ValueError);
- Py_VISIT(traverse_module_state->__pyx_kp_u__10);
- Py_VISIT(traverse_module_state->__pyx_kp_u__12);
- Py_VISIT(traverse_module_state->__pyx_kp_u__13);
- Py_VISIT(traverse_module_state->__pyx_kp_u__14);
- Py_VISIT(traverse_module_state->__pyx_kp_u__15);
- Py_VISIT(traverse_module_state->__pyx_kp_u__16);
- Py_VISIT(traverse_module_state->__pyx_n_u__17);
- Py_VISIT(traverse_module_state->__pyx_kp_u__18);
- Py_VISIT(traverse_module_state->__pyx_kp_u__19);
- Py_VISIT(traverse_module_state->__pyx_kp_u__21);
- Py_VISIT(traverse_module_state->__pyx_kp_u__22);
- Py_VISIT(traverse_module_state->__pyx_kp_u__23);
- Py_VISIT(traverse_module_state->__pyx_kp_u__25);
- Py_VISIT(traverse_module_state->__pyx_kp_u__26);
- Py_VISIT(traverse_module_state->__pyx_kp_u__29);
- Py_VISIT(traverse_module_state->__pyx_kp_u__3);
- Py_VISIT(traverse_module_state->__pyx_kp_u__30);
- Py_VISIT(traverse_module_state->__pyx_n_s__31);
- Py_VISIT(traverse_module_state->__pyx_kp_u__4);
- Py_VISIT(traverse_module_state->__pyx_n_s__42);
- Py_VISIT(traverse_module_state->__pyx_kp_u__5);
- Py_VISIT(traverse_module_state->__pyx_kp_u__6);
- Py_VISIT(traverse_module_state->__pyx_kp_u__8);
- Py_VISIT(traverse_module_state->__pyx_kp_u__9);
- Py_VISIT(traverse_module_state->__pyx_n_s_add_connection);
- Py_VISIT(traverse_module_state->__pyx_n_s_add_payment);
- Py_VISIT(traverse_module_state->__pyx_n_s_aiogram);
- Py_VISIT(traverse_module_state->__pyx_n_s_aiogram_fsm_context);
- Py_VISIT(traverse_module_state->__pyx_n_s_aiogram_fsm_state);
- Py_VISIT(traverse_module_state->__pyx_n_s_aiogram_types);
- Py_VISIT(traverse_module_state->__pyx_n_s_aiogram_utils_keyboard);
- Py_VISIT(traverse_module_state->__pyx_n_s_aiohttp);
- Py_VISIT(traverse_module_state->__pyx_n_s_algorithm);
- Py_VISIT(traverse_module_state->__pyx_n_s_amount);
- Py_VISIT(traverse_module_state->__pyx_n_u_amount);
- Py_VISIT(traverse_module_state->__pyx_n_s_amount_str);
- Py_VISIT(traverse_module_state->__pyx_n_s_answer);
- Py_VISIT(traverse_module_state->__pyx_n_s_args);
- Py_VISIT(traverse_module_state->__pyx_n_s_as_markup);
- Py_VISIT(traverse_module_state->__pyx_n_s_asyncio_coroutines);
- Py_VISIT(traverse_module_state->__pyx_n_s_await);
- Py_VISIT(traverse_module_state->__pyx_n_s_balance);
- Py_VISIT(traverse_module_state->__pyx_n_s_builder);
- Py_VISIT(traverse_module_state->__pyx_n_s_callback_data);
- Py_VISIT(traverse_module_state->__pyx_n_u_callback_data);
- Py_VISIT(traverse_module_state->__pyx_kp_u_callback_data_2);
- Py_VISIT(traverse_module_state->__pyx_kp_u_callback_data_3);
- Py_VISIT(traverse_module_state->__pyx_n_s_callback_query);
- Py_VISIT(traverse_module_state->__pyx_n_s_chat);
- Py_VISIT(traverse_module_state->__pyx_n_s_check_connection_exists);
- Py_VISIT(traverse_module_state->__pyx_n_s_check_payment_signature);
- Py_VISIT(traverse_module_state->__pyx_n_s_choosing_amount_robokassa);
- Py_VISIT(traverse_module_state->__pyx_kp_u_chose_to_enter_a_custom_amount);
- Py_VISIT(traverse_module_state->__pyx_n_s_class_getitem);
- Py_VISIT(traverse_module_state->__pyx_n_s_clear);
- Py_VISIT(traverse_module_state->__pyx_n_s_cline_in_traceback);
- Py_VISIT(traverse_module_state->__pyx_n_s_close);
- Py_VISIT(traverse_module_state->__pyx_n_s_config);
- Py_VISIT(traverse_module_state->__pyx_n_s_confirm_keyboard);
- Py_VISIT(traverse_module_state->__pyx_n_s_data);
- Py_VISIT(traverse_module_state->__pyx_n_s_database);
- Py_VISIT(traverse_module_state->__pyx_n_s_debug);
- Py_VISIT(traverse_module_state->__pyx_n_s_description);
- Py_VISIT(traverse_module_state->__pyx_kp_u_description_2);
- Py_VISIT(traverse_module_state->__pyx_n_s_dict);
- Py_VISIT(traverse_module_state->__pyx_kp_u_disable);
- Py_VISIT(traverse_module_state->__pyx_n_s_doc);
- Py_VISIT(traverse_module_state->__pyx_n_s_e);
- Py_VISIT(traverse_module_state->__pyx_kp_u_enable);
- Py_VISIT(traverse_module_state->__pyx_n_u_enter_custom_amount_robokassa);
- Py_VISIT(traverse_module_state->__pyx_kp_u_entered_custom_amount);
- Py_VISIT(traverse_module_state->__pyx_n_s_error);
- Py_VISIT(traverse_module_state->__pyx_n_s_exists);
- Py_VISIT(traverse_module_state->__pyx_n_s_expected_signature);
- Py_VISIT(traverse_module_state->__pyx_kp_u_gc);
- Py_VISIT(traverse_module_state->__pyx_n_s_generate_by_script);
- Py_VISIT(traverse_module_state->__pyx_n_s_generate_payment_link);
- Py_VISIT(traverse_module_state->__pyx_n_s_get);
- Py_VISIT(traverse_module_state->__pyx_n_s_get_key_count);
- Py_VISIT(traverse_module_state->__pyx_n_s_handle_custom_amount_input);
- Py_VISIT(traverse_module_state->__pyx_n_s_handlers_payments_robokassa_pay);
- Py_VISIT(traverse_module_state->__pyx_kp_s_handlers_payments_robokassa_pay_2);
- Py_VISIT(traverse_module_state->__pyx_n_s_handlers_payments_utils);
- Py_VISIT(traverse_module_state->__pyx_n_s_handlers_texts);
- Py_VISIT(traverse_module_state->__pyx_n_s_hashlib);
- Py_VISIT(traverse_module_state->__pyx_n_s_hexdigest);
- Py_VISIT(traverse_module_state->__pyx_n_s_i);
- Py_VISIT(traverse_module_state->__pyx_n_s_id);
- Py_VISIT(traverse_module_state->__pyx_n_s_import);
- Py_VISIT(traverse_module_state->__pyx_n_s_info);
- Py_VISIT(traverse_module_state->__pyx_n_s_init_subclass);
- Py_VISIT(traverse_module_state->__pyx_n_s_initializing);
- Py_VISIT(traverse_module_state->__pyx_kp_u_initiated_Robokassa_payment);
- Py_VISIT(traverse_module_state->__pyx_n_s_inline_keyboard);
- Py_VISIT(traverse_module_state->__pyx_n_s_inv_id);
- Py_VISIT(traverse_module_state->__pyx_kp_u_inv_id_2);
- Py_VISIT(traverse_module_state->__pyx_n_s_is_coroutine);
- Py_VISIT(traverse_module_state->__pyx_n_s_is_test);
- Py_VISIT(traverse_module_state->__pyx_kp_u_isenabled);
- Py_VISIT(traverse_module_state->__pyx_n_s_key_count);
- Py_VISIT(traverse_module_state->__pyx_n_s_link);
- Py_VISIT(traverse_module_state->__pyx_n_s_logger);
- Py_VISIT(traverse_module_state->__pyx_n_s_main);
- Py_VISIT(traverse_module_state->__pyx_n_s_md5);
- Py_VISIT(traverse_module_state->__pyx_n_s_merchant_login);
- Py_VISIT(traverse_module_state->__pyx_n_s_message);
- Py_VISIT(traverse_module_state->__pyx_n_s_metaclass);
- Py_VISIT(traverse_module_state->__pyx_n_s_module);
- Py_VISIT(traverse_module_state->__pyx_n_s_mro_entries);
- Py_VISIT(traverse_module_state->__pyx_n_s_name);
- Py_VISIT(traverse_module_state->__pyx_n_s_out_sum);
- Py_VISIT(traverse_module_state->__pyx_n_s_params);
- Py_VISIT(traverse_module_state->__pyx_n_s_password1);
- Py_VISIT(traverse_module_state->__pyx_n_s_password2);
- Py_VISIT(traverse_module_state->__pyx_n_u_pay);
- Py_VISIT(traverse_module_state->__pyx_n_u_pay_robokassa);
- Py_VISIT(traverse_module_state->__pyx_n_s_payment);
- Py_VISIT(traverse_module_state->__pyx_n_s_payment_link);
- Py_VISIT(traverse_module_state->__pyx_n_s_payment_url);
- Py_VISIT(traverse_module_state->__pyx_n_s_post);
- Py_VISIT(traverse_module_state->__pyx_n_s_prepare);
- Py_VISIT(traverse_module_state->__pyx_n_s_process_amount_selection);
- Py_VISIT(traverse_module_state->__pyx_n_s_process_callback_pay_robokassa);
- Py_VISIT(traverse_module_state->__pyx_n_s_process_custom_amount_selection);
- Py_VISIT(traverse_module_state->__pyx_n_s_qualname);
- Py_VISIT(traverse_module_state->__pyx_n_s_range);
- Py_VISIT(traverse_module_state->__pyx_n_s_reply_markup);
- Py_VISIT(traverse_module_state->__pyx_n_s_request);
- Py_VISIT(traverse_module_state->__pyx_n_s_robokassa);
- Py_VISIT(traverse_module_state->__pyx_n_u_robokassa);
- Py_VISIT(traverse_module_state->__pyx_kp_u_robokassa_amount);
- Py_VISIT(traverse_module_state->__pyx_n_s_robokassa_webhook);
- Py_VISIT(traverse_module_state->__pyx_n_s_router);
- Py_VISIT(traverse_module_state->__pyx_n_s_row);
- Py_VISIT(traverse_module_state->__pyx_kp_u_selected_amount);
- Py_VISIT(traverse_module_state->__pyx_n_s_send);
- Py_VISIT(traverse_module_state->__pyx_n_s_send_payment_success_notificatio);
- Py_VISIT(traverse_module_state->__pyx_n_s_session);
- Py_VISIT(traverse_module_state->__pyx_n_s_set_name);
- Py_VISIT(traverse_module_state->__pyx_n_s_set_state);
- Py_VISIT(traverse_module_state->__pyx_n_s_shp_id);
- Py_VISIT(traverse_module_state->__pyx_n_u_shp_id);
- Py_VISIT(traverse_module_state->__pyx_kp_u_shp_id_2);
- Py_VISIT(traverse_module_state->__pyx_kp_u_shp_id_3);
- Py_VISIT(traverse_module_state->__pyx_n_s_signature_string);
- Py_VISIT(traverse_module_state->__pyx_n_s_signature_value);
- Py_VISIT(traverse_module_state->__pyx_n_s_spec);
- Py_VISIT(traverse_module_state->__pyx_n_s_split);
- Py_VISIT(traverse_module_state->__pyx_n_s_startswith);
- Py_VISIT(traverse_module_state->__pyx_n_s_state);
- Py_VISIT(traverse_module_state->__pyx_n_s_status);
- Py_VISIT(traverse_module_state->__pyx_n_s_super);
- Py_VISIT(traverse_module_state->__pyx_n_s_test);
- Py_VISIT(traverse_module_state->__pyx_n_s_text);
- Py_VISIT(traverse_module_state->__pyx_n_u_text);
- Py_VISIT(traverse_module_state->__pyx_n_s_tg_id);
- Py_VISIT(traverse_module_state->__pyx_n_s_throw);
- Py_VISIT(traverse_module_state->__pyx_n_s_trial);
- Py_VISIT(traverse_module_state->__pyx_n_s_types);
- Py_VISIT(traverse_module_state->__pyx_kp_s_types_CallbackQuery);
- Py_VISIT(traverse_module_state->__pyx_kp_s_types_Message);
- Py_VISIT(traverse_module_state->__pyx_n_s_typing);
- Py_VISIT(traverse_module_state->__pyx_n_s_update_balance);
- Py_VISIT(traverse_module_state->__pyx_n_s_update_data);
- Py_VISIT(traverse_module_state->__pyx_n_s_upper);
- Py_VISIT(traverse_module_state->__pyx_n_s_url);
- Py_VISIT(traverse_module_state->__pyx_n_s_waiting_for_payment_confirmation);
- Py_VISIT(traverse_module_state->__pyx_n_s_web);
- Py_VISIT(traverse_module_state->__pyx_kp_u_with_amount);
- Py_VISIT(traverse_module_state->__pyx_kp_u_with_balance_0_0);
- Py_VISIT(traverse_module_state->__pyx_float_0_0);
- Py_VISIT(traverse_module_state->__pyx_int_0);
- Py_VISIT(traverse_module_state->__pyx_int_1);
- Py_VISIT(traverse_module_state->__pyx_int_2);
- Py_VISIT(traverse_module_state->__pyx_int_400);
- Py_VISIT(traverse_module_state->__pyx_int_500);
- Py_VISIT(traverse_module_state->__pyx_tuple__11);
- Py_VISIT(traverse_module_state->__pyx_tuple__27);
- Py_VISIT(traverse_module_state->__pyx_tuple__32);
- Py_VISIT(traverse_module_state->__pyx_tuple__34);
- Py_VISIT(traverse_module_state->__pyx_tuple__35);
- Py_VISIT(traverse_module_state->__pyx_tuple__36);
- Py_VISIT(traverse_module_state->__pyx_tuple__37);
- Py_VISIT(traverse_module_state->__pyx_tuple__38);
- Py_VISIT(traverse_module_state->__pyx_tuple__40);
- Py_VISIT(traverse_module_state->__pyx_tuple__41);
- Py_VISIT(traverse_module_state->__pyx_codeobj__2);
- Py_VISIT(traverse_module_state->__pyx_codeobj__7);
- Py_VISIT(traverse_module_state->__pyx_codeobj__20);
- Py_VISIT(traverse_module_state->__pyx_codeobj__24);
- Py_VISIT(traverse_module_state->__pyx_codeobj__28);
- Py_VISIT(traverse_module_state->__pyx_codeobj__33);
- Py_VISIT(traverse_module_state->__pyx_codeobj__39);
- return 0;
-}
-#endif
-/* #### Code section: module_state_defines ### */
-#define __pyx_d __pyx_mstate_global->__pyx_d
-#define __pyx_b __pyx_mstate_global->__pyx_b
-#define __pyx_cython_runtime __pyx_mstate_global->__pyx_cython_runtime
-#define __pyx_empty_tuple __pyx_mstate_global->__pyx_empty_tuple
-#define __pyx_empty_bytes __pyx_mstate_global->__pyx_empty_bytes
-#define __pyx_empty_unicode __pyx_mstate_global->__pyx_empty_unicode
-#ifdef __Pyx_CyFunction_USED
-#define __pyx_CyFunctionType __pyx_mstate_global->__pyx_CyFunctionType
-#endif
-#ifdef __Pyx_FusedFunction_USED
-#define __pyx_FusedFunctionType __pyx_mstate_global->__pyx_FusedFunctionType
-#endif
-#ifdef __Pyx_Generator_USED
-#define __pyx_GeneratorType __pyx_mstate_global->__pyx_GeneratorType
-#endif
-#ifdef __Pyx_IterableCoroutine_USED
-#define __pyx_IterableCoroutineType __pyx_mstate_global->__pyx_IterableCoroutineType
-#endif
-#ifdef __Pyx_Coroutine_USED
-#define __pyx_CoroutineAwaitType __pyx_mstate_global->__pyx_CoroutineAwaitType
-#endif
-#ifdef __Pyx_Coroutine_USED
-#define __pyx_CoroutineType __pyx_mstate_global->__pyx_CoroutineType
-#endif
-#if CYTHON_USE_MODULE_STATE
-#define __pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa __pyx_mstate_global->__pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa
-#define __pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection __pyx_mstate_global->__pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection
-#define __pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook __pyx_mstate_global->__pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook
-#define __pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection __pyx_mstate_global->__pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection
-#define __pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input __pyx_mstate_global->__pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input
-#endif
-#define __pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa __pyx_mstate_global->__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa
-#define __pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection __pyx_mstate_global->__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection
-#define __pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook __pyx_mstate_global->__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook
-#define __pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection __pyx_mstate_global->__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection
-#define __pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input __pyx_mstate_global->__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input
-#define __pyx_kp_u_ __pyx_mstate_global->__pyx_kp_u_
-#define __pyx_n_s_Any __pyx_mstate_global->__pyx_n_s_Any
-#define __pyx_kp_u_Created_new_connection_for_user __pyx_mstate_global->__pyx_kp_u_Created_new_connection_for_user
-#define __pyx_kp_u_Displayed_amount_selection_for_u __pyx_mstate_global->__pyx_kp_u_Displayed_amount_selection_for_u
-#define __pyx_kp_u_Error_processing_webhook __pyx_mstate_global->__pyx_kp_u_Error_processing_webhook
-#define __pyx_kp_u_Expected_signature __pyx_mstate_global->__pyx_kp_u_Expected_signature
-#define __pyx_n_s_F __pyx_mstate_global->__pyx_n_s_F
-#define __pyx_n_s_FSMContext __pyx_mstate_global->__pyx_n_s_FSMContext
-#define __pyx_kp_u_Generated_payment_link __pyx_mstate_global->__pyx_kp_u_Generated_payment_link
-#define __pyx_kp_u_Generated_payment_link_for_user __pyx_mstate_global->__pyx_kp_u_Generated_payment_link_for_user
-#define __pyx_kp_u_Generating_payment_link_for_amou __pyx_mstate_global->__pyx_kp_u_Generating_payment_link_for_amou
-#define __pyx_n_s_HashAlgorithm __pyx_mstate_global->__pyx_n_s_HashAlgorithm
-#define __pyx_n_s_InlineKeyboardBuilder __pyx_mstate_global->__pyx_n_s_InlineKeyboardBuilder
-#define __pyx_n_s_InlineKeyboardButton __pyx_mstate_global->__pyx_n_s_InlineKeyboardButton
-#define __pyx_n_s_InlineKeyboardMarkup __pyx_mstate_global->__pyx_n_s_InlineKeyboardMarkup
-#define __pyx_n_u_InvId __pyx_mstate_global->__pyx_n_u_InvId
-#define __pyx_kp_u_InvId_2 __pyx_mstate_global->__pyx_kp_u_InvId_2
-#define __pyx_n_u_OK __pyx_mstate_global->__pyx_n_u_OK
-#define __pyx_n_u_OutSum __pyx_mstate_global->__pyx_n_u_OutSum
-#define __pyx_kp_u_OutSum_2 __pyx_mstate_global->__pyx_kp_u_OutSum_2
-#define __pyx_n_s_PAYMENT_OPTIONS __pyx_mstate_global->__pyx_n_s_PAYMENT_OPTIONS
-#define __pyx_kp_u_Payment_URL_for_user __pyx_mstate_global->__pyx_kp_u_Payment_URL_for_user
-#define __pyx_kp_u_Payment_link_sent_to_user __pyx_mstate_global->__pyx_kp_u_Payment_link_sent_to_user
-#define __pyx_kp_u_Payment_successful_Balance_updat __pyx_mstate_global->__pyx_kp_u_Payment_successful_Balance_updat
-#define __pyx_kp_u_Processing_payment_for_user __pyx_mstate_global->__pyx_kp_u_Processing_payment_for_user
-#define __pyx_n_s_ROBOKASSA_ENABLE __pyx_mstate_global->__pyx_n_s_ROBOKASSA_ENABLE
-#define __pyx_n_s_ROBOKASSA_LOGIN __pyx_mstate_global->__pyx_n_s_ROBOKASSA_LOGIN
-#define __pyx_n_s_ROBOKASSA_PASSWORD1 __pyx_mstate_global->__pyx_n_s_ROBOKASSA_PASSWORD1
-#define __pyx_n_s_ROBOKASSA_PASSWORD2 __pyx_mstate_global->__pyx_n_s_ROBOKASSA_PASSWORD2
-#define __pyx_n_s_ROBOKASSA_TEST_MODE __pyx_mstate_global->__pyx_n_s_ROBOKASSA_TEST_MODE
-#define __pyx_kp_u_Received_signature __pyx_mstate_global->__pyx_kp_u_Received_signature
-#define __pyx_kp_u_Received_webhook_params __pyx_mstate_global->__pyx_kp_u_Received_webhook_params
-#define __pyx_n_s_ReplenishBalanceState __pyx_mstate_global->__pyx_n_s_ReplenishBalanceState
-#define __pyx_n_s_Response __pyx_mstate_global->__pyx_n_s_Response
-#define __pyx_n_s_Robokassa __pyx_mstate_global->__pyx_n_s_Robokassa
-#define __pyx_kp_u_Robokassa_initialized_with_login __pyx_mstate_global->__pyx_kp_u_Robokassa_initialized_with_login
-#define __pyx_n_s_Router __pyx_mstate_global->__pyx_n_s_Router
-#define __pyx_n_u_SignatureValue __pyx_mstate_global->__pyx_n_u_SignatureValue
-#define __pyx_kp_u_SignatureValue_2 __pyx_mstate_global->__pyx_kp_u_SignatureValue_2
-#define __pyx_kp_u_Signature_string_before_hashing __pyx_mstate_global->__pyx_kp_u_Signature_string_before_hashing
-#define __pyx_n_s_State __pyx_mstate_global->__pyx_n_s_State
-#define __pyx_n_s_StatesGroup __pyx_mstate_global->__pyx_n_s_StatesGroup
-#define __pyx_kp_u_User __pyx_mstate_global->__pyx_kp_u_User
-#define __pyx_n_s_ValueError __pyx_mstate_global->__pyx_n_s_ValueError
-#define __pyx_kp_u__10 __pyx_mstate_global->__pyx_kp_u__10
-#define __pyx_kp_u__12 __pyx_mstate_global->__pyx_kp_u__12
-#define __pyx_kp_u__13 __pyx_mstate_global->__pyx_kp_u__13
-#define __pyx_kp_u__14 __pyx_mstate_global->__pyx_kp_u__14
-#define __pyx_kp_u__15 __pyx_mstate_global->__pyx_kp_u__15
-#define __pyx_kp_u__16 __pyx_mstate_global->__pyx_kp_u__16
-#define __pyx_n_u__17 __pyx_mstate_global->__pyx_n_u__17
-#define __pyx_kp_u__18 __pyx_mstate_global->__pyx_kp_u__18
-#define __pyx_kp_u__19 __pyx_mstate_global->__pyx_kp_u__19
-#define __pyx_kp_u__21 __pyx_mstate_global->__pyx_kp_u__21
-#define __pyx_kp_u__22 __pyx_mstate_global->__pyx_kp_u__22
-#define __pyx_kp_u__23 __pyx_mstate_global->__pyx_kp_u__23
-#define __pyx_kp_u__25 __pyx_mstate_global->__pyx_kp_u__25
-#define __pyx_kp_u__26 __pyx_mstate_global->__pyx_kp_u__26
-#define __pyx_kp_u__29 __pyx_mstate_global->__pyx_kp_u__29
-#define __pyx_kp_u__3 __pyx_mstate_global->__pyx_kp_u__3
-#define __pyx_kp_u__30 __pyx_mstate_global->__pyx_kp_u__30
-#define __pyx_n_s__31 __pyx_mstate_global->__pyx_n_s__31
-#define __pyx_kp_u__4 __pyx_mstate_global->__pyx_kp_u__4
-#define __pyx_n_s__42 __pyx_mstate_global->__pyx_n_s__42
-#define __pyx_kp_u__5 __pyx_mstate_global->__pyx_kp_u__5
-#define __pyx_kp_u__6 __pyx_mstate_global->__pyx_kp_u__6
-#define __pyx_kp_u__8 __pyx_mstate_global->__pyx_kp_u__8
-#define __pyx_kp_u__9 __pyx_mstate_global->__pyx_kp_u__9
-#define __pyx_n_s_add_connection __pyx_mstate_global->__pyx_n_s_add_connection
-#define __pyx_n_s_add_payment __pyx_mstate_global->__pyx_n_s_add_payment
-#define __pyx_n_s_aiogram __pyx_mstate_global->__pyx_n_s_aiogram
-#define __pyx_n_s_aiogram_fsm_context __pyx_mstate_global->__pyx_n_s_aiogram_fsm_context
-#define __pyx_n_s_aiogram_fsm_state __pyx_mstate_global->__pyx_n_s_aiogram_fsm_state
-#define __pyx_n_s_aiogram_types __pyx_mstate_global->__pyx_n_s_aiogram_types
-#define __pyx_n_s_aiogram_utils_keyboard __pyx_mstate_global->__pyx_n_s_aiogram_utils_keyboard
-#define __pyx_n_s_aiohttp __pyx_mstate_global->__pyx_n_s_aiohttp
-#define __pyx_n_s_algorithm __pyx_mstate_global->__pyx_n_s_algorithm
-#define __pyx_n_s_amount __pyx_mstate_global->__pyx_n_s_amount
-#define __pyx_n_u_amount __pyx_mstate_global->__pyx_n_u_amount
-#define __pyx_n_s_amount_str __pyx_mstate_global->__pyx_n_s_amount_str
-#define __pyx_n_s_answer __pyx_mstate_global->__pyx_n_s_answer
-#define __pyx_n_s_args __pyx_mstate_global->__pyx_n_s_args
-#define __pyx_n_s_as_markup __pyx_mstate_global->__pyx_n_s_as_markup
-#define __pyx_n_s_asyncio_coroutines __pyx_mstate_global->__pyx_n_s_asyncio_coroutines
-#define __pyx_n_s_await __pyx_mstate_global->__pyx_n_s_await
-#define __pyx_n_s_balance __pyx_mstate_global->__pyx_n_s_balance
-#define __pyx_n_s_builder __pyx_mstate_global->__pyx_n_s_builder
-#define __pyx_n_s_callback_data __pyx_mstate_global->__pyx_n_s_callback_data
-#define __pyx_n_u_callback_data __pyx_mstate_global->__pyx_n_u_callback_data
-#define __pyx_kp_u_callback_data_2 __pyx_mstate_global->__pyx_kp_u_callback_data_2
-#define __pyx_kp_u_callback_data_3 __pyx_mstate_global->__pyx_kp_u_callback_data_3
-#define __pyx_n_s_callback_query __pyx_mstate_global->__pyx_n_s_callback_query
-#define __pyx_n_s_chat __pyx_mstate_global->__pyx_n_s_chat
-#define __pyx_n_s_check_connection_exists __pyx_mstate_global->__pyx_n_s_check_connection_exists
-#define __pyx_n_s_check_payment_signature __pyx_mstate_global->__pyx_n_s_check_payment_signature
-#define __pyx_n_s_choosing_amount_robokassa __pyx_mstate_global->__pyx_n_s_choosing_amount_robokassa
-#define __pyx_kp_u_chose_to_enter_a_custom_amount __pyx_mstate_global->__pyx_kp_u_chose_to_enter_a_custom_amount
-#define __pyx_n_s_class_getitem __pyx_mstate_global->__pyx_n_s_class_getitem
-#define __pyx_n_s_clear __pyx_mstate_global->__pyx_n_s_clear
-#define __pyx_n_s_cline_in_traceback __pyx_mstate_global->__pyx_n_s_cline_in_traceback
-#define __pyx_n_s_close __pyx_mstate_global->__pyx_n_s_close
-#define __pyx_n_s_config __pyx_mstate_global->__pyx_n_s_config
-#define __pyx_n_s_confirm_keyboard __pyx_mstate_global->__pyx_n_s_confirm_keyboard
-#define __pyx_n_s_data __pyx_mstate_global->__pyx_n_s_data
-#define __pyx_n_s_database __pyx_mstate_global->__pyx_n_s_database
-#define __pyx_n_s_debug __pyx_mstate_global->__pyx_n_s_debug
-#define __pyx_n_s_description __pyx_mstate_global->__pyx_n_s_description
-#define __pyx_kp_u_description_2 __pyx_mstate_global->__pyx_kp_u_description_2
-#define __pyx_n_s_dict __pyx_mstate_global->__pyx_n_s_dict
-#define __pyx_kp_u_disable __pyx_mstate_global->__pyx_kp_u_disable
-#define __pyx_n_s_doc __pyx_mstate_global->__pyx_n_s_doc
-#define __pyx_n_s_e __pyx_mstate_global->__pyx_n_s_e
-#define __pyx_kp_u_enable __pyx_mstate_global->__pyx_kp_u_enable
-#define __pyx_n_u_enter_custom_amount_robokassa __pyx_mstate_global->__pyx_n_u_enter_custom_amount_robokassa
-#define __pyx_kp_u_entered_custom_amount __pyx_mstate_global->__pyx_kp_u_entered_custom_amount
-#define __pyx_n_s_error __pyx_mstate_global->__pyx_n_s_error
-#define __pyx_n_s_exists __pyx_mstate_global->__pyx_n_s_exists
-#define __pyx_n_s_expected_signature __pyx_mstate_global->__pyx_n_s_expected_signature
-#define __pyx_kp_u_gc __pyx_mstate_global->__pyx_kp_u_gc
-#define __pyx_n_s_generate_by_script __pyx_mstate_global->__pyx_n_s_generate_by_script
-#define __pyx_n_s_generate_payment_link __pyx_mstate_global->__pyx_n_s_generate_payment_link
-#define __pyx_n_s_get __pyx_mstate_global->__pyx_n_s_get
-#define __pyx_n_s_get_key_count __pyx_mstate_global->__pyx_n_s_get_key_count
-#define __pyx_n_s_handle_custom_amount_input __pyx_mstate_global->__pyx_n_s_handle_custom_amount_input
-#define __pyx_n_s_handlers_payments_robokassa_pay __pyx_mstate_global->__pyx_n_s_handlers_payments_robokassa_pay
-#define __pyx_kp_s_handlers_payments_robokassa_pay_2 __pyx_mstate_global->__pyx_kp_s_handlers_payments_robokassa_pay_2
-#define __pyx_n_s_handlers_payments_utils __pyx_mstate_global->__pyx_n_s_handlers_payments_utils
-#define __pyx_n_s_handlers_texts __pyx_mstate_global->__pyx_n_s_handlers_texts
-#define __pyx_n_s_hashlib __pyx_mstate_global->__pyx_n_s_hashlib
-#define __pyx_n_s_hexdigest __pyx_mstate_global->__pyx_n_s_hexdigest
-#define __pyx_n_s_i __pyx_mstate_global->__pyx_n_s_i
-#define __pyx_n_s_id __pyx_mstate_global->__pyx_n_s_id
-#define __pyx_n_s_import __pyx_mstate_global->__pyx_n_s_import
-#define __pyx_n_s_info __pyx_mstate_global->__pyx_n_s_info
-#define __pyx_n_s_init_subclass __pyx_mstate_global->__pyx_n_s_init_subclass
-#define __pyx_n_s_initializing __pyx_mstate_global->__pyx_n_s_initializing
-#define __pyx_kp_u_initiated_Robokassa_payment __pyx_mstate_global->__pyx_kp_u_initiated_Robokassa_payment
-#define __pyx_n_s_inline_keyboard __pyx_mstate_global->__pyx_n_s_inline_keyboard
-#define __pyx_n_s_inv_id __pyx_mstate_global->__pyx_n_s_inv_id
-#define __pyx_kp_u_inv_id_2 __pyx_mstate_global->__pyx_kp_u_inv_id_2
-#define __pyx_n_s_is_coroutine __pyx_mstate_global->__pyx_n_s_is_coroutine
-#define __pyx_n_s_is_test __pyx_mstate_global->__pyx_n_s_is_test
-#define __pyx_kp_u_isenabled __pyx_mstate_global->__pyx_kp_u_isenabled
-#define __pyx_n_s_key_count __pyx_mstate_global->__pyx_n_s_key_count
-#define __pyx_n_s_link __pyx_mstate_global->__pyx_n_s_link
-#define __pyx_n_s_logger __pyx_mstate_global->__pyx_n_s_logger
-#define __pyx_n_s_main __pyx_mstate_global->__pyx_n_s_main
-#define __pyx_n_s_md5 __pyx_mstate_global->__pyx_n_s_md5
-#define __pyx_n_s_merchant_login __pyx_mstate_global->__pyx_n_s_merchant_login
-#define __pyx_n_s_message __pyx_mstate_global->__pyx_n_s_message
-#define __pyx_n_s_metaclass __pyx_mstate_global->__pyx_n_s_metaclass
-#define __pyx_n_s_module __pyx_mstate_global->__pyx_n_s_module
-#define __pyx_n_s_mro_entries __pyx_mstate_global->__pyx_n_s_mro_entries
-#define __pyx_n_s_name __pyx_mstate_global->__pyx_n_s_name
-#define __pyx_n_s_out_sum __pyx_mstate_global->__pyx_n_s_out_sum
-#define __pyx_n_s_params __pyx_mstate_global->__pyx_n_s_params
-#define __pyx_n_s_password1 __pyx_mstate_global->__pyx_n_s_password1
-#define __pyx_n_s_password2 __pyx_mstate_global->__pyx_n_s_password2
-#define __pyx_n_u_pay __pyx_mstate_global->__pyx_n_u_pay
-#define __pyx_n_u_pay_robokassa __pyx_mstate_global->__pyx_n_u_pay_robokassa
-#define __pyx_n_s_payment __pyx_mstate_global->__pyx_n_s_payment
-#define __pyx_n_s_payment_link __pyx_mstate_global->__pyx_n_s_payment_link
-#define __pyx_n_s_payment_url __pyx_mstate_global->__pyx_n_s_payment_url
-#define __pyx_n_s_post __pyx_mstate_global->__pyx_n_s_post
-#define __pyx_n_s_prepare __pyx_mstate_global->__pyx_n_s_prepare
-#define __pyx_n_s_process_amount_selection __pyx_mstate_global->__pyx_n_s_process_amount_selection
-#define __pyx_n_s_process_callback_pay_robokassa __pyx_mstate_global->__pyx_n_s_process_callback_pay_robokassa
-#define __pyx_n_s_process_custom_amount_selection __pyx_mstate_global->__pyx_n_s_process_custom_amount_selection
-#define __pyx_n_s_qualname __pyx_mstate_global->__pyx_n_s_qualname
-#define __pyx_n_s_range __pyx_mstate_global->__pyx_n_s_range
-#define __pyx_n_s_reply_markup __pyx_mstate_global->__pyx_n_s_reply_markup
-#define __pyx_n_s_request __pyx_mstate_global->__pyx_n_s_request
-#define __pyx_n_s_robokassa __pyx_mstate_global->__pyx_n_s_robokassa
-#define __pyx_n_u_robokassa __pyx_mstate_global->__pyx_n_u_robokassa
-#define __pyx_kp_u_robokassa_amount __pyx_mstate_global->__pyx_kp_u_robokassa_amount
-#define __pyx_n_s_robokassa_webhook __pyx_mstate_global->__pyx_n_s_robokassa_webhook
-#define __pyx_n_s_router __pyx_mstate_global->__pyx_n_s_router
-#define __pyx_n_s_row __pyx_mstate_global->__pyx_n_s_row
-#define __pyx_kp_u_selected_amount __pyx_mstate_global->__pyx_kp_u_selected_amount
-#define __pyx_n_s_send __pyx_mstate_global->__pyx_n_s_send
-#define __pyx_n_s_send_payment_success_notificatio __pyx_mstate_global->__pyx_n_s_send_payment_success_notificatio
-#define __pyx_n_s_session __pyx_mstate_global->__pyx_n_s_session
-#define __pyx_n_s_set_name __pyx_mstate_global->__pyx_n_s_set_name
-#define __pyx_n_s_set_state __pyx_mstate_global->__pyx_n_s_set_state
-#define __pyx_n_s_shp_id __pyx_mstate_global->__pyx_n_s_shp_id
-#define __pyx_n_u_shp_id __pyx_mstate_global->__pyx_n_u_shp_id
-#define __pyx_kp_u_shp_id_2 __pyx_mstate_global->__pyx_kp_u_shp_id_2
-#define __pyx_kp_u_shp_id_3 __pyx_mstate_global->__pyx_kp_u_shp_id_3
-#define __pyx_n_s_signature_string __pyx_mstate_global->__pyx_n_s_signature_string
-#define __pyx_n_s_signature_value __pyx_mstate_global->__pyx_n_s_signature_value
-#define __pyx_n_s_spec __pyx_mstate_global->__pyx_n_s_spec
-#define __pyx_n_s_split __pyx_mstate_global->__pyx_n_s_split
-#define __pyx_n_s_startswith __pyx_mstate_global->__pyx_n_s_startswith
-#define __pyx_n_s_state __pyx_mstate_global->__pyx_n_s_state
-#define __pyx_n_s_status __pyx_mstate_global->__pyx_n_s_status
-#define __pyx_n_s_super __pyx_mstate_global->__pyx_n_s_super
-#define __pyx_n_s_test __pyx_mstate_global->__pyx_n_s_test
-#define __pyx_n_s_text __pyx_mstate_global->__pyx_n_s_text
-#define __pyx_n_u_text __pyx_mstate_global->__pyx_n_u_text
-#define __pyx_n_s_tg_id __pyx_mstate_global->__pyx_n_s_tg_id
-#define __pyx_n_s_throw __pyx_mstate_global->__pyx_n_s_throw
-#define __pyx_n_s_trial __pyx_mstate_global->__pyx_n_s_trial
-#define __pyx_n_s_types __pyx_mstate_global->__pyx_n_s_types
-#define __pyx_kp_s_types_CallbackQuery __pyx_mstate_global->__pyx_kp_s_types_CallbackQuery
-#define __pyx_kp_s_types_Message __pyx_mstate_global->__pyx_kp_s_types_Message
-#define __pyx_n_s_typing __pyx_mstate_global->__pyx_n_s_typing
-#define __pyx_n_s_update_balance __pyx_mstate_global->__pyx_n_s_update_balance
-#define __pyx_n_s_update_data __pyx_mstate_global->__pyx_n_s_update_data
-#define __pyx_n_s_upper __pyx_mstate_global->__pyx_n_s_upper
-#define __pyx_n_s_url __pyx_mstate_global->__pyx_n_s_url
-#define __pyx_n_s_waiting_for_payment_confirmation __pyx_mstate_global->__pyx_n_s_waiting_for_payment_confirmation
-#define __pyx_n_s_web __pyx_mstate_global->__pyx_n_s_web
-#define __pyx_kp_u_with_amount __pyx_mstate_global->__pyx_kp_u_with_amount
-#define __pyx_kp_u_with_balance_0_0 __pyx_mstate_global->__pyx_kp_u_with_balance_0_0
-#define __pyx_float_0_0 __pyx_mstate_global->__pyx_float_0_0
-#define __pyx_int_0 __pyx_mstate_global->__pyx_int_0
-#define __pyx_int_1 __pyx_mstate_global->__pyx_int_1
-#define __pyx_int_2 __pyx_mstate_global->__pyx_int_2
-#define __pyx_int_400 __pyx_mstate_global->__pyx_int_400
-#define __pyx_int_500 __pyx_mstate_global->__pyx_int_500
-#define __pyx_tuple__11 __pyx_mstate_global->__pyx_tuple__11
-#define __pyx_tuple__27 __pyx_mstate_global->__pyx_tuple__27
-#define __pyx_tuple__32 __pyx_mstate_global->__pyx_tuple__32
-#define __pyx_tuple__34 __pyx_mstate_global->__pyx_tuple__34
-#define __pyx_tuple__35 __pyx_mstate_global->__pyx_tuple__35
-#define __pyx_tuple__36 __pyx_mstate_global->__pyx_tuple__36
-#define __pyx_tuple__37 __pyx_mstate_global->__pyx_tuple__37
-#define __pyx_tuple__38 __pyx_mstate_global->__pyx_tuple__38
-#define __pyx_tuple__40 __pyx_mstate_global->__pyx_tuple__40
-#define __pyx_tuple__41 __pyx_mstate_global->__pyx_tuple__41
-#define __pyx_codeobj__2 __pyx_mstate_global->__pyx_codeobj__2
-#define __pyx_codeobj__7 __pyx_mstate_global->__pyx_codeobj__7
-#define __pyx_codeobj__20 __pyx_mstate_global->__pyx_codeobj__20
-#define __pyx_codeobj__24 __pyx_mstate_global->__pyx_codeobj__24
-#define __pyx_codeobj__28 __pyx_mstate_global->__pyx_codeobj__28
-#define __pyx_codeobj__33 __pyx_mstate_global->__pyx_codeobj__33
-#define __pyx_codeobj__39 __pyx_mstate_global->__pyx_codeobj__39
-/* #### Code section: module_code ### */
-
-/* "handlers/payments/robokassa_pay.py":50
- *
- *
- * def generate_payment_link(amount, inv_id, description, tg_id): # <<<<<<<<<<<<<<
- * """ ."""
- * logger.debug(
- */
-
-/* Python wrapper */
-static PyObject *__pyx_pw_8handlers_8payments_13robokassa_pay_1generate_payment_link(PyObject *__pyx_self,
-#if CYTHON_METH_FASTCALL
-PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
-#else
-PyObject *__pyx_args, PyObject *__pyx_kwds
-#endif
-); /*proto*/
-PyDoc_STRVAR(__pyx_doc_8handlers_8payments_13robokassa_pay_generate_payment_link, "\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217 \321\201\321\201\321\213\320\273\320\272\320\270 \320\275\320\260 \320\276\320\277\320\273\320\260\321\202\321\203.");
-static PyMethodDef __pyx_mdef_8handlers_8payments_13robokassa_pay_1generate_payment_link = {"generate_payment_link", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_13robokassa_pay_1generate_payment_link, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8handlers_8payments_13robokassa_pay_generate_payment_link};
-static PyObject *__pyx_pw_8handlers_8payments_13robokassa_pay_1generate_payment_link(PyObject *__pyx_self,
-#if CYTHON_METH_FASTCALL
-PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
-#else
-PyObject *__pyx_args, PyObject *__pyx_kwds
-#endif
-) {
- PyObject *__pyx_v_amount = 0;
- PyObject *__pyx_v_inv_id = 0;
- PyObject *__pyx_v_description = 0;
- PyObject *__pyx_v_tg_id = 0;
- #if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED Py_ssize_t __pyx_nargs;
- #endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
- PyObject* values[4] = {0,0,0,0};
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("generate_payment_link (wrapper)", 0);
- #if !CYTHON_METH_FASTCALL
- #if CYTHON_ASSUME_SAFE_MACROS
- __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
- #else
- __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
- #endif
- #endif
- __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
- {
- PyObject **__pyx_pyargnames[] = {&__pyx_n_s_amount,&__pyx_n_s_inv_id,&__pyx_n_s_description,&__pyx_n_s_tg_id,0};
- if (__pyx_kwds) {
- Py_ssize_t kw_args;
- switch (__pyx_nargs) {
- case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
- CYTHON_FALLTHROUGH;
- case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
- CYTHON_FALLTHROUGH;
- case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
- CYTHON_FALLTHROUGH;
- case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
- CYTHON_FALLTHROUGH;
- case 0: break;
- default: goto __pyx_L5_argtuple_error;
- }
- kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
- switch (__pyx_nargs) {
- case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_amount)) != 0)) {
- (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
- kw_args--;
- }
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 50, __pyx_L3_error)
- else goto __pyx_L5_argtuple_error;
- CYTHON_FALLTHROUGH;
- case 1:
- if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_inv_id)) != 0)) {
- (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
- kw_args--;
- }
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 50, __pyx_L3_error)
- else {
- __Pyx_RaiseArgtupleInvalid("generate_payment_link", 1, 4, 4, 1); __PYX_ERR(0, 50, __pyx_L3_error)
- }
- CYTHON_FALLTHROUGH;
- case 2:
- if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_description)) != 0)) {
- (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
- kw_args--;
- }
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 50, __pyx_L3_error)
- else {
- __Pyx_RaiseArgtupleInvalid("generate_payment_link", 1, 4, 4, 2); __PYX_ERR(0, 50, __pyx_L3_error)
- }
- CYTHON_FALLTHROUGH;
- case 3:
- if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_tg_id)) != 0)) {
- (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
- kw_args--;
- }
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 50, __pyx_L3_error)
- else {
- __Pyx_RaiseArgtupleInvalid("generate_payment_link", 1, 4, 4, 3); __PYX_ERR(0, 50, __pyx_L3_error)
- }
- }
- if (unlikely(kw_args > 0)) {
- const Py_ssize_t kwd_pos_args = __pyx_nargs;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "generate_payment_link") < 0)) __PYX_ERR(0, 50, __pyx_L3_error)
- }
- } else if (unlikely(__pyx_nargs != 4)) {
- goto __pyx_L5_argtuple_error;
- } else {
- values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
- values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
- values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
- values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
- }
- __pyx_v_amount = values[0];
- __pyx_v_inv_id = values[1];
- __pyx_v_description = values[2];
- __pyx_v_tg_id = values[3];
- }
- goto __pyx_L6_skip;
- __pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("generate_payment_link", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 50, __pyx_L3_error)
- __pyx_L6_skip:;
- goto __pyx_L4_argument_unpacking_done;
- __pyx_L3_error:;
- {
- Py_ssize_t __pyx_temp;
- for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
- __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
- }
- }
- __Pyx_AddTraceback("handlers.payments.robokassa_pay.generate_payment_link", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __Pyx_RefNannyFinishContext();
- return NULL;
- __pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_8handlers_8payments_13robokassa_pay_generate_payment_link(__pyx_self, __pyx_v_amount, __pyx_v_inv_id, __pyx_v_description, __pyx_v_tg_id);
-
- /* function exit code */
- {
- Py_ssize_t __pyx_temp;
- for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
- __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
- }
- }
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static PyObject *__pyx_pf_8handlers_8payments_13robokassa_pay_generate_payment_link(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_amount, PyObject *__pyx_v_inv_id, PyObject *__pyx_v_description, PyObject *__pyx_v_tg_id) {
- PyObject *__pyx_v_payment_link = NULL;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- Py_ssize_t __pyx_t_4;
- Py_UCS4 __pyx_t_5;
- PyObject *__pyx_t_6 = NULL;
- unsigned int __pyx_t_7;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("generate_payment_link", 1);
-
- /* "handlers/payments/robokassa_pay.py":52
- * def generate_payment_link(amount, inv_id, description, tg_id):
- * """ ."""
- * logger.debug( # <<<<<<<<<<<<<<
- * f"Generating payment link for amount: {amount}, inv_id: {inv_id}, description: {description}"
- * )
- */
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 52, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_debug); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 52, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
- /* "handlers/payments/robokassa_pay.py":53
- * """ ."""
- * logger.debug(
- * f"Generating payment link for amount: {amount}, inv_id: {inv_id}, description: {description}" # <<<<<<<<<<<<<<
- * )
- * payment_link = robokassa._payment.link.generate_by_script(
- */
- __pyx_t_2 = PyTuple_New(6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 53, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = 0;
- __pyx_t_5 = 127;
- __Pyx_INCREF(__pyx_kp_u_Generating_payment_link_for_amou);
- __pyx_t_4 += 36;
- __Pyx_GIVEREF(__pyx_kp_u_Generating_payment_link_for_amou);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_u_Generating_payment_link_for_amou);
- __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_v_amount, __pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 53, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_5 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) > __pyx_t_5) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) : __pyx_t_5;
- __pyx_t_4 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6);
- __Pyx_GIVEREF(__pyx_t_6);
- PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_6);
- __pyx_t_6 = 0;
- __Pyx_INCREF(__pyx_kp_u_inv_id_2);
- __pyx_t_4 += 10;
- __Pyx_GIVEREF(__pyx_kp_u_inv_id_2);
- PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_kp_u_inv_id_2);
- __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_v_inv_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 53, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_5 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) > __pyx_t_5) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) : __pyx_t_5;
- __pyx_t_4 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6);
- __Pyx_GIVEREF(__pyx_t_6);
- PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_6);
- __pyx_t_6 = 0;
- __Pyx_INCREF(__pyx_kp_u_description_2);
- __pyx_t_4 += 15;
- __Pyx_GIVEREF(__pyx_kp_u_description_2);
- PyTuple_SET_ITEM(__pyx_t_2, 4, __pyx_kp_u_description_2);
- __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_v_description, __pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 53, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_5 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) > __pyx_t_5) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) : __pyx_t_5;
- __pyx_t_4 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6);
- __Pyx_GIVEREF(__pyx_t_6);
- PyTuple_SET_ITEM(__pyx_t_2, 5, __pyx_t_6);
- __pyx_t_6 = 0;
- __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_2, 6, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 53, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = NULL;
- __pyx_t_7 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_3))) {
- __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
- if (likely(__pyx_t_2)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
- __Pyx_INCREF(__pyx_t_2);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_3, function);
- __pyx_t_7 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
- __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 52, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- }
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
- /* "handlers/payments/robokassa_pay.py":55
- * f"Generating payment link for amount: {amount}, inv_id: {inv_id}, description: {description}"
- * )
- * payment_link = robokassa._payment.link.generate_by_script( # <<<<<<<<<<<<<<
- * out_sum=amount,
- * inv_id=inv_id,
- */
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_robokassa); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 55, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_payment); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 55, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_link); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 55, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_generate_by_script); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 55, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
- /* "handlers/payments/robokassa_pay.py":56
- * )
- * payment_link = robokassa._payment.link.generate_by_script(
- * out_sum=amount, # <<<<<<<<<<<<<<
- * inv_id=inv_id,
- * description=" ",
- */
- __pyx_t_1 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 56, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_out_sum, __pyx_v_amount) < 0) __PYX_ERR(0, 56, __pyx_L1_error)
-
- /* "handlers/payments/robokassa_pay.py":57
- * payment_link = robokassa._payment.link.generate_by_script(
- * out_sum=amount,
- * inv_id=inv_id, # <<<<<<<<<<<<<<
- * description=" ",
- * id=f"{tg_id}",
- */
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_inv_id, __pyx_v_inv_id) < 0) __PYX_ERR(0, 56, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_description, __pyx_kp_u_) < 0) __PYX_ERR(0, 56, __pyx_L1_error)
-
- /* "handlers/payments/robokassa_pay.py":59
- * inv_id=inv_id,
- * description=" ",
- * id=f"{tg_id}", # <<<<<<<<<<<<<<
- * )
- * logger.info(f"Generated payment link: {payment_link}")
- */
- __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_v_tg_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 59, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_id, __pyx_t_6) < 0) __PYX_ERR(0, 56, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-
- /* "handlers/payments/robokassa_pay.py":55
- * f"Generating payment link for amount: {amount}, inv_id: {inv_id}, description: {description}"
- * )
- * payment_link = robokassa._payment.link.generate_by_script( # <<<<<<<<<<<<<<
- * out_sum=amount,
- * inv_id=inv_id,
- */
- __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 55, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_v_payment_link = __pyx_t_6;
- __pyx_t_6 = 0;
-
- /* "handlers/payments/robokassa_pay.py":61
- * id=f"{tg_id}",
- * )
- * logger.info(f"Generated payment link: {payment_link}") # <<<<<<<<<<<<<<
- * return payment_link
- *
- */
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 61, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_info); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 61, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_v_payment_link, __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 61, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Generated_payment_link, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 61, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = NULL;
- __pyx_t_7 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_3))) {
- __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
- if (likely(__pyx_t_1)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
- __Pyx_INCREF(__pyx_t_1);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_3, function);
- __pyx_t_7 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_2};
- __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 61, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- }
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-
- /* "handlers/payments/robokassa_pay.py":62
- * )
- * logger.info(f"Generated payment link: {payment_link}")
- * return payment_link # <<<<<<<<<<<<<<
- *
- *
- */
- __Pyx_XDECREF(__pyx_r);
- __Pyx_INCREF(__pyx_v_payment_link);
- __pyx_r = __pyx_v_payment_link;
- goto __pyx_L0;
-
- /* "handlers/payments/robokassa_pay.py":50
- *
- *
- * def generate_payment_link(amount, inv_id, description, tg_id): # <<<<<<<<<<<<<<
- * """ ."""
- * logger.debug(
- */
-
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_6);
- __Pyx_AddTraceback("handlers.payments.robokassa_pay.generate_payment_link", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XDECREF(__pyx_v_payment_link);
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-static PyObject *__pyx_gb_8handlers_8payments_13robokassa_pay_4generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-
-/* "handlers/payments/robokassa_pay.py":65
- *
- *
- * @router.callback_query(F.data == "pay_robokassa") # <<<<<<<<<<<<<<
- * async def process_callback_pay_robokassa(
- * callback_query: types.CallbackQuery, state: FSMContext, session: Any
- */
-
-/* Python wrapper */
-static PyObject *__pyx_pw_8handlers_8payments_13robokassa_pay_3process_callback_pay_robokassa(PyObject *__pyx_self,
-#if CYTHON_METH_FASTCALL
-PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
-#else
-PyObject *__pyx_args, PyObject *__pyx_kwds
-#endif
-); /*proto*/
-static PyMethodDef __pyx_mdef_8handlers_8payments_13robokassa_pay_3process_callback_pay_robokassa = {"process_callback_pay_robokassa", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_13robokassa_pay_3process_callback_pay_robokassa, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
-static PyObject *__pyx_pw_8handlers_8payments_13robokassa_pay_3process_callback_pay_robokassa(PyObject *__pyx_self,
-#if CYTHON_METH_FASTCALL
-PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
-#else
-PyObject *__pyx_args, PyObject *__pyx_kwds
-#endif
-) {
- PyObject *__pyx_v_callback_query = 0;
- PyObject *__pyx_v_state = 0;
- PyObject *__pyx_v_session = 0;
- #if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED Py_ssize_t __pyx_nargs;
- #endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
- PyObject* values[3] = {0,0,0};
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("process_callback_pay_robokassa (wrapper)", 0);
- #if !CYTHON_METH_FASTCALL
- #if CYTHON_ASSUME_SAFE_MACROS
- __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
- #else
- __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
- #endif
- #endif
- __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
- {
- PyObject **__pyx_pyargnames[] = {&__pyx_n_s_callback_query,&__pyx_n_s_state,&__pyx_n_s_session,0};
- if (__pyx_kwds) {
- Py_ssize_t kw_args;
- switch (__pyx_nargs) {
- case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
- CYTHON_FALLTHROUGH;
- case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
- CYTHON_FALLTHROUGH;
- case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
- CYTHON_FALLTHROUGH;
- case 0: break;
- default: goto __pyx_L5_argtuple_error;
- }
- kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
- switch (__pyx_nargs) {
- case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_callback_query)) != 0)) {
- (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
- kw_args--;
- }
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 65, __pyx_L3_error)
- else goto __pyx_L5_argtuple_error;
- CYTHON_FALLTHROUGH;
- case 1:
- if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_state)) != 0)) {
- (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
- kw_args--;
- }
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 65, __pyx_L3_error)
- else {
- __Pyx_RaiseArgtupleInvalid("process_callback_pay_robokassa", 1, 3, 3, 1); __PYX_ERR(0, 65, __pyx_L3_error)
- }
- CYTHON_FALLTHROUGH;
- case 2:
- if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_session)) != 0)) {
- (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
- kw_args--;
- }
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 65, __pyx_L3_error)
- else {
- __Pyx_RaiseArgtupleInvalid("process_callback_pay_robokassa", 1, 3, 3, 2); __PYX_ERR(0, 65, __pyx_L3_error)
- }
- }
- if (unlikely(kw_args > 0)) {
- const Py_ssize_t kwd_pos_args = __pyx_nargs;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "process_callback_pay_robokassa") < 0)) __PYX_ERR(0, 65, __pyx_L3_error)
- }
- } else if (unlikely(__pyx_nargs != 3)) {
- goto __pyx_L5_argtuple_error;
- } else {
- values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
- values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
- values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
- }
- __pyx_v_callback_query = values[0];
- __pyx_v_state = values[1];
- __pyx_v_session = values[2];
- }
- goto __pyx_L6_skip;
- __pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("process_callback_pay_robokassa", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 65, __pyx_L3_error)
- __pyx_L6_skip:;
- goto __pyx_L4_argument_unpacking_done;
- __pyx_L3_error:;
- {
- Py_ssize_t __pyx_temp;
- for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
- __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
- }
- }
- __Pyx_AddTraceback("handlers.payments.robokassa_pay.process_callback_pay_robokassa", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __Pyx_RefNannyFinishContext();
- return NULL;
- __pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_8handlers_8payments_13robokassa_pay_2process_callback_pay_robokassa(__pyx_self, __pyx_v_callback_query, __pyx_v_state, __pyx_v_session);
-
- /* function exit code */
- {
- Py_ssize_t __pyx_temp;
- for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
- __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
- }
- }
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static PyObject *__pyx_pf_8handlers_8payments_13robokassa_pay_2process_callback_pay_robokassa(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_state, PyObject *__pyx_v_session) {
- struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa *__pyx_cur_scope;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("process_callback_pay_robokassa", 0);
- __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa *)__pyx_tp_new_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa(__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa, __pyx_empty_tuple, NULL);
- if (unlikely(!__pyx_cur_scope)) {
- __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa *)Py_None);
- __Pyx_INCREF(Py_None);
- __PYX_ERR(0, 65, __pyx_L1_error)
- } else {
- __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
- }
- __pyx_cur_scope->__pyx_v_callback_query = __pyx_v_callback_query;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_callback_query);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_callback_query);
- __pyx_cur_scope->__pyx_v_state = __pyx_v_state;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_state);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_state);
- __pyx_cur_scope->__pyx_v_session = __pyx_v_session;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_session);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_session);
- {
- __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_13robokassa_pay_4generator, __pyx_codeobj__2, (PyObject *) __pyx_cur_scope, __pyx_n_s_process_callback_pay_robokassa, __pyx_n_s_process_callback_pay_robokassa, __pyx_n_s_handlers_payments_robokassa_pay); if (unlikely(!gen)) __PYX_ERR(0, 65, __pyx_L1_error)
- __Pyx_DECREF(__pyx_cur_scope);
- __Pyx_RefNannyFinishContext();
- return (PyObject *) gen;
- }
-
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_AddTraceback("handlers.payments.robokassa_pay.process_callback_pay_robokassa", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __Pyx_DECREF((PyObject *)__pyx_cur_scope);
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static PyObject *__pyx_gb_8handlers_8payments_13robokassa_pay_4generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
-{
- struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa *)__pyx_generator->closure);
- PyObject *__pyx_r = NULL;
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- Py_ssize_t __pyx_t_4;
- Py_UCS4 __pyx_t_5;
- PyObject *__pyx_t_6 = NULL;
- unsigned int __pyx_t_7;
- PyObject *(*__pyx_t_8)(PyObject *);
- Py_ssize_t __pyx_t_9;
- int __pyx_t_10;
- PyObject *__pyx_t_11 = NULL;
- PyObject *__pyx_t_12 = NULL;
- PyObject *__pyx_t_13 = NULL;
- PyObject *__pyx_t_14 = NULL;
- PyObject *__pyx_t_15 = NULL;
- int __pyx_t_16;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("process_callback_pay_robokassa", 0);
- switch (__pyx_generator->resume_label) {
- case 0: goto __pyx_L3_first_run;
- case 1: goto __pyx_L8_resume_from_await;
- case 2: goto __pyx_L10_resume_from_await;
- case 3: goto __pyx_L12_resume_from_await;
- case 4: goto __pyx_L13_resume_from_await;
- case 5: goto __pyx_L14_resume_from_await;
- default: /* CPython raises the right error here */
- __Pyx_RefNannyFinishContext();
- return NULL;
- }
- __pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 65, __pyx_L1_error)
-
- /* "handlers/payments/robokassa_pay.py":69
- * callback_query: types.CallbackQuery, state: FSMContext, session: Any
- * ):
- * tg_id = callback_query.message.chat.id # <<<<<<<<<<<<<<
- * logger.info(f"User {tg_id} initiated Robokassa payment.")
- *
- */
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 69, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_chat); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 69, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_id); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 69, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_GIVEREF(__pyx_t_1);
- __pyx_cur_scope->__pyx_v_tg_id = __pyx_t_1;
- __pyx_t_1 = 0;
-
- /* "handlers/payments/robokassa_pay.py":70
- * ):
- * tg_id = callback_query.message.chat.id
- * logger.info(f"User {tg_id} initiated Robokassa payment.") # <<<<<<<<<<<<<<
- *
- * builder = InlineKeyboardBuilder()
- */
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 70, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_info); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 70, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 70, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = 0;
- __pyx_t_5 = 127;
- __Pyx_INCREF(__pyx_kp_u_User);
- __pyx_t_4 += 5;
- __Pyx_GIVEREF(__pyx_kp_u_User);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_u_User);
- __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_tg_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 70, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_5 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) > __pyx_t_5) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) : __pyx_t_5;
- __pyx_t_4 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6);
- __Pyx_GIVEREF(__pyx_t_6);
- PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_6);
- __pyx_t_6 = 0;
- __Pyx_INCREF(__pyx_kp_u_initiated_Robokassa_payment);
- __pyx_t_4 += 29;
- __Pyx_GIVEREF(__pyx_kp_u_initiated_Robokassa_payment);
- PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_kp_u_initiated_Robokassa_payment);
- __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_2, 3, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 70, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = NULL;
- __pyx_t_7 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_3))) {
- __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
- if (likely(__pyx_t_2)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
- __Pyx_INCREF(__pyx_t_2);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_3, function);
- __pyx_t_7 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
- __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 70, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- }
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
- /* "handlers/payments/robokassa_pay.py":72
- * logger.info(f"User {tg_id} initiated Robokassa payment.")
- *
- * builder = InlineKeyboardBuilder() # <<<<<<<<<<<<<<
- * for i in range(0, len(PAYMENT_OPTIONS), 2):
- * if i + 1 < len(PAYMENT_OPTIONS):
- */
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 72, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_6 = NULL;
- __pyx_t_7 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_3))) {
- __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3);
- if (likely(__pyx_t_6)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
- __Pyx_INCREF(__pyx_t_6);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_3, function);
- __pyx_t_7 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
- __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 72, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- }
- __Pyx_GIVEREF(__pyx_t_1);
- __pyx_cur_scope->__pyx_v_builder = __pyx_t_1;
- __pyx_t_1 = 0;
-
- /* "handlers/payments/robokassa_pay.py":73
- *
- * builder = InlineKeyboardBuilder()
- * for i in range(0, len(PAYMENT_OPTIONS), 2): # <<<<<<<<<<<<<<
- * if i + 1 < len(PAYMENT_OPTIONS):
- * builder.row(
- */
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 73, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 73, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 73, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 73, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_INCREF(__pyx_int_0);
- __Pyx_GIVEREF(__pyx_int_0);
- if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_0)) __PYX_ERR(0, 73, __pyx_L1_error);
- __Pyx_GIVEREF(__pyx_t_1);
- if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1)) __PYX_ERR(0, 73, __pyx_L1_error);
- __Pyx_INCREF(__pyx_int_2);
- __Pyx_GIVEREF(__pyx_int_2);
- if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_int_2)) __PYX_ERR(0, 73, __pyx_L1_error);
- __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 73, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
- __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3);
- __pyx_t_4 = 0;
- __pyx_t_8 = NULL;
- } else {
- __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 73, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_8 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 73, __pyx_L1_error)
- }
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- for (;;) {
- if (likely(!__pyx_t_8)) {
- if (likely(PyList_CheckExact(__pyx_t_3))) {
- {
- Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
- #if !CYTHON_ASSUME_SAFE_MACROS
- if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 73, __pyx_L1_error)
- #endif
- if (__pyx_t_4 >= __pyx_temp) break;
- }
- #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely((0 < 0))) __PYX_ERR(0, 73, __pyx_L1_error)
- #else
- __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 73, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- #endif
- } else {
- {
- Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
- #if !CYTHON_ASSUME_SAFE_MACROS
- if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 73, __pyx_L1_error)
- #endif
- if (__pyx_t_4 >= __pyx_temp) break;
- }
- #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely((0 < 0))) __PYX_ERR(0, 73, __pyx_L1_error)
- #else
- __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 73, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- #endif
- }
- } else {
- __pyx_t_1 = __pyx_t_8(__pyx_t_3);
- if (unlikely(!__pyx_t_1)) {
- PyObject* exc_type = PyErr_Occurred();
- if (exc_type) {
- if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 73, __pyx_L1_error)
- }
- break;
- }
- __Pyx_GOTREF(__pyx_t_1);
- }
- __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_i);
- __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_i, __pyx_t_1);
- __Pyx_GIVEREF(__pyx_t_1);
- __pyx_t_1 = 0;
-
- /* "handlers/payments/robokassa_pay.py":74
- * builder = InlineKeyboardBuilder()
- * for i in range(0, len(PAYMENT_OPTIONS), 2):
- * if i + 1 < len(PAYMENT_OPTIONS): # <<<<<<<<<<<<<<
- * builder.row(
- * InlineKeyboardButton(
- */
- __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_cur_scope->__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 74, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 74, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_9 = PyObject_Length(__pyx_t_6); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 74, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = PyInt_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 74, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_t_6, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 74, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 74, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__pyx_t_10) {
-
- /* "handlers/payments/robokassa_pay.py":75
- * for i in range(0, len(PAYMENT_OPTIONS), 2):
- * if i + 1 < len(PAYMENT_OPTIONS):
- * builder.row( # <<<<<<<<<<<<<<
- * InlineKeyboardButton(
- * text=PAYMENT_OPTIONS[i]["text"],
- */
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 75, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
-
- /* "handlers/payments/robokassa_pay.py":76
- * if i + 1 < len(PAYMENT_OPTIONS):
- * builder.row(
- * InlineKeyboardButton( # <<<<<<<<<<<<<<
- * text=PAYMENT_OPTIONS[i]["text"],
- * callback_data=f'robokassa_amount|{PAYMENT_OPTIONS[i]["callback_data"]}',
- */
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 76, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
-
- /* "handlers/payments/robokassa_pay.py":77
- * builder.row(
- * InlineKeyboardButton(
- * text=PAYMENT_OPTIONS[i]["text"], # <<<<<<<<<<<<<<
- * callback_data=f'robokassa_amount|{PAYMENT_OPTIONS[i]["callback_data"]}',
- * ),
- */
- __pyx_t_11 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 77, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_11);
- __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 77, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_12);
- __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_cur_scope->__pyx_v_i); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 77, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_13);
- __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
- __pyx_t_12 = __Pyx_PyObject_Dict_GetItem(__pyx_t_13, __pyx_n_u_text); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 77, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_12);
- __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
- if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_text, __pyx_t_12) < 0) __PYX_ERR(0, 77, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-
- /* "handlers/payments/robokassa_pay.py":78
- * InlineKeyboardButton(
- * text=PAYMENT_OPTIONS[i]["text"],
- * callback_data=f'robokassa_amount|{PAYMENT_OPTIONS[i]["callback_data"]}', # <<<<<<<<<<<<<<
- * ),
- * InlineKeyboardButton(
- */
- __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 78, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_12);
- __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_cur_scope->__pyx_v_i); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 78, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_13);
- __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
- __pyx_t_12 = __Pyx_PyObject_Dict_GetItem(__pyx_t_13, __pyx_n_u_callback_data); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 78, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_12);
- __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
- __pyx_t_13 = __Pyx_PyObject_FormatSimple(__pyx_t_12, __pyx_empty_unicode); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 78, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_13);
- __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
- __pyx_t_12 = __Pyx_PyUnicode_Concat(__pyx_kp_u_robokassa_amount, __pyx_t_13); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 78, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_12);
- __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
- if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_callback_data, __pyx_t_12) < 0) __PYX_ERR(0, 77, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-
- /* "handlers/payments/robokassa_pay.py":76
- * if i + 1 < len(PAYMENT_OPTIONS):
- * builder.row(
- * InlineKeyboardButton( # <<<<<<<<<<<<<<
- * text=PAYMENT_OPTIONS[i]["text"],
- * callback_data=f'robokassa_amount|{PAYMENT_OPTIONS[i]["callback_data"]}',
- */
- __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 76, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_12);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-
- /* "handlers/payments/robokassa_pay.py":80
- * callback_data=f'robokassa_amount|{PAYMENT_OPTIONS[i]["callback_data"]}',
- * ),
- * InlineKeyboardButton( # <<<<<<<<<<<<<<
- * text=PAYMENT_OPTIONS[i + 1]["text"],
- * callback_data=f'robokassa_amount|{PAYMENT_OPTIONS[i + 1]["callback_data"]}',
- */
- __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 80, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_11);
-
- /* "handlers/payments/robokassa_pay.py":81
- * ),
- * InlineKeyboardButton(
- * text=PAYMENT_OPTIONS[i + 1]["text"], # <<<<<<<<<<<<<<
- * callback_data=f'robokassa_amount|{PAYMENT_OPTIONS[i + 1]["callback_data"]}',
- * ),
- */
- __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 81, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 81, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_13);
- __pyx_t_14 = __Pyx_PyInt_AddObjC(__pyx_cur_scope->__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 81, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_14);
- __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_13, __pyx_t_14); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 81, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_15);
- __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
- __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
- __pyx_t_14 = __Pyx_PyObject_Dict_GetItem(__pyx_t_15, __pyx_n_u_text); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 81, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_14);
- __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_text, __pyx_t_14) < 0) __PYX_ERR(0, 81, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
-
- /* "handlers/payments/robokassa_pay.py":82
- * InlineKeyboardButton(
- * text=PAYMENT_OPTIONS[i + 1]["text"],
- * callback_data=f'robokassa_amount|{PAYMENT_OPTIONS[i + 1]["callback_data"]}', # <<<<<<<<<<<<<<
- * ),
- * )
- */
- __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 82, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_14);
- __pyx_t_15 = __Pyx_PyInt_AddObjC(__pyx_cur_scope->__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 82, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_15);
- __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_t_15); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 82, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_13);
- __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
- __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
- __pyx_t_15 = __Pyx_PyObject_Dict_GetItem(__pyx_t_13, __pyx_n_u_callback_data); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 82, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_15);
- __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
- __pyx_t_13 = __Pyx_PyObject_FormatSimple(__pyx_t_15, __pyx_empty_unicode); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 82, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_13);
- __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
- __pyx_t_15 = __Pyx_PyUnicode_Concat(__pyx_kp_u_robokassa_amount, __pyx_t_13); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 82, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_15);
- __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_callback_data, __pyx_t_15) < 0) __PYX_ERR(0, 81, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
-
- /* "handlers/payments/robokassa_pay.py":80
- * callback_data=f'robokassa_amount|{PAYMENT_OPTIONS[i]["callback_data"]}',
- * ),
- * InlineKeyboardButton( # <<<<<<<<<<<<<<
- * text=PAYMENT_OPTIONS[i + 1]["text"],
- * callback_data=f'robokassa_amount|{PAYMENT_OPTIONS[i + 1]["callback_data"]}',
- */
- __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 80, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_15);
- __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = NULL;
- __pyx_t_7 = 0;
- #if CYTHON_UNPACK_METHODS
- if (likely(PyMethod_Check(__pyx_t_6))) {
- __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6);
- if (likely(__pyx_t_1)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
- __Pyx_INCREF(__pyx_t_1);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_6, function);
- __pyx_t_7 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_t_12, __pyx_t_15};
- __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 2+__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
- __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 75, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- }
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
- /* "handlers/payments/robokassa_pay.py":74
- * builder = InlineKeyboardBuilder()
- * for i in range(0, len(PAYMENT_OPTIONS), 2):
- * if i + 1 < len(PAYMENT_OPTIONS): # <<<<<<<<<<<<<<
- * builder.row(
- * InlineKeyboardButton(
- */
- goto __pyx_L6;
- }
-
- /* "handlers/payments/robokassa_pay.py":86
- * )
- * else:
- * builder.row( # <<<<<<<<<<<<<<
- * InlineKeyboardButton(
- * text=PAYMENT_OPTIONS[i]["text"],
- */
- /*else*/ {
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 86, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
-
- /* "handlers/payments/robokassa_pay.py":87
- * else:
- * builder.row(
- * InlineKeyboardButton( # <<<<<<<<<<<<<<
- * text=PAYMENT_OPTIONS[i]["text"],
- * callback_data=f'robokassa_amount|{PAYMENT_OPTIONS[i]["callback_data"]}',
- */
- __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 87, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_15);
-
- /* "handlers/payments/robokassa_pay.py":88
- * builder.row(
- * InlineKeyboardButton(
- * text=PAYMENT_OPTIONS[i]["text"], # <<<<<<<<<<<<<<
- * callback_data=f'robokassa_amount|{PAYMENT_OPTIONS[i]["callback_data"]}',
- * )
- */
- __pyx_t_12 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 88, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_12);
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 88, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_11 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_cur_scope->__pyx_v_i); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 88, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_11);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_11, __pyx_n_u_text); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 88, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
- if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_text, __pyx_t_1) < 0) __PYX_ERR(0, 88, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
- /* "handlers/payments/robokassa_pay.py":89
- * InlineKeyboardButton(
- * text=PAYMENT_OPTIONS[i]["text"],
- * callback_data=f'robokassa_amount|{PAYMENT_OPTIONS[i]["callback_data"]}', # <<<<<<<<<<<<<<
- * )
- * )
- */
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 89, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_11 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_cur_scope->__pyx_v_i); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 89, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_11);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_11, __pyx_n_u_callback_data); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 89, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
- __pyx_t_11 = __Pyx_PyObject_FormatSimple(__pyx_t_1, __pyx_empty_unicode); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 89, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_11);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_robokassa_amount, __pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 89, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
- if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_callback_data, __pyx_t_1) < 0) __PYX_ERR(0, 88, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
- /* "handlers/payments/robokassa_pay.py":87
- * else:
- * builder.row(
- * InlineKeyboardButton( # <<<<<<<<<<<<<<
- * text=PAYMENT_OPTIONS[i]["text"],
- * callback_data=f'robokassa_amount|{PAYMENT_OPTIONS[i]["callback_data"]}',
- */
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_empty_tuple, __pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 87, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
- __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
- __pyx_t_12 = NULL;
- __pyx_t_7 = 0;
- #if CYTHON_UNPACK_METHODS
- if (likely(PyMethod_Check(__pyx_t_6))) {
- __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_6);
- if (likely(__pyx_t_12)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
- __Pyx_INCREF(__pyx_t_12);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_6, function);
- __pyx_t_7 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_t_1};
- __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 86, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- }
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- }
- __pyx_L6:;
-
- /* "handlers/payments/robokassa_pay.py":73
- *
- * builder = InlineKeyboardBuilder()
- * for i in range(0, len(PAYMENT_OPTIONS), 2): # <<<<<<<<<<<<<<
- * if i + 1 < len(PAYMENT_OPTIONS):
- * builder.row(
- */
- }
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
- /* "handlers/payments/robokassa_pay.py":92
- * )
- * )
- * builder.row( # <<<<<<<<<<<<<<
- * InlineKeyboardButton(
- * text=" ",
- */
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 92, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
-
- /* "handlers/payments/robokassa_pay.py":93
- * )
- * builder.row(
- * InlineKeyboardButton( # <<<<<<<<<<<<<<
- * text=" ",
- * callback_data="enter_custom_amount_robokassa",
- */
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 93, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
-
- /* "handlers/payments/robokassa_pay.py":94
- * builder.row(
- * InlineKeyboardButton(
- * text=" ", # <<<<<<<<<<<<<<
- * callback_data="enter_custom_amount_robokassa",
- * )
- */
- __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 94, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_text, __pyx_kp_u__3) < 0) __PYX_ERR(0, 94, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_callback_data, __pyx_n_u_enter_custom_amount_robokassa) < 0) __PYX_ERR(0, 94, __pyx_L1_error)
-
- /* "handlers/payments/robokassa_pay.py":93
- * )
- * builder.row(
- * InlineKeyboardButton( # <<<<<<<<<<<<<<
- * text=" ",
- * callback_data="enter_custom_amount_robokassa",
- */
- __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 93, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_12);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = NULL;
- __pyx_t_7 = 0;
- #if CYTHON_UNPACK_METHODS
- if (likely(PyMethod_Check(__pyx_t_2))) {
- __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
- if (likely(__pyx_t_1)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
- __Pyx_INCREF(__pyx_t_1);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_2, function);
- __pyx_t_7 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_12};
- __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 92, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- }
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
- /* "handlers/payments/robokassa_pay.py":98
- * )
- * )
- * builder.row(InlineKeyboardButton(text=" ", callback_data="pay")) # <<<<<<<<<<<<<<
- *
- * key_count = await get_key_count(tg_id)
- */
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 98, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 98, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_12);
- __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 98, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_text, __pyx_kp_u__4) < 0) __PYX_ERR(0, 98, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_callback_data, __pyx_n_u_pay) < 0) __PYX_ERR(0, 98, __pyx_L1_error)
- __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 98, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = NULL;
- __pyx_t_7 = 0;
- #if CYTHON_UNPACK_METHODS
- if (likely(PyMethod_Check(__pyx_t_2))) {
- __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
- if (likely(__pyx_t_1)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
- __Pyx_INCREF(__pyx_t_1);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_2, function);
- __pyx_t_7 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_6};
- __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 98, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- }
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
- /* "handlers/payments/robokassa_pay.py":100
- * builder.row(InlineKeyboardButton(text=" ", callback_data="pay"))
- *
- * key_count = await get_key_count(tg_id) # <<<<<<<<<<<<<<
- *
- * if key_count == 0:
- */
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_get_key_count); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 100, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_6 = NULL;
- __pyx_t_7 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_2))) {
- __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
- if (likely(__pyx_t_6)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
- __Pyx_INCREF(__pyx_t_6);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_2, function);
- __pyx_t_7 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_cur_scope->__pyx_v_tg_id};
- __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 100, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- }
- __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_3);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_XGOTREF(__pyx_r);
- if (likely(__pyx_r)) {
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
- /* return from generator, awaiting value */
- __pyx_generator->resume_label = 1;
- return __pyx_r;
- __pyx_L8_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 100, __pyx_L1_error)
- __pyx_t_3 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_3);
- } else {
- __pyx_t_3 = NULL;
- if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_3) < 0) __PYX_ERR(0, 100, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- }
- __Pyx_GIVEREF(__pyx_t_3);
- __pyx_cur_scope->__pyx_v_key_count = __pyx_t_3;
- __pyx_t_3 = 0;
-
- /* "handlers/payments/robokassa_pay.py":102
- * key_count = await get_key_count(tg_id)
- *
- * if key_count == 0: # <<<<<<<<<<<<<<
- * exists = await check_connection_exists(tg_id)
- * if not exists:
- */
- __pyx_t_10 = (__Pyx_PyInt_BoolEqObjC(__pyx_cur_scope->__pyx_v_key_count, __pyx_int_0, 0, 0)); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 102, __pyx_L1_error)
- if (__pyx_t_10) {
-
- /* "handlers/payments/robokassa_pay.py":103
- *
- * if key_count == 0:
- * exists = await check_connection_exists(tg_id) # <<<<<<<<<<<<<<
- * if not exists:
- * await add_connection(tg_id, balance=0.0, trial=0, session=session)
- */
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_check_connection_exists); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 103, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_6 = NULL;
- __pyx_t_7 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_2))) {
- __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
- if (likely(__pyx_t_6)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
- __Pyx_INCREF(__pyx_t_6);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_2, function);
- __pyx_t_7 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_cur_scope->__pyx_v_tg_id};
- __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 103, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- }
- __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_3);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_XGOTREF(__pyx_r);
- if (likely(__pyx_r)) {
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
- /* return from generator, awaiting value */
- __pyx_generator->resume_label = 2;
- return __pyx_r;
- __pyx_L10_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 103, __pyx_L1_error)
- __pyx_t_3 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_3);
- } else {
- __pyx_t_3 = NULL;
- if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_3) < 0) __PYX_ERR(0, 103, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- }
- __Pyx_GIVEREF(__pyx_t_3);
- __pyx_cur_scope->__pyx_v_exists = __pyx_t_3;
- __pyx_t_3 = 0;
-
- /* "handlers/payments/robokassa_pay.py":104
- * if key_count == 0:
- * exists = await check_connection_exists(tg_id)
- * if not exists: # <<<<<<<<<<<<<<
- * await add_connection(tg_id, balance=0.0, trial=0, session=session)
- * logger.info(f"Created new connection for user {tg_id} with balance 0.0.")
- */
- __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_exists); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 104, __pyx_L1_error)
- __pyx_t_16 = (!__pyx_t_10);
- if (__pyx_t_16) {
-
- /* "handlers/payments/robokassa_pay.py":105
- * exists = await check_connection_exists(tg_id)
- * if not exists:
- * await add_connection(tg_id, balance=0.0, trial=0, session=session) # <<<<<<<<<<<<<<
- * logger.info(f"Created new connection for user {tg_id} with balance 0.0.")
- *
- */
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_add_connection); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 105, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 105, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_tg_id);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_tg_id);
- if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_cur_scope->__pyx_v_tg_id)) __PYX_ERR(0, 105, __pyx_L1_error);
- __pyx_t_6 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 105, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_balance, __pyx_float_0_0) < 0) __PYX_ERR(0, 105, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_trial, __pyx_int_0) < 0) __PYX_ERR(0, 105, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_session, __pyx_cur_scope->__pyx_v_session) < 0) __PYX_ERR(0, 105, __pyx_L1_error)
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 105, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_XGOTREF(__pyx_r);
- if (likely(__pyx_r)) {
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
- /* return from generator, awaiting value */
- __pyx_generator->resume_label = 3;
- return __pyx_r;
- __pyx_L12_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 105, __pyx_L1_error)
- } else {
- PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 105, __pyx_L1_error)
- }
- }
-
- /* "handlers/payments/robokassa_pay.py":106
- * if not exists:
- * await add_connection(tg_id, balance=0.0, trial=0, session=session)
- * logger.info(f"Created new connection for user {tg_id} with balance 0.0.") # <<<<<<<<<<<<<<
- *
- * await callback_query.message.answer(
- */
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_logger); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 106, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_info); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 106, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 106, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_4 = 0;
- __pyx_t_5 = 127;
- __Pyx_INCREF(__pyx_kp_u_Created_new_connection_for_user);
- __pyx_t_4 += 32;
- __Pyx_GIVEREF(__pyx_kp_u_Created_new_connection_for_user);
- PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_kp_u_Created_new_connection_for_user);
- __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_tg_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 106, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_5 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) > __pyx_t_5) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) : __pyx_t_5;
- __pyx_t_4 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3);
- __Pyx_GIVEREF(__pyx_t_3);
- PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_3);
- __pyx_t_3 = 0;
- __Pyx_INCREF(__pyx_kp_u_with_balance_0_0);
- __pyx_t_4 += 18;
- __Pyx_GIVEREF(__pyx_kp_u_with_balance_0_0);
- PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_kp_u_with_balance_0_0);
- __pyx_t_3 = __Pyx_PyUnicode_Join(__pyx_t_6, 3, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 106, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = NULL;
- __pyx_t_7 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_2))) {
- __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
- if (likely(__pyx_t_6)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
- __Pyx_INCREF(__pyx_t_6);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_2, function);
- __pyx_t_7 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_3};
- __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 106, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- }
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
- /* "handlers/payments/robokassa_pay.py":104
- * if key_count == 0:
- * exists = await check_connection_exists(tg_id)
- * if not exists: # <<<<<<<<<<<<<<
- * await add_connection(tg_id, balance=0.0, trial=0, session=session)
- * logger.info(f"Created new connection for user {tg_id} with balance 0.0.")
- */
- }
-
- /* "handlers/payments/robokassa_pay.py":102
- * key_count = await get_key_count(tg_id)
- *
- * if key_count == 0: # <<<<<<<<<<<<<<
- * exists = await check_connection_exists(tg_id)
- * if not exists:
- */
- }
-
- /* "handlers/payments/robokassa_pay.py":108
- * logger.info(f"Created new connection for user {tg_id} with balance 0.0.")
- *
- * await callback_query.message.answer( # <<<<<<<<<<<<<<
- * text=" :",
- * reply_markup=builder.as_markup(),
- */
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 108, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_answer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 108, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
- /* "handlers/payments/robokassa_pay.py":109
- *
- * await callback_query.message.answer(
- * text=" :", # <<<<<<<<<<<<<<
- * reply_markup=builder.as_markup(),
- * )
- */
- __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 109, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_text, __pyx_kp_u__5) < 0) __PYX_ERR(0, 109, __pyx_L1_error)
-
- /* "handlers/payments/robokassa_pay.py":110
- * await callback_query.message.answer(
- * text=" :",
- * reply_markup=builder.as_markup(), # <<<<<<<<<<<<<<
- * )
- * await state.set_state(ReplenishBalanceState.choosing_amount_robokassa)
- */
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 110, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_12 = NULL;
- __pyx_t_7 = 0;
- #if CYTHON_UNPACK_METHODS
- if (likely(PyMethod_Check(__pyx_t_6))) {
- __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_6);
- if (likely(__pyx_t_12)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
- __Pyx_INCREF(__pyx_t_12);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_6, function);
- __pyx_t_7 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_12, NULL};
- __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 110, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- }
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_reply_markup, __pyx_t_3) < 0) __PYX_ERR(0, 109, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
- /* "handlers/payments/robokassa_pay.py":108
- * logger.info(f"Created new connection for user {tg_id} with balance 0.0.")
- *
- * await callback_query.message.answer( # <<<<<<<<<<<<<<
- * text=" :",
- * reply_markup=builder.as_markup(),
- */
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 108, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_3);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_XGOTREF(__pyx_r);
- if (likely(__pyx_r)) {
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
- /* return from generator, awaiting value */
- __pyx_generator->resume_label = 4;
- return __pyx_r;
- __pyx_L13_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 108, __pyx_L1_error)
- } else {
- PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 108, __pyx_L1_error)
- }
- }
-
- /* "handlers/payments/robokassa_pay.py":112
- * reply_markup=builder.as_markup(),
- * )
- * await state.set_state(ReplenishBalanceState.choosing_amount_robokassa) # <<<<<<<<<<<<<<
- * logger.info(f"Displayed amount selection for user {tg_id}.")
- *
- */
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_set_state); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 112, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_ReplenishBalanceState); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 112, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_choosing_amount_robokassa); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 112, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = NULL;
- __pyx_t_7 = 0;
- #if CYTHON_UNPACK_METHODS
- if (likely(PyMethod_Check(__pyx_t_1))) {
- __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
- if (likely(__pyx_t_2)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
- __Pyx_INCREF(__pyx_t_2);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_1, function);
- __pyx_t_7 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
- __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 112, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- }
- __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_3);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_XGOTREF(__pyx_r);
- if (likely(__pyx_r)) {
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
- /* return from generator, awaiting value */
- __pyx_generator->resume_label = 5;
- return __pyx_r;
- __pyx_L14_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 112, __pyx_L1_error)
- } else {
- PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 112, __pyx_L1_error)
- }
- }
-
- /* "handlers/payments/robokassa_pay.py":113
- * )
- * await state.set_state(ReplenishBalanceState.choosing_amount_robokassa)
- * logger.info(f"Displayed amount selection for user {tg_id}.") # <<<<<<<<<<<<<<
- *
- *
- */
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 113, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_info); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 113, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 113, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = 0;
- __pyx_t_5 = 127;
- __Pyx_INCREF(__pyx_kp_u_Displayed_amount_selection_for_u);
- __pyx_t_4 += 36;
- __Pyx_GIVEREF(__pyx_kp_u_Displayed_amount_selection_for_u);
- PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_kp_u_Displayed_amount_selection_for_u);
- __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_tg_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 113, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_5 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) > __pyx_t_5) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) : __pyx_t_5;
- __pyx_t_4 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_2);
- __pyx_t_2 = 0;
- __Pyx_INCREF(__pyx_kp_u__6);
- __pyx_t_4 += 1;
- __Pyx_GIVEREF(__pyx_kp_u__6);
- PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_kp_u__6);
- __pyx_t_2 = __Pyx_PyUnicode_Join(__pyx_t_1, 3, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 113, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = NULL;
- __pyx_t_7 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_6))) {
- __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6);
- if (likely(__pyx_t_1)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
- __Pyx_INCREF(__pyx_t_1);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_6, function);
- __pyx_t_7 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_2};
- __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 113, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- }
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
-
- /* "handlers/payments/robokassa_pay.py":65
- *
- *
- * @router.callback_query(F.data == "pay_robokassa") # <<<<<<<<<<<<<<
- * async def process_callback_pay_robokassa(
- * callback_query: types.CallbackQuery, state: FSMContext, session: Any
- */
-
- /* function exit code */
- PyErr_SetNone(PyExc_StopIteration);
- goto __pyx_L0;
- __pyx_L1_error:;
- __Pyx_Generator_Replace_StopIteration(0);
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_6);
- __Pyx_XDECREF(__pyx_t_11);
- __Pyx_XDECREF(__pyx_t_12);
- __Pyx_XDECREF(__pyx_t_13);
- __Pyx_XDECREF(__pyx_t_14);
- __Pyx_XDECREF(__pyx_t_15);
- __Pyx_AddTraceback("process_callback_pay_robokassa", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_L0:;
- __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
- #if !CYTHON_USE_EXC_INFO_STACK
- __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
- #endif
- __pyx_generator->resume_label = -1;
- __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-static PyObject *__pyx_gb_8handlers_8payments_13robokassa_pay_7generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-
-/* "handlers/payments/robokassa_pay.py":116
- *
- *
- * @router.callback_query(F.data.startswith("robokassa_amount|")) # <<<<<<<<<<<<<<
- * async def process_amount_selection(
- * callback_query: types.CallbackQuery, state: FSMContext
- */
-
-/* Python wrapper */
-static PyObject *__pyx_pw_8handlers_8payments_13robokassa_pay_6process_amount_selection(PyObject *__pyx_self,
-#if CYTHON_METH_FASTCALL
-PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
-#else
-PyObject *__pyx_args, PyObject *__pyx_kwds
-#endif
-); /*proto*/
-static PyMethodDef __pyx_mdef_8handlers_8payments_13robokassa_pay_6process_amount_selection = {"process_amount_selection", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_13robokassa_pay_6process_amount_selection, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
-static PyObject *__pyx_pw_8handlers_8payments_13robokassa_pay_6process_amount_selection(PyObject *__pyx_self,
-#if CYTHON_METH_FASTCALL
-PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
-#else
-PyObject *__pyx_args, PyObject *__pyx_kwds
-#endif
-) {
- PyObject *__pyx_v_callback_query = 0;
- PyObject *__pyx_v_state = 0;
- #if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED Py_ssize_t __pyx_nargs;
- #endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
- PyObject* values[2] = {0,0};
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("process_amount_selection (wrapper)", 0);
- #if !CYTHON_METH_FASTCALL
- #if CYTHON_ASSUME_SAFE_MACROS
- __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
- #else
- __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
- #endif
- #endif
- __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
- {
- PyObject **__pyx_pyargnames[] = {&__pyx_n_s_callback_query,&__pyx_n_s_state,0};
- if (__pyx_kwds) {
- Py_ssize_t kw_args;
- switch (__pyx_nargs) {
- case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
- CYTHON_FALLTHROUGH;
- case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
- CYTHON_FALLTHROUGH;
- case 0: break;
- default: goto __pyx_L5_argtuple_error;
- }
- kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
- switch (__pyx_nargs) {
- case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_callback_query)) != 0)) {
- (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
- kw_args--;
- }
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 116, __pyx_L3_error)
- else goto __pyx_L5_argtuple_error;
- CYTHON_FALLTHROUGH;
- case 1:
- if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_state)) != 0)) {
- (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
- kw_args--;
- }
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 116, __pyx_L3_error)
- else {
- __Pyx_RaiseArgtupleInvalid("process_amount_selection", 1, 2, 2, 1); __PYX_ERR(0, 116, __pyx_L3_error)
- }
- }
- if (unlikely(kw_args > 0)) {
- const Py_ssize_t kwd_pos_args = __pyx_nargs;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "process_amount_selection") < 0)) __PYX_ERR(0, 116, __pyx_L3_error)
- }
- } else if (unlikely(__pyx_nargs != 2)) {
- goto __pyx_L5_argtuple_error;
- } else {
- values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
- values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
- }
- __pyx_v_callback_query = values[0];
- __pyx_v_state = values[1];
- }
- goto __pyx_L6_skip;
- __pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("process_amount_selection", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 116, __pyx_L3_error)
- __pyx_L6_skip:;
- goto __pyx_L4_argument_unpacking_done;
- __pyx_L3_error:;
- {
- Py_ssize_t __pyx_temp;
- for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
- __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
- }
- }
- __Pyx_AddTraceback("handlers.payments.robokassa_pay.process_amount_selection", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __Pyx_RefNannyFinishContext();
- return NULL;
- __pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_8handlers_8payments_13robokassa_pay_5process_amount_selection(__pyx_self, __pyx_v_callback_query, __pyx_v_state);
-
- /* function exit code */
- {
- Py_ssize_t __pyx_temp;
- for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
- __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
- }
- }
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static PyObject *__pyx_pf_8handlers_8payments_13robokassa_pay_5process_amount_selection(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_state) {
- struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection *__pyx_cur_scope;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("process_amount_selection", 0);
- __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection *)__pyx_tp_new_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection(__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection, __pyx_empty_tuple, NULL);
- if (unlikely(!__pyx_cur_scope)) {
- __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection *)Py_None);
- __Pyx_INCREF(Py_None);
- __PYX_ERR(0, 116, __pyx_L1_error)
- } else {
- __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
- }
- __pyx_cur_scope->__pyx_v_callback_query = __pyx_v_callback_query;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_callback_query);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_callback_query);
- __pyx_cur_scope->__pyx_v_state = __pyx_v_state;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_state);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_state);
- {
- __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_13robokassa_pay_7generator1, __pyx_codeobj__7, (PyObject *) __pyx_cur_scope, __pyx_n_s_process_amount_selection, __pyx_n_s_process_amount_selection, __pyx_n_s_handlers_payments_robokassa_pay); if (unlikely(!gen)) __PYX_ERR(0, 116, __pyx_L1_error)
- __Pyx_DECREF(__pyx_cur_scope);
- __Pyx_RefNannyFinishContext();
- return (PyObject *) gen;
- }
-
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_AddTraceback("handlers.payments.robokassa_pay.process_amount_selection", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __Pyx_DECREF((PyObject *)__pyx_cur_scope);
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static PyObject *__pyx_gb_8handlers_8payments_13robokassa_pay_7generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
-{
- struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection *)__pyx_generator->closure);
- PyObject *__pyx_r = NULL;
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- PyObject *__pyx_t_4 = NULL;
- unsigned int __pyx_t_5;
- int __pyx_t_6;
- Py_ssize_t __pyx_t_7;
- int __pyx_t_8;
- PyObject *__pyx_t_9 = NULL;
- PyObject *__pyx_t_10 = NULL;
- PyObject *__pyx_t_11 = NULL;
- int __pyx_t_12;
- PyObject *__pyx_t_13 = NULL;
- PyObject *__pyx_t_14 = NULL;
- Py_UCS4 __pyx_t_15;
- PyObject *__pyx_t_16 = NULL;
- int __pyx_t_17;
- char const *__pyx_t_18;
- PyObject *__pyx_t_19 = NULL;
- PyObject *__pyx_t_20 = NULL;
- PyObject *__pyx_t_21 = NULL;
- PyObject *__pyx_t_22 = NULL;
- PyObject *__pyx_t_23 = NULL;
- PyObject *__pyx_t_24 = NULL;
- PyObject *__pyx_t_25 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("process_amount_selection", 0);
- switch (__pyx_generator->resume_label) {
- case 0: goto __pyx_L3_first_run;
- case 1: goto __pyx_L7_resume_from_await;
- case 2: goto __pyx_L22_resume_from_await;
- case 3: goto __pyx_L27_resume_from_await;
- case 4: goto __pyx_L28_resume_from_await;
- default: /* CPython raises the right error here */
- __Pyx_RefNannyFinishContext();
- return NULL;
- }
- __pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 116, __pyx_L1_error)
-
- /* "handlers/payments/robokassa_pay.py":120
- * callback_query: types.CallbackQuery, state: FSMContext
- * ):
- * logger.info(f" callback_data: {callback_query.data}") # <<<<<<<<<<<<<<
- *
- * data = callback_query.data.split("|")
- */
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 120, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_info); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 120, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 120, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_t_2, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 120, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_callback_data_2, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 120, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = NULL;
- __pyx_t_5 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_3))) {
- __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
- if (likely(__pyx_t_4)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
- __Pyx_INCREF(__pyx_t_4);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_3, function);
- __pyx_t_5 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_2};
- __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
- __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 120, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- }
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
- /* "handlers/payments/robokassa_pay.py":122
- * logger.info(f" callback_data: {callback_query.data}")
- *
- * data = callback_query.data.split("|") # <<<<<<<<<<<<<<
- * if len(data) != 3 or data[1] != "amount":
- * logger.error(": callback_data .")
- */
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_data); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 122, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 122, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = NULL;
- __pyx_t_5 = 0;
- #if CYTHON_UNPACK_METHODS
- if (likely(PyMethod_Check(__pyx_t_2))) {
- __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
- if (likely(__pyx_t_3)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
- __Pyx_INCREF(__pyx_t_3);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_2, function);
- __pyx_t_5 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_kp_u__8};
- __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
- __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 122, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- }
- __Pyx_GIVEREF(__pyx_t_1);
- __pyx_cur_scope->__pyx_v_data = __pyx_t_1;
- __pyx_t_1 = 0;
-
- /* "handlers/payments/robokassa_pay.py":123
- *
- * data = callback_query.data.split("|")
- * if len(data) != 3 or data[1] != "amount": # <<<<<<<<<<<<<<
- * logger.error(": callback_data .")
- * await callback_query.message.answer(": .")
- */
- __pyx_t_7 = PyObject_Length(__pyx_cur_scope->__pyx_v_data); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 123, __pyx_L1_error)
- __pyx_t_8 = (__pyx_t_7 != 3);
- if (!__pyx_t_8) {
- } else {
- __pyx_t_6 = __pyx_t_8;
- goto __pyx_L5_bool_binop_done;
- }
- __pyx_t_1 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_data, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 123, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_8 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_n_u_amount, Py_NE)); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 123, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_6 = __pyx_t_8;
- __pyx_L5_bool_binop_done:;
- if (__pyx_t_6) {
-
- /* "handlers/payments/robokassa_pay.py":124
- * data = callback_query.data.split("|")
- * if len(data) != 3 or data[1] != "amount":
- * logger.error(": callback_data .") # <<<<<<<<<<<<<<
- * await callback_query.message.answer(": .")
- * return
- */
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 124, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 124, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = NULL;
- __pyx_t_5 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_3))) {
- __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
- if (likely(__pyx_t_2)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
- __Pyx_INCREF(__pyx_t_2);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_3, function);
- __pyx_t_5 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_kp_u_callback_data_3};
- __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 124, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- }
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
- /* "handlers/payments/robokassa_pay.py":125
- * if len(data) != 3 or data[1] != "amount":
- * logger.error(": callback_data .")
- * await callback_query.message.answer(": .") # <<<<<<<<<<<<<<
- * return
- *
- */
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 125, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_answer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 125, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = NULL;
- __pyx_t_5 = 0;
- #if CYTHON_UNPACK_METHODS
- if (likely(PyMethod_Check(__pyx_t_2))) {
- __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
- if (likely(__pyx_t_3)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
- __Pyx_INCREF(__pyx_t_3);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_2, function);
- __pyx_t_5 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_kp_u__9};
- __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
- __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 125, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- }
- __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_XGOTREF(__pyx_r);
- if (likely(__pyx_r)) {
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
- /* return from generator, awaiting value */
- __pyx_generator->resume_label = 1;
- return __pyx_r;
- __pyx_L7_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 125, __pyx_L1_error)
- } else {
- PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 125, __pyx_L1_error)
- }
- }
-
- /* "handlers/payments/robokassa_pay.py":126
- * logger.error(": callback_data .")
- * await callback_query.message.answer(": .")
- * return # <<<<<<<<<<<<<<
- *
- * amount_str = data[2]
- */
- __Pyx_XDECREF(__pyx_r);
- __pyx_r = NULL;
- goto __pyx_L0;
-
- /* "handlers/payments/robokassa_pay.py":123
- *
- * data = callback_query.data.split("|")
- * if len(data) != 3 or data[1] != "amount": # <<<<<<<<<<<<<<
- * logger.error(": callback_data .")
- * await callback_query.message.answer(": .")
- */
- }
-
- /* "handlers/payments/robokassa_pay.py":128
- * return
- *
- * amount_str = data[2] # <<<<<<<<<<<<<<
- * try:
- * amount = int(amount_str)
- */
- __pyx_t_1 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_data, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 128, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_GIVEREF(__pyx_t_1);
- __pyx_cur_scope->__pyx_v_amount_str = __pyx_t_1;
- __pyx_t_1 = 0;
-
- /* "handlers/payments/robokassa_pay.py":129
- *
- * amount_str = data[2]
- * try: # <<<<<<<<<<<<<<
- * amount = int(amount_str)
- * if amount <= 0:
- */
- {
- __Pyx_ExceptionSave(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11);
- __Pyx_XGOTREF(__pyx_t_9);
- __Pyx_XGOTREF(__pyx_t_10);
- __Pyx_XGOTREF(__pyx_t_11);
- /*try:*/ {
-
- /* "handlers/payments/robokassa_pay.py":130
- * amount_str = data[2]
- * try:
- * amount = int(amount_str) # <<<<<<<<<<<<<<
- * if amount <= 0:
- * raise ValueError(" .")
- */
- __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_amount_str); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 130, __pyx_L8_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_GIVEREF(__pyx_t_1);
- __pyx_cur_scope->__pyx_v_amount = __pyx_t_1;
- __pyx_t_1 = 0;
-
- /* "handlers/payments/robokassa_pay.py":131
- * try:
- * amount = int(amount_str)
- * if amount <= 0: # <<<<<<<<<<<<<<
- * raise ValueError(" .")
- * except ValueError as e:
- */
- __pyx_t_1 = PyObject_RichCompare(__pyx_cur_scope->__pyx_v_amount, __pyx_int_0, Py_LE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 131, __pyx_L8_error)
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 131, __pyx_L8_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(__pyx_t_6)) {
-
- /* "handlers/payments/robokassa_pay.py":132
- * amount = int(amount_str)
- * if amount <= 0:
- * raise ValueError(" .") # <<<<<<<<<<<<<<
- * except ValueError as e:
- * logger.error(f" : {amount_str}. : {e}")
- */
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 132, __pyx_L8_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_Raise(__pyx_t_1, 0, 0, 0);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(0, 132, __pyx_L8_error)
-
- /* "handlers/payments/robokassa_pay.py":131
- * try:
- * amount = int(amount_str)
- * if amount <= 0: # <<<<<<<<<<<<<<
- * raise ValueError(" .")
- * except ValueError as e:
- */
- }
-
- /* "handlers/payments/robokassa_pay.py":129
- *
- * amount_str = data[2]
- * try: # <<<<<<<<<<<<<<
- * amount = int(amount_str)
- * if amount <= 0:
- */
- }
- __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
- __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
- goto __pyx_L13_try_end;
- __pyx_L8_error:;
- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-
- /* "handlers/payments/robokassa_pay.py":133
- * if amount <= 0:
- * raise ValueError(" .")
- * except ValueError as e: # <<<<<<<<<<<<<<
- * logger.error(f" : {amount_str}. : {e}")
- * await callback_query.message.answer(" .")
- */
- __pyx_t_12 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
- if (__pyx_t_12) {
- __Pyx_AddTraceback("handlers.payments.robokassa_pay.process_amount_selection", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3) < 0) __PYX_ERR(0, 133, __pyx_L10_except_error)
- __Pyx_XGOTREF(__pyx_t_1);
- __Pyx_XGOTREF(__pyx_t_2);
- __Pyx_XGOTREF(__pyx_t_3);
- __Pyx_INCREF(__pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_cur_scope->__pyx_v_e = __pyx_t_2;
- /*try:*/ {
-
- /* "handlers/payments/robokassa_pay.py":134
- * raise ValueError(" .")
- * except ValueError as e:
- * logger.error(f" : {amount_str}. : {e}") # <<<<<<<<<<<<<<
- * await callback_query.message.answer(" .")
- * return
- */
- __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_logger); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 134, __pyx_L20_error)
- __Pyx_GOTREF(__pyx_t_13);
- __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_error); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 134, __pyx_L20_error)
- __Pyx_GOTREF(__pyx_t_14);
- __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
- __pyx_t_13 = PyTuple_New(4); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 134, __pyx_L20_error)
- __Pyx_GOTREF(__pyx_t_13);
- __pyx_t_7 = 0;
- __pyx_t_15 = 127;
- __Pyx_INCREF(__pyx_kp_u__12);
- __pyx_t_15 = (65535 > __pyx_t_15) ? 65535 : __pyx_t_15;
- __pyx_t_7 += 29;
- __Pyx_GIVEREF(__pyx_kp_u__12);
- PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_kp_u__12);
- __pyx_t_16 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_amount_str, __pyx_empty_unicode); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 134, __pyx_L20_error)
- __Pyx_GOTREF(__pyx_t_16);
- __pyx_t_15 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_16) > __pyx_t_15) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_16) : __pyx_t_15;
- __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_16);
- __Pyx_GIVEREF(__pyx_t_16);
- PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_16);
- __pyx_t_16 = 0;
- __Pyx_INCREF(__pyx_kp_u__13);
- __pyx_t_15 = (65535 > __pyx_t_15) ? 65535 : __pyx_t_15;
- __pyx_t_7 += 10;
- __Pyx_GIVEREF(__pyx_kp_u__13);
- PyTuple_SET_ITEM(__pyx_t_13, 2, __pyx_kp_u__13);
- __pyx_t_16 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_e, __pyx_empty_unicode); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 134, __pyx_L20_error)
- __Pyx_GOTREF(__pyx_t_16);
- __pyx_t_15 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_16) > __pyx_t_15) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_16) : __pyx_t_15;
- __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_16);
- __Pyx_GIVEREF(__pyx_t_16);
- PyTuple_SET_ITEM(__pyx_t_13, 3, __pyx_t_16);
- __pyx_t_16 = 0;
- __pyx_t_16 = __Pyx_PyUnicode_Join(__pyx_t_13, 4, __pyx_t_7, __pyx_t_15); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 134, __pyx_L20_error)
- __Pyx_GOTREF(__pyx_t_16);
- __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
- __pyx_t_13 = NULL;
- __pyx_t_5 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_14))) {
- __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_14);
- if (likely(__pyx_t_13)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
- __Pyx_INCREF(__pyx_t_13);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_14, function);
- __pyx_t_5 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_16};
- __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_14, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
- __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
- __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 134, __pyx_L20_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
- }
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
- /* "handlers/payments/robokassa_pay.py":135
- * except ValueError as e:
- * logger.error(f" : {amount_str}. : {e}")
- * await callback_query.message.answer(" .") # <<<<<<<<<<<<<<
- * return
- *
- */
- __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 135, __pyx_L20_error)
- __Pyx_GOTREF(__pyx_t_14);
- __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_answer); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 135, __pyx_L20_error)
- __Pyx_GOTREF(__pyx_t_16);
- __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
- __pyx_t_14 = NULL;
- __pyx_t_5 = 0;
- #if CYTHON_UNPACK_METHODS
- if (likely(PyMethod_Check(__pyx_t_16))) {
- __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_16);
- if (likely(__pyx_t_14)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_16);
- __Pyx_INCREF(__pyx_t_14);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_16, function);
- __pyx_t_5 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_14, __pyx_kp_u__14};
- __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_16, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
- __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 135, __pyx_L20_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
- }
- __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_4);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_XGOTREF(__pyx_r);
- if (likely(__pyx_r)) {
- __Pyx_XGIVEREF(__pyx_t_1);
- __pyx_cur_scope->__pyx_t_0 = __pyx_t_1;
- __Pyx_XGIVEREF(__pyx_t_2);
- __pyx_cur_scope->__pyx_t_1 = __pyx_t_2;
- __Pyx_XGIVEREF(__pyx_t_3);
- __pyx_cur_scope->__pyx_t_2 = __pyx_t_3;
- __Pyx_XGIVEREF(__pyx_t_9);
- __pyx_cur_scope->__pyx_t_3 = __pyx_t_9;
- __Pyx_XGIVEREF(__pyx_t_10);
- __pyx_cur_scope->__pyx_t_4 = __pyx_t_10;
- __Pyx_XGIVEREF(__pyx_t_11);
- __pyx_cur_scope->__pyx_t_5 = __pyx_t_11;
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- __Pyx_Coroutine_SwapException(__pyx_generator);
- /* return from generator, awaiting value */
- __pyx_generator->resume_label = 2;
- return __pyx_r;
- __pyx_L22_resume_from_await:;
- __pyx_t_1 = __pyx_cur_scope->__pyx_t_0;
- __pyx_cur_scope->__pyx_t_0 = 0;
- __Pyx_XGOTREF(__pyx_t_1);
- __pyx_t_2 = __pyx_cur_scope->__pyx_t_1;
- __pyx_cur_scope->__pyx_t_1 = 0;
- __Pyx_XGOTREF(__pyx_t_2);
- __pyx_t_3 = __pyx_cur_scope->__pyx_t_2;
- __pyx_cur_scope->__pyx_t_2 = 0;
- __Pyx_XGOTREF(__pyx_t_3);
- __pyx_t_9 = __pyx_cur_scope->__pyx_t_3;
- __pyx_cur_scope->__pyx_t_3 = 0;
- __Pyx_XGOTREF(__pyx_t_9);
- __pyx_t_10 = __pyx_cur_scope->__pyx_t_4;
- __pyx_cur_scope->__pyx_t_4 = 0;
- __Pyx_XGOTREF(__pyx_t_10);
- __pyx_t_11 = __pyx_cur_scope->__pyx_t_5;
- __pyx_cur_scope->__pyx_t_5 = 0;
- __Pyx_XGOTREF(__pyx_t_11);
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 135, __pyx_L20_error)
- } else {
- PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 135, __pyx_L20_error)
- }
- }
-
- /* "handlers/payments/robokassa_pay.py":136
- * logger.error(f" : {amount_str}. : {e}")
- * await callback_query.message.answer(" .")
- * return # <<<<<<<<<<<<<<
- *
- * await state.update_data(amount=amount)
- */
- __Pyx_XDECREF(__pyx_r);
- __pyx_r = NULL;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- goto __pyx_L19_return;
- }
-
- /* "handlers/payments/robokassa_pay.py":133
- * if amount <= 0:
- * raise ValueError(" .")
- * except ValueError as e: # <<<<<<<<<<<<<<
- * logger.error(f" : {amount_str}. : {e}")
- * await callback_query.message.answer(" .")
- */
- /*finally:*/ {
- __pyx_L20_error:;
- /*exception exit:*/{
- __Pyx_PyThreadState_assign
- __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; __pyx_t_24 = 0;
- __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
- __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
- __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
- __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_22, &__pyx_t_23, &__pyx_t_24);
- if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_19, &__pyx_t_20, &__pyx_t_21) < 0)) __Pyx_ErrFetch(&__pyx_t_19, &__pyx_t_20, &__pyx_t_21);
- __Pyx_XGOTREF(__pyx_t_19);
- __Pyx_XGOTREF(__pyx_t_20);
- __Pyx_XGOTREF(__pyx_t_21);
- __Pyx_XGOTREF(__pyx_t_22);
- __Pyx_XGOTREF(__pyx_t_23);
- __Pyx_XGOTREF(__pyx_t_24);
- __pyx_t_12 = __pyx_lineno; __pyx_t_17 = __pyx_clineno; __pyx_t_18 = __pyx_filename;
- {
- __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e);
- __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0;
- }
- if (PY_MAJOR_VERSION >= 3) {
- __Pyx_XGIVEREF(__pyx_t_22);
- __Pyx_XGIVEREF(__pyx_t_23);
- __Pyx_XGIVEREF(__pyx_t_24);
- __Pyx_ExceptionReset(__pyx_t_22, __pyx_t_23, __pyx_t_24);
- }
- __Pyx_XGIVEREF(__pyx_t_19);
- __Pyx_XGIVEREF(__pyx_t_20);
- __Pyx_XGIVEREF(__pyx_t_21);
- __Pyx_ErrRestore(__pyx_t_19, __pyx_t_20, __pyx_t_21);
- __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; __pyx_t_24 = 0;
- __pyx_lineno = __pyx_t_12; __pyx_clineno = __pyx_t_17; __pyx_filename = __pyx_t_18;
- goto __pyx_L10_except_error;
- }
- __pyx_L19_return: {
- __Pyx_PyThreadState_assign
- __pyx_t_24 = 0; __pyx_t_23 = 0; __pyx_t_22 = 0; __pyx_t_21 = 0; __pyx_t_20 = 0; __pyx_t_19 = 0;
- if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_21, &__pyx_t_20, &__pyx_t_19);
- if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_24, &__pyx_t_23, &__pyx_t_22) < 0)) __Pyx_ErrFetch(&__pyx_t_24, &__pyx_t_23, &__pyx_t_22);
- __Pyx_XGOTREF(__pyx_t_24);
- __Pyx_XGOTREF(__pyx_t_23);
- __Pyx_XGOTREF(__pyx_t_22);
- __Pyx_XGOTREF(__pyx_t_21);
- __Pyx_XGOTREF(__pyx_t_20);
- __Pyx_XGOTREF(__pyx_t_19);
- __pyx_t_25 = __pyx_r;
- __pyx_r = 0;
- __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e);
- __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0;
- __pyx_r = __pyx_t_25;
- __pyx_t_25 = 0;
- if (PY_MAJOR_VERSION >= 3) {
- __Pyx_XGIVEREF(__pyx_t_21);
- __Pyx_XGIVEREF(__pyx_t_20);
- __Pyx_XGIVEREF(__pyx_t_19);
- __Pyx_ExceptionReset(__pyx_t_21, __pyx_t_20, __pyx_t_19);
- }
- __Pyx_XGIVEREF(__pyx_t_24);
- __Pyx_XGIVEREF(__pyx_t_23);
- __Pyx_XGIVEREF(__pyx_t_22);
- __Pyx_ErrRestore(__pyx_t_24, __pyx_t_23, __pyx_t_22);
- __pyx_t_24 = 0; __pyx_t_23 = 0; __pyx_t_22 = 0; __pyx_t_21 = 0; __pyx_t_20 = 0; __pyx_t_19 = 0;
- goto __pyx_L11_except_return;
- }
- }
- }
- goto __pyx_L10_except_error;
-
- /* "handlers/payments/robokassa_pay.py":129
- *
- * amount_str = data[2]
- * try: # <<<<<<<<<<<<<<
- * amount = int(amount_str)
- * if amount <= 0:
- */
- __pyx_L10_except_error:;
- __Pyx_XGIVEREF(__pyx_t_9);
- __Pyx_XGIVEREF(__pyx_t_10);
- __Pyx_XGIVEREF(__pyx_t_11);
- __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11);
- goto __pyx_L1_error;
- __pyx_L11_except_return:;
- __Pyx_XGIVEREF(__pyx_t_9);
- __Pyx_XGIVEREF(__pyx_t_10);
- __Pyx_XGIVEREF(__pyx_t_11);
- __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11);
- goto __pyx_L0;
- __pyx_L13_try_end:;
- }
-
- /* "handlers/payments/robokassa_pay.py":138
- * return
- *
- * await state.update_data(amount=amount) # <<<<<<<<<<<<<<
- * logger.info(f"User {callback_query.message.chat.id} selected amount: {amount}.")
- * inv_id = 0
- */
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_update_data); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 138, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 138, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_amount, __pyx_cur_scope->__pyx_v_amount) < 0) __PYX_ERR(0, 138, __pyx_L1_error)
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 138, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_XGOTREF(__pyx_r);
- if (likely(__pyx_r)) {
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
- /* return from generator, awaiting value */
- __pyx_generator->resume_label = 3;
- return __pyx_r;
- __pyx_L27_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 138, __pyx_L1_error)
- } else {
- PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 138, __pyx_L1_error)
- }
- }
-
- /* "handlers/payments/robokassa_pay.py":139
- *
- * await state.update_data(amount=amount)
- * logger.info(f"User {callback_query.message.chat.id} selected amount: {amount}.") # <<<<<<<<<<<<<<
- * inv_id = 0
- *
- */
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 139, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_info); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 139, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyTuple_New(5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 139, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_7 = 0;
- __pyx_t_15 = 127;
- __Pyx_INCREF(__pyx_kp_u_User);
- __pyx_t_7 += 5;
- __Pyx_GIVEREF(__pyx_kp_u_User);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_u_User);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 139, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_chat); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 139, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_16);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_n_s_id); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 139, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
- __pyx_t_16 = __Pyx_PyObject_FormatSimple(__pyx_t_4, __pyx_empty_unicode); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 139, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_16);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_15 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_16) > __pyx_t_15) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_16) : __pyx_t_15;
- __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_16);
- __Pyx_GIVEREF(__pyx_t_16);
- PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_16);
- __pyx_t_16 = 0;
- __Pyx_INCREF(__pyx_kp_u_selected_amount);
- __pyx_t_7 += 18;
- __Pyx_GIVEREF(__pyx_kp_u_selected_amount);
- PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_kp_u_selected_amount);
- __pyx_t_16 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_amount, __pyx_empty_unicode); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 139, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_16);
- __pyx_t_15 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_16) > __pyx_t_15) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_16) : __pyx_t_15;
- __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_16);
- __Pyx_GIVEREF(__pyx_t_16);
- PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_16);
- __pyx_t_16 = 0;
- __Pyx_INCREF(__pyx_kp_u__6);
- __pyx_t_7 += 1;
- __Pyx_GIVEREF(__pyx_kp_u__6);
- PyTuple_SET_ITEM(__pyx_t_2, 4, __pyx_kp_u__6);
- __pyx_t_16 = __Pyx_PyUnicode_Join(__pyx_t_2, 5, __pyx_t_7, __pyx_t_15); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 139, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_16);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = NULL;
- __pyx_t_5 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_3))) {
- __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
- if (likely(__pyx_t_2)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
- __Pyx_INCREF(__pyx_t_2);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_3, function);
- __pyx_t_5 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_16};
- __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 139, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- }
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
- /* "handlers/payments/robokassa_pay.py":140
- * await state.update_data(amount=amount)
- * logger.info(f"User {callback_query.message.chat.id} selected amount: {amount}.")
- * inv_id = 0 # <<<<<<<<<<<<<<
- *
- * tg_id = callback_query.message.chat.id
- */
- __pyx_cur_scope->__pyx_v_inv_id = 0;
-
- /* "handlers/payments/robokassa_pay.py":142
- * inv_id = 0
- *
- * tg_id = callback_query.message.chat.id # <<<<<<<<<<<<<<
- * payment_url = generate_payment_link(amount, inv_id, " ", tg_id)
- *
- */
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 142, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_chat); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 142, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_id); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 142, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_GIVEREF(__pyx_t_1);
- __pyx_cur_scope->__pyx_v_tg_id = __pyx_t_1;
- __pyx_t_1 = 0;
-
- /* "handlers/payments/robokassa_pay.py":143
- *
- * tg_id = callback_query.message.chat.id
- * payment_url = generate_payment_link(amount, inv_id, " ", tg_id) # <<<<<<<<<<<<<<
- *
- * logger.info(f"Payment URL for user {callback_query.message.chat.id}: {payment_url}")
- */
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_generate_payment_link); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 143, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_16 = __Pyx_PyInt_From_long(__pyx_cur_scope->__pyx_v_inv_id); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 143, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_16);
- __pyx_t_2 = NULL;
- __pyx_t_5 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_3))) {
- __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
- if (likely(__pyx_t_2)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
- __Pyx_INCREF(__pyx_t_2);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_3, function);
- __pyx_t_5 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[5] = {__pyx_t_2, __pyx_cur_scope->__pyx_v_amount, __pyx_t_16, __pyx_kp_u__15, __pyx_cur_scope->__pyx_v_tg_id};
- __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 4+__pyx_t_5);
- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 143, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- }
- __Pyx_GIVEREF(__pyx_t_1);
- __pyx_cur_scope->__pyx_v_payment_url = __pyx_t_1;
- __pyx_t_1 = 0;
-
- /* "handlers/payments/robokassa_pay.py":145
- * payment_url = generate_payment_link(amount, inv_id, " ", tg_id)
- *
- * logger.info(f"Payment URL for user {callback_query.message.chat.id}: {payment_url}") # <<<<<<<<<<<<<<
- *
- * confirm_keyboard = InlineKeyboardMarkup(
- */
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 145, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_info); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 145, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_16);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyTuple_New(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 145, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_7 = 0;
- __pyx_t_15 = 127;
- __Pyx_INCREF(__pyx_kp_u_Payment_URL_for_user);
- __pyx_t_7 += 21;
- __Pyx_GIVEREF(__pyx_kp_u_Payment_URL_for_user);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_u_Payment_URL_for_user);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 145, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_chat); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 145, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_id); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 145, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_t_2, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 145, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_15 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) > __pyx_t_15) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) : __pyx_t_15;
- __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4);
- __Pyx_GIVEREF(__pyx_t_4);
- PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_4);
- __pyx_t_4 = 0;
- __Pyx_INCREF(__pyx_kp_u__16);
- __pyx_t_7 += 2;
- __Pyx_GIVEREF(__pyx_kp_u__16);
- PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_kp_u__16);
- __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_payment_url, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 145, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_15 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) > __pyx_t_15) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) : __pyx_t_15;
- __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4);
- __Pyx_GIVEREF(__pyx_t_4);
- PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_t_4);
- __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_3, 4, __pyx_t_7, __pyx_t_15); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 145, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = NULL;
- __pyx_t_5 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_16))) {
- __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_16);
- if (likely(__pyx_t_3)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_16);
- __Pyx_INCREF(__pyx_t_3);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_16, function);
- __pyx_t_5 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_4};
- __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_16, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
- __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 145, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
- }
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
- /* "handlers/payments/robokassa_pay.py":147
- * logger.info(f"Payment URL for user {callback_query.message.chat.id}: {payment_url}")
- *
- * confirm_keyboard = InlineKeyboardMarkup( # <<<<<<<<<<<<<<
- * inline_keyboard=[
- * [InlineKeyboardButton(text="", url=payment_url)],
- */
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_InlineKeyboardMarkup); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 147, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
-
- /* "handlers/payments/robokassa_pay.py":148
- *
- * confirm_keyboard = InlineKeyboardMarkup(
- * inline_keyboard=[ # <<<<<<<<<<<<<<
- * [InlineKeyboardButton(text="", url=payment_url)],
- * [InlineKeyboardButton(text=" ", callback_data="pay_robokassa")],
- */
- __pyx_t_16 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 148, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_16);
-
- /* "handlers/payments/robokassa_pay.py":149
- * confirm_keyboard = InlineKeyboardMarkup(
- * inline_keyboard=[
- * [InlineKeyboardButton(text="", url=payment_url)], # <<<<<<<<<<<<<<
- * [InlineKeyboardButton(text=" ", callback_data="pay_robokassa")],
- * ]
- */
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 149, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 149, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_n_u__17) < 0) __PYX_ERR(0, 149, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_url, __pyx_cur_scope->__pyx_v_payment_url) < 0) __PYX_ERR(0, 149, __pyx_L1_error)
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 149, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 149, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_GIVEREF(__pyx_t_2);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)) __PYX_ERR(0, 149, __pyx_L1_error);
- __pyx_t_2 = 0;
-
- /* "handlers/payments/robokassa_pay.py":150
- * inline_keyboard=[
- * [InlineKeyboardButton(text="", url=payment_url)],
- * [InlineKeyboardButton(text=" ", callback_data="pay_robokassa")], # <<<<<<<<<<<<<<
- * ]
- * )
- */
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 150, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 150, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_text, __pyx_kp_u__4) < 0) __PYX_ERR(0, 150, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_callback_data, __pyx_n_u_pay_robokassa) < 0) __PYX_ERR(0, 150, __pyx_L1_error)
- __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_4); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 150, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_14);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 150, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_GIVEREF(__pyx_t_14);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_14)) __PYX_ERR(0, 150, __pyx_L1_error);
- __pyx_t_14 = 0;
-
- /* "handlers/payments/robokassa_pay.py":148
- *
- * confirm_keyboard = InlineKeyboardMarkup(
- * inline_keyboard=[ # <<<<<<<<<<<<<<
- * [InlineKeyboardButton(text="", url=payment_url)],
- * [InlineKeyboardButton(text=" ", callback_data="pay_robokassa")],
- */
- __pyx_t_14 = PyList_New(2); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 148, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_14);
- __Pyx_GIVEREF(__pyx_t_3);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_14, 0, __pyx_t_3)) __PYX_ERR(0, 148, __pyx_L1_error);
- __Pyx_GIVEREF(__pyx_t_4);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_14, 1, __pyx_t_4)) __PYX_ERR(0, 148, __pyx_L1_error);
- __pyx_t_3 = 0;
- __pyx_t_4 = 0;
- if (PyDict_SetItem(__pyx_t_16, __pyx_n_s_inline_keyboard, __pyx_t_14) < 0) __PYX_ERR(0, 148, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
-
- /* "handlers/payments/robokassa_pay.py":147
- * logger.info(f"Payment URL for user {callback_query.message.chat.id}: {payment_url}")
- *
- * confirm_keyboard = InlineKeyboardMarkup( # <<<<<<<<<<<<<<
- * inline_keyboard=[
- * [InlineKeyboardButton(text="", url=payment_url)],
- */
- __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_16); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 147, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_14);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
- __Pyx_GIVEREF(__pyx_t_14);
- __pyx_cur_scope->__pyx_v_confirm_keyboard = __pyx_t_14;
- __pyx_t_14 = 0;
-
- /* "handlers/payments/robokassa_pay.py":154
- * )
- *
- * await callback_query.message.answer( # <<<<<<<<<<<<<<
- * text=f" {amount} . :",
- * reply_markup=confirm_keyboard,
- */
- __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 154, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_14);
- __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_answer); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 154, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_16);
- __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
-
- /* "handlers/payments/robokassa_pay.py":155
- *
- * await callback_query.message.answer(
- * text=f" {amount} . :", # <<<<<<<<<<<<<<
- * reply_markup=confirm_keyboard,
- * )
- */
- __pyx_t_14 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 155, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_14);
- __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 155, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_7 = 0;
- __pyx_t_15 = 127;
- __Pyx_INCREF(__pyx_kp_u__18);
- __pyx_t_15 = (65535 > __pyx_t_15) ? 65535 : __pyx_t_15;
- __pyx_t_7 += 25;
- __Pyx_GIVEREF(__pyx_kp_u__18);
- PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_kp_u__18);
- __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_amount, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 155, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_15 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) > __pyx_t_15) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) : __pyx_t_15;
- __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4);
- __Pyx_GIVEREF(__pyx_t_4);
- PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4);
- __pyx_t_4 = 0;
- __Pyx_INCREF(__pyx_kp_u__19);
- __pyx_t_15 = (65535 > __pyx_t_15) ? 65535 : __pyx_t_15;
- __pyx_t_7 += 45;
- __Pyx_GIVEREF(__pyx_kp_u__19);
- PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_kp_u__19);
- __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_1, 3, __pyx_t_7, __pyx_t_15); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 155, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (PyDict_SetItem(__pyx_t_14, __pyx_n_s_text, __pyx_t_4) < 0) __PYX_ERR(0, 155, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
- /* "handlers/payments/robokassa_pay.py":156
- * await callback_query.message.answer(
- * text=f" {amount} . :",
- * reply_markup=confirm_keyboard, # <<<<<<<<<<<<<<
- * )
- * logger.info(f"Payment link sent to user {callback_query.message.chat.id}.")
- */
- if (PyDict_SetItem(__pyx_t_14, __pyx_n_s_reply_markup, __pyx_cur_scope->__pyx_v_confirm_keyboard) < 0) __PYX_ERR(0, 155, __pyx_L1_error)
-
- /* "handlers/payments/robokassa_pay.py":154
- * )
- *
- * await callback_query.message.answer( # <<<<<<<<<<<<<<
- * text=f" {amount} . :",
- * reply_markup=confirm_keyboard,
- */
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_empty_tuple, __pyx_t_14); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 154, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
- __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
- __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_4);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_XGOTREF(__pyx_r);
- if (likely(__pyx_r)) {
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
- /* return from generator, awaiting value */
- __pyx_generator->resume_label = 4;
- return __pyx_r;
- __pyx_L28_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 154, __pyx_L1_error)
- } else {
- PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 154, __pyx_L1_error)
- }
- }
-
- /* "handlers/payments/robokassa_pay.py":158
- * reply_markup=confirm_keyboard,
- * )
- * logger.info(f"Payment link sent to user {callback_query.message.chat.id}.") # <<<<<<<<<<<<<<
- *
- *
- */
- __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_logger); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 158, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_14);
- __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_info); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 158, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_16);
- __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
- __pyx_t_14 = PyTuple_New(3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 158, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_14);
- __pyx_t_7 = 0;
- __pyx_t_15 = 127;
- __Pyx_INCREF(__pyx_kp_u_Payment_link_sent_to_user);
- __pyx_t_7 += 26;
- __Pyx_GIVEREF(__pyx_kp_u_Payment_link_sent_to_user);
- PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_kp_u_Payment_link_sent_to_user);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 158, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_chat); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 158, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_id); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 158, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_t_1, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 158, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_15 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) > __pyx_t_15) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) : __pyx_t_15;
- __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3);
- __Pyx_GIVEREF(__pyx_t_3);
- PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_3);
- __pyx_t_3 = 0;
- __Pyx_INCREF(__pyx_kp_u__6);
- __pyx_t_7 += 1;
- __Pyx_GIVEREF(__pyx_kp_u__6);
- PyTuple_SET_ITEM(__pyx_t_14, 2, __pyx_kp_u__6);
- __pyx_t_3 = __Pyx_PyUnicode_Join(__pyx_t_14, 3, __pyx_t_7, __pyx_t_15); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 158, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
- __pyx_t_14 = NULL;
- __pyx_t_5 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_16))) {
- __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_16);
- if (likely(__pyx_t_14)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_16);
- __Pyx_INCREF(__pyx_t_14);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_16, function);
- __pyx_t_5 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_14, __pyx_t_3};
- __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_16, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
- __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 158, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
- }
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
-
- /* "handlers/payments/robokassa_pay.py":116
- *
- *
- * @router.callback_query(F.data.startswith("robokassa_amount|")) # <<<<<<<<<<<<<<
- * async def process_amount_selection(
- * callback_query: types.CallbackQuery, state: FSMContext
- */
-
- /* function exit code */
- PyErr_SetNone(PyExc_StopIteration);
- goto __pyx_L0;
- __pyx_L1_error:;
- __Pyx_Generator_Replace_StopIteration(0);
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_4);
- __Pyx_XDECREF(__pyx_t_13);
- __Pyx_XDECREF(__pyx_t_14);
- __Pyx_XDECREF(__pyx_t_16);
- __Pyx_AddTraceback("process_amount_selection", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_L0:;
- __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
- #if !CYTHON_USE_EXC_INFO_STACK
- __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
- #endif
- __pyx_generator->resume_label = -1;
- __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-static PyObject *__pyx_gb_8handlers_8payments_13robokassa_pay_10generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-
-/* "handlers/payments/robokassa_pay.py":161
- *
- *
- * async def robokassa_webhook(request): # <<<<<<<<<<<<<<
- * """ webhook- Robokassa shp_id."""
- * try:
- */
-
-/* Python wrapper */
-static PyObject *__pyx_pw_8handlers_8payments_13robokassa_pay_9robokassa_webhook(PyObject *__pyx_self,
-#if CYTHON_METH_FASTCALL
-PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
-#else
-PyObject *__pyx_args, PyObject *__pyx_kwds
-#endif
-); /*proto*/
-PyDoc_STRVAR(__pyx_doc_8handlers_8payments_13robokassa_pay_8robokassa_webhook, "\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260 webhook-\321\203\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\320\271 \320\276\321\202 Robokassa \321\201 \321\203\321\207\320\265\321\202\320\276\320\274 shp_id.");
-static PyMethodDef __pyx_mdef_8handlers_8payments_13robokassa_pay_9robokassa_webhook = {"robokassa_webhook", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_13robokassa_pay_9robokassa_webhook, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8handlers_8payments_13robokassa_pay_8robokassa_webhook};
-static PyObject *__pyx_pw_8handlers_8payments_13robokassa_pay_9robokassa_webhook(PyObject *__pyx_self,
-#if CYTHON_METH_FASTCALL
-PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
-#else
-PyObject *__pyx_args, PyObject *__pyx_kwds
-#endif
-) {
- PyObject *__pyx_v_request = 0;
- #if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED Py_ssize_t __pyx_nargs;
- #endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
- PyObject* values[1] = {0};
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("robokassa_webhook (wrapper)", 0);
- #if !CYTHON_METH_FASTCALL
- #if CYTHON_ASSUME_SAFE_MACROS
- __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
- #else
- __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
- #endif
- #endif
- __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
- {
- PyObject **__pyx_pyargnames[] = {&__pyx_n_s_request,0};
- if (__pyx_kwds) {
- Py_ssize_t kw_args;
- switch (__pyx_nargs) {
- case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
- CYTHON_FALLTHROUGH;
- case 0: break;
- default: goto __pyx_L5_argtuple_error;
- }
- kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
- switch (__pyx_nargs) {
- case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_request)) != 0)) {
- (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
- kw_args--;
- }
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 161, __pyx_L3_error)
- else goto __pyx_L5_argtuple_error;
- }
- if (unlikely(kw_args > 0)) {
- const Py_ssize_t kwd_pos_args = __pyx_nargs;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "robokassa_webhook") < 0)) __PYX_ERR(0, 161, __pyx_L3_error)
- }
- } else if (unlikely(__pyx_nargs != 1)) {
- goto __pyx_L5_argtuple_error;
- } else {
- values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
- }
- __pyx_v_request = values[0];
- }
- goto __pyx_L6_skip;
- __pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("robokassa_webhook", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 161, __pyx_L3_error)
- __pyx_L6_skip:;
- goto __pyx_L4_argument_unpacking_done;
- __pyx_L3_error:;
- {
- Py_ssize_t __pyx_temp;
- for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
- __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
- }
- }
- __Pyx_AddTraceback("handlers.payments.robokassa_pay.robokassa_webhook", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __Pyx_RefNannyFinishContext();
- return NULL;
- __pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_8handlers_8payments_13robokassa_pay_8robokassa_webhook(__pyx_self, __pyx_v_request);
-
- /* function exit code */
- {
- Py_ssize_t __pyx_temp;
- for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
- __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
- }
- }
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static PyObject *__pyx_pf_8handlers_8payments_13robokassa_pay_8robokassa_webhook(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_request) {
- struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook *__pyx_cur_scope;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("robokassa_webhook", 0);
- __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook *)__pyx_tp_new_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook(__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook, __pyx_empty_tuple, NULL);
- if (unlikely(!__pyx_cur_scope)) {
- __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook *)Py_None);
- __Pyx_INCREF(Py_None);
- __PYX_ERR(0, 161, __pyx_L1_error)
- } else {
- __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
- }
- __pyx_cur_scope->__pyx_v_request = __pyx_v_request;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_request);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_request);
- {
- __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_13robokassa_pay_10generator2, __pyx_codeobj__20, (PyObject *) __pyx_cur_scope, __pyx_n_s_robokassa_webhook, __pyx_n_s_robokassa_webhook, __pyx_n_s_handlers_payments_robokassa_pay); if (unlikely(!gen)) __PYX_ERR(0, 161, __pyx_L1_error)
- __Pyx_DECREF(__pyx_cur_scope);
- __Pyx_RefNannyFinishContext();
- return (PyObject *) gen;
- }
-
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_AddTraceback("handlers.payments.robokassa_pay.robokassa_webhook", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __Pyx_DECREF((PyObject *)__pyx_cur_scope);
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static PyObject *__pyx_gb_8handlers_8payments_13robokassa_pay_10generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
-{
- struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook *)__pyx_generator->closure);
- PyObject *__pyx_r = NULL;
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- PyObject *__pyx_t_4 = NULL;
- PyObject *__pyx_t_5 = NULL;
- PyObject *__pyx_t_6 = NULL;
- unsigned int __pyx_t_7;
- PyObject *__pyx_t_8 = NULL;
- Py_ssize_t __pyx_t_9;
- Py_UCS4 __pyx_t_10;
- int __pyx_t_11;
- int __pyx_t_12;
- int __pyx_t_13;
- PyObject *__pyx_t_14 = NULL;
- int __pyx_t_15;
- PyObject *__pyx_t_16 = NULL;
- PyObject *__pyx_t_17 = NULL;
- int __pyx_t_18;
- char const *__pyx_t_19;
- PyObject *__pyx_t_20 = NULL;
- PyObject *__pyx_t_21 = NULL;
- PyObject *__pyx_t_22 = NULL;
- PyObject *__pyx_t_23 = NULL;
- PyObject *__pyx_t_24 = NULL;
- PyObject *__pyx_t_25 = NULL;
- PyObject *__pyx_t_26 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("robokassa_webhook", 0);
- switch (__pyx_generator->resume_label) {
- case 0: goto __pyx_L3_first_run;
- case 1: goto __pyx_L10_resume_from_await;
- case 2: goto __pyx_L16_resume_from_await;
- case 3: goto __pyx_L17_resume_from_await;
- case 4: goto __pyx_L18_resume_from_await;
- default: /* CPython raises the right error here */
- __Pyx_RefNannyFinishContext();
- return NULL;
- }
- __pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 161, __pyx_L1_error)
-
- /* "handlers/payments/robokassa_pay.py":163
- * async def robokassa_webhook(request):
- * """ webhook- Robokassa shp_id."""
- * try: # <<<<<<<<<<<<<<
- * params = await request.post()
- *
- */
- {
- __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
- __Pyx_XGOTREF(__pyx_t_1);
- __Pyx_XGOTREF(__pyx_t_2);
- __Pyx_XGOTREF(__pyx_t_3);
- /*try:*/ {
-
- /* "handlers/payments/robokassa_pay.py":164
- * """ webhook- Robokassa shp_id."""
- * try:
- * params = await request.post() # <<<<<<<<<<<<<<
- *
- * logger.info(f"Received webhook params: {params}")
- */
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_request, __pyx_n_s_post); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 164, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_5);
- __pyx_t_6 = NULL;
- __pyx_t_7 = 0;
- #if CYTHON_UNPACK_METHODS
- if (likely(PyMethod_Check(__pyx_t_5))) {
- __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
- if (likely(__pyx_t_6)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
- __Pyx_INCREF(__pyx_t_6);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_5, function);
- __pyx_t_7 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
- __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 164, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- }
- __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_4);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_XGOTREF(__pyx_r);
- if (likely(__pyx_r)) {
- __Pyx_XGIVEREF(__pyx_t_1);
- __pyx_cur_scope->__pyx_t_0 = __pyx_t_1;
- __Pyx_XGIVEREF(__pyx_t_2);
- __pyx_cur_scope->__pyx_t_1 = __pyx_t_2;
- __Pyx_XGIVEREF(__pyx_t_3);
- __pyx_cur_scope->__pyx_t_2 = __pyx_t_3;
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
- /* return from generator, awaiting value */
- __pyx_generator->resume_label = 1;
- return __pyx_r;
- __pyx_L10_resume_from_await:;
- __pyx_t_1 = __pyx_cur_scope->__pyx_t_0;
- __pyx_cur_scope->__pyx_t_0 = 0;
- __Pyx_XGOTREF(__pyx_t_1);
- __pyx_t_2 = __pyx_cur_scope->__pyx_t_1;
- __pyx_cur_scope->__pyx_t_1 = 0;
- __Pyx_XGOTREF(__pyx_t_2);
- __pyx_t_3 = __pyx_cur_scope->__pyx_t_2;
- __pyx_cur_scope->__pyx_t_2 = 0;
- __Pyx_XGOTREF(__pyx_t_3);
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 164, __pyx_L4_error)
- __pyx_t_4 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_4);
- } else {
- __pyx_t_4 = NULL;
- if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_4) < 0) __PYX_ERR(0, 164, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_4);
- }
- __Pyx_GIVEREF(__pyx_t_4);
- __pyx_cur_scope->__pyx_v_params = __pyx_t_4;
- __pyx_t_4 = 0;
-
- /* "handlers/payments/robokassa_pay.py":166
- * params = await request.post()
- *
- * logger.info(f"Received webhook params: {params}") # <<<<<<<<<<<<<<
- *
- * amount = params.get("OutSum")
- */
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_logger); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 166, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_5);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_info); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 166, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_6);
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_params, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 166, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_5);
- __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Received_webhook_params, __pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 166, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __pyx_t_5 = NULL;
- __pyx_t_7 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_6))) {
- __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
- if (likely(__pyx_t_5)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
- __Pyx_INCREF(__pyx_t_5);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_6, function);
- __pyx_t_7 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_8};
- __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 166, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- }
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
- /* "handlers/payments/robokassa_pay.py":168
- * logger.info(f"Received webhook params: {params}")
- *
- * amount = params.get("OutSum") # <<<<<<<<<<<<<<
- * inv_id = params.get("InvId")
- * shp_id = params.get("shp_id")
- */
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_params, __pyx_n_s_get); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 168, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_8 = NULL;
- __pyx_t_7 = 0;
- #if CYTHON_UNPACK_METHODS
- if (likely(PyMethod_Check(__pyx_t_6))) {
- __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
- if (likely(__pyx_t_8)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
- __Pyx_INCREF(__pyx_t_8);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_6, function);
- __pyx_t_7 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_n_u_OutSum};
- __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 168, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- }
- __Pyx_GIVEREF(__pyx_t_4);
- __pyx_cur_scope->__pyx_v_amount = __pyx_t_4;
- __pyx_t_4 = 0;
-
- /* "handlers/payments/robokassa_pay.py":169
- *
- * amount = params.get("OutSum")
- * inv_id = params.get("InvId") # <<<<<<<<<<<<<<
- * shp_id = params.get("shp_id")
- * signature_value = params.get("SignatureValue")
- */
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_params, __pyx_n_s_get); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 169, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_8 = NULL;
- __pyx_t_7 = 0;
- #if CYTHON_UNPACK_METHODS
- if (likely(PyMethod_Check(__pyx_t_6))) {
- __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
- if (likely(__pyx_t_8)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
- __Pyx_INCREF(__pyx_t_8);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_6, function);
- __pyx_t_7 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_n_u_InvId};
- __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 169, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- }
- __Pyx_GIVEREF(__pyx_t_4);
- __pyx_cur_scope->__pyx_v_inv_id = __pyx_t_4;
- __pyx_t_4 = 0;
-
- /* "handlers/payments/robokassa_pay.py":170
- * amount = params.get("OutSum")
- * inv_id = params.get("InvId")
- * shp_id = params.get("shp_id") # <<<<<<<<<<<<<<
- * signature_value = params.get("SignatureValue")
- *
- */
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_params, __pyx_n_s_get); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 170, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_8 = NULL;
- __pyx_t_7 = 0;
- #if CYTHON_UNPACK_METHODS
- if (likely(PyMethod_Check(__pyx_t_6))) {
- __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
- if (likely(__pyx_t_8)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
- __Pyx_INCREF(__pyx_t_8);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_6, function);
- __pyx_t_7 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_n_u_shp_id};
- __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 170, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- }
- __Pyx_GIVEREF(__pyx_t_4);
- __pyx_cur_scope->__pyx_v_shp_id = __pyx_t_4;
- __pyx_t_4 = 0;
-
- /* "handlers/payments/robokassa_pay.py":171
- * inv_id = params.get("InvId")
- * shp_id = params.get("shp_id")
- * signature_value = params.get("SignatureValue") # <<<<<<<<<<<<<<
- *
- * logger.info(
- */
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_params, __pyx_n_s_get); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 171, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_8 = NULL;
- __pyx_t_7 = 0;
- #if CYTHON_UNPACK_METHODS
- if (likely(PyMethod_Check(__pyx_t_6))) {
- __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
- if (likely(__pyx_t_8)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
- __Pyx_INCREF(__pyx_t_8);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_6, function);
- __pyx_t_7 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_n_u_SignatureValue};
- __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 171, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- }
- __Pyx_GIVEREF(__pyx_t_4);
- __pyx_cur_scope->__pyx_v_signature_value = __pyx_t_4;
- __pyx_t_4 = 0;
-
- /* "handlers/payments/robokassa_pay.py":173
- * signature_value = params.get("SignatureValue")
- *
- * logger.info( # <<<<<<<<<<<<<<
- * f"OutSum: {amount}, InvId: {inv_id}, shp_id: {shp_id}, SignatureValue: {signature_value}"
- * )
- */
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_logger); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 173, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_info); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 173, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-
- /* "handlers/payments/robokassa_pay.py":174
- *
- * logger.info(
- * f"OutSum: {amount}, InvId: {inv_id}, shp_id: {shp_id}, SignatureValue: {signature_value}" # <<<<<<<<<<<<<<
- * )
- *
- */
- __pyx_t_6 = PyTuple_New(8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 174, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_9 = 0;
- __pyx_t_10 = 127;
- __Pyx_INCREF(__pyx_kp_u_OutSum_2);
- __pyx_t_9 += 8;
- __Pyx_GIVEREF(__pyx_kp_u_OutSum_2);
- PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_kp_u_OutSum_2);
- __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_amount, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 174, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_5);
- __pyx_t_10 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_10) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_10;
- __pyx_t_9 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5);
- __Pyx_GIVEREF(__pyx_t_5);
- PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5);
- __pyx_t_5 = 0;
- __Pyx_INCREF(__pyx_kp_u_InvId_2);
- __pyx_t_9 += 9;
- __Pyx_GIVEREF(__pyx_kp_u_InvId_2);
- PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_kp_u_InvId_2);
- __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_inv_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 174, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_5);
- __pyx_t_10 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_10) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_10;
- __pyx_t_9 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5);
- __Pyx_GIVEREF(__pyx_t_5);
- PyTuple_SET_ITEM(__pyx_t_6, 3, __pyx_t_5);
- __pyx_t_5 = 0;
- __Pyx_INCREF(__pyx_kp_u_shp_id_2);
- __pyx_t_9 += 10;
- __Pyx_GIVEREF(__pyx_kp_u_shp_id_2);
- PyTuple_SET_ITEM(__pyx_t_6, 4, __pyx_kp_u_shp_id_2);
- __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_shp_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 174, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_5);
- __pyx_t_10 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_10) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_10;
- __pyx_t_9 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5);
- __Pyx_GIVEREF(__pyx_t_5);
- PyTuple_SET_ITEM(__pyx_t_6, 5, __pyx_t_5);
- __pyx_t_5 = 0;
- __Pyx_INCREF(__pyx_kp_u_SignatureValue_2);
- __pyx_t_9 += 18;
- __Pyx_GIVEREF(__pyx_kp_u_SignatureValue_2);
- PyTuple_SET_ITEM(__pyx_t_6, 6, __pyx_kp_u_SignatureValue_2);
- __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_signature_value, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 174, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_5);
- __pyx_t_10 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_10) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_10;
- __pyx_t_9 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5);
- __Pyx_GIVEREF(__pyx_t_5);
- PyTuple_SET_ITEM(__pyx_t_6, 7, __pyx_t_5);
- __pyx_t_5 = 0;
- __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_6, 8, __pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 174, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_5);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = NULL;
- __pyx_t_7 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_8))) {
- __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_8);
- if (likely(__pyx_t_6)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
- __Pyx_INCREF(__pyx_t_6);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_8, function);
- __pyx_t_7 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_5};
- __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 173, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- }
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
- /* "handlers/payments/robokassa_pay.py":177
- * )
- *
- * if not check_payment_signature(params): # <<<<<<<<<<<<<<
- * logger.error(" .")
- * return web.Response(status=400)
- */
- __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_check_payment_signature); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 177, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_5 = NULL;
- __pyx_t_7 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_8))) {
- __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_8);
- if (likely(__pyx_t_5)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
- __Pyx_INCREF(__pyx_t_5);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_8, function);
- __pyx_t_7 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_cur_scope->__pyx_v_params};
- __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 177, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- }
- __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 177, __pyx_L4_error)
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_12 = (!__pyx_t_11);
- if (__pyx_t_12) {
-
- /* "handlers/payments/robokassa_pay.py":178
- *
- * if not check_payment_signature(params):
- * logger.error(" .") # <<<<<<<<<<<<<<
- * return web.Response(status=400)
- *
- */
- __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_logger); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 178, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_error); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 178, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_5);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = NULL;
- __pyx_t_7 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_5))) {
- __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_5);
- if (likely(__pyx_t_8)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
- __Pyx_INCREF(__pyx_t_8);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_5, function);
- __pyx_t_7 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_kp_u__21};
- __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 178, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- }
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
- /* "handlers/payments/robokassa_pay.py":179
- * if not check_payment_signature(params):
- * logger.error(" .")
- * return web.Response(status=400) # <<<<<<<<<<<<<<
- *
- * if not amount or not inv_id or not shp_id:
- */
- __Pyx_XDECREF(__pyx_r);
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_web); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 179, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_Response); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 179, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_5);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 179, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_status, __pyx_int_400) < 0) __PYX_ERR(0, 179, __pyx_L4_error)
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 179, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_r = NULL; __Pyx_ReturnWithStopIteration(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- goto __pyx_L8_try_return;
-
- /* "handlers/payments/robokassa_pay.py":177
- * )
- *
- * if not check_payment_signature(params): # <<<<<<<<<<<<<<
- * logger.error(" .")
- * return web.Response(status=400)
- */
- }
-
- /* "handlers/payments/robokassa_pay.py":181
- * return web.Response(status=400)
- *
- * if not amount or not inv_id or not shp_id: # <<<<<<<<<<<<<<
- * logger.error(" .")
- * return web.Response(status=400)
- */
- __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_amount); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 181, __pyx_L4_error)
- __pyx_t_13 = (!__pyx_t_11);
- if (!__pyx_t_13) {
- } else {
- __pyx_t_12 = __pyx_t_13;
- goto __pyx_L13_bool_binop_done;
- }
- __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_inv_id); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 181, __pyx_L4_error)
- __pyx_t_11 = (!__pyx_t_13);
- if (!__pyx_t_11) {
- } else {
- __pyx_t_12 = __pyx_t_11;
- goto __pyx_L13_bool_binop_done;
- }
- __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_shp_id); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 181, __pyx_L4_error)
- __pyx_t_13 = (!__pyx_t_11);
- __pyx_t_12 = __pyx_t_13;
- __pyx_L13_bool_binop_done:;
- if (__pyx_t_12) {
-
- /* "handlers/payments/robokassa_pay.py":182
- *
- * if not amount or not inv_id or not shp_id:
- * logger.error(" .") # <<<<<<<<<<<<<<
- * return web.Response(status=400)
- *
- */
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_logger); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 182, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_error); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 182, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_5);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = NULL;
- __pyx_t_7 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_5))) {
- __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
- if (likely(__pyx_t_4)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
- __Pyx_INCREF(__pyx_t_4);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_5, function);
- __pyx_t_7 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_kp_u__22};
- __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 182, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- }
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
- /* "handlers/payments/robokassa_pay.py":183
- * if not amount or not inv_id or not shp_id:
- * logger.error(" .")
- * return web.Response(status=400) # <<<<<<<<<<<<<<
- *
- * tg_id = shp_id
- */
- __Pyx_XDECREF(__pyx_r);
- __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_web); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 183, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_Response); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 183, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_5);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 183, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_8);
- if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_status, __pyx_int_400) < 0) __PYX_ERR(0, 183, __pyx_L4_error)
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 183, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_r = NULL; __Pyx_ReturnWithStopIteration(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- goto __pyx_L8_try_return;
-
- /* "handlers/payments/robokassa_pay.py":181
- * return web.Response(status=400)
- *
- * if not amount or not inv_id or not shp_id: # <<<<<<<<<<<<<<
- * logger.error(" .")
- * return web.Response(status=400)
- */
- }
-
- /* "handlers/payments/robokassa_pay.py":185
- * return web.Response(status=400)
- *
- * tg_id = shp_id # <<<<<<<<<<<<<<
- *
- * logger.info(f"Processing payment for user {tg_id} with amount {amount}.")
- */
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_shp_id);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_shp_id);
- __pyx_cur_scope->__pyx_v_tg_id = __pyx_cur_scope->__pyx_v_shp_id;
-
- /* "handlers/payments/robokassa_pay.py":187
- * tg_id = shp_id
- *
- * logger.info(f"Processing payment for user {tg_id} with amount {amount}.") # <<<<<<<<<<<<<<
- *
- * await update_balance(int(tg_id), float(amount))
- */
- __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_logger); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 187, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_info); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 187, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_5);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyTuple_New(5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 187, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_9 = 0;
- __pyx_t_10 = 127;
- __Pyx_INCREF(__pyx_kp_u_Processing_payment_for_user);
- __pyx_t_9 += 28;
- __Pyx_GIVEREF(__pyx_kp_u_Processing_payment_for_user);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_kp_u_Processing_payment_for_user);
- __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_tg_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 187, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_10 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) > __pyx_t_10) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) : __pyx_t_10;
- __pyx_t_9 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6);
- __Pyx_GIVEREF(__pyx_t_6);
- PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_6);
- __pyx_t_6 = 0;
- __Pyx_INCREF(__pyx_kp_u_with_amount);
- __pyx_t_9 += 13;
- __Pyx_GIVEREF(__pyx_kp_u_with_amount);
- PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_kp_u_with_amount);
- __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_amount, __pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 187, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_10 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) > __pyx_t_10) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) : __pyx_t_10;
- __pyx_t_9 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6);
- __Pyx_GIVEREF(__pyx_t_6);
- PyTuple_SET_ITEM(__pyx_t_8, 3, __pyx_t_6);
- __pyx_t_6 = 0;
- __Pyx_INCREF(__pyx_kp_u__6);
- __pyx_t_9 += 1;
- __Pyx_GIVEREF(__pyx_kp_u__6);
- PyTuple_SET_ITEM(__pyx_t_8, 4, __pyx_kp_u__6);
- __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_8, 5, __pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 187, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_6);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = NULL;
- __pyx_t_7 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_5))) {
- __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_5);
- if (likely(__pyx_t_8)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
- __Pyx_INCREF(__pyx_t_8);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_5, function);
- __pyx_t_7 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_6};
- __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 187, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- }
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
- /* "handlers/payments/robokassa_pay.py":189
- * logger.info(f"Processing payment for user {tg_id} with amount {amount}.")
- *
- * await update_balance(int(tg_id), float(amount)) # <<<<<<<<<<<<<<
- * await send_payment_success_notification(tg_id, float(amount))
- *
- */
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_update_balance); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 189, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_5);
- __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_tg_id); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 189, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_8 = __Pyx_PyNumber_Float(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 189, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_14 = NULL;
- __pyx_t_7 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_5))) {
- __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_5);
- if (likely(__pyx_t_14)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
- __Pyx_INCREF(__pyx_t_14);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_5, function);
- __pyx_t_7 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[3] = {__pyx_t_14, __pyx_t_6, __pyx_t_8};
- __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 2+__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 189, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- }
- __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_4);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_XGOTREF(__pyx_r);
- if (likely(__pyx_r)) {
- __Pyx_XGIVEREF(__pyx_t_1);
- __pyx_cur_scope->__pyx_t_0 = __pyx_t_1;
- __Pyx_XGIVEREF(__pyx_t_2);
- __pyx_cur_scope->__pyx_t_1 = __pyx_t_2;
- __Pyx_XGIVEREF(__pyx_t_3);
- __pyx_cur_scope->__pyx_t_2 = __pyx_t_3;
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
- /* return from generator, awaiting value */
- __pyx_generator->resume_label = 2;
- return __pyx_r;
- __pyx_L16_resume_from_await:;
- __pyx_t_1 = __pyx_cur_scope->__pyx_t_0;
- __pyx_cur_scope->__pyx_t_0 = 0;
- __Pyx_XGOTREF(__pyx_t_1);
- __pyx_t_2 = __pyx_cur_scope->__pyx_t_1;
- __pyx_cur_scope->__pyx_t_1 = 0;
- __Pyx_XGOTREF(__pyx_t_2);
- __pyx_t_3 = __pyx_cur_scope->__pyx_t_2;
- __pyx_cur_scope->__pyx_t_2 = 0;
- __Pyx_XGOTREF(__pyx_t_3);
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 189, __pyx_L4_error)
- } else {
- PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 189, __pyx_L4_error)
- }
- }
-
- /* "handlers/payments/robokassa_pay.py":190
- *
- * await update_balance(int(tg_id), float(amount))
- * await send_payment_success_notification(tg_id, float(amount)) # <<<<<<<<<<<<<<
- *
- * await add_payment(int(tg_id), float(amount), "robokassa")
- */
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_send_payment_success_notificatio); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 190, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_5);
- __pyx_t_8 = __Pyx_PyNumber_Float(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 190, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_6 = NULL;
- __pyx_t_7 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_5))) {
- __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
- if (likely(__pyx_t_6)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
- __Pyx_INCREF(__pyx_t_6);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_5, function);
- __pyx_t_7 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_cur_scope->__pyx_v_tg_id, __pyx_t_8};
- __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 2+__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 190, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- }
- __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_4);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_XGOTREF(__pyx_r);
- if (likely(__pyx_r)) {
- __Pyx_XGIVEREF(__pyx_t_1);
- __pyx_cur_scope->__pyx_t_0 = __pyx_t_1;
- __Pyx_XGIVEREF(__pyx_t_2);
- __pyx_cur_scope->__pyx_t_1 = __pyx_t_2;
- __Pyx_XGIVEREF(__pyx_t_3);
- __pyx_cur_scope->__pyx_t_2 = __pyx_t_3;
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
- /* return from generator, awaiting value */
- __pyx_generator->resume_label = 3;
- return __pyx_r;
- __pyx_L17_resume_from_await:;
- __pyx_t_1 = __pyx_cur_scope->__pyx_t_0;
- __pyx_cur_scope->__pyx_t_0 = 0;
- __Pyx_XGOTREF(__pyx_t_1);
- __pyx_t_2 = __pyx_cur_scope->__pyx_t_1;
- __pyx_cur_scope->__pyx_t_1 = 0;
- __Pyx_XGOTREF(__pyx_t_2);
- __pyx_t_3 = __pyx_cur_scope->__pyx_t_2;
- __pyx_cur_scope->__pyx_t_2 = 0;
- __Pyx_XGOTREF(__pyx_t_3);
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 190, __pyx_L4_error)
- } else {
- PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 190, __pyx_L4_error)
- }
- }
-
- /* "handlers/payments/robokassa_pay.py":192
- * await send_payment_success_notification(tg_id, float(amount))
- *
- * await add_payment(int(tg_id), float(amount), "robokassa") # <<<<<<<<<<<<<<
- *
- * logger.info(f"Payment successful. Balance updated for user {tg_id}.")
- */
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_add_payment); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 192, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_5);
- __pyx_t_8 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_tg_id); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 192, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_6 = __Pyx_PyNumber_Float(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 192, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_14 = NULL;
- __pyx_t_7 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_5))) {
- __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_5);
- if (likely(__pyx_t_14)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
- __Pyx_INCREF(__pyx_t_14);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_5, function);
- __pyx_t_7 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[4] = {__pyx_t_14, __pyx_t_8, __pyx_t_6, __pyx_n_u_robokassa};
- __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 3+__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 192, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- }
- __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_4);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_XGOTREF(__pyx_r);
- if (likely(__pyx_r)) {
- __Pyx_XGIVEREF(__pyx_t_1);
- __pyx_cur_scope->__pyx_t_0 = __pyx_t_1;
- __Pyx_XGIVEREF(__pyx_t_2);
- __pyx_cur_scope->__pyx_t_1 = __pyx_t_2;
- __Pyx_XGIVEREF(__pyx_t_3);
- __pyx_cur_scope->__pyx_t_2 = __pyx_t_3;
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
- /* return from generator, awaiting value */
- __pyx_generator->resume_label = 4;
- return __pyx_r;
- __pyx_L18_resume_from_await:;
- __pyx_t_1 = __pyx_cur_scope->__pyx_t_0;
- __pyx_cur_scope->__pyx_t_0 = 0;
- __Pyx_XGOTREF(__pyx_t_1);
- __pyx_t_2 = __pyx_cur_scope->__pyx_t_1;
- __pyx_cur_scope->__pyx_t_1 = 0;
- __Pyx_XGOTREF(__pyx_t_2);
- __pyx_t_3 = __pyx_cur_scope->__pyx_t_2;
- __pyx_cur_scope->__pyx_t_2 = 0;
- __Pyx_XGOTREF(__pyx_t_3);
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 192, __pyx_L4_error)
- } else {
- PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 192, __pyx_L4_error)
- }
- }
-
- /* "handlers/payments/robokassa_pay.py":194
- * await add_payment(int(tg_id), float(amount), "robokassa")
- *
- * logger.info(f"Payment successful. Balance updated for user {tg_id}.") # <<<<<<<<<<<<<<
- *
- * return web.Response(text=f"OK{inv_id}")
- */
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_logger); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 194, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_5);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_info); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 194, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_6);
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 194, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_5);
- __pyx_t_9 = 0;
- __pyx_t_10 = 127;
- __Pyx_INCREF(__pyx_kp_u_Payment_successful_Balance_updat);
- __pyx_t_9 += 45;
- __Pyx_GIVEREF(__pyx_kp_u_Payment_successful_Balance_updat);
- PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_kp_u_Payment_successful_Balance_updat);
- __pyx_t_8 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_tg_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 194, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_10 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_8) > __pyx_t_10) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_8) : __pyx_t_10;
- __pyx_t_9 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_8);
- __Pyx_GIVEREF(__pyx_t_8);
- PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_8);
- __pyx_t_8 = 0;
- __Pyx_INCREF(__pyx_kp_u__6);
- __pyx_t_9 += 1;
- __Pyx_GIVEREF(__pyx_kp_u__6);
- PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_kp_u__6);
- __pyx_t_8 = __Pyx_PyUnicode_Join(__pyx_t_5, 3, __pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 194, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __pyx_t_5 = NULL;
- __pyx_t_7 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_6))) {
- __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
- if (likely(__pyx_t_5)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
- __Pyx_INCREF(__pyx_t_5);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_6, function);
- __pyx_t_7 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_8};
- __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 194, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- }
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
- /* "handlers/payments/robokassa_pay.py":196
- * logger.info(f"Payment successful. Balance updated for user {tg_id}.")
- *
- * return web.Response(text=f"OK{inv_id}") # <<<<<<<<<<<<<<
- *
- * except Exception as e:
- */
- __Pyx_XDECREF(__pyx_r);
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_web); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 196, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_Response); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 196, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_6);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 196, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_8 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_inv_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 196, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_n_u_OK, __pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 196, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_5);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_text, __pyx_t_5) < 0) __PYX_ERR(0, 196, __pyx_L4_error)
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_empty_tuple, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 196, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_5);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_r = NULL; __Pyx_ReturnWithStopIteration(__pyx_t_5);
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- goto __pyx_L8_try_return;
-
- /* "handlers/payments/robokassa_pay.py":163
- * async def robokassa_webhook(request):
- * """ webhook- Robokassa shp_id."""
- * try: # <<<<<<<<<<<<<<
- * params = await request.post()
- *
- */
- }
- __pyx_L4_error:;
- __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
- __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
-
- /* "handlers/payments/robokassa_pay.py":198
- * return web.Response(text=f"OK{inv_id}")
- *
- * except Exception as e: # <<<<<<<<<<<<<<
- * logger.error(f"Error processing webhook: {e}")
- * return web.Response(status=500)
- */
- __pyx_t_15 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
- if (__pyx_t_15) {
- __Pyx_AddTraceback("handlers.payments.robokassa_pay.robokassa_webhook", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_4, &__pyx_t_6) < 0) __PYX_ERR(0, 198, __pyx_L6_except_error)
- __Pyx_XGOTREF(__pyx_t_5);
- __Pyx_XGOTREF(__pyx_t_4);
- __Pyx_XGOTREF(__pyx_t_6);
- __Pyx_INCREF(__pyx_t_4);
- __Pyx_GIVEREF(__pyx_t_4);
- __pyx_cur_scope->__pyx_v_e = __pyx_t_4;
- /*try:*/ {
-
- /* "handlers/payments/robokassa_pay.py":199
- *
- * except Exception as e:
- * logger.error(f"Error processing webhook: {e}") # <<<<<<<<<<<<<<
- * return web.Response(status=500)
- *
- */
- __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_logger); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 199, __pyx_L24_error)
- __Pyx_GOTREF(__pyx_t_14);
- __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_error); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 199, __pyx_L24_error)
- __Pyx_GOTREF(__pyx_t_16);
- __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
- __pyx_t_14 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_e, __pyx_empty_unicode); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 199, __pyx_L24_error)
- __Pyx_GOTREF(__pyx_t_14);
- __pyx_t_17 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Error_processing_webhook, __pyx_t_14); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 199, __pyx_L24_error)
- __Pyx_GOTREF(__pyx_t_17);
- __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
- __pyx_t_14 = NULL;
- __pyx_t_7 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_16))) {
- __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_16);
- if (likely(__pyx_t_14)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_16);
- __Pyx_INCREF(__pyx_t_14);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_16, function);
- __pyx_t_7 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_14, __pyx_t_17};
- __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_16, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
- __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
- if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 199, __pyx_L24_error)
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
- }
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
- /* "handlers/payments/robokassa_pay.py":200
- * except Exception as e:
- * logger.error(f"Error processing webhook: {e}")
- * return web.Response(status=500) # <<<<<<<<<<<<<<
- *
- *
- */
- __Pyx_XDECREF(__pyx_r);
- __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_web); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 200, __pyx_L24_error)
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_Response); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 200, __pyx_L24_error)
- __Pyx_GOTREF(__pyx_t_16);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 200, __pyx_L24_error)
- __Pyx_GOTREF(__pyx_t_8);
- if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_status, __pyx_int_500) < 0) __PYX_ERR(0, 200, __pyx_L24_error)
- __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_empty_tuple, __pyx_t_8); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 200, __pyx_L24_error)
- __Pyx_GOTREF(__pyx_t_17);
- __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_r = NULL; __Pyx_ReturnWithStopIteration(__pyx_t_17);
- __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- goto __pyx_L23_return;
- }
-
- /* "handlers/payments/robokassa_pay.py":198
- * return web.Response(text=f"OK{inv_id}")
- *
- * except Exception as e: # <<<<<<<<<<<<<<
- * logger.error(f"Error processing webhook: {e}")
- * return web.Response(status=500)
- */
- /*finally:*/ {
- __pyx_L24_error:;
- /*exception exit:*/{
- __Pyx_PyThreadState_assign
- __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0;
- __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
- __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
- __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
- __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_23, &__pyx_t_24, &__pyx_t_25);
- if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22) < 0)) __Pyx_ErrFetch(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22);
- __Pyx_XGOTREF(__pyx_t_20);
- __Pyx_XGOTREF(__pyx_t_21);
- __Pyx_XGOTREF(__pyx_t_22);
- __Pyx_XGOTREF(__pyx_t_23);
- __Pyx_XGOTREF(__pyx_t_24);
- __Pyx_XGOTREF(__pyx_t_25);
- __pyx_t_15 = __pyx_lineno; __pyx_t_18 = __pyx_clineno; __pyx_t_19 = __pyx_filename;
- {
- __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e);
- __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0;
- }
- if (PY_MAJOR_VERSION >= 3) {
- __Pyx_XGIVEREF(__pyx_t_23);
- __Pyx_XGIVEREF(__pyx_t_24);
- __Pyx_XGIVEREF(__pyx_t_25);
- __Pyx_ExceptionReset(__pyx_t_23, __pyx_t_24, __pyx_t_25);
- }
- __Pyx_XGIVEREF(__pyx_t_20);
- __Pyx_XGIVEREF(__pyx_t_21);
- __Pyx_XGIVEREF(__pyx_t_22);
- __Pyx_ErrRestore(__pyx_t_20, __pyx_t_21, __pyx_t_22);
- __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0;
- __pyx_lineno = __pyx_t_15; __pyx_clineno = __pyx_t_18; __pyx_filename = __pyx_t_19;
- goto __pyx_L6_except_error;
- }
- __pyx_L23_return: {
- __Pyx_PyThreadState_assign
- __pyx_t_25 = 0; __pyx_t_24 = 0; __pyx_t_23 = 0; __pyx_t_22 = 0; __pyx_t_21 = 0; __pyx_t_20 = 0;
- if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_22, &__pyx_t_21, &__pyx_t_20);
- if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_25, &__pyx_t_24, &__pyx_t_23) < 0)) __Pyx_ErrFetch(&__pyx_t_25, &__pyx_t_24, &__pyx_t_23);
- __Pyx_XGOTREF(__pyx_t_25);
- __Pyx_XGOTREF(__pyx_t_24);
- __Pyx_XGOTREF(__pyx_t_23);
- __Pyx_XGOTREF(__pyx_t_22);
- __Pyx_XGOTREF(__pyx_t_21);
- __Pyx_XGOTREF(__pyx_t_20);
- __pyx_t_26 = __pyx_r;
- __pyx_r = 0;
- __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e);
- __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0;
- __pyx_r = __pyx_t_26;
- __pyx_t_26 = 0;
- if (PY_MAJOR_VERSION >= 3) {
- __Pyx_XGIVEREF(__pyx_t_22);
- __Pyx_XGIVEREF(__pyx_t_21);
- __Pyx_XGIVEREF(__pyx_t_20);
- __Pyx_ExceptionReset(__pyx_t_22, __pyx_t_21, __pyx_t_20);
- }
- __Pyx_XGIVEREF(__pyx_t_25);
- __Pyx_XGIVEREF(__pyx_t_24);
- __Pyx_XGIVEREF(__pyx_t_23);
- __Pyx_ErrRestore(__pyx_t_25, __pyx_t_24, __pyx_t_23);
- __pyx_t_25 = 0; __pyx_t_24 = 0; __pyx_t_23 = 0; __pyx_t_22 = 0; __pyx_t_21 = 0; __pyx_t_20 = 0;
- goto __pyx_L7_except_return;
- }
- }
- }
- goto __pyx_L6_except_error;
-
- /* "handlers/payments/robokassa_pay.py":163
- * async def robokassa_webhook(request):
- * """ webhook- Robokassa shp_id."""
- * try: # <<<<<<<<<<<<<<
- * params = await request.post()
- *
- */
- __pyx_L6_except_error:;
- __Pyx_XGIVEREF(__pyx_t_1);
- __Pyx_XGIVEREF(__pyx_t_2);
- __Pyx_XGIVEREF(__pyx_t_3);
- __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
- goto __pyx_L1_error;
- __pyx_L8_try_return:;
- __Pyx_XGIVEREF(__pyx_t_1);
- __Pyx_XGIVEREF(__pyx_t_2);
- __Pyx_XGIVEREF(__pyx_t_3);
- __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
- goto __pyx_L0;
- __pyx_L7_except_return:;
- __Pyx_XGIVEREF(__pyx_t_1);
- __Pyx_XGIVEREF(__pyx_t_2);
- __Pyx_XGIVEREF(__pyx_t_3);
- __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
- goto __pyx_L0;
- }
- CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
-
- /* "handlers/payments/robokassa_pay.py":161
- *
- *
- * async def robokassa_webhook(request): # <<<<<<<<<<<<<<
- * """ webhook- Robokassa shp_id."""
- * try:
- */
-
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_Generator_Replace_StopIteration(0);
- __Pyx_XDECREF(__pyx_t_4);
- __Pyx_XDECREF(__pyx_t_5);
- __Pyx_XDECREF(__pyx_t_6);
- __Pyx_XDECREF(__pyx_t_8);
- __Pyx_XDECREF(__pyx_t_14);
- __Pyx_XDECREF(__pyx_t_16);
- __Pyx_XDECREF(__pyx_t_17);
- __Pyx_AddTraceback("robokassa_webhook", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_L0:;
- __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
- #if !CYTHON_USE_EXC_INFO_STACK
- __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
- #endif
- __pyx_generator->resume_label = -1;
- __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-/* "handlers/payments/robokassa_pay.py":203
- *
- *
- * def check_payment_signature(params): # <<<<<<<<<<<<<<
- * """ Robokassa shp_id."""
- * out_sum = params.get("OutSum")
- */
-
-/* Python wrapper */
-static PyObject *__pyx_pw_8handlers_8payments_13robokassa_pay_12check_payment_signature(PyObject *__pyx_self,
-#if CYTHON_METH_FASTCALL
-PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
-#else
-PyObject *__pyx_args, PyObject *__pyx_kwds
-#endif
-); /*proto*/
-PyDoc_STRVAR(__pyx_doc_8handlers_8payments_13robokassa_pay_11check_payment_signature, "\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260 \320\277\320\276\320\264\320\277\320\270\321\201\320\270 \320\267\320\260\320\277\321\200\320\276\321\201\320\260 \320\276\321\202 Robokassa \321\201 \321\203\321\207\320\265\321\202\320\276\320\274 shp_id.");
-static PyMethodDef __pyx_mdef_8handlers_8payments_13robokassa_pay_12check_payment_signature = {"check_payment_signature", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_13robokassa_pay_12check_payment_signature, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8handlers_8payments_13robokassa_pay_11check_payment_signature};
-static PyObject *__pyx_pw_8handlers_8payments_13robokassa_pay_12check_payment_signature(PyObject *__pyx_self,
-#if CYTHON_METH_FASTCALL
-PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
-#else
-PyObject *__pyx_args, PyObject *__pyx_kwds
-#endif
-) {
- PyObject *__pyx_v_params = 0;
- #if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED Py_ssize_t __pyx_nargs;
- #endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
- PyObject* values[1] = {0};
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("check_payment_signature (wrapper)", 0);
- #if !CYTHON_METH_FASTCALL
- #if CYTHON_ASSUME_SAFE_MACROS
- __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
- #else
- __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
- #endif
- #endif
- __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
- {
- PyObject **__pyx_pyargnames[] = {&__pyx_n_s_params,0};
- if (__pyx_kwds) {
- Py_ssize_t kw_args;
- switch (__pyx_nargs) {
- case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
- CYTHON_FALLTHROUGH;
- case 0: break;
- default: goto __pyx_L5_argtuple_error;
- }
- kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
- switch (__pyx_nargs) {
- case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_params)) != 0)) {
- (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
- kw_args--;
- }
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 203, __pyx_L3_error)
- else goto __pyx_L5_argtuple_error;
- }
- if (unlikely(kw_args > 0)) {
- const Py_ssize_t kwd_pos_args = __pyx_nargs;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "check_payment_signature") < 0)) __PYX_ERR(0, 203, __pyx_L3_error)
- }
- } else if (unlikely(__pyx_nargs != 1)) {
- goto __pyx_L5_argtuple_error;
- } else {
- values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
- }
- __pyx_v_params = values[0];
- }
- goto __pyx_L6_skip;
- __pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("check_payment_signature", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 203, __pyx_L3_error)
- __pyx_L6_skip:;
- goto __pyx_L4_argument_unpacking_done;
- __pyx_L3_error:;
- {
- Py_ssize_t __pyx_temp;
- for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
- __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
- }
- }
- __Pyx_AddTraceback("handlers.payments.robokassa_pay.check_payment_signature", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __Pyx_RefNannyFinishContext();
- return NULL;
- __pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_8handlers_8payments_13robokassa_pay_11check_payment_signature(__pyx_self, __pyx_v_params);
-
- /* function exit code */
- {
- Py_ssize_t __pyx_temp;
- for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
- __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
- }
- }
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static PyObject *__pyx_pf_8handlers_8payments_13robokassa_pay_11check_payment_signature(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_params) {
- PyObject *__pyx_v_out_sum = NULL;
- PyObject *__pyx_v_inv_id = NULL;
- PyObject *__pyx_v_signature_value = NULL;
- PyObject *__pyx_v_shp_id = NULL;
- PyObject *__pyx_v_signature_string = NULL;
- PyObject *__pyx_v_expected_signature = NULL;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- unsigned int __pyx_t_4;
- Py_ssize_t __pyx_t_5;
- Py_UCS4 __pyx_t_6;
- PyObject *__pyx_t_7 = NULL;
- PyObject *__pyx_t_8 = NULL;
- PyObject *__pyx_t_9 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("check_payment_signature", 1);
-
- /* "handlers/payments/robokassa_pay.py":205
- * def check_payment_signature(params):
- * """ Robokassa shp_id."""
- * out_sum = params.get("OutSum") # <<<<<<<<<<<<<<
- * inv_id = params.get("InvId")
- * signature_value = params.get("SignatureValue")
- */
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_params, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 205, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = NULL;
- __pyx_t_4 = 0;
- #if CYTHON_UNPACK_METHODS
- if (likely(PyMethod_Check(__pyx_t_2))) {
- __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
- if (likely(__pyx_t_3)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
- __Pyx_INCREF(__pyx_t_3);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_2, function);
- __pyx_t_4 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_n_u_OutSum};
- __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
- __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 205, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- }
- __pyx_v_out_sum = __pyx_t_1;
- __pyx_t_1 = 0;
-
- /* "handlers/payments/robokassa_pay.py":206
- * """ Robokassa shp_id."""
- * out_sum = params.get("OutSum")
- * inv_id = params.get("InvId") # <<<<<<<<<<<<<<
- * signature_value = params.get("SignatureValue")
- * shp_id = params.get("shp_id")
- */
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_params, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 206, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = NULL;
- __pyx_t_4 = 0;
- #if CYTHON_UNPACK_METHODS
- if (likely(PyMethod_Check(__pyx_t_2))) {
- __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
- if (likely(__pyx_t_3)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
- __Pyx_INCREF(__pyx_t_3);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_2, function);
- __pyx_t_4 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_n_u_InvId};
- __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
- __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 206, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- }
- __pyx_v_inv_id = __pyx_t_1;
- __pyx_t_1 = 0;
-
- /* "handlers/payments/robokassa_pay.py":207
- * out_sum = params.get("OutSum")
- * inv_id = params.get("InvId")
- * signature_value = params.get("SignatureValue") # <<<<<<<<<<<<<<
- * shp_id = params.get("shp_id")
- *
- */
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_params, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 207, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = NULL;
- __pyx_t_4 = 0;
- #if CYTHON_UNPACK_METHODS
- if (likely(PyMethod_Check(__pyx_t_2))) {
- __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
- if (likely(__pyx_t_3)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
- __Pyx_INCREF(__pyx_t_3);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_2, function);
- __pyx_t_4 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_n_u_SignatureValue};
- __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
- __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 207, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- }
- __pyx_v_signature_value = __pyx_t_1;
- __pyx_t_1 = 0;
-
- /* "handlers/payments/robokassa_pay.py":208
- * inv_id = params.get("InvId")
- * signature_value = params.get("SignatureValue")
- * shp_id = params.get("shp_id") # <<<<<<<<<<<<<<
- *
- * signature_string = f"{out_sum}:{inv_id}:{ROBOKASSA_PASSWORD2}:shp_id={shp_id}"
- */
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_params, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 208, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = NULL;
- __pyx_t_4 = 0;
- #if CYTHON_UNPACK_METHODS
- if (likely(PyMethod_Check(__pyx_t_2))) {
- __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
- if (likely(__pyx_t_3)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
- __Pyx_INCREF(__pyx_t_3);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_2, function);
- __pyx_t_4 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_n_u_shp_id};
- __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
- __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 208, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- }
- __pyx_v_shp_id = __pyx_t_1;
- __pyx_t_1 = 0;
-
- /* "handlers/payments/robokassa_pay.py":210
- * shp_id = params.get("shp_id")
- *
- * signature_string = f"{out_sum}:{inv_id}:{ROBOKASSA_PASSWORD2}:shp_id={shp_id}" # <<<<<<<<<<<<<<
- *
- * logger.info(f"Signature string before hashing: {signature_string}")
- */
- __pyx_t_1 = PyTuple_New(7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 210, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_5 = 0;
- __pyx_t_6 = 127;
- __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_v_out_sum, __pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 210, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_6 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) > __pyx_t_6) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) : __pyx_t_6;
- __pyx_t_5 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
- __pyx_t_2 = 0;
- __Pyx_INCREF(__pyx_kp_u__23);
- __pyx_t_5 += 1;
- __Pyx_GIVEREF(__pyx_kp_u__23);
- PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_kp_u__23);
- __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_v_inv_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 210, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_6 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) > __pyx_t_6) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) : __pyx_t_6;
- __pyx_t_5 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_2);
- __pyx_t_2 = 0;
- __Pyx_INCREF(__pyx_kp_u__23);
- __pyx_t_5 += 1;
- __Pyx_GIVEREF(__pyx_kp_u__23);
- PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_kp_u__23);
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_ROBOKASSA_PASSWORD2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 210, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_t_2, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 210, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_6 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) > __pyx_t_6) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) : __pyx_t_6;
- __pyx_t_5 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3);
- __Pyx_GIVEREF(__pyx_t_3);
- PyTuple_SET_ITEM(__pyx_t_1, 4, __pyx_t_3);
- __pyx_t_3 = 0;
- __Pyx_INCREF(__pyx_kp_u_shp_id_3);
- __pyx_t_5 += 8;
- __Pyx_GIVEREF(__pyx_kp_u_shp_id_3);
- PyTuple_SET_ITEM(__pyx_t_1, 5, __pyx_kp_u_shp_id_3);
- __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_v_shp_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 210, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_6 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) > __pyx_t_6) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) : __pyx_t_6;
- __pyx_t_5 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3);
- __Pyx_GIVEREF(__pyx_t_3);
- PyTuple_SET_ITEM(__pyx_t_1, 6, __pyx_t_3);
- __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyUnicode_Join(__pyx_t_1, 7, __pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 210, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_v_signature_string = ((PyObject*)__pyx_t_3);
- __pyx_t_3 = 0;
-
- /* "handlers/payments/robokassa_pay.py":212
- * signature_string = f"{out_sum}:{inv_id}:{ROBOKASSA_PASSWORD2}:shp_id={shp_id}"
- *
- * logger.info(f"Signature string before hashing: {signature_string}") # <<<<<<<<<<<<<<
- *
- * expected_signature = (
- */
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 212, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_info); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 212, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Signature_string_before_hashing, __pyx_v_signature_string); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 212, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_7 = NULL;
- __pyx_t_4 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_2))) {
- __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
- if (likely(__pyx_t_7)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
- __Pyx_INCREF(__pyx_t_7);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_2, function);
- __pyx_t_4 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_1};
- __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
- __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 212, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- }
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
- /* "handlers/payments/robokassa_pay.py":215
- *
- * expected_signature = (
- * hashlib.md5(signature_string.encode("utf-8")).hexdigest().upper() # <<<<<<<<<<<<<<
- * )
- *
- */
- __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_hashlib); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 215, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_7);
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_md5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 215, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- __pyx_t_7 = PyUnicode_AsUTF8String(__pyx_v_signature_string); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 215, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_7);
- __pyx_t_9 = NULL;
- __pyx_t_4 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_8))) {
- __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8);
- if (likely(__pyx_t_9)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
- __Pyx_INCREF(__pyx_t_9);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_8, function);
- __pyx_t_4 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_7};
- __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
- __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 215, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- }
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_hexdigest); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 215, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = NULL;
- __pyx_t_4 = 0;
- #if CYTHON_UNPACK_METHODS
- if (likely(PyMethod_Check(__pyx_t_8))) {
- __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_8);
- if (likely(__pyx_t_1)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
- __Pyx_INCREF(__pyx_t_1);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_8, function);
- __pyx_t_4 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
- __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 215, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- }
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_upper); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 215, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = NULL;
- __pyx_t_4 = 0;
- #if CYTHON_UNPACK_METHODS
- if (likely(PyMethod_Check(__pyx_t_8))) {
- __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_8);
- if (likely(__pyx_t_2)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
- __Pyx_INCREF(__pyx_t_2);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_8, function);
- __pyx_t_4 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
- __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 215, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- }
- __pyx_v_expected_signature = __pyx_t_3;
- __pyx_t_3 = 0;
-
- /* "handlers/payments/robokassa_pay.py":218
- * )
- *
- * logger.info(f"Expected signature: {expected_signature}") # <<<<<<<<<<<<<<
- * logger.info(f"Received signature: {signature_value}")
- *
- */
- __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_logger); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 218, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_info); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 218, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyObject_FormatSimple(__pyx_v_expected_signature, __pyx_empty_unicode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 218, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Expected_signature, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 218, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = NULL;
- __pyx_t_4 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_2))) {
- __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
- if (likely(__pyx_t_8)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
- __Pyx_INCREF(__pyx_t_8);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_2, function);
- __pyx_t_4 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_1};
- __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
- __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 218, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- }
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
- /* "handlers/payments/robokassa_pay.py":219
- *
- * logger.info(f"Expected signature: {expected_signature}")
- * logger.info(f"Received signature: {signature_value}") # <<<<<<<<<<<<<<
- *
- * return signature_value.upper() == expected_signature.upper()
- */
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 219, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_info); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 219, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_v_signature_value, __pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 219, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Received_signature, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 219, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = NULL;
- __pyx_t_4 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_1))) {
- __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
- if (likely(__pyx_t_2)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
- __Pyx_INCREF(__pyx_t_2);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_1, function);
- __pyx_t_4 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
- __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 219, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- }
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
- /* "handlers/payments/robokassa_pay.py":221
- * logger.info(f"Received signature: {signature_value}")
- *
- * return signature_value.upper() == expected_signature.upper() # <<<<<<<<<<<<<<
- *
- *
- */
- __Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_signature_value, __pyx_n_s_upper); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 221, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_8 = NULL;
- __pyx_t_4 = 0;
- #if CYTHON_UNPACK_METHODS
- if (likely(PyMethod_Check(__pyx_t_1))) {
- __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1);
- if (likely(__pyx_t_8)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
- __Pyx_INCREF(__pyx_t_8);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_1, function);
- __pyx_t_4 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL};
- __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
- __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 221, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- }
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_expected_signature, __pyx_n_s_upper); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 221, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_2 = NULL;
- __pyx_t_4 = 0;
- #if CYTHON_UNPACK_METHODS
- if (likely(PyMethod_Check(__pyx_t_8))) {
- __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_8);
- if (likely(__pyx_t_2)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
- __Pyx_INCREF(__pyx_t_2);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_8, function);
- __pyx_t_4 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
- __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 221, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- }
- __pyx_t_8 = PyObject_RichCompare(__pyx_t_3, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 221, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_r = __pyx_t_8;
- __pyx_t_8 = 0;
- goto __pyx_L0;
-
- /* "handlers/payments/robokassa_pay.py":203
- *
- *
- * def check_payment_signature(params): # <<<<<<<<<<<<<<
- * """ Robokassa shp_id."""
- * out_sum = params.get("OutSum")
- */
-
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_8);
- __Pyx_XDECREF(__pyx_t_9);
- __Pyx_AddTraceback("handlers.payments.robokassa_pay.check_payment_signature", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XDECREF(__pyx_v_out_sum);
- __Pyx_XDECREF(__pyx_v_inv_id);
- __Pyx_XDECREF(__pyx_v_signature_value);
- __Pyx_XDECREF(__pyx_v_shp_id);
- __Pyx_XDECREF(__pyx_v_signature_string);
- __Pyx_XDECREF(__pyx_v_expected_signature);
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-static PyObject *__pyx_gb_8handlers_8payments_13robokassa_pay_15generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-
-/* "handlers/payments/robokassa_pay.py":224
- *
- *
- * @router.callback_query(F.data == "enter_custom_amount_robokassa") # <<<<<<<<<<<<<<
- * async def process_custom_amount_selection(
- * callback_query: types.CallbackQuery, state: FSMContext
- */
-
-/* Python wrapper */
-static PyObject *__pyx_pw_8handlers_8payments_13robokassa_pay_14process_custom_amount_selection(PyObject *__pyx_self,
-#if CYTHON_METH_FASTCALL
-PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
-#else
-PyObject *__pyx_args, PyObject *__pyx_kwds
-#endif
-); /*proto*/
-static PyMethodDef __pyx_mdef_8handlers_8payments_13robokassa_pay_14process_custom_amount_selection = {"process_custom_amount_selection", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_13robokassa_pay_14process_custom_amount_selection, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
-static PyObject *__pyx_pw_8handlers_8payments_13robokassa_pay_14process_custom_amount_selection(PyObject *__pyx_self,
-#if CYTHON_METH_FASTCALL
-PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
-#else
-PyObject *__pyx_args, PyObject *__pyx_kwds
-#endif
-) {
- PyObject *__pyx_v_callback_query = 0;
- PyObject *__pyx_v_state = 0;
- #if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED Py_ssize_t __pyx_nargs;
- #endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
- PyObject* values[2] = {0,0};
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("process_custom_amount_selection (wrapper)", 0);
- #if !CYTHON_METH_FASTCALL
- #if CYTHON_ASSUME_SAFE_MACROS
- __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
- #else
- __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
- #endif
- #endif
- __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
- {
- PyObject **__pyx_pyargnames[] = {&__pyx_n_s_callback_query,&__pyx_n_s_state,0};
- if (__pyx_kwds) {
- Py_ssize_t kw_args;
- switch (__pyx_nargs) {
- case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
- CYTHON_FALLTHROUGH;
- case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
- CYTHON_FALLTHROUGH;
- case 0: break;
- default: goto __pyx_L5_argtuple_error;
- }
- kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
- switch (__pyx_nargs) {
- case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_callback_query)) != 0)) {
- (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
- kw_args--;
- }
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 224, __pyx_L3_error)
- else goto __pyx_L5_argtuple_error;
- CYTHON_FALLTHROUGH;
- case 1:
- if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_state)) != 0)) {
- (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
- kw_args--;
- }
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 224, __pyx_L3_error)
- else {
- __Pyx_RaiseArgtupleInvalid("process_custom_amount_selection", 1, 2, 2, 1); __PYX_ERR(0, 224, __pyx_L3_error)
- }
- }
- if (unlikely(kw_args > 0)) {
- const Py_ssize_t kwd_pos_args = __pyx_nargs;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "process_custom_amount_selection") < 0)) __PYX_ERR(0, 224, __pyx_L3_error)
- }
- } else if (unlikely(__pyx_nargs != 2)) {
- goto __pyx_L5_argtuple_error;
- } else {
- values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
- values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
- }
- __pyx_v_callback_query = values[0];
- __pyx_v_state = values[1];
- }
- goto __pyx_L6_skip;
- __pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("process_custom_amount_selection", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 224, __pyx_L3_error)
- __pyx_L6_skip:;
- goto __pyx_L4_argument_unpacking_done;
- __pyx_L3_error:;
- {
- Py_ssize_t __pyx_temp;
- for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
- __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
- }
- }
- __Pyx_AddTraceback("handlers.payments.robokassa_pay.process_custom_amount_selection", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __Pyx_RefNannyFinishContext();
- return NULL;
- __pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_8handlers_8payments_13robokassa_pay_13process_custom_amount_selection(__pyx_self, __pyx_v_callback_query, __pyx_v_state);
-
- /* function exit code */
- {
- Py_ssize_t __pyx_temp;
- for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
- __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
- }
- }
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static PyObject *__pyx_pf_8handlers_8payments_13robokassa_pay_13process_custom_amount_selection(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_state) {
- struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection *__pyx_cur_scope;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("process_custom_amount_selection", 0);
- __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection *)__pyx_tp_new_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection(__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection, __pyx_empty_tuple, NULL);
- if (unlikely(!__pyx_cur_scope)) {
- __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection *)Py_None);
- __Pyx_INCREF(Py_None);
- __PYX_ERR(0, 224, __pyx_L1_error)
- } else {
- __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
- }
- __pyx_cur_scope->__pyx_v_callback_query = __pyx_v_callback_query;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_callback_query);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_callback_query);
- __pyx_cur_scope->__pyx_v_state = __pyx_v_state;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_state);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_state);
- {
- __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_13robokassa_pay_15generator3, __pyx_codeobj__24, (PyObject *) __pyx_cur_scope, __pyx_n_s_process_custom_amount_selection, __pyx_n_s_process_custom_amount_selection, __pyx_n_s_handlers_payments_robokassa_pay); if (unlikely(!gen)) __PYX_ERR(0, 224, __pyx_L1_error)
- __Pyx_DECREF(__pyx_cur_scope);
- __Pyx_RefNannyFinishContext();
- return (PyObject *) gen;
- }
-
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_AddTraceback("handlers.payments.robokassa_pay.process_custom_amount_selection", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __Pyx_DECREF((PyObject *)__pyx_cur_scope);
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static PyObject *__pyx_gb_8handlers_8payments_13robokassa_pay_15generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
-{
- struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection *)__pyx_generator->closure);
- PyObject *__pyx_r = NULL;
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- Py_ssize_t __pyx_t_4;
- Py_UCS4 __pyx_t_5;
- PyObject *__pyx_t_6 = NULL;
- unsigned int __pyx_t_7;
- PyObject *__pyx_t_8 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("process_custom_amount_selection", 0);
- switch (__pyx_generator->resume_label) {
- case 0: goto __pyx_L3_first_run;
- case 1: goto __pyx_L4_resume_from_await;
- case 2: goto __pyx_L5_resume_from_await;
- default: /* CPython raises the right error here */
- __Pyx_RefNannyFinishContext();
- return NULL;
- }
- __pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 224, __pyx_L1_error)
-
- /* "handlers/payments/robokassa_pay.py":228
- * callback_query: types.CallbackQuery, state: FSMContext
- * ):
- * tg_id = callback_query.message.chat.id # <<<<<<<<<<<<<<
- * logger.info(f"User {tg_id} chose to enter a custom amount.")
- *
- */
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 228, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_chat); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 228, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_id); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 228, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_GIVEREF(__pyx_t_1);
- __pyx_cur_scope->__pyx_v_tg_id = __pyx_t_1;
- __pyx_t_1 = 0;
-
- /* "handlers/payments/robokassa_pay.py":229
- * ):
- * tg_id = callback_query.message.chat.id
- * logger.info(f"User {tg_id} chose to enter a custom amount.") # <<<<<<<<<<<<<<
- *
- * builder = InlineKeyboardBuilder()
- */
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 229, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_info); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 229, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 229, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = 0;
- __pyx_t_5 = 127;
- __Pyx_INCREF(__pyx_kp_u_User);
- __pyx_t_4 += 5;
- __Pyx_GIVEREF(__pyx_kp_u_User);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_u_User);
- __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_tg_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 229, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_5 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) > __pyx_t_5) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) : __pyx_t_5;
- __pyx_t_4 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6);
- __Pyx_GIVEREF(__pyx_t_6);
- PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_6);
- __pyx_t_6 = 0;
- __Pyx_INCREF(__pyx_kp_u_chose_to_enter_a_custom_amount);
- __pyx_t_4 += 32;
- __Pyx_GIVEREF(__pyx_kp_u_chose_to_enter_a_custom_amount);
- PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_kp_u_chose_to_enter_a_custom_amount);
- __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_2, 3, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 229, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = NULL;
- __pyx_t_7 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_3))) {
- __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
- if (likely(__pyx_t_2)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
- __Pyx_INCREF(__pyx_t_2);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_3, function);
- __pyx_t_7 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
- __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 229, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- }
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
- /* "handlers/payments/robokassa_pay.py":231
- * logger.info(f"User {tg_id} chose to enter a custom amount.")
- *
- * builder = InlineKeyboardBuilder() # <<<<<<<<<<<<<<
- * builder.row(InlineKeyboardButton(text=" ", callback_data="pay_robokassa"))
- *
- */
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 231, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_6 = NULL;
- __pyx_t_7 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_3))) {
- __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3);
- if (likely(__pyx_t_6)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
- __Pyx_INCREF(__pyx_t_6);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_3, function);
- __pyx_t_7 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
- __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 231, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- }
- __Pyx_GIVEREF(__pyx_t_1);
- __pyx_cur_scope->__pyx_v_builder = __pyx_t_1;
- __pyx_t_1 = 0;
-
- /* "handlers/payments/robokassa_pay.py":232
- *
- * builder = InlineKeyboardBuilder()
- * builder.row(InlineKeyboardButton(text=" ", callback_data="pay_robokassa")) # <<<<<<<<<<<<<<
- *
- * await callback_query.message.answer(
- */
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 232, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 232, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 232, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_text, __pyx_kp_u__25) < 0) __PYX_ERR(0, 232, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_callback_data, __pyx_n_u_pay_robokassa) < 0) __PYX_ERR(0, 232, __pyx_L1_error)
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 232, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = NULL;
- __pyx_t_7 = 0;
- #if CYTHON_UNPACK_METHODS
- if (likely(PyMethod_Check(__pyx_t_3))) {
- __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
- if (likely(__pyx_t_2)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
- __Pyx_INCREF(__pyx_t_2);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_3, function);
- __pyx_t_7 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
- __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 232, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- }
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
- /* "handlers/payments/robokassa_pay.py":234
- * builder.row(InlineKeyboardButton(text=" ", callback_data="pay_robokassa"))
- *
- * await callback_query.message.answer( # <<<<<<<<<<<<<<
- * ", .",
- * reply_markup=builder.as_markup(),
- */
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 234, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_answer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 234, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
- /* "handlers/payments/robokassa_pay.py":236
- * await callback_query.message.answer(
- * ", .",
- * reply_markup=builder.as_markup(), # <<<<<<<<<<<<<<
- * )
- *
- */
- __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 236, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 236, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_6 = NULL;
- __pyx_t_7 = 0;
- #if CYTHON_UNPACK_METHODS
- if (likely(PyMethod_Check(__pyx_t_2))) {
- __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
- if (likely(__pyx_t_6)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
- __Pyx_INCREF(__pyx_t_6);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_2, function);
- __pyx_t_7 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
- __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 236, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- }
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_reply_markup, __pyx_t_8) < 0) __PYX_ERR(0, 236, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
- /* "handlers/payments/robokassa_pay.py":234
- * builder.row(InlineKeyboardButton(text=" ", callback_data="pay_robokassa"))
- *
- * await callback_query.message.answer( # <<<<<<<<<<<<<<
- * ", .",
- * reply_markup=builder.as_markup(),
- */
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__27, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 234, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_8);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_XGOTREF(__pyx_r);
- if (likely(__pyx_r)) {
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
- /* return from generator, awaiting value */
- __pyx_generator->resume_label = 1;
- return __pyx_r;
- __pyx_L4_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 234, __pyx_L1_error)
- } else {
- PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 234, __pyx_L1_error)
- }
- }
-
- /* "handlers/payments/robokassa_pay.py":239
- * )
- *
- * await state.set_state( # <<<<<<<<<<<<<<
- * ReplenishBalanceState.waiting_for_payment_confirmation_robokassa
- * )
- */
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_set_state); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 239, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
-
- /* "handlers/payments/robokassa_pay.py":240
- *
- * await state.set_state(
- * ReplenishBalanceState.waiting_for_payment_confirmation_robokassa # <<<<<<<<<<<<<<
- * )
- *
- */
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ReplenishBalanceState); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 240, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_waiting_for_payment_confirmation); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 240, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = NULL;
- __pyx_t_7 = 0;
- #if CYTHON_UNPACK_METHODS
- if (likely(PyMethod_Check(__pyx_t_1))) {
- __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
- if (likely(__pyx_t_3)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
- __Pyx_INCREF(__pyx_t_3);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_1, function);
- __pyx_t_7 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
- __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 239, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- }
- __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_8);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_XGOTREF(__pyx_r);
- if (likely(__pyx_r)) {
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
- /* return from generator, awaiting value */
- __pyx_generator->resume_label = 2;
- return __pyx_r;
- __pyx_L5_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 239, __pyx_L1_error)
- } else {
- PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 239, __pyx_L1_error)
- }
- }
- CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
-
- /* "handlers/payments/robokassa_pay.py":224
- *
- *
- * @router.callback_query(F.data == "enter_custom_amount_robokassa") # <<<<<<<<<<<<<<
- * async def process_custom_amount_selection(
- * callback_query: types.CallbackQuery, state: FSMContext
- */
-
- /* function exit code */
- PyErr_SetNone(PyExc_StopIteration);
- goto __pyx_L0;
- __pyx_L1_error:;
- __Pyx_Generator_Replace_StopIteration(0);
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_6);
- __Pyx_XDECREF(__pyx_t_8);
- __Pyx_AddTraceback("process_custom_amount_selection", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_L0:;
- __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
- #if !CYTHON_USE_EXC_INFO_STACK
- __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
- #endif
- __pyx_generator->resume_label = -1;
- __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-static PyObject *__pyx_gb_8handlers_8payments_13robokassa_pay_18generator4(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-
-/* "handlers/payments/robokassa_pay.py":244
- *
- *
- * @router.message(ReplenishBalanceState.waiting_for_payment_confirmation_robokassa) # <<<<<<<<<<<<<<
- * async def handle_custom_amount_input(message: types.Message, state: FSMContext):
- * tg_id = message.chat.id
- */
-
-/* Python wrapper */
-static PyObject *__pyx_pw_8handlers_8payments_13robokassa_pay_17handle_custom_amount_input(PyObject *__pyx_self,
-#if CYTHON_METH_FASTCALL
-PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
-#else
-PyObject *__pyx_args, PyObject *__pyx_kwds
-#endif
-); /*proto*/
-static PyMethodDef __pyx_mdef_8handlers_8payments_13robokassa_pay_17handle_custom_amount_input = {"handle_custom_amount_input", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_13robokassa_pay_17handle_custom_amount_input, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
-static PyObject *__pyx_pw_8handlers_8payments_13robokassa_pay_17handle_custom_amount_input(PyObject *__pyx_self,
-#if CYTHON_METH_FASTCALL
-PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
-#else
-PyObject *__pyx_args, PyObject *__pyx_kwds
-#endif
-) {
- PyObject *__pyx_v_message = 0;
- PyObject *__pyx_v_state = 0;
- #if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED Py_ssize_t __pyx_nargs;
- #endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
- PyObject* values[2] = {0,0};
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("handle_custom_amount_input (wrapper)", 0);
- #if !CYTHON_METH_FASTCALL
- #if CYTHON_ASSUME_SAFE_MACROS
- __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
- #else
- __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
- #endif
- #endif
- __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
- {
- PyObject **__pyx_pyargnames[] = {&__pyx_n_s_message,&__pyx_n_s_state,0};
- if (__pyx_kwds) {
- Py_ssize_t kw_args;
- switch (__pyx_nargs) {
- case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
- CYTHON_FALLTHROUGH;
- case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
- CYTHON_FALLTHROUGH;
- case 0: break;
- default: goto __pyx_L5_argtuple_error;
- }
- kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
- switch (__pyx_nargs) {
- case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_message)) != 0)) {
- (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
- kw_args--;
- }
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 244, __pyx_L3_error)
- else goto __pyx_L5_argtuple_error;
- CYTHON_FALLTHROUGH;
- case 1:
- if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_state)) != 0)) {
- (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
- kw_args--;
- }
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 244, __pyx_L3_error)
- else {
- __Pyx_RaiseArgtupleInvalid("handle_custom_amount_input", 1, 2, 2, 1); __PYX_ERR(0, 244, __pyx_L3_error)
- }
- }
- if (unlikely(kw_args > 0)) {
- const Py_ssize_t kwd_pos_args = __pyx_nargs;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "handle_custom_amount_input") < 0)) __PYX_ERR(0, 244, __pyx_L3_error)
- }
- } else if (unlikely(__pyx_nargs != 2)) {
- goto __pyx_L5_argtuple_error;
- } else {
- values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
- values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
- }
- __pyx_v_message = values[0];
- __pyx_v_state = values[1];
- }
- goto __pyx_L6_skip;
- __pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("handle_custom_amount_input", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 244, __pyx_L3_error)
- __pyx_L6_skip:;
- goto __pyx_L4_argument_unpacking_done;
- __pyx_L3_error:;
- {
- Py_ssize_t __pyx_temp;
- for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
- __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
- }
- }
- __Pyx_AddTraceback("handlers.payments.robokassa_pay.handle_custom_amount_input", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __Pyx_RefNannyFinishContext();
- return NULL;
- __pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_8handlers_8payments_13robokassa_pay_16handle_custom_amount_input(__pyx_self, __pyx_v_message, __pyx_v_state);
-
- /* function exit code */
- {
- Py_ssize_t __pyx_temp;
- for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
- __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
- }
- }
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static PyObject *__pyx_pf_8handlers_8payments_13robokassa_pay_16handle_custom_amount_input(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_message, PyObject *__pyx_v_state) {
- struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input *__pyx_cur_scope;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("handle_custom_amount_input", 0);
- __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input *)__pyx_tp_new_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input(__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input, __pyx_empty_tuple, NULL);
- if (unlikely(!__pyx_cur_scope)) {
- __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input *)Py_None);
- __Pyx_INCREF(Py_None);
- __PYX_ERR(0, 244, __pyx_L1_error)
- } else {
- __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
- }
- __pyx_cur_scope->__pyx_v_message = __pyx_v_message;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_message);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_message);
- __pyx_cur_scope->__pyx_v_state = __pyx_v_state;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_state);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_state);
- {
- __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_13robokassa_pay_18generator4, __pyx_codeobj__28, (PyObject *) __pyx_cur_scope, __pyx_n_s_handle_custom_amount_input, __pyx_n_s_handle_custom_amount_input, __pyx_n_s_handlers_payments_robokassa_pay); if (unlikely(!gen)) __PYX_ERR(0, 244, __pyx_L1_error)
- __Pyx_DECREF(__pyx_cur_scope);
- __Pyx_RefNannyFinishContext();
- return (PyObject *) gen;
- }
-
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_AddTraceback("handlers.payments.robokassa_pay.handle_custom_amount_input", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __Pyx_DECREF((PyObject *)__pyx_cur_scope);
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static PyObject *__pyx_gb_8handlers_8payments_13robokassa_pay_18generator4(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
-{
- struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input *)__pyx_generator->closure);
- PyObject *__pyx_r = NULL;
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- Py_ssize_t __pyx_t_4;
- Py_UCS4 __pyx_t_5;
- PyObject *__pyx_t_6 = NULL;
- PyObject *__pyx_t_7 = NULL;
- unsigned int __pyx_t_8;
- PyObject *__pyx_t_9 = NULL;
- PyObject *__pyx_t_10 = NULL;
- PyObject *__pyx_t_11 = NULL;
- int __pyx_t_12;
- PyObject *__pyx_t_13 = NULL;
- int __pyx_t_14;
- PyObject *__pyx_t_15 = NULL;
- int __pyx_t_16;
- char const *__pyx_t_17;
- PyObject *__pyx_t_18 = NULL;
- PyObject *__pyx_t_19 = NULL;
- PyObject *__pyx_t_20 = NULL;
- PyObject *__pyx_t_21 = NULL;
- PyObject *__pyx_t_22 = NULL;
- PyObject *__pyx_t_23 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("handle_custom_amount_input", 0);
- switch (__pyx_generator->resume_label) {
- case 0: goto __pyx_L3_first_run;
- case 1: goto __pyx_L11_resume_from_await;
- case 2: goto __pyx_L12_resume_from_await;
- case 3: goto __pyx_L13_resume_from_await;
- case 4: goto __pyx_L21_resume_from_await;
- default: /* CPython raises the right error here */
- __Pyx_RefNannyFinishContext();
- return NULL;
- }
- __pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 244, __pyx_L1_error)
-
- /* "handlers/payments/robokassa_pay.py":246
- * @router.message(ReplenishBalanceState.waiting_for_payment_confirmation_robokassa)
- * async def handle_custom_amount_input(message: types.Message, state: FSMContext):
- * tg_id = message.chat.id # <<<<<<<<<<<<<<
- * logger.info(f"User {tg_id} entered custom amount: {message.text}")
- * inv_id = 0
- */
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_chat); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 246, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_id); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 246, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_cur_scope->__pyx_v_tg_id = __pyx_t_2;
- __pyx_t_2 = 0;
-
- /* "handlers/payments/robokassa_pay.py":247
- * async def handle_custom_amount_input(message: types.Message, state: FSMContext):
- * tg_id = message.chat.id
- * logger.info(f"User {tg_id} entered custom amount: {message.text}") # <<<<<<<<<<<<<<
- * inv_id = 0
- *
- */
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 247, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_info); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 247, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 247, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = 0;
- __pyx_t_5 = 127;
- __Pyx_INCREF(__pyx_kp_u_User);
- __pyx_t_4 += 5;
- __Pyx_GIVEREF(__pyx_kp_u_User);
- PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_kp_u_User);
- __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_tg_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 247, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_5 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) > __pyx_t_5) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) : __pyx_t_5;
- __pyx_t_4 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6);
- __Pyx_GIVEREF(__pyx_t_6);
- PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_6);
- __pyx_t_6 = 0;
- __Pyx_INCREF(__pyx_kp_u_entered_custom_amount);
- __pyx_t_4 += 24;
- __Pyx_GIVEREF(__pyx_kp_u_entered_custom_amount);
- PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_kp_u_entered_custom_amount);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_text); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 247, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_t_6, __pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 247, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_7);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_5 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) > __pyx_t_5) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) : __pyx_t_5;
- __pyx_t_4 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7);
- __Pyx_GIVEREF(__pyx_t_7);
- PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_t_7);
- __pyx_t_7 = 0;
- __pyx_t_7 = __Pyx_PyUnicode_Join(__pyx_t_1, 4, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 247, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_7);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = NULL;
- __pyx_t_8 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_3))) {
- __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
- if (likely(__pyx_t_1)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
- __Pyx_INCREF(__pyx_t_1);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_3, function);
- __pyx_t_8 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_7};
- __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 247, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- }
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
- /* "handlers/payments/robokassa_pay.py":248
- * tg_id = message.chat.id
- * logger.info(f"User {tg_id} entered custom amount: {message.text}")
- * inv_id = 0 # <<<<<<<<<<<<<<
- *
- * try:
- */
- __pyx_cur_scope->__pyx_v_inv_id = 0;
-
- /* "handlers/payments/robokassa_pay.py":250
- * inv_id = 0
- *
- * try: # <<<<<<<<<<<<<<
- * amount = int(message.text)
- * if amount <= 0:
- */
- {
- __Pyx_ExceptionSave(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11);
- __Pyx_XGOTREF(__pyx_t_9);
- __Pyx_XGOTREF(__pyx_t_10);
- __Pyx_XGOTREF(__pyx_t_11);
- /*try:*/ {
-
- /* "handlers/payments/robokassa_pay.py":251
- *
- * try:
- * amount = int(message.text) # <<<<<<<<<<<<<<
- * if amount <= 0:
- * raise ValueError(" .")
- */
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_text); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 251, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 251, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_GIVEREF(__pyx_t_3);
- __pyx_cur_scope->__pyx_v_amount = __pyx_t_3;
- __pyx_t_3 = 0;
-
- /* "handlers/payments/robokassa_pay.py":252
- * try:
- * amount = int(message.text)
- * if amount <= 0: # <<<<<<<<<<<<<<
- * raise ValueError(" .")
- *
- */
- __pyx_t_3 = PyObject_RichCompare(__pyx_cur_scope->__pyx_v_amount, __pyx_int_0, Py_LE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 252, __pyx_L4_error)
- __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 252, __pyx_L4_error)
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(__pyx_t_12)) {
-
- /* "handlers/payments/robokassa_pay.py":253
- * amount = int(message.text)
- * if amount <= 0:
- * raise ValueError(" .") # <<<<<<<<<<<<<<
- *
- * await state.update_data(amount=amount)
- */
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 253, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_Raise(__pyx_t_3, 0, 0, 0);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __PYX_ERR(0, 253, __pyx_L4_error)
-
- /* "handlers/payments/robokassa_pay.py":252
- * try:
- * amount = int(message.text)
- * if amount <= 0: # <<<<<<<<<<<<<<
- * raise ValueError(" .")
- *
- */
- }
-
- /* "handlers/payments/robokassa_pay.py":255
- * raise ValueError(" .")
- *
- * await state.update_data(amount=amount) # <<<<<<<<<<<<<<
- *
- * payment_url = generate_payment_link(amount, inv_id, " ", tg_id)
- */
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_update_data); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 255, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 255, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_amount, __pyx_cur_scope->__pyx_v_amount) < 0) __PYX_ERR(0, 255, __pyx_L4_error)
- __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 255, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_7);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_7);
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- __Pyx_XGOTREF(__pyx_r);
- if (likely(__pyx_r)) {
- __Pyx_XGIVEREF(__pyx_t_9);
- __pyx_cur_scope->__pyx_t_0 = __pyx_t_9;
- __Pyx_XGIVEREF(__pyx_t_10);
- __pyx_cur_scope->__pyx_t_1 = __pyx_t_10;
- __Pyx_XGIVEREF(__pyx_t_11);
- __pyx_cur_scope->__pyx_t_2 = __pyx_t_11;
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
- /* return from generator, awaiting value */
- __pyx_generator->resume_label = 1;
- return __pyx_r;
- __pyx_L11_resume_from_await:;
- __pyx_t_9 = __pyx_cur_scope->__pyx_t_0;
- __pyx_cur_scope->__pyx_t_0 = 0;
- __Pyx_XGOTREF(__pyx_t_9);
- __pyx_t_10 = __pyx_cur_scope->__pyx_t_1;
- __pyx_cur_scope->__pyx_t_1 = 0;
- __Pyx_XGOTREF(__pyx_t_10);
- __pyx_t_11 = __pyx_cur_scope->__pyx_t_2;
- __pyx_cur_scope->__pyx_t_2 = 0;
- __Pyx_XGOTREF(__pyx_t_11);
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 255, __pyx_L4_error)
- } else {
- PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 255, __pyx_L4_error)
- }
- }
-
- /* "handlers/payments/robokassa_pay.py":257
- * await state.update_data(amount=amount)
- *
- * payment_url = generate_payment_link(amount, inv_id, " ", tg_id) # <<<<<<<<<<<<<<
- *
- * logger.info(f"Generated payment link for user {tg_id}: {payment_url}")
- */
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_generate_payment_link); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 257, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyInt_From_long(__pyx_cur_scope->__pyx_v_inv_id); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 257, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_1 = NULL;
- __pyx_t_8 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_2))) {
- __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
- if (likely(__pyx_t_1)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
- __Pyx_INCREF(__pyx_t_1);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_2, function);
- __pyx_t_8 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[5] = {__pyx_t_1, __pyx_cur_scope->__pyx_v_amount, __pyx_t_3, __pyx_kp_u__15, __pyx_cur_scope->__pyx_v_tg_id};
- __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 4+__pyx_t_8);
- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 257, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_7);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- }
- __Pyx_GIVEREF(__pyx_t_7);
- __pyx_cur_scope->__pyx_v_payment_url = __pyx_t_7;
- __pyx_t_7 = 0;
-
- /* "handlers/payments/robokassa_pay.py":259
- * payment_url = generate_payment_link(amount, inv_id, " ", tg_id)
- *
- * logger.info(f"Generated payment link for user {tg_id}: {payment_url}") # <<<<<<<<<<<<<<
- *
- * confirm_keyboard = InlineKeyboardMarkup(
- */
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 259, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_info); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 259, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 259, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = 0;
- __pyx_t_5 = 127;
- __Pyx_INCREF(__pyx_kp_u_Generated_payment_link_for_user);
- __pyx_t_4 += 32;
- __Pyx_GIVEREF(__pyx_kp_u_Generated_payment_link_for_user);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_u_Generated_payment_link_for_user);
- __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_tg_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 259, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_5 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) > __pyx_t_5) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) : __pyx_t_5;
- __pyx_t_4 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1);
- __Pyx_GIVEREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
- __pyx_t_1 = 0;
- __Pyx_INCREF(__pyx_kp_u__16);
- __pyx_t_4 += 2;
- __Pyx_GIVEREF(__pyx_kp_u__16);
- PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_kp_u__16);
- __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_payment_url, __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 259, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_5 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) > __pyx_t_5) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) : __pyx_t_5;
- __pyx_t_4 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1);
- __Pyx_GIVEREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_1);
- __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_2, 4, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 259, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = NULL;
- __pyx_t_8 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_3))) {
- __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
- if (likely(__pyx_t_2)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
- __Pyx_INCREF(__pyx_t_2);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_3, function);
- __pyx_t_8 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_1};
- __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 259, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_7);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- }
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-
- /* "handlers/payments/robokassa_pay.py":261
- * logger.info(f"Generated payment link for user {tg_id}: {payment_url}")
- *
- * confirm_keyboard = InlineKeyboardMarkup( # <<<<<<<<<<<<<<
- * inline_keyboard=[
- * [InlineKeyboardButton(text="", url=payment_url)],
- */
- __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_InlineKeyboardMarkup); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 261, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_7);
-
- /* "handlers/payments/robokassa_pay.py":262
- *
- * confirm_keyboard = InlineKeyboardMarkup(
- * inline_keyboard=[ # <<<<<<<<<<<<<<
- * [InlineKeyboardButton(text="", url=payment_url)],
- * [InlineKeyboardButton(text=" ", callback_data="pay_robokassa")],
- */
- __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 262, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_3);
-
- /* "handlers/payments/robokassa_pay.py":263
- * confirm_keyboard = InlineKeyboardMarkup(
- * inline_keyboard=[
- * [InlineKeyboardButton(text="", url=payment_url)], # <<<<<<<<<<<<<<
- * [InlineKeyboardButton(text=" ", callback_data="pay_robokassa")],
- * ]
- */
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 263, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 263, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_text, __pyx_n_u__17) < 0) __PYX_ERR(0, 263, __pyx_L4_error)
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_url, __pyx_cur_scope->__pyx_v_payment_url) < 0) __PYX_ERR(0, 263, __pyx_L4_error)
- __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 263, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_6);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 263, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_6);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_6)) __PYX_ERR(0, 263, __pyx_L4_error);
- __pyx_t_6 = 0;
-
- /* "handlers/payments/robokassa_pay.py":264
- * inline_keyboard=[
- * [InlineKeyboardButton(text="", url=payment_url)],
- * [InlineKeyboardButton(text=" ", callback_data="pay_robokassa")], # <<<<<<<<<<<<<<
- * ]
- * )
- */
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 264, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 264, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_text, __pyx_kp_u__4) < 0) __PYX_ERR(0, 264, __pyx_L4_error)
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_callback_data, __pyx_n_u_pay_robokassa) < 0) __PYX_ERR(0, 264, __pyx_L4_error)
- __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 264, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_13);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 264, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_GIVEREF(__pyx_t_13);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 0, __pyx_t_13)) __PYX_ERR(0, 264, __pyx_L4_error);
- __pyx_t_13 = 0;
-
- /* "handlers/payments/robokassa_pay.py":262
- *
- * confirm_keyboard = InlineKeyboardMarkup(
- * inline_keyboard=[ # <<<<<<<<<<<<<<
- * [InlineKeyboardButton(text="", url=payment_url)],
- * [InlineKeyboardButton(text=" ", callback_data="pay_robokassa")],
- */
- __pyx_t_13 = PyList_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 262, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_13);
- __Pyx_GIVEREF(__pyx_t_2);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_13, 0, __pyx_t_2)) __PYX_ERR(0, 262, __pyx_L4_error);
- __Pyx_GIVEREF(__pyx_t_1);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_13, 1, __pyx_t_1)) __PYX_ERR(0, 262, __pyx_L4_error);
- __pyx_t_2 = 0;
- __pyx_t_1 = 0;
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_inline_keyboard, __pyx_t_13) < 0) __PYX_ERR(0, 262, __pyx_L4_error)
- __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
-
- /* "handlers/payments/robokassa_pay.py":261
- * logger.info(f"Generated payment link for user {tg_id}: {payment_url}")
- *
- * confirm_keyboard = InlineKeyboardMarkup( # <<<<<<<<<<<<<<
- * inline_keyboard=[
- * [InlineKeyboardButton(text="", url=payment_url)],
- */
- __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 261, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_13);
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_GIVEREF(__pyx_t_13);
- __pyx_cur_scope->__pyx_v_confirm_keyboard = __pyx_t_13;
- __pyx_t_13 = 0;
-
- /* "handlers/payments/robokassa_pay.py":268
- * )
- *
- * await message.answer( # <<<<<<<<<<<<<<
- * text=f" {amount} . :",
- * reply_markup=confirm_keyboard,
- */
- __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_answer); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 268, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_13);
-
- /* "handlers/payments/robokassa_pay.py":269
- *
- * await message.answer(
- * text=f" {amount} . :", # <<<<<<<<<<<<<<
- * reply_markup=confirm_keyboard,
- * )
- */
- __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 269, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 269, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_7);
- __pyx_t_4 = 0;
- __pyx_t_5 = 127;
- __Pyx_INCREF(__pyx_kp_u__18);
- __pyx_t_5 = (65535 > __pyx_t_5) ? 65535 : __pyx_t_5;
- __pyx_t_4 += 25;
- __Pyx_GIVEREF(__pyx_kp_u__18);
- PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_kp_u__18);
- __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_amount, __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 269, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_5 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) > __pyx_t_5) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) : __pyx_t_5;
- __pyx_t_4 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1);
- __Pyx_GIVEREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_1);
- __pyx_t_1 = 0;
- __Pyx_INCREF(__pyx_kp_u__19);
- __pyx_t_5 = (65535 > __pyx_t_5) ? 65535 : __pyx_t_5;
- __pyx_t_4 += 45;
- __Pyx_GIVEREF(__pyx_kp_u__19);
- PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_kp_u__19);
- __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_7, 3, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 269, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_t_1) < 0) __PYX_ERR(0, 269, __pyx_L4_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
- /* "handlers/payments/robokassa_pay.py":270
- * await message.answer(
- * text=f" {amount} . :",
- * reply_markup=confirm_keyboard, # <<<<<<<<<<<<<<
- * )
- * await state.clear()
- */
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_reply_markup, __pyx_cur_scope->__pyx_v_confirm_keyboard) < 0) __PYX_ERR(0, 269, __pyx_L4_error)
-
- /* "handlers/payments/robokassa_pay.py":268
- * )
- *
- * await message.answer( # <<<<<<<<<<<<<<
- * text=f" {amount} . :",
- * reply_markup=confirm_keyboard,
- */
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 268, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_XGOTREF(__pyx_r);
- if (likely(__pyx_r)) {
- __Pyx_XGIVEREF(__pyx_t_9);
- __pyx_cur_scope->__pyx_t_0 = __pyx_t_9;
- __Pyx_XGIVEREF(__pyx_t_10);
- __pyx_cur_scope->__pyx_t_1 = __pyx_t_10;
- __Pyx_XGIVEREF(__pyx_t_11);
- __pyx_cur_scope->__pyx_t_2 = __pyx_t_11;
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
- /* return from generator, awaiting value */
- __pyx_generator->resume_label = 2;
- return __pyx_r;
- __pyx_L12_resume_from_await:;
- __pyx_t_9 = __pyx_cur_scope->__pyx_t_0;
- __pyx_cur_scope->__pyx_t_0 = 0;
- __Pyx_XGOTREF(__pyx_t_9);
- __pyx_t_10 = __pyx_cur_scope->__pyx_t_1;
- __pyx_cur_scope->__pyx_t_1 = 0;
- __Pyx_XGOTREF(__pyx_t_10);
- __pyx_t_11 = __pyx_cur_scope->__pyx_t_2;
- __pyx_cur_scope->__pyx_t_2 = 0;
- __Pyx_XGOTREF(__pyx_t_11);
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 268, __pyx_L4_error)
- } else {
- PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 268, __pyx_L4_error)
- }
- }
-
- /* "handlers/payments/robokassa_pay.py":272
- * reply_markup=confirm_keyboard,
- * )
- * await state.clear() # <<<<<<<<<<<<<<
- * except ValueError as e:
- * logger.error(f" {tg_id}: {e}")
- */
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_clear); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 272, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_13 = NULL;
- __pyx_t_8 = 0;
- #if CYTHON_UNPACK_METHODS
- if (likely(PyMethod_Check(__pyx_t_3))) {
- __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3);
- if (likely(__pyx_t_13)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
- __Pyx_INCREF(__pyx_t_13);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_3, function);
- __pyx_t_8 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_13, NULL};
- __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_8, 0+__pyx_t_8);
- __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 272, __pyx_L4_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- }
- __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_XGOTREF(__pyx_r);
- if (likely(__pyx_r)) {
- __Pyx_XGIVEREF(__pyx_t_9);
- __pyx_cur_scope->__pyx_t_0 = __pyx_t_9;
- __Pyx_XGIVEREF(__pyx_t_10);
- __pyx_cur_scope->__pyx_t_1 = __pyx_t_10;
- __Pyx_XGIVEREF(__pyx_t_11);
- __pyx_cur_scope->__pyx_t_2 = __pyx_t_11;
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
- /* return from generator, awaiting value */
- __pyx_generator->resume_label = 3;
- return __pyx_r;
- __pyx_L13_resume_from_await:;
- __pyx_t_9 = __pyx_cur_scope->__pyx_t_0;
- __pyx_cur_scope->__pyx_t_0 = 0;
- __Pyx_XGOTREF(__pyx_t_9);
- __pyx_t_10 = __pyx_cur_scope->__pyx_t_1;
- __pyx_cur_scope->__pyx_t_1 = 0;
- __Pyx_XGOTREF(__pyx_t_10);
- __pyx_t_11 = __pyx_cur_scope->__pyx_t_2;
- __pyx_cur_scope->__pyx_t_2 = 0;
- __Pyx_XGOTREF(__pyx_t_11);
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 272, __pyx_L4_error)
- } else {
- PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 272, __pyx_L4_error)
- }
- }
-
- /* "handlers/payments/robokassa_pay.py":250
- * inv_id = 0
- *
- * try: # <<<<<<<<<<<<<<
- * amount = int(message.text)
- * if amount <= 0:
- */
- }
- __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
- __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
- goto __pyx_L9_try_end;
- __pyx_L4_error:;
- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-
- /* "handlers/payments/robokassa_pay.py":273
- * )
- * await state.clear()
- * except ValueError as e: # <<<<<<<<<<<<<<
- * logger.error(f" {tg_id}: {e}")
- * await message.answer(
- */
- __pyx_t_14 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
- if (__pyx_t_14) {
- __Pyx_AddTraceback("handlers.payments.robokassa_pay.handle_custom_amount_input", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_13) < 0) __PYX_ERR(0, 273, __pyx_L6_except_error)
- __Pyx_XGOTREF(__pyx_t_1);
- __Pyx_XGOTREF(__pyx_t_3);
- __Pyx_XGOTREF(__pyx_t_13);
- __Pyx_INCREF(__pyx_t_3);
- __Pyx_GIVEREF(__pyx_t_3);
- __pyx_cur_scope->__pyx_v_e = __pyx_t_3;
- /*try:*/ {
-
- /* "handlers/payments/robokassa_pay.py":274
- * await state.clear()
- * except ValueError as e:
- * logger.error(f" {tg_id}: {e}") # <<<<<<<<<<<<<<
- * await message.answer(
- * text=" ( )."
- */
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 274, __pyx_L19_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_error); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 274, __pyx_L19_error)
- __Pyx_GOTREF(__pyx_t_6);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 274, __pyx_L19_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = 0;
- __pyx_t_5 = 127;
- __Pyx_INCREF(__pyx_kp_u__29);
- __pyx_t_5 = (65535 > __pyx_t_5) ? 65535 : __pyx_t_5;
- __pyx_t_4 += 35;
- __Pyx_GIVEREF(__pyx_kp_u__29);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_u__29);
- __pyx_t_15 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_tg_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 274, __pyx_L19_error)
- __Pyx_GOTREF(__pyx_t_15);
- __pyx_t_5 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_15) > __pyx_t_5) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_15) : __pyx_t_5;
- __pyx_t_4 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_15);
- __Pyx_GIVEREF(__pyx_t_15);
- PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_15);
- __pyx_t_15 = 0;
- __Pyx_INCREF(__pyx_kp_u__16);
- __pyx_t_4 += 2;
- __Pyx_GIVEREF(__pyx_kp_u__16);
- PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_kp_u__16);
- __pyx_t_15 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_e, __pyx_empty_unicode); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 274, __pyx_L19_error)
- __Pyx_GOTREF(__pyx_t_15);
- __pyx_t_5 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_15) > __pyx_t_5) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_15) : __pyx_t_5;
- __pyx_t_4 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_15);
- __Pyx_GIVEREF(__pyx_t_15);
- PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_15);
- __pyx_t_15 = 0;
- __pyx_t_15 = __Pyx_PyUnicode_Join(__pyx_t_2, 4, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 274, __pyx_L19_error)
- __Pyx_GOTREF(__pyx_t_15);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = NULL;
- __pyx_t_8 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_6))) {
- __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_6);
- if (likely(__pyx_t_2)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
- __Pyx_INCREF(__pyx_t_2);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_6, function);
- __pyx_t_8 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_15};
- __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
- if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 274, __pyx_L19_error)
- __Pyx_GOTREF(__pyx_t_7);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- }
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-
- /* "handlers/payments/robokassa_pay.py":275
- * except ValueError as e:
- * logger.error(f" {tg_id}: {e}")
- * await message.answer( # <<<<<<<<<<<<<<
- * text=" ( )."
- * )
- */
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_answer); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 275, __pyx_L19_error)
- __Pyx_GOTREF(__pyx_t_7);
-
- /* "handlers/payments/robokassa_pay.py":276
- * logger.error(f" {tg_id}: {e}")
- * await message.answer(
- * text=" ( )." # <<<<<<<<<<<<<<
- * )
- */
- __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 276, __pyx_L19_error)
- __Pyx_GOTREF(__pyx_t_6);
- if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_text, __pyx_kp_u__30) < 0) __PYX_ERR(0, 276, __pyx_L19_error)
-
- /* "handlers/payments/robokassa_pay.py":275
- * except ValueError as e:
- * logger.error(f" {tg_id}: {e}")
- * await message.answer( # <<<<<<<<<<<<<<
- * text=" ( )."
- * )
- */
- __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_empty_tuple, __pyx_t_6); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 275, __pyx_L19_error)
- __Pyx_GOTREF(__pyx_t_15);
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_15);
- __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
- __Pyx_XGOTREF(__pyx_r);
- if (likely(__pyx_r)) {
- __Pyx_XGIVEREF(__pyx_t_1);
- __pyx_cur_scope->__pyx_t_0 = __pyx_t_1;
- __Pyx_XGIVEREF(__pyx_t_3);
- __pyx_cur_scope->__pyx_t_1 = __pyx_t_3;
- __Pyx_XGIVEREF(__pyx_t_9);
- __pyx_cur_scope->__pyx_t_2 = __pyx_t_9;
- __Pyx_XGIVEREF(__pyx_t_10);
- __pyx_cur_scope->__pyx_t_3 = __pyx_t_10;
- __Pyx_XGIVEREF(__pyx_t_11);
- __pyx_cur_scope->__pyx_t_4 = __pyx_t_11;
- __Pyx_XGIVEREF(__pyx_t_13);
- __pyx_cur_scope->__pyx_t_5 = __pyx_t_13;
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- __Pyx_Coroutine_SwapException(__pyx_generator);
- /* return from generator, awaiting value */
- __pyx_generator->resume_label = 4;
- return __pyx_r;
- __pyx_L21_resume_from_await:;
- __pyx_t_1 = __pyx_cur_scope->__pyx_t_0;
- __pyx_cur_scope->__pyx_t_0 = 0;
- __Pyx_XGOTREF(__pyx_t_1);
- __pyx_t_3 = __pyx_cur_scope->__pyx_t_1;
- __pyx_cur_scope->__pyx_t_1 = 0;
- __Pyx_XGOTREF(__pyx_t_3);
- __pyx_t_9 = __pyx_cur_scope->__pyx_t_2;
- __pyx_cur_scope->__pyx_t_2 = 0;
- __Pyx_XGOTREF(__pyx_t_9);
- __pyx_t_10 = __pyx_cur_scope->__pyx_t_3;
- __pyx_cur_scope->__pyx_t_3 = 0;
- __Pyx_XGOTREF(__pyx_t_10);
- __pyx_t_11 = __pyx_cur_scope->__pyx_t_4;
- __pyx_cur_scope->__pyx_t_4 = 0;
- __Pyx_XGOTREF(__pyx_t_11);
- __pyx_t_13 = __pyx_cur_scope->__pyx_t_5;
- __pyx_cur_scope->__pyx_t_5 = 0;
- __Pyx_XGOTREF(__pyx_t_13);
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 275, __pyx_L19_error)
- } else {
- PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 275, __pyx_L19_error)
- }
- }
- }
-
- /* "handlers/payments/robokassa_pay.py":273
- * )
- * await state.clear()
- * except ValueError as e: # <<<<<<<<<<<<<<
- * logger.error(f" {tg_id}: {e}")
- * await message.answer(
- */
- /*finally:*/ {
- /*normal exit:*/{
- __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e);
- __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0;
- goto __pyx_L20;
- }
- __pyx_L19_error:;
- /*exception exit:*/{
- __Pyx_PyThreadState_assign
- __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0;
- __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_21, &__pyx_t_22, &__pyx_t_23);
- if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20) < 0)) __Pyx_ErrFetch(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20);
- __Pyx_XGOTREF(__pyx_t_18);
- __Pyx_XGOTREF(__pyx_t_19);
- __Pyx_XGOTREF(__pyx_t_20);
- __Pyx_XGOTREF(__pyx_t_21);
- __Pyx_XGOTREF(__pyx_t_22);
- __Pyx_XGOTREF(__pyx_t_23);
- __pyx_t_14 = __pyx_lineno; __pyx_t_16 = __pyx_clineno; __pyx_t_17 = __pyx_filename;
- {
- __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e);
- __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0;
- }
- if (PY_MAJOR_VERSION >= 3) {
- __Pyx_XGIVEREF(__pyx_t_21);
- __Pyx_XGIVEREF(__pyx_t_22);
- __Pyx_XGIVEREF(__pyx_t_23);
- __Pyx_ExceptionReset(__pyx_t_21, __pyx_t_22, __pyx_t_23);
- }
- __Pyx_XGIVEREF(__pyx_t_18);
- __Pyx_XGIVEREF(__pyx_t_19);
- __Pyx_XGIVEREF(__pyx_t_20);
- __Pyx_ErrRestore(__pyx_t_18, __pyx_t_19, __pyx_t_20);
- __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0;
- __pyx_lineno = __pyx_t_14; __pyx_clineno = __pyx_t_16; __pyx_filename = __pyx_t_17;
- goto __pyx_L6_except_error;
- }
- __pyx_L20:;
- }
- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
- goto __pyx_L5_exception_handled;
- }
- goto __pyx_L6_except_error;
-
- /* "handlers/payments/robokassa_pay.py":250
- * inv_id = 0
- *
- * try: # <<<<<<<<<<<<<<
- * amount = int(message.text)
- * if amount <= 0:
- */
- __pyx_L6_except_error:;
- __Pyx_XGIVEREF(__pyx_t_9);
- __Pyx_XGIVEREF(__pyx_t_10);
- __Pyx_XGIVEREF(__pyx_t_11);
- __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11);
- goto __pyx_L1_error;
- __pyx_L5_exception_handled:;
- __Pyx_XGIVEREF(__pyx_t_9);
- __Pyx_XGIVEREF(__pyx_t_10);
- __Pyx_XGIVEREF(__pyx_t_11);
- __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11);
- __pyx_L9_try_end:;
- }
- CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
-
- /* "handlers/payments/robokassa_pay.py":244
- *
- *
- * @router.message(ReplenishBalanceState.waiting_for_payment_confirmation_robokassa) # <<<<<<<<<<<<<<
- * async def handle_custom_amount_input(message: types.Message, state: FSMContext):
- * tg_id = message.chat.id
- */
-
- /* function exit code */
- PyErr_SetNone(PyExc_StopIteration);
- goto __pyx_L0;
- __pyx_L1_error:;
- __Pyx_Generator_Replace_StopIteration(0);
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_6);
- __Pyx_XDECREF(__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_13);
- __Pyx_XDECREF(__pyx_t_15);
- __Pyx_AddTraceback("handle_custom_amount_input", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_L0:;
- __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
- #if !CYTHON_USE_EXC_INFO_STACK
- __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
- #endif
- __pyx_generator->resume_label = -1;
- __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-#if CYTHON_USE_FREELISTS
-static struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa *__pyx_freelist_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa[8];
-static int __pyx_freecount_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa = 0;
-#endif
-
-static PyObject *__pyx_tp_new_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
- PyObject *o;
- #if CYTHON_COMPILING_IN_LIMITED_API
- allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
- o = alloc_func(t, 0);
- #else
- #if CYTHON_USE_FREELISTS
- if (likely((int)(__pyx_freecount_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa)))) {
- o = (PyObject*)__pyx_freelist_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa[--__pyx_freecount_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa];
- memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa));
- (void) PyObject_INIT(o, t);
- PyObject_GC_Track(o);
- } else
- #endif
- {
- o = (*t->tp_alloc)(t, 0);
- if (unlikely(!o)) return 0;
- }
- #endif
- return o;
-}
-
-static void __pyx_tp_dealloc_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa(PyObject *o) {
- struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa *p = (struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa *)o;
- #if CYTHON_USE_TP_FINALIZE
- if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
- if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa) {
- if (PyObject_CallFinalizerFromDealloc(o)) return;
- }
- }
- #endif
- PyObject_GC_UnTrack(o);
- Py_CLEAR(p->__pyx_v_builder);
- Py_CLEAR(p->__pyx_v_callback_query);
- Py_CLEAR(p->__pyx_v_exists);
- Py_CLEAR(p->__pyx_v_i);
- Py_CLEAR(p->__pyx_v_key_count);
- Py_CLEAR(p->__pyx_v_session);
- Py_CLEAR(p->__pyx_v_state);
- Py_CLEAR(p->__pyx_v_tg_id);
- #if CYTHON_USE_FREELISTS
- if (((int)(__pyx_freecount_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa)))) {
- __pyx_freelist_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa[__pyx_freecount_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa++] = ((struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa *)o);
- } else
- #endif
- {
- #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
- (*Py_TYPE(o)->tp_free)(o);
- #else
- {
- freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
- if (tp_free) tp_free(o);
- }
- #endif
- }
-}
-
-static int __pyx_tp_traverse_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa(PyObject *o, visitproc v, void *a) {
- int e;
- struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa *p = (struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa *)o;
- if (p->__pyx_v_builder) {
- e = (*v)(p->__pyx_v_builder, a); if (e) return e;
- }
- if (p->__pyx_v_callback_query) {
- e = (*v)(p->__pyx_v_callback_query, a); if (e) return e;
- }
- if (p->__pyx_v_exists) {
- e = (*v)(p->__pyx_v_exists, a); if (e) return e;
- }
- if (p->__pyx_v_i) {
- e = (*v)(p->__pyx_v_i, a); if (e) return e;
- }
- if (p->__pyx_v_key_count) {
- e = (*v)(p->__pyx_v_key_count, a); if (e) return e;
- }
- if (p->__pyx_v_session) {
- e = (*v)(p->__pyx_v_session, a); if (e) return e;
- }
- if (p->__pyx_v_state) {
- e = (*v)(p->__pyx_v_state, a); if (e) return e;
- }
- if (p->__pyx_v_tg_id) {
- e = (*v)(p->__pyx_v_tg_id, a); if (e) return e;
- }
- return 0;
-}
-#if CYTHON_USE_TYPE_SPECS
-static PyType_Slot __pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa_slots[] = {
- {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa},
- {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa},
- {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa},
- {0, 0},
-};
-static PyType_Spec __pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa_spec = {
- "handlers.payments.robokassa_pay.__pyx_scope_struct__process_callback_pay_robokassa",
- sizeof(struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa),
- 0,
- Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
- __pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa_slots,
-};
-#else
-
-static PyTypeObject __pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa = {
- PyVarObject_HEAD_INIT(0, 0)
- "handlers.payments.robokassa_pay.""__pyx_scope_struct__process_callback_pay_robokassa", /*tp_name*/
- sizeof(struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa), /*tp_basicsize*/
- 0, /*tp_itemsize*/
- __pyx_tp_dealloc_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa, /*tp_dealloc*/
- #if PY_VERSION_HEX < 0x030800b4
- 0, /*tp_print*/
- #endif
- #if PY_VERSION_HEX >= 0x030800b4
- 0, /*tp_vectorcall_offset*/
- #endif
- 0, /*tp_getattr*/
- 0, /*tp_setattr*/
- #if PY_MAJOR_VERSION < 3
- 0, /*tp_compare*/
- #endif
- #if PY_MAJOR_VERSION >= 3
- 0, /*tp_as_async*/
- #endif
- 0, /*tp_repr*/
- 0, /*tp_as_number*/
- 0, /*tp_as_sequence*/
- 0, /*tp_as_mapping*/
- 0, /*tp_hash*/
- 0, /*tp_call*/
- 0, /*tp_str*/
- 0, /*tp_getattro*/
- 0, /*tp_setattro*/
- 0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
- 0, /*tp_doc*/
- __pyx_tp_traverse_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa, /*tp_traverse*/
- 0, /*tp_clear*/
- 0, /*tp_richcompare*/
- 0, /*tp_weaklistoffset*/
- 0, /*tp_iter*/
- 0, /*tp_iternext*/
- 0, /*tp_methods*/
- 0, /*tp_members*/
- 0, /*tp_getset*/
- 0, /*tp_base*/
- 0, /*tp_dict*/
- 0, /*tp_descr_get*/
- 0, /*tp_descr_set*/
- #if !CYTHON_USE_TYPE_SPECS
- 0, /*tp_dictoffset*/
- #endif
- 0, /*tp_init*/
- 0, /*tp_alloc*/
- __pyx_tp_new_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa, /*tp_new*/
- 0, /*tp_free*/
- 0, /*tp_is_gc*/
- 0, /*tp_bases*/
- 0, /*tp_mro*/
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0, /*tp_weaklist*/
- 0, /*tp_del*/
- 0, /*tp_version_tag*/
- #if PY_VERSION_HEX >= 0x030400a1
- #if CYTHON_USE_TP_FINALIZE
- 0, /*tp_finalize*/
- #else
- NULL, /*tp_finalize*/
- #endif
- #endif
- #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
- 0, /*tp_vectorcall*/
- #endif
- #if __PYX_NEED_TP_PRINT_SLOT == 1
- 0, /*tp_print*/
- #endif
- #if PY_VERSION_HEX >= 0x030C0000
- 0, /*tp_watched*/
- #endif
- #if PY_VERSION_HEX >= 0x030d00A4
- 0, /*tp_versions_used*/
- #endif
- #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
- 0, /*tp_pypy_flags*/
- #endif
-};
-#endif
-
-#if CYTHON_USE_FREELISTS
-static struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection *__pyx_freelist_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection[8];
-static int __pyx_freecount_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection = 0;
-#endif
-
-static PyObject *__pyx_tp_new_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
- PyObject *o;
- #if CYTHON_COMPILING_IN_LIMITED_API
- allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
- o = alloc_func(t, 0);
- #else
- #if CYTHON_USE_FREELISTS
- if (likely((int)(__pyx_freecount_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection)))) {
- o = (PyObject*)__pyx_freelist_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection[--__pyx_freecount_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection];
- memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection));
- (void) PyObject_INIT(o, t);
- PyObject_GC_Track(o);
- } else
- #endif
- {
- o = (*t->tp_alloc)(t, 0);
- if (unlikely(!o)) return 0;
- }
- #endif
- return o;
-}
-
-static void __pyx_tp_dealloc_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection(PyObject *o) {
- struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection *p = (struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection *)o;
- #if CYTHON_USE_TP_FINALIZE
- if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
- if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection) {
- if (PyObject_CallFinalizerFromDealloc(o)) return;
- }
- }
- #endif
- PyObject_GC_UnTrack(o);
- Py_CLEAR(p->__pyx_v_amount);
- Py_CLEAR(p->__pyx_v_amount_str);
- Py_CLEAR(p->__pyx_v_callback_query);
- Py_CLEAR(p->__pyx_v_confirm_keyboard);
- Py_CLEAR(p->__pyx_v_data);
- Py_CLEAR(p->__pyx_v_e);
- Py_CLEAR(p->__pyx_v_payment_url);
- Py_CLEAR(p->__pyx_v_state);
- Py_CLEAR(p->__pyx_v_tg_id);
- Py_CLEAR(p->__pyx_t_0);
- Py_CLEAR(p->__pyx_t_1);
- Py_CLEAR(p->__pyx_t_2);
- Py_CLEAR(p->__pyx_t_3);
- Py_CLEAR(p->__pyx_t_4);
- Py_CLEAR(p->__pyx_t_5);
- #if CYTHON_USE_FREELISTS
- if (((int)(__pyx_freecount_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection)))) {
- __pyx_freelist_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection[__pyx_freecount_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection++] = ((struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection *)o);
- } else
- #endif
- {
- #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
- (*Py_TYPE(o)->tp_free)(o);
- #else
- {
- freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
- if (tp_free) tp_free(o);
- }
- #endif
- }
-}
-
-static int __pyx_tp_traverse_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection(PyObject *o, visitproc v, void *a) {
- int e;
- struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection *p = (struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection *)o;
- if (p->__pyx_v_amount) {
- e = (*v)(p->__pyx_v_amount, a); if (e) return e;
- }
- if (p->__pyx_v_amount_str) {
- e = (*v)(p->__pyx_v_amount_str, a); if (e) return e;
- }
- if (p->__pyx_v_callback_query) {
- e = (*v)(p->__pyx_v_callback_query, a); if (e) return e;
- }
- if (p->__pyx_v_confirm_keyboard) {
- e = (*v)(p->__pyx_v_confirm_keyboard, a); if (e) return e;
- }
- if (p->__pyx_v_data) {
- e = (*v)(p->__pyx_v_data, a); if (e) return e;
- }
- if (p->__pyx_v_e) {
- e = (*v)(p->__pyx_v_e, a); if (e) return e;
- }
- if (p->__pyx_v_payment_url) {
- e = (*v)(p->__pyx_v_payment_url, a); if (e) return e;
- }
- if (p->__pyx_v_state) {
- e = (*v)(p->__pyx_v_state, a); if (e) return e;
- }
- if (p->__pyx_v_tg_id) {
- e = (*v)(p->__pyx_v_tg_id, a); if (e) return e;
- }
- if (p->__pyx_t_0) {
- e = (*v)(p->__pyx_t_0, a); if (e) return e;
- }
- if (p->__pyx_t_1) {
- e = (*v)(p->__pyx_t_1, a); if (e) return e;
- }
- if (p->__pyx_t_2) {
- e = (*v)(p->__pyx_t_2, a); if (e) return e;
- }
- if (p->__pyx_t_3) {
- e = (*v)(p->__pyx_t_3, a); if (e) return e;
- }
- if (p->__pyx_t_4) {
- e = (*v)(p->__pyx_t_4, a); if (e) return e;
- }
- if (p->__pyx_t_5) {
- e = (*v)(p->__pyx_t_5, a); if (e) return e;
- }
- return 0;
-}
-#if CYTHON_USE_TYPE_SPECS
-static PyType_Slot __pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection_slots[] = {
- {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection},
- {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection},
- {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection},
- {0, 0},
-};
-static PyType_Spec __pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection_spec = {
- "handlers.payments.robokassa_pay.__pyx_scope_struct_1_process_amount_selection",
- sizeof(struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection),
- 0,
- Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
- __pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection_slots,
-};
-#else
-
-static PyTypeObject __pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection = {
- PyVarObject_HEAD_INIT(0, 0)
- "handlers.payments.robokassa_pay.""__pyx_scope_struct_1_process_amount_selection", /*tp_name*/
- sizeof(struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection), /*tp_basicsize*/
- 0, /*tp_itemsize*/
- __pyx_tp_dealloc_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection, /*tp_dealloc*/
- #if PY_VERSION_HEX < 0x030800b4
- 0, /*tp_print*/
- #endif
- #if PY_VERSION_HEX >= 0x030800b4
- 0, /*tp_vectorcall_offset*/
- #endif
- 0, /*tp_getattr*/
- 0, /*tp_setattr*/
- #if PY_MAJOR_VERSION < 3
- 0, /*tp_compare*/
- #endif
- #if PY_MAJOR_VERSION >= 3
- 0, /*tp_as_async*/
- #endif
- 0, /*tp_repr*/
- 0, /*tp_as_number*/
- 0, /*tp_as_sequence*/
- 0, /*tp_as_mapping*/
- 0, /*tp_hash*/
- 0, /*tp_call*/
- 0, /*tp_str*/
- 0, /*tp_getattro*/
- 0, /*tp_setattro*/
- 0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
- 0, /*tp_doc*/
- __pyx_tp_traverse_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection, /*tp_traverse*/
- 0, /*tp_clear*/
- 0, /*tp_richcompare*/
- 0, /*tp_weaklistoffset*/
- 0, /*tp_iter*/
- 0, /*tp_iternext*/
- 0, /*tp_methods*/
- 0, /*tp_members*/
- 0, /*tp_getset*/
- 0, /*tp_base*/
- 0, /*tp_dict*/
- 0, /*tp_descr_get*/
- 0, /*tp_descr_set*/
- #if !CYTHON_USE_TYPE_SPECS
- 0, /*tp_dictoffset*/
- #endif
- 0, /*tp_init*/
- 0, /*tp_alloc*/
- __pyx_tp_new_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection, /*tp_new*/
- 0, /*tp_free*/
- 0, /*tp_is_gc*/
- 0, /*tp_bases*/
- 0, /*tp_mro*/
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0, /*tp_weaklist*/
- 0, /*tp_del*/
- 0, /*tp_version_tag*/
- #if PY_VERSION_HEX >= 0x030400a1
- #if CYTHON_USE_TP_FINALIZE
- 0, /*tp_finalize*/
- #else
- NULL, /*tp_finalize*/
- #endif
- #endif
- #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
- 0, /*tp_vectorcall*/
- #endif
- #if __PYX_NEED_TP_PRINT_SLOT == 1
- 0, /*tp_print*/
- #endif
- #if PY_VERSION_HEX >= 0x030C0000
- 0, /*tp_watched*/
- #endif
- #if PY_VERSION_HEX >= 0x030d00A4
- 0, /*tp_versions_used*/
- #endif
- #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
- 0, /*tp_pypy_flags*/
- #endif
-};
-#endif
-
-#if CYTHON_USE_FREELISTS
-static struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook *__pyx_freelist_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook[8];
-static int __pyx_freecount_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook = 0;
-#endif
-
-static PyObject *__pyx_tp_new_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
- PyObject *o;
- #if CYTHON_COMPILING_IN_LIMITED_API
- allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
- o = alloc_func(t, 0);
- #else
- #if CYTHON_USE_FREELISTS
- if (likely((int)(__pyx_freecount_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook)))) {
- o = (PyObject*)__pyx_freelist_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook[--__pyx_freecount_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook];
- memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook));
- (void) PyObject_INIT(o, t);
- PyObject_GC_Track(o);
- } else
- #endif
- {
- o = (*t->tp_alloc)(t, 0);
- if (unlikely(!o)) return 0;
- }
- #endif
- return o;
-}
-
-static void __pyx_tp_dealloc_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook(PyObject *o) {
- struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook *p = (struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook *)o;
- #if CYTHON_USE_TP_FINALIZE
- if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
- if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook) {
- if (PyObject_CallFinalizerFromDealloc(o)) return;
- }
- }
- #endif
- PyObject_GC_UnTrack(o);
- Py_CLEAR(p->__pyx_v_amount);
- Py_CLEAR(p->__pyx_v_e);
- Py_CLEAR(p->__pyx_v_inv_id);
- Py_CLEAR(p->__pyx_v_params);
- Py_CLEAR(p->__pyx_v_request);
- Py_CLEAR(p->__pyx_v_shp_id);
- Py_CLEAR(p->__pyx_v_signature_value);
- Py_CLEAR(p->__pyx_v_tg_id);
- Py_CLEAR(p->__pyx_t_0);
- Py_CLEAR(p->__pyx_t_1);
- Py_CLEAR(p->__pyx_t_2);
- #if CYTHON_USE_FREELISTS
- if (((int)(__pyx_freecount_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook)))) {
- __pyx_freelist_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook[__pyx_freecount_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook++] = ((struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook *)o);
- } else
- #endif
- {
- #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
- (*Py_TYPE(o)->tp_free)(o);
- #else
- {
- freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
- if (tp_free) tp_free(o);
- }
- #endif
- }
-}
-
-static int __pyx_tp_traverse_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook(PyObject *o, visitproc v, void *a) {
- int e;
- struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook *p = (struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook *)o;
- if (p->__pyx_v_amount) {
- e = (*v)(p->__pyx_v_amount, a); if (e) return e;
- }
- if (p->__pyx_v_e) {
- e = (*v)(p->__pyx_v_e, a); if (e) return e;
- }
- if (p->__pyx_v_inv_id) {
- e = (*v)(p->__pyx_v_inv_id, a); if (e) return e;
- }
- if (p->__pyx_v_params) {
- e = (*v)(p->__pyx_v_params, a); if (e) return e;
- }
- if (p->__pyx_v_request) {
- e = (*v)(p->__pyx_v_request, a); if (e) return e;
- }
- if (p->__pyx_v_shp_id) {
- e = (*v)(p->__pyx_v_shp_id, a); if (e) return e;
- }
- if (p->__pyx_v_signature_value) {
- e = (*v)(p->__pyx_v_signature_value, a); if (e) return e;
- }
- if (p->__pyx_v_tg_id) {
- e = (*v)(p->__pyx_v_tg_id, a); if (e) return e;
- }
- if (p->__pyx_t_0) {
- e = (*v)(p->__pyx_t_0, a); if (e) return e;
- }
- if (p->__pyx_t_1) {
- e = (*v)(p->__pyx_t_1, a); if (e) return e;
- }
- if (p->__pyx_t_2) {
- e = (*v)(p->__pyx_t_2, a); if (e) return e;
- }
- return 0;
-}
-#if CYTHON_USE_TYPE_SPECS
-static PyType_Slot __pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook_slots[] = {
- {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook},
- {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook},
- {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook},
- {0, 0},
-};
-static PyType_Spec __pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook_spec = {
- "handlers.payments.robokassa_pay.__pyx_scope_struct_2_robokassa_webhook",
- sizeof(struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook),
- 0,
- Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
- __pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook_slots,
-};
-#else
-
-static PyTypeObject __pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook = {
- PyVarObject_HEAD_INIT(0, 0)
- "handlers.payments.robokassa_pay.""__pyx_scope_struct_2_robokassa_webhook", /*tp_name*/
- sizeof(struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook), /*tp_basicsize*/
- 0, /*tp_itemsize*/
- __pyx_tp_dealloc_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook, /*tp_dealloc*/
- #if PY_VERSION_HEX < 0x030800b4
- 0, /*tp_print*/
- #endif
- #if PY_VERSION_HEX >= 0x030800b4
- 0, /*tp_vectorcall_offset*/
- #endif
- 0, /*tp_getattr*/
- 0, /*tp_setattr*/
- #if PY_MAJOR_VERSION < 3
- 0, /*tp_compare*/
- #endif
- #if PY_MAJOR_VERSION >= 3
- 0, /*tp_as_async*/
- #endif
- 0, /*tp_repr*/
- 0, /*tp_as_number*/
- 0, /*tp_as_sequence*/
- 0, /*tp_as_mapping*/
- 0, /*tp_hash*/
- 0, /*tp_call*/
- 0, /*tp_str*/
- 0, /*tp_getattro*/
- 0, /*tp_setattro*/
- 0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
- 0, /*tp_doc*/
- __pyx_tp_traverse_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook, /*tp_traverse*/
- 0, /*tp_clear*/
- 0, /*tp_richcompare*/
- 0, /*tp_weaklistoffset*/
- 0, /*tp_iter*/
- 0, /*tp_iternext*/
- 0, /*tp_methods*/
- 0, /*tp_members*/
- 0, /*tp_getset*/
- 0, /*tp_base*/
- 0, /*tp_dict*/
- 0, /*tp_descr_get*/
- 0, /*tp_descr_set*/
- #if !CYTHON_USE_TYPE_SPECS
- 0, /*tp_dictoffset*/
- #endif
- 0, /*tp_init*/
- 0, /*tp_alloc*/
- __pyx_tp_new_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook, /*tp_new*/
- 0, /*tp_free*/
- 0, /*tp_is_gc*/
- 0, /*tp_bases*/
- 0, /*tp_mro*/
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0, /*tp_weaklist*/
- 0, /*tp_del*/
- 0, /*tp_version_tag*/
- #if PY_VERSION_HEX >= 0x030400a1
- #if CYTHON_USE_TP_FINALIZE
- 0, /*tp_finalize*/
- #else
- NULL, /*tp_finalize*/
- #endif
- #endif
- #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
- 0, /*tp_vectorcall*/
- #endif
- #if __PYX_NEED_TP_PRINT_SLOT == 1
- 0, /*tp_print*/
- #endif
- #if PY_VERSION_HEX >= 0x030C0000
- 0, /*tp_watched*/
- #endif
- #if PY_VERSION_HEX >= 0x030d00A4
- 0, /*tp_versions_used*/
- #endif
- #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
- 0, /*tp_pypy_flags*/
- #endif
-};
-#endif
-
-#if CYTHON_USE_FREELISTS
-static struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection *__pyx_freelist_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection[8];
-static int __pyx_freecount_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection = 0;
-#endif
-
-static PyObject *__pyx_tp_new_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
- PyObject *o;
- #if CYTHON_COMPILING_IN_LIMITED_API
- allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
- o = alloc_func(t, 0);
- #else
- #if CYTHON_USE_FREELISTS
- if (likely((int)(__pyx_freecount_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection)))) {
- o = (PyObject*)__pyx_freelist_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection[--__pyx_freecount_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection];
- memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection));
- (void) PyObject_INIT(o, t);
- PyObject_GC_Track(o);
- } else
- #endif
- {
- o = (*t->tp_alloc)(t, 0);
- if (unlikely(!o)) return 0;
- }
- #endif
- return o;
-}
-
-static void __pyx_tp_dealloc_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection(PyObject *o) {
- struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection *p = (struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection *)o;
- #if CYTHON_USE_TP_FINALIZE
- if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
- if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection) {
- if (PyObject_CallFinalizerFromDealloc(o)) return;
- }
- }
- #endif
- PyObject_GC_UnTrack(o);
- Py_CLEAR(p->__pyx_v_builder);
- Py_CLEAR(p->__pyx_v_callback_query);
- Py_CLEAR(p->__pyx_v_state);
- Py_CLEAR(p->__pyx_v_tg_id);
- #if CYTHON_USE_FREELISTS
- if (((int)(__pyx_freecount_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection)))) {
- __pyx_freelist_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection[__pyx_freecount_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection++] = ((struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection *)o);
- } else
- #endif
- {
- #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
- (*Py_TYPE(o)->tp_free)(o);
- #else
- {
- freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
- if (tp_free) tp_free(o);
- }
- #endif
- }
-}
-
-static int __pyx_tp_traverse_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection(PyObject *o, visitproc v, void *a) {
- int e;
- struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection *p = (struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection *)o;
- if (p->__pyx_v_builder) {
- e = (*v)(p->__pyx_v_builder, a); if (e) return e;
- }
- if (p->__pyx_v_callback_query) {
- e = (*v)(p->__pyx_v_callback_query, a); if (e) return e;
- }
- if (p->__pyx_v_state) {
- e = (*v)(p->__pyx_v_state, a); if (e) return e;
- }
- if (p->__pyx_v_tg_id) {
- e = (*v)(p->__pyx_v_tg_id, a); if (e) return e;
- }
- return 0;
-}
-#if CYTHON_USE_TYPE_SPECS
-static PyType_Slot __pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection_slots[] = {
- {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection},
- {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection},
- {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection},
- {0, 0},
-};
-static PyType_Spec __pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection_spec = {
- "handlers.payments.robokassa_pay.__pyx_scope_struct_3_process_custom_amount_selection",
- sizeof(struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection),
- 0,
- Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
- __pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection_slots,
-};
-#else
-
-static PyTypeObject __pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection = {
- PyVarObject_HEAD_INIT(0, 0)
- "handlers.payments.robokassa_pay.""__pyx_scope_struct_3_process_custom_amount_selection", /*tp_name*/
- sizeof(struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection), /*tp_basicsize*/
- 0, /*tp_itemsize*/
- __pyx_tp_dealloc_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection, /*tp_dealloc*/
- #if PY_VERSION_HEX < 0x030800b4
- 0, /*tp_print*/
- #endif
- #if PY_VERSION_HEX >= 0x030800b4
- 0, /*tp_vectorcall_offset*/
- #endif
- 0, /*tp_getattr*/
- 0, /*tp_setattr*/
- #if PY_MAJOR_VERSION < 3
- 0, /*tp_compare*/
- #endif
- #if PY_MAJOR_VERSION >= 3
- 0, /*tp_as_async*/
- #endif
- 0, /*tp_repr*/
- 0, /*tp_as_number*/
- 0, /*tp_as_sequence*/
- 0, /*tp_as_mapping*/
- 0, /*tp_hash*/
- 0, /*tp_call*/
- 0, /*tp_str*/
- 0, /*tp_getattro*/
- 0, /*tp_setattro*/
- 0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
- 0, /*tp_doc*/
- __pyx_tp_traverse_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection, /*tp_traverse*/
- 0, /*tp_clear*/
- 0, /*tp_richcompare*/
- 0, /*tp_weaklistoffset*/
- 0, /*tp_iter*/
- 0, /*tp_iternext*/
- 0, /*tp_methods*/
- 0, /*tp_members*/
- 0, /*tp_getset*/
- 0, /*tp_base*/
- 0, /*tp_dict*/
- 0, /*tp_descr_get*/
- 0, /*tp_descr_set*/
- #if !CYTHON_USE_TYPE_SPECS
- 0, /*tp_dictoffset*/
- #endif
- 0, /*tp_init*/
- 0, /*tp_alloc*/
- __pyx_tp_new_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection, /*tp_new*/
- 0, /*tp_free*/
- 0, /*tp_is_gc*/
- 0, /*tp_bases*/
- 0, /*tp_mro*/
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0, /*tp_weaklist*/
- 0, /*tp_del*/
- 0, /*tp_version_tag*/
- #if PY_VERSION_HEX >= 0x030400a1
- #if CYTHON_USE_TP_FINALIZE
- 0, /*tp_finalize*/
- #else
- NULL, /*tp_finalize*/
- #endif
- #endif
- #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
- 0, /*tp_vectorcall*/
- #endif
- #if __PYX_NEED_TP_PRINT_SLOT == 1
- 0, /*tp_print*/
- #endif
- #if PY_VERSION_HEX >= 0x030C0000
- 0, /*tp_watched*/
- #endif
- #if PY_VERSION_HEX >= 0x030d00A4
- 0, /*tp_versions_used*/
- #endif
- #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
- 0, /*tp_pypy_flags*/
- #endif
-};
-#endif
-
-#if CYTHON_USE_FREELISTS
-static struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input *__pyx_freelist_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input[8];
-static int __pyx_freecount_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input = 0;
-#endif
-
-static PyObject *__pyx_tp_new_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
- PyObject *o;
- #if CYTHON_COMPILING_IN_LIMITED_API
- allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
- o = alloc_func(t, 0);
- #else
- #if CYTHON_USE_FREELISTS
- if (likely((int)(__pyx_freecount_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input)))) {
- o = (PyObject*)__pyx_freelist_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input[--__pyx_freecount_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input];
- memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input));
- (void) PyObject_INIT(o, t);
- PyObject_GC_Track(o);
- } else
- #endif
- {
- o = (*t->tp_alloc)(t, 0);
- if (unlikely(!o)) return 0;
- }
- #endif
- return o;
-}
-
-static void __pyx_tp_dealloc_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input(PyObject *o) {
- struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input *p = (struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input *)o;
- #if CYTHON_USE_TP_FINALIZE
- if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
- if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input) {
- if (PyObject_CallFinalizerFromDealloc(o)) return;
- }
- }
- #endif
- PyObject_GC_UnTrack(o);
- Py_CLEAR(p->__pyx_v_amount);
- Py_CLEAR(p->__pyx_v_confirm_keyboard);
- Py_CLEAR(p->__pyx_v_e);
- Py_CLEAR(p->__pyx_v_message);
- Py_CLEAR(p->__pyx_v_payment_url);
- Py_CLEAR(p->__pyx_v_state);
- Py_CLEAR(p->__pyx_v_tg_id);
- Py_CLEAR(p->__pyx_t_0);
- Py_CLEAR(p->__pyx_t_1);
- Py_CLEAR(p->__pyx_t_2);
- Py_CLEAR(p->__pyx_t_3);
- Py_CLEAR(p->__pyx_t_4);
- Py_CLEAR(p->__pyx_t_5);
- #if CYTHON_USE_FREELISTS
- if (((int)(__pyx_freecount_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input)))) {
- __pyx_freelist_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input[__pyx_freecount_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input++] = ((struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input *)o);
- } else
- #endif
- {
- #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
- (*Py_TYPE(o)->tp_free)(o);
- #else
- {
- freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
- if (tp_free) tp_free(o);
- }
- #endif
- }
-}
-
-static int __pyx_tp_traverse_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input(PyObject *o, visitproc v, void *a) {
- int e;
- struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input *p = (struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input *)o;
- if (p->__pyx_v_amount) {
- e = (*v)(p->__pyx_v_amount, a); if (e) return e;
- }
- if (p->__pyx_v_confirm_keyboard) {
- e = (*v)(p->__pyx_v_confirm_keyboard, a); if (e) return e;
- }
- if (p->__pyx_v_e) {
- e = (*v)(p->__pyx_v_e, a); if (e) return e;
- }
- if (p->__pyx_v_message) {
- e = (*v)(p->__pyx_v_message, a); if (e) return e;
- }
- if (p->__pyx_v_payment_url) {
- e = (*v)(p->__pyx_v_payment_url, a); if (e) return e;
- }
- if (p->__pyx_v_state) {
- e = (*v)(p->__pyx_v_state, a); if (e) return e;
- }
- if (p->__pyx_v_tg_id) {
- e = (*v)(p->__pyx_v_tg_id, a); if (e) return e;
- }
- if (p->__pyx_t_0) {
- e = (*v)(p->__pyx_t_0, a); if (e) return e;
- }
- if (p->__pyx_t_1) {
- e = (*v)(p->__pyx_t_1, a); if (e) return e;
- }
- if (p->__pyx_t_2) {
- e = (*v)(p->__pyx_t_2, a); if (e) return e;
- }
- if (p->__pyx_t_3) {
- e = (*v)(p->__pyx_t_3, a); if (e) return e;
- }
- if (p->__pyx_t_4) {
- e = (*v)(p->__pyx_t_4, a); if (e) return e;
- }
- if (p->__pyx_t_5) {
- e = (*v)(p->__pyx_t_5, a); if (e) return e;
- }
- return 0;
-}
-#if CYTHON_USE_TYPE_SPECS
-static PyType_Slot __pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input_slots[] = {
- {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input},
- {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input},
- {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input},
- {0, 0},
-};
-static PyType_Spec __pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input_spec = {
- "handlers.payments.robokassa_pay.__pyx_scope_struct_4_handle_custom_amount_input",
- sizeof(struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input),
- 0,
- Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
- __pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input_slots,
-};
-#else
-
-static PyTypeObject __pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input = {
- PyVarObject_HEAD_INIT(0, 0)
- "handlers.payments.robokassa_pay.""__pyx_scope_struct_4_handle_custom_amount_input", /*tp_name*/
- sizeof(struct __pyx_obj_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input), /*tp_basicsize*/
- 0, /*tp_itemsize*/
- __pyx_tp_dealloc_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input, /*tp_dealloc*/
- #if PY_VERSION_HEX < 0x030800b4
- 0, /*tp_print*/
- #endif
- #if PY_VERSION_HEX >= 0x030800b4
- 0, /*tp_vectorcall_offset*/
- #endif
- 0, /*tp_getattr*/
- 0, /*tp_setattr*/
- #if PY_MAJOR_VERSION < 3
- 0, /*tp_compare*/
- #endif
- #if PY_MAJOR_VERSION >= 3
- 0, /*tp_as_async*/
- #endif
- 0, /*tp_repr*/
- 0, /*tp_as_number*/
- 0, /*tp_as_sequence*/
- 0, /*tp_as_mapping*/
- 0, /*tp_hash*/
- 0, /*tp_call*/
- 0, /*tp_str*/
- 0, /*tp_getattro*/
- 0, /*tp_setattro*/
- 0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
- 0, /*tp_doc*/
- __pyx_tp_traverse_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input, /*tp_traverse*/
- 0, /*tp_clear*/
- 0, /*tp_richcompare*/
- 0, /*tp_weaklistoffset*/
- 0, /*tp_iter*/
- 0, /*tp_iternext*/
- 0, /*tp_methods*/
- 0, /*tp_members*/
- 0, /*tp_getset*/
- 0, /*tp_base*/
- 0, /*tp_dict*/
- 0, /*tp_descr_get*/
- 0, /*tp_descr_set*/
- #if !CYTHON_USE_TYPE_SPECS
- 0, /*tp_dictoffset*/
- #endif
- 0, /*tp_init*/
- 0, /*tp_alloc*/
- __pyx_tp_new_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input, /*tp_new*/
- 0, /*tp_free*/
- 0, /*tp_is_gc*/
- 0, /*tp_bases*/
- 0, /*tp_mro*/
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0, /*tp_weaklist*/
- 0, /*tp_del*/
- 0, /*tp_version_tag*/
- #if PY_VERSION_HEX >= 0x030400a1
- #if CYTHON_USE_TP_FINALIZE
- 0, /*tp_finalize*/
- #else
- NULL, /*tp_finalize*/
- #endif
- #endif
- #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
- 0, /*tp_vectorcall*/
- #endif
- #if __PYX_NEED_TP_PRINT_SLOT == 1
- 0, /*tp_print*/
- #endif
- #if PY_VERSION_HEX >= 0x030C0000
- 0, /*tp_watched*/
- #endif
- #if PY_VERSION_HEX >= 0x030d00A4
- 0, /*tp_versions_used*/
- #endif
- #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
- 0, /*tp_pypy_flags*/
- #endif
-};
-#endif
-
-static PyMethodDef __pyx_methods[] = {
- {0, 0, 0, 0}
-};
-#ifndef CYTHON_SMALL_CODE
-#if defined(__clang__)
- #define CYTHON_SMALL_CODE
-#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))
- #define CYTHON_SMALL_CODE __attribute__((cold))
-#else
- #define CYTHON_SMALL_CODE
-#endif
-#endif
-/* #### Code section: pystring_table ### */
-
-static int __Pyx_CreateStringTabAndInitStrings(void) {
- __Pyx_StringTabEntry __pyx_string_tab[] = {
- {&__pyx_kp_u_, __pyx_k_, sizeof(__pyx_k_), 0, 1, 0, 0},
- {&__pyx_n_s_Any, __pyx_k_Any, sizeof(__pyx_k_Any), 0, 0, 1, 1},
- {&__pyx_kp_u_Created_new_connection_for_user, __pyx_k_Created_new_connection_for_user, sizeof(__pyx_k_Created_new_connection_for_user), 0, 1, 0, 0},
- {&__pyx_kp_u_Displayed_amount_selection_for_u, __pyx_k_Displayed_amount_selection_for_u, sizeof(__pyx_k_Displayed_amount_selection_for_u), 0, 1, 0, 0},
- {&__pyx_kp_u_Error_processing_webhook, __pyx_k_Error_processing_webhook, sizeof(__pyx_k_Error_processing_webhook), 0, 1, 0, 0},
- {&__pyx_kp_u_Expected_signature, __pyx_k_Expected_signature, sizeof(__pyx_k_Expected_signature), 0, 1, 0, 0},
- {&__pyx_n_s_F, __pyx_k_F, sizeof(__pyx_k_F), 0, 0, 1, 1},
- {&__pyx_n_s_FSMContext, __pyx_k_FSMContext, sizeof(__pyx_k_FSMContext), 0, 0, 1, 1},
- {&__pyx_kp_u_Generated_payment_link, __pyx_k_Generated_payment_link, sizeof(__pyx_k_Generated_payment_link), 0, 1, 0, 0},
- {&__pyx_kp_u_Generated_payment_link_for_user, __pyx_k_Generated_payment_link_for_user, sizeof(__pyx_k_Generated_payment_link_for_user), 0, 1, 0, 0},
- {&__pyx_kp_u_Generating_payment_link_for_amou, __pyx_k_Generating_payment_link_for_amou, sizeof(__pyx_k_Generating_payment_link_for_amou), 0, 1, 0, 0},
- {&__pyx_n_s_HashAlgorithm, __pyx_k_HashAlgorithm, sizeof(__pyx_k_HashAlgorithm), 0, 0, 1, 1},
- {&__pyx_n_s_InlineKeyboardBuilder, __pyx_k_InlineKeyboardBuilder, sizeof(__pyx_k_InlineKeyboardBuilder), 0, 0, 1, 1},
- {&__pyx_n_s_InlineKeyboardButton, __pyx_k_InlineKeyboardButton, sizeof(__pyx_k_InlineKeyboardButton), 0, 0, 1, 1},
- {&__pyx_n_s_InlineKeyboardMarkup, __pyx_k_InlineKeyboardMarkup, sizeof(__pyx_k_InlineKeyboardMarkup), 0, 0, 1, 1},
- {&__pyx_n_u_InvId, __pyx_k_InvId, sizeof(__pyx_k_InvId), 0, 1, 0, 1},
- {&__pyx_kp_u_InvId_2, __pyx_k_InvId_2, sizeof(__pyx_k_InvId_2), 0, 1, 0, 0},
- {&__pyx_n_u_OK, __pyx_k_OK, sizeof(__pyx_k_OK), 0, 1, 0, 1},
- {&__pyx_n_u_OutSum, __pyx_k_OutSum, sizeof(__pyx_k_OutSum), 0, 1, 0, 1},
- {&__pyx_kp_u_OutSum_2, __pyx_k_OutSum_2, sizeof(__pyx_k_OutSum_2), 0, 1, 0, 0},
- {&__pyx_n_s_PAYMENT_OPTIONS, __pyx_k_PAYMENT_OPTIONS, sizeof(__pyx_k_PAYMENT_OPTIONS), 0, 0, 1, 1},
- {&__pyx_kp_u_Payment_URL_for_user, __pyx_k_Payment_URL_for_user, sizeof(__pyx_k_Payment_URL_for_user), 0, 1, 0, 0},
- {&__pyx_kp_u_Payment_link_sent_to_user, __pyx_k_Payment_link_sent_to_user, sizeof(__pyx_k_Payment_link_sent_to_user), 0, 1, 0, 0},
- {&__pyx_kp_u_Payment_successful_Balance_updat, __pyx_k_Payment_successful_Balance_updat, sizeof(__pyx_k_Payment_successful_Balance_updat), 0, 1, 0, 0},
- {&__pyx_kp_u_Processing_payment_for_user, __pyx_k_Processing_payment_for_user, sizeof(__pyx_k_Processing_payment_for_user), 0, 1, 0, 0},
- {&__pyx_n_s_ROBOKASSA_ENABLE, __pyx_k_ROBOKASSA_ENABLE, sizeof(__pyx_k_ROBOKASSA_ENABLE), 0, 0, 1, 1},
- {&__pyx_n_s_ROBOKASSA_LOGIN, __pyx_k_ROBOKASSA_LOGIN, sizeof(__pyx_k_ROBOKASSA_LOGIN), 0, 0, 1, 1},
- {&__pyx_n_s_ROBOKASSA_PASSWORD1, __pyx_k_ROBOKASSA_PASSWORD1, sizeof(__pyx_k_ROBOKASSA_PASSWORD1), 0, 0, 1, 1},
- {&__pyx_n_s_ROBOKASSA_PASSWORD2, __pyx_k_ROBOKASSA_PASSWORD2, sizeof(__pyx_k_ROBOKASSA_PASSWORD2), 0, 0, 1, 1},
- {&__pyx_n_s_ROBOKASSA_TEST_MODE, __pyx_k_ROBOKASSA_TEST_MODE, sizeof(__pyx_k_ROBOKASSA_TEST_MODE), 0, 0, 1, 1},
- {&__pyx_kp_u_Received_signature, __pyx_k_Received_signature, sizeof(__pyx_k_Received_signature), 0, 1, 0, 0},
- {&__pyx_kp_u_Received_webhook_params, __pyx_k_Received_webhook_params, sizeof(__pyx_k_Received_webhook_params), 0, 1, 0, 0},
- {&__pyx_n_s_ReplenishBalanceState, __pyx_k_ReplenishBalanceState, sizeof(__pyx_k_ReplenishBalanceState), 0, 0, 1, 1},
- {&__pyx_n_s_Response, __pyx_k_Response, sizeof(__pyx_k_Response), 0, 0, 1, 1},
- {&__pyx_n_s_Robokassa, __pyx_k_Robokassa, sizeof(__pyx_k_Robokassa), 0, 0, 1, 1},
- {&__pyx_kp_u_Robokassa_initialized_with_login, __pyx_k_Robokassa_initialized_with_login, sizeof(__pyx_k_Robokassa_initialized_with_login), 0, 1, 0, 0},
- {&__pyx_n_s_Router, __pyx_k_Router, sizeof(__pyx_k_Router), 0, 0, 1, 1},
- {&__pyx_n_u_SignatureValue, __pyx_k_SignatureValue, sizeof(__pyx_k_SignatureValue), 0, 1, 0, 1},
- {&__pyx_kp_u_SignatureValue_2, __pyx_k_SignatureValue_2, sizeof(__pyx_k_SignatureValue_2), 0, 1, 0, 0},
- {&__pyx_kp_u_Signature_string_before_hashing, __pyx_k_Signature_string_before_hashing, sizeof(__pyx_k_Signature_string_before_hashing), 0, 1, 0, 0},
- {&__pyx_n_s_State, __pyx_k_State, sizeof(__pyx_k_State), 0, 0, 1, 1},
- {&__pyx_n_s_StatesGroup, __pyx_k_StatesGroup, sizeof(__pyx_k_StatesGroup), 0, 0, 1, 1},
- {&__pyx_kp_u_User, __pyx_k_User, sizeof(__pyx_k_User), 0, 1, 0, 0},
- {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1},
- {&__pyx_kp_u__10, __pyx_k__10, sizeof(__pyx_k__10), 0, 1, 0, 0},
- {&__pyx_kp_u__12, __pyx_k__12, sizeof(__pyx_k__12), 0, 1, 0, 0},
- {&__pyx_kp_u__13, __pyx_k__13, sizeof(__pyx_k__13), 0, 1, 0, 0},
- {&__pyx_kp_u__14, __pyx_k__14, sizeof(__pyx_k__14), 0, 1, 0, 0},
- {&__pyx_kp_u__15, __pyx_k__15, sizeof(__pyx_k__15), 0, 1, 0, 0},
- {&__pyx_kp_u__16, __pyx_k__16, sizeof(__pyx_k__16), 0, 1, 0, 0},
- {&__pyx_n_u__17, __pyx_k__17, sizeof(__pyx_k__17), 0, 1, 0, 1},
- {&__pyx_kp_u__18, __pyx_k__18, sizeof(__pyx_k__18), 0, 1, 0, 0},
- {&__pyx_kp_u__19, __pyx_k__19, sizeof(__pyx_k__19), 0, 1, 0, 0},
- {&__pyx_kp_u__21, __pyx_k__21, sizeof(__pyx_k__21), 0, 1, 0, 0},
- {&__pyx_kp_u__22, __pyx_k__22, sizeof(__pyx_k__22), 0, 1, 0, 0},
- {&__pyx_kp_u__23, __pyx_k__23, sizeof(__pyx_k__23), 0, 1, 0, 0},
- {&__pyx_kp_u__25, __pyx_k__25, sizeof(__pyx_k__25), 0, 1, 0, 0},
- {&__pyx_kp_u__26, __pyx_k__26, sizeof(__pyx_k__26), 0, 1, 0, 0},
- {&__pyx_kp_u__29, __pyx_k__29, sizeof(__pyx_k__29), 0, 1, 0, 0},
- {&__pyx_kp_u__3, __pyx_k__3, sizeof(__pyx_k__3), 0, 1, 0, 0},
- {&__pyx_kp_u__30, __pyx_k__30, sizeof(__pyx_k__30), 0, 1, 0, 0},
- {&__pyx_n_s__31, __pyx_k__31, sizeof(__pyx_k__31), 0, 0, 1, 1},
- {&__pyx_kp_u__4, __pyx_k__4, sizeof(__pyx_k__4), 0, 1, 0, 0},
- {&__pyx_n_s__42, __pyx_k__42, sizeof(__pyx_k__42), 0, 0, 1, 1},
- {&__pyx_kp_u__5, __pyx_k__5, sizeof(__pyx_k__5), 0, 1, 0, 0},
- {&__pyx_kp_u__6, __pyx_k__6, sizeof(__pyx_k__6), 0, 1, 0, 0},
- {&__pyx_kp_u__8, __pyx_k__8, sizeof(__pyx_k__8), 0, 1, 0, 0},
- {&__pyx_kp_u__9, __pyx_k__9, sizeof(__pyx_k__9), 0, 1, 0, 0},
- {&__pyx_n_s_add_connection, __pyx_k_add_connection, sizeof(__pyx_k_add_connection), 0, 0, 1, 1},
- {&__pyx_n_s_add_payment, __pyx_k_add_payment, sizeof(__pyx_k_add_payment), 0, 0, 1, 1},
- {&__pyx_n_s_aiogram, __pyx_k_aiogram, sizeof(__pyx_k_aiogram), 0, 0, 1, 1},
- {&__pyx_n_s_aiogram_fsm_context, __pyx_k_aiogram_fsm_context, sizeof(__pyx_k_aiogram_fsm_context), 0, 0, 1, 1},
- {&__pyx_n_s_aiogram_fsm_state, __pyx_k_aiogram_fsm_state, sizeof(__pyx_k_aiogram_fsm_state), 0, 0, 1, 1},
- {&__pyx_n_s_aiogram_types, __pyx_k_aiogram_types, sizeof(__pyx_k_aiogram_types), 0, 0, 1, 1},
- {&__pyx_n_s_aiogram_utils_keyboard, __pyx_k_aiogram_utils_keyboard, sizeof(__pyx_k_aiogram_utils_keyboard), 0, 0, 1, 1},
- {&__pyx_n_s_aiohttp, __pyx_k_aiohttp, sizeof(__pyx_k_aiohttp), 0, 0, 1, 1},
- {&__pyx_n_s_algorithm, __pyx_k_algorithm, sizeof(__pyx_k_algorithm), 0, 0, 1, 1},
- {&__pyx_n_s_amount, __pyx_k_amount, sizeof(__pyx_k_amount), 0, 0, 1, 1},
- {&__pyx_n_u_amount, __pyx_k_amount, sizeof(__pyx_k_amount), 0, 1, 0, 1},
- {&__pyx_n_s_amount_str, __pyx_k_amount_str, sizeof(__pyx_k_amount_str), 0, 0, 1, 1},
- {&__pyx_n_s_answer, __pyx_k_answer, sizeof(__pyx_k_answer), 0, 0, 1, 1},
- {&__pyx_n_s_args, __pyx_k_args, sizeof(__pyx_k_args), 0, 0, 1, 1},
- {&__pyx_n_s_as_markup, __pyx_k_as_markup, sizeof(__pyx_k_as_markup), 0, 0, 1, 1},
- {&__pyx_n_s_asyncio_coroutines, __pyx_k_asyncio_coroutines, sizeof(__pyx_k_asyncio_coroutines), 0, 0, 1, 1},
- {&__pyx_n_s_await, __pyx_k_await, sizeof(__pyx_k_await), 0, 0, 1, 1},
- {&__pyx_n_s_balance, __pyx_k_balance, sizeof(__pyx_k_balance), 0, 0, 1, 1},
- {&__pyx_n_s_builder, __pyx_k_builder, sizeof(__pyx_k_builder), 0, 0, 1, 1},
- {&__pyx_n_s_callback_data, __pyx_k_callback_data, sizeof(__pyx_k_callback_data), 0, 0, 1, 1},
- {&__pyx_n_u_callback_data, __pyx_k_callback_data, sizeof(__pyx_k_callback_data), 0, 1, 0, 1},
- {&__pyx_kp_u_callback_data_2, __pyx_k_callback_data_2, sizeof(__pyx_k_callback_data_2), 0, 1, 0, 0},
- {&__pyx_kp_u_callback_data_3, __pyx_k_callback_data_3, sizeof(__pyx_k_callback_data_3), 0, 1, 0, 0},
- {&__pyx_n_s_callback_query, __pyx_k_callback_query, sizeof(__pyx_k_callback_query), 0, 0, 1, 1},
- {&__pyx_n_s_chat, __pyx_k_chat, sizeof(__pyx_k_chat), 0, 0, 1, 1},
- {&__pyx_n_s_check_connection_exists, __pyx_k_check_connection_exists, sizeof(__pyx_k_check_connection_exists), 0, 0, 1, 1},
- {&__pyx_n_s_check_payment_signature, __pyx_k_check_payment_signature, sizeof(__pyx_k_check_payment_signature), 0, 0, 1, 1},
- {&__pyx_n_s_choosing_amount_robokassa, __pyx_k_choosing_amount_robokassa, sizeof(__pyx_k_choosing_amount_robokassa), 0, 0, 1, 1},
- {&__pyx_kp_u_chose_to_enter_a_custom_amount, __pyx_k_chose_to_enter_a_custom_amount, sizeof(__pyx_k_chose_to_enter_a_custom_amount), 0, 1, 0, 0},
- {&__pyx_n_s_class_getitem, __pyx_k_class_getitem, sizeof(__pyx_k_class_getitem), 0, 0, 1, 1},
- {&__pyx_n_s_clear, __pyx_k_clear, sizeof(__pyx_k_clear), 0, 0, 1, 1},
- {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1},
- {&__pyx_n_s_close, __pyx_k_close, sizeof(__pyx_k_close), 0, 0, 1, 1},
- {&__pyx_n_s_config, __pyx_k_config, sizeof(__pyx_k_config), 0, 0, 1, 1},
- {&__pyx_n_s_confirm_keyboard, __pyx_k_confirm_keyboard, sizeof(__pyx_k_confirm_keyboard), 0, 0, 1, 1},
- {&__pyx_n_s_data, __pyx_k_data, sizeof(__pyx_k_data), 0, 0, 1, 1},
- {&__pyx_n_s_database, __pyx_k_database, sizeof(__pyx_k_database), 0, 0, 1, 1},
- {&__pyx_n_s_debug, __pyx_k_debug, sizeof(__pyx_k_debug), 0, 0, 1, 1},
- {&__pyx_n_s_description, __pyx_k_description, sizeof(__pyx_k_description), 0, 0, 1, 1},
- {&__pyx_kp_u_description_2, __pyx_k_description_2, sizeof(__pyx_k_description_2), 0, 1, 0, 0},
- {&__pyx_n_s_dict, __pyx_k_dict, sizeof(__pyx_k_dict), 0, 0, 1, 1},
- {&__pyx_kp_u_disable, __pyx_k_disable, sizeof(__pyx_k_disable), 0, 1, 0, 0},
- {&__pyx_n_s_doc, __pyx_k_doc, sizeof(__pyx_k_doc), 0, 0, 1, 1},
- {&__pyx_n_s_e, __pyx_k_e, sizeof(__pyx_k_e), 0, 0, 1, 1},
- {&__pyx_kp_u_enable, __pyx_k_enable, sizeof(__pyx_k_enable), 0, 1, 0, 0},
- {&__pyx_n_u_enter_custom_amount_robokassa, __pyx_k_enter_custom_amount_robokassa, sizeof(__pyx_k_enter_custom_amount_robokassa), 0, 1, 0, 1},
- {&__pyx_kp_u_entered_custom_amount, __pyx_k_entered_custom_amount, sizeof(__pyx_k_entered_custom_amount), 0, 1, 0, 0},
- {&__pyx_n_s_error, __pyx_k_error, sizeof(__pyx_k_error), 0, 0, 1, 1},
- {&__pyx_n_s_exists, __pyx_k_exists, sizeof(__pyx_k_exists), 0, 0, 1, 1},
- {&__pyx_n_s_expected_signature, __pyx_k_expected_signature, sizeof(__pyx_k_expected_signature), 0, 0, 1, 1},
- {&__pyx_kp_u_gc, __pyx_k_gc, sizeof(__pyx_k_gc), 0, 1, 0, 0},
- {&__pyx_n_s_generate_by_script, __pyx_k_generate_by_script, sizeof(__pyx_k_generate_by_script), 0, 0, 1, 1},
- {&__pyx_n_s_generate_payment_link, __pyx_k_generate_payment_link, sizeof(__pyx_k_generate_payment_link), 0, 0, 1, 1},
- {&__pyx_n_s_get, __pyx_k_get, sizeof(__pyx_k_get), 0, 0, 1, 1},
- {&__pyx_n_s_get_key_count, __pyx_k_get_key_count, sizeof(__pyx_k_get_key_count), 0, 0, 1, 1},
- {&__pyx_n_s_handle_custom_amount_input, __pyx_k_handle_custom_amount_input, sizeof(__pyx_k_handle_custom_amount_input), 0, 0, 1, 1},
- {&__pyx_n_s_handlers_payments_robokassa_pay, __pyx_k_handlers_payments_robokassa_pay, sizeof(__pyx_k_handlers_payments_robokassa_pay), 0, 0, 1, 1},
- {&__pyx_kp_s_handlers_payments_robokassa_pay_2, __pyx_k_handlers_payments_robokassa_pay_2, sizeof(__pyx_k_handlers_payments_robokassa_pay_2), 0, 0, 1, 0},
- {&__pyx_n_s_handlers_payments_utils, __pyx_k_handlers_payments_utils, sizeof(__pyx_k_handlers_payments_utils), 0, 0, 1, 1},
- {&__pyx_n_s_handlers_texts, __pyx_k_handlers_texts, sizeof(__pyx_k_handlers_texts), 0, 0, 1, 1},
- {&__pyx_n_s_hashlib, __pyx_k_hashlib, sizeof(__pyx_k_hashlib), 0, 0, 1, 1},
- {&__pyx_n_s_hexdigest, __pyx_k_hexdigest, sizeof(__pyx_k_hexdigest), 0, 0, 1, 1},
- {&__pyx_n_s_i, __pyx_k_i, sizeof(__pyx_k_i), 0, 0, 1, 1},
- {&__pyx_n_s_id, __pyx_k_id, sizeof(__pyx_k_id), 0, 0, 1, 1},
- {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1},
- {&__pyx_n_s_info, __pyx_k_info, sizeof(__pyx_k_info), 0, 0, 1, 1},
- {&__pyx_n_s_init_subclass, __pyx_k_init_subclass, sizeof(__pyx_k_init_subclass), 0, 0, 1, 1},
- {&__pyx_n_s_initializing, __pyx_k_initializing, sizeof(__pyx_k_initializing), 0, 0, 1, 1},
- {&__pyx_kp_u_initiated_Robokassa_payment, __pyx_k_initiated_Robokassa_payment, sizeof(__pyx_k_initiated_Robokassa_payment), 0, 1, 0, 0},
- {&__pyx_n_s_inline_keyboard, __pyx_k_inline_keyboard, sizeof(__pyx_k_inline_keyboard), 0, 0, 1, 1},
- {&__pyx_n_s_inv_id, __pyx_k_inv_id, sizeof(__pyx_k_inv_id), 0, 0, 1, 1},
- {&__pyx_kp_u_inv_id_2, __pyx_k_inv_id_2, sizeof(__pyx_k_inv_id_2), 0, 1, 0, 0},
- {&__pyx_n_s_is_coroutine, __pyx_k_is_coroutine, sizeof(__pyx_k_is_coroutine), 0, 0, 1, 1},
- {&__pyx_n_s_is_test, __pyx_k_is_test, sizeof(__pyx_k_is_test), 0, 0, 1, 1},
- {&__pyx_kp_u_isenabled, __pyx_k_isenabled, sizeof(__pyx_k_isenabled), 0, 1, 0, 0},
- {&__pyx_n_s_key_count, __pyx_k_key_count, sizeof(__pyx_k_key_count), 0, 0, 1, 1},
- {&__pyx_n_s_link, __pyx_k_link, sizeof(__pyx_k_link), 0, 0, 1, 1},
- {&__pyx_n_s_logger, __pyx_k_logger, sizeof(__pyx_k_logger), 0, 0, 1, 1},
- {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1},
- {&__pyx_n_s_md5, __pyx_k_md5, sizeof(__pyx_k_md5), 0, 0, 1, 1},
- {&__pyx_n_s_merchant_login, __pyx_k_merchant_login, sizeof(__pyx_k_merchant_login), 0, 0, 1, 1},
- {&__pyx_n_s_message, __pyx_k_message, sizeof(__pyx_k_message), 0, 0, 1, 1},
- {&__pyx_n_s_metaclass, __pyx_k_metaclass, sizeof(__pyx_k_metaclass), 0, 0, 1, 1},
- {&__pyx_n_s_module, __pyx_k_module, sizeof(__pyx_k_module), 0, 0, 1, 1},
- {&__pyx_n_s_mro_entries, __pyx_k_mro_entries, sizeof(__pyx_k_mro_entries), 0, 0, 1, 1},
- {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1},
- {&__pyx_n_s_out_sum, __pyx_k_out_sum, sizeof(__pyx_k_out_sum), 0, 0, 1, 1},
- {&__pyx_n_s_params, __pyx_k_params, sizeof(__pyx_k_params), 0, 0, 1, 1},
- {&__pyx_n_s_password1, __pyx_k_password1, sizeof(__pyx_k_password1), 0, 0, 1, 1},
- {&__pyx_n_s_password2, __pyx_k_password2, sizeof(__pyx_k_password2), 0, 0, 1, 1},
- {&__pyx_n_u_pay, __pyx_k_pay, sizeof(__pyx_k_pay), 0, 1, 0, 1},
- {&__pyx_n_u_pay_robokassa, __pyx_k_pay_robokassa, sizeof(__pyx_k_pay_robokassa), 0, 1, 0, 1},
- {&__pyx_n_s_payment, __pyx_k_payment, sizeof(__pyx_k_payment), 0, 0, 1, 1},
- {&__pyx_n_s_payment_link, __pyx_k_payment_link, sizeof(__pyx_k_payment_link), 0, 0, 1, 1},
- {&__pyx_n_s_payment_url, __pyx_k_payment_url, sizeof(__pyx_k_payment_url), 0, 0, 1, 1},
- {&__pyx_n_s_post, __pyx_k_post, sizeof(__pyx_k_post), 0, 0, 1, 1},
- {&__pyx_n_s_prepare, __pyx_k_prepare, sizeof(__pyx_k_prepare), 0, 0, 1, 1},
- {&__pyx_n_s_process_amount_selection, __pyx_k_process_amount_selection, sizeof(__pyx_k_process_amount_selection), 0, 0, 1, 1},
- {&__pyx_n_s_process_callback_pay_robokassa, __pyx_k_process_callback_pay_robokassa, sizeof(__pyx_k_process_callback_pay_robokassa), 0, 0, 1, 1},
- {&__pyx_n_s_process_custom_amount_selection, __pyx_k_process_custom_amount_selection, sizeof(__pyx_k_process_custom_amount_selection), 0, 0, 1, 1},
- {&__pyx_n_s_qualname, __pyx_k_qualname, sizeof(__pyx_k_qualname), 0, 0, 1, 1},
- {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1},
- {&__pyx_n_s_reply_markup, __pyx_k_reply_markup, sizeof(__pyx_k_reply_markup), 0, 0, 1, 1},
- {&__pyx_n_s_request, __pyx_k_request, sizeof(__pyx_k_request), 0, 0, 1, 1},
- {&__pyx_n_s_robokassa, __pyx_k_robokassa, sizeof(__pyx_k_robokassa), 0, 0, 1, 1},
- {&__pyx_n_u_robokassa, __pyx_k_robokassa, sizeof(__pyx_k_robokassa), 0, 1, 0, 1},
- {&__pyx_kp_u_robokassa_amount, __pyx_k_robokassa_amount, sizeof(__pyx_k_robokassa_amount), 0, 1, 0, 0},
- {&__pyx_n_s_robokassa_webhook, __pyx_k_robokassa_webhook, sizeof(__pyx_k_robokassa_webhook), 0, 0, 1, 1},
- {&__pyx_n_s_router, __pyx_k_router, sizeof(__pyx_k_router), 0, 0, 1, 1},
- {&__pyx_n_s_row, __pyx_k_row, sizeof(__pyx_k_row), 0, 0, 1, 1},
- {&__pyx_kp_u_selected_amount, __pyx_k_selected_amount, sizeof(__pyx_k_selected_amount), 0, 1, 0, 0},
- {&__pyx_n_s_send, __pyx_k_send, sizeof(__pyx_k_send), 0, 0, 1, 1},
- {&__pyx_n_s_send_payment_success_notificatio, __pyx_k_send_payment_success_notificatio, sizeof(__pyx_k_send_payment_success_notificatio), 0, 0, 1, 1},
- {&__pyx_n_s_session, __pyx_k_session, sizeof(__pyx_k_session), 0, 0, 1, 1},
- {&__pyx_n_s_set_name, __pyx_k_set_name, sizeof(__pyx_k_set_name), 0, 0, 1, 1},
- {&__pyx_n_s_set_state, __pyx_k_set_state, sizeof(__pyx_k_set_state), 0, 0, 1, 1},
- {&__pyx_n_s_shp_id, __pyx_k_shp_id, sizeof(__pyx_k_shp_id), 0, 0, 1, 1},
- {&__pyx_n_u_shp_id, __pyx_k_shp_id, sizeof(__pyx_k_shp_id), 0, 1, 0, 1},
- {&__pyx_kp_u_shp_id_2, __pyx_k_shp_id_2, sizeof(__pyx_k_shp_id_2), 0, 1, 0, 0},
- {&__pyx_kp_u_shp_id_3, __pyx_k_shp_id_3, sizeof(__pyx_k_shp_id_3), 0, 1, 0, 0},
- {&__pyx_n_s_signature_string, __pyx_k_signature_string, sizeof(__pyx_k_signature_string), 0, 0, 1, 1},
- {&__pyx_n_s_signature_value, __pyx_k_signature_value, sizeof(__pyx_k_signature_value), 0, 0, 1, 1},
- {&__pyx_n_s_spec, __pyx_k_spec, sizeof(__pyx_k_spec), 0, 0, 1, 1},
- {&__pyx_n_s_split, __pyx_k_split, sizeof(__pyx_k_split), 0, 0, 1, 1},
- {&__pyx_n_s_startswith, __pyx_k_startswith, sizeof(__pyx_k_startswith), 0, 0, 1, 1},
- {&__pyx_n_s_state, __pyx_k_state, sizeof(__pyx_k_state), 0, 0, 1, 1},
- {&__pyx_n_s_status, __pyx_k_status, sizeof(__pyx_k_status), 0, 0, 1, 1},
- {&__pyx_n_s_super, __pyx_k_super, sizeof(__pyx_k_super), 0, 0, 1, 1},
- {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1},
- {&__pyx_n_s_text, __pyx_k_text, sizeof(__pyx_k_text), 0, 0, 1, 1},
- {&__pyx_n_u_text, __pyx_k_text, sizeof(__pyx_k_text), 0, 1, 0, 1},
- {&__pyx_n_s_tg_id, __pyx_k_tg_id, sizeof(__pyx_k_tg_id), 0, 0, 1, 1},
- {&__pyx_n_s_throw, __pyx_k_throw, sizeof(__pyx_k_throw), 0, 0, 1, 1},
- {&__pyx_n_s_trial, __pyx_k_trial, sizeof(__pyx_k_trial), 0, 0, 1, 1},
- {&__pyx_n_s_types, __pyx_k_types, sizeof(__pyx_k_types), 0, 0, 1, 1},
- {&__pyx_kp_s_types_CallbackQuery, __pyx_k_types_CallbackQuery, sizeof(__pyx_k_types_CallbackQuery), 0, 0, 1, 0},
- {&__pyx_kp_s_types_Message, __pyx_k_types_Message, sizeof(__pyx_k_types_Message), 0, 0, 1, 0},
- {&__pyx_n_s_typing, __pyx_k_typing, sizeof(__pyx_k_typing), 0, 0, 1, 1},
- {&__pyx_n_s_update_balance, __pyx_k_update_balance, sizeof(__pyx_k_update_balance), 0, 0, 1, 1},
- {&__pyx_n_s_update_data, __pyx_k_update_data, sizeof(__pyx_k_update_data), 0, 0, 1, 1},
- {&__pyx_n_s_upper, __pyx_k_upper, sizeof(__pyx_k_upper), 0, 0, 1, 1},
- {&__pyx_n_s_url, __pyx_k_url, sizeof(__pyx_k_url), 0, 0, 1, 1},
- {&__pyx_n_s_waiting_for_payment_confirmation, __pyx_k_waiting_for_payment_confirmation, sizeof(__pyx_k_waiting_for_payment_confirmation), 0, 0, 1, 1},
- {&__pyx_n_s_web, __pyx_k_web, sizeof(__pyx_k_web), 0, 0, 1, 1},
- {&__pyx_kp_u_with_amount, __pyx_k_with_amount, sizeof(__pyx_k_with_amount), 0, 1, 0, 0},
- {&__pyx_kp_u_with_balance_0_0, __pyx_k_with_balance_0_0, sizeof(__pyx_k_with_balance_0_0), 0, 1, 0, 0},
- {0, 0, 0, 0, 0, 0, 0}
- };
- return __Pyx_InitStrings(__pyx_string_tab);
-}
-/* #### Code section: cached_builtins ### */
-static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) {
- __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 73, __pyx_L1_error)
- __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(0, 132, __pyx_L1_error)
- return 0;
- __pyx_L1_error:;
- return -1;
-}
-/* #### Code section: cached_constants ### */
-
-static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
-
- /* "handlers/payments/robokassa_pay.py":132
- * amount = int(amount_str)
- * if amount <= 0:
- * raise ValueError(" .") # <<<<<<<<<<<<<<
- * except ValueError as e:
- * logger.error(f" : {amount_str}. : {e}")
- */
- __pyx_tuple__11 = PyTuple_Pack(1, __pyx_kp_u__10); if (unlikely(!__pyx_tuple__11)) __PYX_ERR(0, 132, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__11);
- __Pyx_GIVEREF(__pyx_tuple__11);
-
- /* "handlers/payments/robokassa_pay.py":234
- * builder.row(InlineKeyboardButton(text=" ", callback_data="pay_robokassa"))
- *
- * await callback_query.message.answer( # <<<<<<<<<<<<<<
- * ", .",
- * reply_markup=builder.as_markup(),
- */
- __pyx_tuple__27 = PyTuple_Pack(1, __pyx_kp_u__26); if (unlikely(!__pyx_tuple__27)) __PYX_ERR(0, 234, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__27);
- __Pyx_GIVEREF(__pyx_tuple__27);
-
- /* "handlers/payments/robokassa_pay.py":50
- *
- *
- * def generate_payment_link(amount, inv_id, description, tg_id): # <<<<<<<<<<<<<<
- * """ ."""
- * logger.debug(
- */
- __pyx_tuple__32 = PyTuple_Pack(5, __pyx_n_s_amount, __pyx_n_s_inv_id, __pyx_n_s_description, __pyx_n_s_tg_id, __pyx_n_s_payment_link); if (unlikely(!__pyx_tuple__32)) __PYX_ERR(0, 50, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__32);
- __Pyx_GIVEREF(__pyx_tuple__32);
- __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_robokassa_pay_2, __pyx_n_s_generate_payment_link, 50, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) __PYX_ERR(0, 50, __pyx_L1_error)
-
- /* "handlers/payments/robokassa_pay.py":65
- *
- *
- * @router.callback_query(F.data == "pay_robokassa") # <<<<<<<<<<<<<<
- * async def process_callback_pay_robokassa(
- * callback_query: types.CallbackQuery, state: FSMContext, session: Any
- */
- __pyx_tuple__34 = PyTuple_Pack(8, __pyx_n_s_callback_query, __pyx_n_s_state, __pyx_n_s_session, __pyx_n_s_tg_id, __pyx_n_s_builder, __pyx_n_s_i, __pyx_n_s_key_count, __pyx_n_s_exists); if (unlikely(!__pyx_tuple__34)) __PYX_ERR(0, 65, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__34);
- __Pyx_GIVEREF(__pyx_tuple__34);
- __pyx_codeobj__2 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_robokassa_pay_2, __pyx_n_s_process_callback_pay_robokassa, 65, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__2)) __PYX_ERR(0, 65, __pyx_L1_error)
-
- /* "handlers/payments/robokassa_pay.py":116
- *
- *
- * @router.callback_query(F.data.startswith("robokassa_amount|")) # <<<<<<<<<<<<<<
- * async def process_amount_selection(
- * callback_query: types.CallbackQuery, state: FSMContext
- */
- __pyx_tuple__35 = PyTuple_Pack(1, __pyx_kp_u_robokassa_amount); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(0, 116, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__35);
- __Pyx_GIVEREF(__pyx_tuple__35);
- __pyx_tuple__36 = PyTuple_Pack(10, __pyx_n_s_callback_query, __pyx_n_s_state, __pyx_n_s_data, __pyx_n_s_amount_str, __pyx_n_s_amount, __pyx_n_s_e, __pyx_n_s_inv_id, __pyx_n_s_tg_id, __pyx_n_s_payment_url, __pyx_n_s_confirm_keyboard); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(0, 116, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__36);
- __Pyx_GIVEREF(__pyx_tuple__36);
- __pyx_codeobj__7 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_robokassa_pay_2, __pyx_n_s_process_amount_selection, 116, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__7)) __PYX_ERR(0, 116, __pyx_L1_error)
-
- /* "handlers/payments/robokassa_pay.py":161
- *
- *
- * async def robokassa_webhook(request): # <<<<<<<<<<<<<<
- * """ webhook- Robokassa shp_id."""
- * try:
- */
- __pyx_tuple__37 = PyTuple_Pack(8, __pyx_n_s_request, __pyx_n_s_params, __pyx_n_s_amount, __pyx_n_s_inv_id, __pyx_n_s_shp_id, __pyx_n_s_signature_value, __pyx_n_s_tg_id, __pyx_n_s_e); if (unlikely(!__pyx_tuple__37)) __PYX_ERR(0, 161, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__37);
- __Pyx_GIVEREF(__pyx_tuple__37);
- __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_robokassa_pay_2, __pyx_n_s_robokassa_webhook, 161, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) __PYX_ERR(0, 161, __pyx_L1_error)
-
- /* "handlers/payments/robokassa_pay.py":203
- *
- *
- * def check_payment_signature(params): # <<<<<<<<<<<<<<
- * """ Robokassa shp_id."""
- * out_sum = params.get("OutSum")
- */
- __pyx_tuple__38 = PyTuple_Pack(7, __pyx_n_s_params, __pyx_n_s_out_sum, __pyx_n_s_inv_id, __pyx_n_s_signature_value, __pyx_n_s_shp_id, __pyx_n_s_signature_string, __pyx_n_s_expected_signature); if (unlikely(!__pyx_tuple__38)) __PYX_ERR(0, 203, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__38);
- __Pyx_GIVEREF(__pyx_tuple__38);
- __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_robokassa_pay_2, __pyx_n_s_check_payment_signature, 203, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) __PYX_ERR(0, 203, __pyx_L1_error)
-
- /* "handlers/payments/robokassa_pay.py":224
- *
- *
- * @router.callback_query(F.data == "enter_custom_amount_robokassa") # <<<<<<<<<<<<<<
- * async def process_custom_amount_selection(
- * callback_query: types.CallbackQuery, state: FSMContext
- */
- __pyx_tuple__40 = PyTuple_Pack(4, __pyx_n_s_callback_query, __pyx_n_s_state, __pyx_n_s_tg_id, __pyx_n_s_builder); if (unlikely(!__pyx_tuple__40)) __PYX_ERR(0, 224, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__40);
- __Pyx_GIVEREF(__pyx_tuple__40);
- __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_robokassa_pay_2, __pyx_n_s_process_custom_amount_selection, 224, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) __PYX_ERR(0, 224, __pyx_L1_error)
-
- /* "handlers/payments/robokassa_pay.py":244
- *
- *
- * @router.message(ReplenishBalanceState.waiting_for_payment_confirmation_robokassa) # <<<<<<<<<<<<<<
- * async def handle_custom_amount_input(message: types.Message, state: FSMContext):
- * tg_id = message.chat.id
- */
- __pyx_tuple__41 = PyTuple_Pack(8, __pyx_n_s_message, __pyx_n_s_state, __pyx_n_s_tg_id, __pyx_n_s_inv_id, __pyx_n_s_amount, __pyx_n_s_payment_url, __pyx_n_s_confirm_keyboard, __pyx_n_s_e); if (unlikely(!__pyx_tuple__41)) __PYX_ERR(0, 244, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__41);
- __Pyx_GIVEREF(__pyx_tuple__41);
- __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_robokassa_pay_2, __pyx_n_s_handle_custom_amount_input, 244, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) __PYX_ERR(0, 244, __pyx_L1_error)
- __Pyx_RefNannyFinishContext();
- return 0;
- __pyx_L1_error:;
- __Pyx_RefNannyFinishContext();
- return -1;
-}
-/* #### Code section: init_constants ### */
-
-static CYTHON_SMALL_CODE int __Pyx_InitConstants(void) {
- if (__Pyx_CreateStringTabAndInitStrings() < 0) __PYX_ERR(0, 1, __pyx_L1_error);
- __pyx_float_0_0 = PyFloat_FromDouble(0.0); if (unlikely(!__pyx_float_0_0)) __PYX_ERR(0, 1, __pyx_L1_error)
- __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(0, 1, __pyx_L1_error)
- __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(0, 1, __pyx_L1_error)
- __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(0, 1, __pyx_L1_error)
- __pyx_int_400 = PyInt_FromLong(400); if (unlikely(!__pyx_int_400)) __PYX_ERR(0, 1, __pyx_L1_error)
- __pyx_int_500 = PyInt_FromLong(500); if (unlikely(!__pyx_int_500)) __PYX_ERR(0, 1, __pyx_L1_error)
- return 0;
- __pyx_L1_error:;
- return -1;
-}
-/* #### Code section: init_globals ### */
-
-static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) {
- return 0;
-}
-/* #### Code section: init_module ### */
-
-static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/
-static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/
-static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/
-static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/
-static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/
-static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/
-static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/
-
-static int __Pyx_modinit_global_init_code(void) {
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0);
- /*--- Global init code ---*/
- __Pyx_RefNannyFinishContext();
- return 0;
-}
-
-static int __Pyx_modinit_variable_export_code(void) {
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0);
- /*--- Variable export code ---*/
- __Pyx_RefNannyFinishContext();
- return 0;
-}
-
-static int __Pyx_modinit_function_export_code(void) {
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0);
- /*--- Function export code ---*/
- __Pyx_RefNannyFinishContext();
- return 0;
-}
-
-static int __Pyx_modinit_type_init_code(void) {
- __Pyx_RefNannyDeclarations
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0);
- /*--- Type init code ---*/
- #if CYTHON_USE_TYPE_SPECS
- __pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa)) __PYX_ERR(0, 65, __pyx_L1_error)
- if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa_spec, __pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa) < 0) __PYX_ERR(0, 65, __pyx_L1_error)
- #else
- __pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa = &__pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa;
- #endif
- #if !CYTHON_COMPILING_IN_LIMITED_API
- #endif
- #if !CYTHON_USE_TYPE_SPECS
- if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa) < 0) __PYX_ERR(0, 65, __pyx_L1_error)
- #endif
- #if PY_MAJOR_VERSION < 3
- __pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa->tp_print = 0;
- #endif
- #if !CYTHON_COMPILING_IN_LIMITED_API
- if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa->tp_dictoffset && __pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa->tp_getattro == PyObject_GenericGetAttr)) {
- __pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct__process_callback_pay_robokassa->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
- }
- #endif
- #if CYTHON_USE_TYPE_SPECS
- __pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection)) __PYX_ERR(0, 116, __pyx_L1_error)
- if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection_spec, __pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection) < 0) __PYX_ERR(0, 116, __pyx_L1_error)
- #else
- __pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection = &__pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection;
- #endif
- #if !CYTHON_COMPILING_IN_LIMITED_API
- #endif
- #if !CYTHON_USE_TYPE_SPECS
- if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection) < 0) __PYX_ERR(0, 116, __pyx_L1_error)
- #endif
- #if PY_MAJOR_VERSION < 3
- __pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection->tp_print = 0;
- #endif
- #if !CYTHON_COMPILING_IN_LIMITED_API
- if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection->tp_dictoffset && __pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection->tp_getattro == PyObject_GenericGetAttr)) {
- __pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_1_process_amount_selection->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
- }
- #endif
- #if CYTHON_USE_TYPE_SPECS
- __pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook)) __PYX_ERR(0, 161, __pyx_L1_error)
- if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook_spec, __pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook) < 0) __PYX_ERR(0, 161, __pyx_L1_error)
- #else
- __pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook = &__pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook;
- #endif
- #if !CYTHON_COMPILING_IN_LIMITED_API
- #endif
- #if !CYTHON_USE_TYPE_SPECS
- if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook) < 0) __PYX_ERR(0, 161, __pyx_L1_error)
- #endif
- #if PY_MAJOR_VERSION < 3
- __pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook->tp_print = 0;
- #endif
- #if !CYTHON_COMPILING_IN_LIMITED_API
- if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook->tp_dictoffset && __pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook->tp_getattro == PyObject_GenericGetAttr)) {
- __pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_2_robokassa_webhook->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
- }
- #endif
- #if CYTHON_USE_TYPE_SPECS
- __pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection)) __PYX_ERR(0, 224, __pyx_L1_error)
- if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection_spec, __pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection) < 0) __PYX_ERR(0, 224, __pyx_L1_error)
- #else
- __pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection = &__pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection;
- #endif
- #if !CYTHON_COMPILING_IN_LIMITED_API
- #endif
- #if !CYTHON_USE_TYPE_SPECS
- if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection) < 0) __PYX_ERR(0, 224, __pyx_L1_error)
- #endif
- #if PY_MAJOR_VERSION < 3
- __pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection->tp_print = 0;
- #endif
- #if !CYTHON_COMPILING_IN_LIMITED_API
- if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection->tp_dictoffset && __pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection->tp_getattro == PyObject_GenericGetAttr)) {
- __pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_3_process_custom_amount_selection->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
- }
- #endif
- #if CYTHON_USE_TYPE_SPECS
- __pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input)) __PYX_ERR(0, 244, __pyx_L1_error)
- if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input_spec, __pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input) < 0) __PYX_ERR(0, 244, __pyx_L1_error)
- #else
- __pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input = &__pyx_type_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input;
- #endif
- #if !CYTHON_COMPILING_IN_LIMITED_API
- #endif
- #if !CYTHON_USE_TYPE_SPECS
- if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input) < 0) __PYX_ERR(0, 244, __pyx_L1_error)
- #endif
- #if PY_MAJOR_VERSION < 3
- __pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input->tp_print = 0;
- #endif
- #if !CYTHON_COMPILING_IN_LIMITED_API
- if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input->tp_dictoffset && __pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input->tp_getattro == PyObject_GenericGetAttr)) {
- __pyx_ptype_8handlers_8payments_13robokassa_pay___pyx_scope_struct_4_handle_custom_amount_input->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
- }
- #endif
- __Pyx_RefNannyFinishContext();
- return 0;
- __pyx_L1_error:;
- __Pyx_RefNannyFinishContext();
- return -1;
-}
-
-static int __Pyx_modinit_type_import_code(void) {
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0);
- /*--- Type import code ---*/
- __Pyx_RefNannyFinishContext();
- return 0;
-}
-
-static int __Pyx_modinit_variable_import_code(void) {
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0);
- /*--- Variable import code ---*/
- __Pyx_RefNannyFinishContext();
- return 0;
-}
-
-static int __Pyx_modinit_function_import_code(void) {
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0);
- /*--- Function import code ---*/
- __Pyx_RefNannyFinishContext();
- return 0;
-}
-
-
-#if PY_MAJOR_VERSION >= 3
-#if CYTHON_PEP489_MULTI_PHASE_INIT
-static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/
-static int __pyx_pymod_exec_robokassa_pay(PyObject* module); /*proto*/
-static PyModuleDef_Slot __pyx_moduledef_slots[] = {
- {Py_mod_create, (void*)__pyx_pymod_create},
- {Py_mod_exec, (void*)__pyx_pymod_exec_robokassa_pay},
- {0, NULL}
-};
-#endif
-
-#ifdef __cplusplus
-namespace {
- struct PyModuleDef __pyx_moduledef =
- #else
- static struct PyModuleDef __pyx_moduledef =
- #endif
- {
- PyModuleDef_HEAD_INIT,
- "robokassa_pay",
- 0, /* m_doc */
- #if CYTHON_PEP489_MULTI_PHASE_INIT
- 0, /* m_size */
- #elif CYTHON_USE_MODULE_STATE
- sizeof(__pyx_mstate), /* m_size */
- #else
- -1, /* m_size */
- #endif
- __pyx_methods /* m_methods */,
- #if CYTHON_PEP489_MULTI_PHASE_INIT
- __pyx_moduledef_slots, /* m_slots */
- #else
- NULL, /* m_reload */
- #endif
- #if CYTHON_USE_MODULE_STATE
- __pyx_m_traverse, /* m_traverse */
- __pyx_m_clear, /* m_clear */
- NULL /* m_free */
- #else
- NULL, /* m_traverse */
- NULL, /* m_clear */
- NULL /* m_free */
- #endif
- };
- #ifdef __cplusplus
-} /* anonymous namespace */
-#endif
-#endif
-
-#ifndef CYTHON_NO_PYINIT_EXPORT
-#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC
-#elif PY_MAJOR_VERSION < 3
-#ifdef __cplusplus
-#define __Pyx_PyMODINIT_FUNC extern "C" void
-#else
-#define __Pyx_PyMODINIT_FUNC void
-#endif
-#else
-#ifdef __cplusplus
-#define __Pyx_PyMODINIT_FUNC extern "C" PyObject *
-#else
-#define __Pyx_PyMODINIT_FUNC PyObject *
-#endif
-#endif
-
-
-#if PY_MAJOR_VERSION < 3
-__Pyx_PyMODINIT_FUNC initrobokassa_pay(void) CYTHON_SMALL_CODE; /*proto*/
-__Pyx_PyMODINIT_FUNC initrobokassa_pay(void)
-#else
-__Pyx_PyMODINIT_FUNC PyInit_robokassa_pay(void) CYTHON_SMALL_CODE; /*proto*/
-__Pyx_PyMODINIT_FUNC PyInit_robokassa_pay(void)
-#if CYTHON_PEP489_MULTI_PHASE_INIT
-{
- return PyModuleDef_Init(&__pyx_moduledef);
-}
-static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) {
- #if PY_VERSION_HEX >= 0x030700A1
- static PY_INT64_T main_interpreter_id = -1;
- PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp);
- if (main_interpreter_id == -1) {
- main_interpreter_id = current_id;
- return (unlikely(current_id == -1)) ? -1 : 0;
- } else if (unlikely(main_interpreter_id != current_id))
- #else
- static PyInterpreterState *main_interpreter = NULL;
- PyInterpreterState *current_interpreter = PyThreadState_Get()->interp;
- if (!main_interpreter) {
- main_interpreter = current_interpreter;
- } else if (unlikely(main_interpreter != current_interpreter))
- #endif
- {
- PyErr_SetString(
- PyExc_ImportError,
- "Interpreter change detected - this module can only be loaded into one interpreter per process.");
- return -1;
- }
- return 0;
-}
-#if CYTHON_COMPILING_IN_LIMITED_API
-static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *module, const char* from_name, const char* to_name, int allow_none)
-#else
-static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none)
-#endif
-{
- PyObject *value = PyObject_GetAttrString(spec, from_name);
- int result = 0;
- if (likely(value)) {
- if (allow_none || value != Py_None) {
-#if CYTHON_COMPILING_IN_LIMITED_API
- result = PyModule_AddObject(module, to_name, value);
-#else
- result = PyDict_SetItemString(moddict, to_name, value);
-#endif
- }
- Py_DECREF(value);
- } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) {
- PyErr_Clear();
- } else {
- result = -1;
- }
- return result;
-}
-static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def) {
- PyObject *module = NULL, *moddict, *modname;
- CYTHON_UNUSED_VAR(def);
- if (__Pyx_check_single_interpreter())
- return NULL;
- if (__pyx_m)
- return __Pyx_NewRef(__pyx_m);
- modname = PyObject_GetAttrString(spec, "name");
- if (unlikely(!modname)) goto bad;
- module = PyModule_NewObject(modname);
- Py_DECREF(modname);
- if (unlikely(!module)) goto bad;
-#if CYTHON_COMPILING_IN_LIMITED_API
- moddict = module;
-#else
- moddict = PyModule_GetDict(module);
- if (unlikely(!moddict)) goto bad;
-#endif
- if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad;
- if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad;
- if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad;
- if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad;
- return module;
-bad:
- Py_XDECREF(module);
- return NULL;
-}
-
-
-static CYTHON_SMALL_CODE int __pyx_pymod_exec_robokassa_pay(PyObject *__pyx_pyinit_module)
-#endif
-#endif
-{
- int stringtab_initialized = 0;
- #if CYTHON_USE_MODULE_STATE
- int pystate_addmodule_run = 0;
- #endif
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- PyObject *__pyx_t_4 = NULL;
- PyObject *__pyx_t_5 = NULL;
- PyObject *__pyx_t_6 = NULL;
- PyObject *__pyx_t_7 = NULL;
- unsigned int __pyx_t_8;
- int __pyx_t_9;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannyDeclarations
- #if CYTHON_PEP489_MULTI_PHASE_INIT
- if (__pyx_m) {
- if (__pyx_m == __pyx_pyinit_module) return 0;
- PyErr_SetString(PyExc_RuntimeError, "Module 'robokassa_pay' has already been imported. Re-initialisation is not supported.");
- return -1;
- }
- #elif PY_MAJOR_VERSION >= 3
- if (__pyx_m) return __Pyx_NewRef(__pyx_m);
- #endif
- /*--- Module creation code ---*/
- #if CYTHON_PEP489_MULTI_PHASE_INIT
- __pyx_m = __pyx_pyinit_module;
- Py_INCREF(__pyx_m);
- #else
- #if PY_MAJOR_VERSION < 3
- __pyx_m = Py_InitModule4("robokassa_pay", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
- if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error)
- #elif CYTHON_USE_MODULE_STATE
- __pyx_t_1 = PyModule_Create(&__pyx_moduledef); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error)
- {
- int add_module_result = PyState_AddModule(__pyx_t_1, &__pyx_moduledef);
- __pyx_t_1 = 0; /* transfer ownership from __pyx_t_1 to "robokassa_pay" pseudovariable */
- if (unlikely((add_module_result < 0))) __PYX_ERR(0, 1, __pyx_L1_error)
- pystate_addmodule_run = 1;
- }
- #else
- __pyx_m = PyModule_Create(&__pyx_moduledef);
- if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error)
- #endif
- #endif
- CYTHON_UNUSED_VAR(__pyx_t_1);
- __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error)
- Py_INCREF(__pyx_d);
- __pyx_b = __Pyx_PyImport_AddModuleRef(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error)
- __pyx_cython_runtime = __Pyx_PyImport_AddModuleRef((const char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error)
- if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
- #if CYTHON_REFNANNY
-__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
-if (!__Pyx_RefNanny) {
- PyErr_Clear();
- __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
- if (!__Pyx_RefNanny)
- Py_FatalError("failed to import 'refnanny' module");
-}
-#endif
- __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_robokassa_pay(void)", 0);
- if (__Pyx_check_binary_version(__PYX_LIMITED_VERSION_HEX, __Pyx_get_runtime_version(), CYTHON_COMPILING_IN_LIMITED_API) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
- #ifdef __Pxy_PyFrame_Initialize_Offsets
- __Pxy_PyFrame_Initialize_Offsets();
- #endif
- __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error)
- __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error)
- __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error)
- #ifdef __Pyx_CyFunction_USED
- if (__pyx_CyFunction_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
- #endif
- #ifdef __Pyx_FusedFunction_USED
- if (__pyx_FusedFunction_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
- #endif
- #ifdef __Pyx_Coroutine_USED
- if (__pyx_Coroutine_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
- #endif
- #ifdef __Pyx_Generator_USED
- if (__pyx_Generator_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
- #endif
- #ifdef __Pyx_AsyncGen_USED
- if (__pyx_AsyncGen_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
- #endif
- #ifdef __Pyx_StopAsyncIteration_USED
- if (__pyx_StopAsyncIteration_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
- #endif
- /*--- Library function declarations ---*/
- /*--- Threads initialization code ---*/
- #if defined(WITH_THREAD) && PY_VERSION_HEX < 0x030700F0 && defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
- PyEval_InitThreads();
- #endif
- /*--- Initialize various global constants etc. ---*/
- if (__Pyx_InitConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
- stringtab_initialized = 1;
- if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
- #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT)
- if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
- #endif
- if (__pyx_module_is_main_handlers__payments__robokassa_pay) {
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
- }
- #if PY_MAJOR_VERSION >= 3
- {
- PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error)
- if (!PyDict_GetItemString(modules, "handlers.payments.robokassa_pay")) {
- if (unlikely((PyDict_SetItemString(modules, "handlers.payments.robokassa_pay", __pyx_m) < 0))) __PYX_ERR(0, 1, __pyx_L1_error)
- }
- }
- #endif
- /*--- Builtin init code ---*/
- if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
- /*--- Constants init code ---*/
- if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
- /*--- Global type/function init code ---*/
- (void)__Pyx_modinit_global_init_code();
- (void)__Pyx_modinit_variable_export_code();
- (void)__Pyx_modinit_function_export_code();
- if (unlikely((__Pyx_modinit_type_init_code() < 0))) __PYX_ERR(0, 1, __pyx_L1_error)
- (void)__Pyx_modinit_type_import_code();
- (void)__Pyx_modinit_variable_import_code();
- (void)__Pyx_modinit_function_import_code();
- /*--- Execution code ---*/
- #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
- if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
- #endif
-
- /* "handlers/payments/robokassa_pay.py":1
- * import hashlib # <<<<<<<<<<<<<<
- * from typing import Any
- *
- */
- __pyx_t_2 = __Pyx_ImportDottedModule(__pyx_n_s_hashlib, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_hashlib, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
- /* "handlers/payments/robokassa_pay.py":2
- * import hashlib
- * from typing import Any # <<<<<<<<<<<<<<
- *
- * from aiogram import F, Router, types
- */
- __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_n_s_Any);
- __Pyx_GIVEREF(__pyx_n_s_Any);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_Any)) __PYX_ERR(0, 2, __pyx_L1_error);
- __pyx_t_3 = __Pyx_Import(__pyx_n_s_typing, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_Any); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_Any, __pyx_t_2) < 0) __PYX_ERR(0, 2, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
- /* "handlers/payments/robokassa_pay.py":4
- * from typing import Any
- *
- * from aiogram import F, Router, types # <<<<<<<<<<<<<<
- * from aiogram.fsm.context import FSMContext
- * from aiogram.fsm.state import State, StatesGroup
- */
- __pyx_t_3 = PyList_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_INCREF(__pyx_n_s_F);
- __Pyx_GIVEREF(__pyx_n_s_F);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_F)) __PYX_ERR(0, 4, __pyx_L1_error);
- __Pyx_INCREF(__pyx_n_s_Router);
- __Pyx_GIVEREF(__pyx_n_s_Router);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_Router)) __PYX_ERR(0, 4, __pyx_L1_error);
- __Pyx_INCREF(__pyx_n_s_types);
- __Pyx_GIVEREF(__pyx_n_s_types);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 2, __pyx_n_s_types)) __PYX_ERR(0, 4, __pyx_L1_error);
- __pyx_t_2 = __Pyx_Import(__pyx_n_s_aiogram, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_F); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_F, __pyx_t_3) < 0) __PYX_ERR(0, 4, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Router); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_Router, __pyx_t_3) < 0) __PYX_ERR(0, 4, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_types); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_types, __pyx_t_3) < 0) __PYX_ERR(0, 4, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
- /* "handlers/payments/robokassa_pay.py":5
- *
- * from aiogram import F, Router, types
- * from aiogram.fsm.context import FSMContext # <<<<<<<<<<<<<<
- * from aiogram.fsm.state import State, StatesGroup
- * from aiogram.types import InlineKeyboardButton, InlineKeyboardMarkup
- */
- __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_n_s_FSMContext);
- __Pyx_GIVEREF(__pyx_n_s_FSMContext);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_FSMContext)) __PYX_ERR(0, 5, __pyx_L1_error);
- __pyx_t_3 = __Pyx_Import(__pyx_n_s_aiogram_fsm_context, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_FSMContext); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_FSMContext, __pyx_t_2) < 0) __PYX_ERR(0, 5, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
- /* "handlers/payments/robokassa_pay.py":6
- * from aiogram import F, Router, types
- * from aiogram.fsm.context import FSMContext
- * from aiogram.fsm.state import State, StatesGroup # <<<<<<<<<<<<<<
- * from aiogram.types import InlineKeyboardButton, InlineKeyboardMarkup
- * from aiogram.utils.keyboard import InlineKeyboardBuilder
- */
- __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_INCREF(__pyx_n_s_State);
- __Pyx_GIVEREF(__pyx_n_s_State);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_State)) __PYX_ERR(0, 6, __pyx_L1_error);
- __Pyx_INCREF(__pyx_n_s_StatesGroup);
- __Pyx_GIVEREF(__pyx_n_s_StatesGroup);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_StatesGroup)) __PYX_ERR(0, 6, __pyx_L1_error);
- __pyx_t_2 = __Pyx_Import(__pyx_n_s_aiogram_fsm_state, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_State); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_State, __pyx_t_3) < 0) __PYX_ERR(0, 6, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_StatesGroup); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_StatesGroup, __pyx_t_3) < 0) __PYX_ERR(0, 6, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
- /* "handlers/payments/robokassa_pay.py":7
- * from aiogram.fsm.context import FSMContext
- * from aiogram.fsm.state import State, StatesGroup
- * from aiogram.types import InlineKeyboardButton, InlineKeyboardMarkup # <<<<<<<<<<<<<<
- * from aiogram.utils.keyboard import InlineKeyboardBuilder
- * from aiohttp import web
- */
- __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_n_s_InlineKeyboardButton);
- __Pyx_GIVEREF(__pyx_n_s_InlineKeyboardButton);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_InlineKeyboardButton)) __PYX_ERR(0, 7, __pyx_L1_error);
- __Pyx_INCREF(__pyx_n_s_InlineKeyboardMarkup);
- __Pyx_GIVEREF(__pyx_n_s_InlineKeyboardMarkup);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_InlineKeyboardMarkup)) __PYX_ERR(0, 7, __pyx_L1_error);
- __pyx_t_3 = __Pyx_Import(__pyx_n_s_aiogram_types, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_InlineKeyboardButton, __pyx_t_2) < 0) __PYX_ERR(0, 7, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_InlineKeyboardMarkup); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_InlineKeyboardMarkup, __pyx_t_2) < 0) __PYX_ERR(0, 7, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
- /* "handlers/payments/robokassa_pay.py":8
- * from aiogram.fsm.state import State, StatesGroup
- * from aiogram.types import InlineKeyboardButton, InlineKeyboardMarkup
- * from aiogram.utils.keyboard import InlineKeyboardBuilder # <<<<<<<<<<<<<<
- * from aiohttp import web
- * from robokassa import HashAlgorithm, Robokassa
- */
- __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_INCREF(__pyx_n_s_InlineKeyboardBuilder);
- __Pyx_GIVEREF(__pyx_n_s_InlineKeyboardBuilder);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_InlineKeyboardBuilder)) __PYX_ERR(0, 8, __pyx_L1_error);
- __pyx_t_2 = __Pyx_Import(__pyx_n_s_aiogram_utils_keyboard, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_InlineKeyboardBuilder, __pyx_t_3) < 0) __PYX_ERR(0, 8, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
- /* "handlers/payments/robokassa_pay.py":9
- * from aiogram.types import InlineKeyboardButton, InlineKeyboardMarkup
- * from aiogram.utils.keyboard import InlineKeyboardBuilder
- * from aiohttp import web # <<<<<<<<<<<<<<
- * from robokassa import HashAlgorithm, Robokassa
- *
- */
- __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_n_s_web);
- __Pyx_GIVEREF(__pyx_n_s_web);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_web)) __PYX_ERR(0, 9, __pyx_L1_error);
- __pyx_t_3 = __Pyx_Import(__pyx_n_s_aiohttp, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_web); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_web, __pyx_t_2) < 0) __PYX_ERR(0, 9, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
- /* "handlers/payments/robokassa_pay.py":10
- * from aiogram.utils.keyboard import InlineKeyboardBuilder
- * from aiohttp import web
- * from robokassa import HashAlgorithm, Robokassa # <<<<<<<<<<<<<<
- *
- * from config import (
- */
- __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_INCREF(__pyx_n_s_HashAlgorithm);
- __Pyx_GIVEREF(__pyx_n_s_HashAlgorithm);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_HashAlgorithm)) __PYX_ERR(0, 10, __pyx_L1_error);
- __Pyx_INCREF(__pyx_n_s_Robokassa);
- __Pyx_GIVEREF(__pyx_n_s_Robokassa);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_Robokassa)) __PYX_ERR(0, 10, __pyx_L1_error);
- __pyx_t_2 = __Pyx_Import(__pyx_n_s_robokassa, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_HashAlgorithm); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_HashAlgorithm, __pyx_t_3) < 0) __PYX_ERR(0, 10, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Robokassa); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_Robokassa, __pyx_t_3) < 0) __PYX_ERR(0, 10, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
- /* "handlers/payments/robokassa_pay.py":13
- *
- * from config import (
- * ROBOKASSA_ENABLE, # <<<<<<<<<<<<<<
- * ROBOKASSA_LOGIN,
- * ROBOKASSA_PASSWORD1,
- */
- __pyx_t_2 = PyList_New(5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_n_s_ROBOKASSA_ENABLE);
- __Pyx_GIVEREF(__pyx_n_s_ROBOKASSA_ENABLE);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_ROBOKASSA_ENABLE)) __PYX_ERR(0, 13, __pyx_L1_error);
- __Pyx_INCREF(__pyx_n_s_ROBOKASSA_LOGIN);
- __Pyx_GIVEREF(__pyx_n_s_ROBOKASSA_LOGIN);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_ROBOKASSA_LOGIN)) __PYX_ERR(0, 13, __pyx_L1_error);
- __Pyx_INCREF(__pyx_n_s_ROBOKASSA_PASSWORD1);
- __Pyx_GIVEREF(__pyx_n_s_ROBOKASSA_PASSWORD1);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 2, __pyx_n_s_ROBOKASSA_PASSWORD1)) __PYX_ERR(0, 13, __pyx_L1_error);
- __Pyx_INCREF(__pyx_n_s_ROBOKASSA_PASSWORD2);
- __Pyx_GIVEREF(__pyx_n_s_ROBOKASSA_PASSWORD2);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 3, __pyx_n_s_ROBOKASSA_PASSWORD2)) __PYX_ERR(0, 13, __pyx_L1_error);
- __Pyx_INCREF(__pyx_n_s_ROBOKASSA_TEST_MODE);
- __Pyx_GIVEREF(__pyx_n_s_ROBOKASSA_TEST_MODE);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 4, __pyx_n_s_ROBOKASSA_TEST_MODE)) __PYX_ERR(0, 13, __pyx_L1_error);
-
- /* "handlers/payments/robokassa_pay.py":12
- * from robokassa import HashAlgorithm, Robokassa
- *
- * from config import ( # <<<<<<<<<<<<<<
- * ROBOKASSA_ENABLE,
- * ROBOKASSA_LOGIN,
- */
- __pyx_t_3 = __Pyx_Import(__pyx_n_s_config, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_ROBOKASSA_ENABLE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_ROBOKASSA_ENABLE, __pyx_t_2) < 0) __PYX_ERR(0, 13, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_ROBOKASSA_LOGIN); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_ROBOKASSA_LOGIN, __pyx_t_2) < 0) __PYX_ERR(0, 14, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_ROBOKASSA_PASSWORD1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_ROBOKASSA_PASSWORD1, __pyx_t_2) < 0) __PYX_ERR(0, 15, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_ROBOKASSA_PASSWORD2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_ROBOKASSA_PASSWORD2, __pyx_t_2) < 0) __PYX_ERR(0, 16, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_ROBOKASSA_TEST_MODE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_ROBOKASSA_TEST_MODE, __pyx_t_2) < 0) __PYX_ERR(0, 17, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
- /* "handlers/payments/robokassa_pay.py":20
- * )
- * from database import (
- * add_connection, # <<<<<<<<<<<<<<
- * add_payment,
- * check_connection_exists,
- */
- __pyx_t_3 = PyList_New(5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_INCREF(__pyx_n_s_add_connection);
- __Pyx_GIVEREF(__pyx_n_s_add_connection);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_add_connection)) __PYX_ERR(0, 20, __pyx_L1_error);
- __Pyx_INCREF(__pyx_n_s_add_payment);
- __Pyx_GIVEREF(__pyx_n_s_add_payment);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_add_payment)) __PYX_ERR(0, 20, __pyx_L1_error);
- __Pyx_INCREF(__pyx_n_s_check_connection_exists);
- __Pyx_GIVEREF(__pyx_n_s_check_connection_exists);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 2, __pyx_n_s_check_connection_exists)) __PYX_ERR(0, 20, __pyx_L1_error);
- __Pyx_INCREF(__pyx_n_s_get_key_count);
- __Pyx_GIVEREF(__pyx_n_s_get_key_count);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 3, __pyx_n_s_get_key_count)) __PYX_ERR(0, 20, __pyx_L1_error);
- __Pyx_INCREF(__pyx_n_s_update_balance);
- __Pyx_GIVEREF(__pyx_n_s_update_balance);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 4, __pyx_n_s_update_balance)) __PYX_ERR(0, 20, __pyx_L1_error);
-
- /* "handlers/payments/robokassa_pay.py":19
- * ROBOKASSA_TEST_MODE,
- * )
- * from database import ( # <<<<<<<<<<<<<<
- * add_connection,
- * add_payment,
- */
- __pyx_t_2 = __Pyx_Import(__pyx_n_s_database, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_add_connection); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_add_connection, __pyx_t_3) < 0) __PYX_ERR(0, 20, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_add_payment); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_add_payment, __pyx_t_3) < 0) __PYX_ERR(0, 21, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_check_connection_exists); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_check_connection_exists, __pyx_t_3) < 0) __PYX_ERR(0, 22, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_get_key_count); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_key_count, __pyx_t_3) < 0) __PYX_ERR(0, 23, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_update_balance); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_update_balance, __pyx_t_3) < 0) __PYX_ERR(0, 24, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
- /* "handlers/payments/robokassa_pay.py":26
- * update_balance,
- * )
- * from handlers.payments.utils import send_payment_success_notification # <<<<<<<<<<<<<<
- * from handlers.texts import PAYMENT_OPTIONS
- * from logger import logger
- */
- __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_n_s_send_payment_success_notificatio);
- __Pyx_GIVEREF(__pyx_n_s_send_payment_success_notificatio);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_send_payment_success_notificatio)) __PYX_ERR(0, 26, __pyx_L1_error);
- __pyx_t_3 = __Pyx_Import(__pyx_n_s_handlers_payments_utils, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_send_payment_success_notificatio); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_send_payment_success_notificatio, __pyx_t_2) < 0) __PYX_ERR(0, 26, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
- /* "handlers/payments/robokassa_pay.py":27
- * )
- * from handlers.payments.utils import send_payment_success_notification
- * from handlers.texts import PAYMENT_OPTIONS # <<<<<<<<<<<<<<
- * from logger import logger
- *
- */
- __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_INCREF(__pyx_n_s_PAYMENT_OPTIONS);
- __Pyx_GIVEREF(__pyx_n_s_PAYMENT_OPTIONS);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_PAYMENT_OPTIONS)) __PYX_ERR(0, 27, __pyx_L1_error);
- __pyx_t_2 = __Pyx_Import(__pyx_n_s_handlers_texts, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_PAYMENT_OPTIONS, __pyx_t_3) < 0) __PYX_ERR(0, 27, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
- /* "handlers/payments/robokassa_pay.py":28
- * from handlers.payments.utils import send_payment_success_notification
- * from handlers.texts import PAYMENT_OPTIONS
- * from logger import logger # <<<<<<<<<<<<<<
- *
- * router = Router()
- */
- __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_n_s_logger);
- __Pyx_GIVEREF(__pyx_n_s_logger);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_logger)) __PYX_ERR(0, 28, __pyx_L1_error);
- __pyx_t_3 = __Pyx_Import(__pyx_n_s_logger, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_logger, __pyx_t_2) < 0) __PYX_ERR(0, 28, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
- /* "handlers/payments/robokassa_pay.py":30
- * from logger import logger
- *
- * router = Router() # <<<<<<<<<<<<<<
- *
- *
- */
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_Router); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_router, __pyx_t_2) < 0) __PYX_ERR(0, 30, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
- /* "handlers/payments/robokassa_pay.py":33
- *
- *
- * class ReplenishBalanceState(StatesGroup): # <<<<<<<<<<<<<<
- * choosing_amount_robokassa = State()
- * waiting_for_payment_confirmation_robokassa = State()
- */
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_StatesGroup); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_GIVEREF(__pyx_t_2);
- if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)) __PYX_ERR(0, 33, __pyx_L1_error);
- __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_2, __pyx_n_s_ReplenishBalanceState, __pyx_n_s_ReplenishBalanceState, (PyObject *) NULL, __pyx_n_s_handlers_payments_robokassa_pay, (PyObject *) NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 33, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_5);
- if (__pyx_t_2 != __pyx_t_3) {
- if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(0, 33, __pyx_L1_error)
- }
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
- /* "handlers/payments/robokassa_pay.py":34
- *
- * class ReplenishBalanceState(StatesGroup):
- * choosing_amount_robokassa = State() # <<<<<<<<<<<<<<
- * waiting_for_payment_confirmation_robokassa = State()
- *
- */
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_State); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 34, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_7 = NULL;
- __pyx_t_8 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_6))) {
- __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
- if (likely(__pyx_t_7)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
- __Pyx_INCREF(__pyx_t_7);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_6, function);
- __pyx_t_8 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL};
- __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_8, 0+__pyx_t_8);
- __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- }
- if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_choosing_amount_robokassa, __pyx_t_3) < 0) __PYX_ERR(0, 34, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
- /* "handlers/payments/robokassa_pay.py":35
- * class ReplenishBalanceState(StatesGroup):
- * choosing_amount_robokassa = State()
- * waiting_for_payment_confirmation_robokassa = State() # <<<<<<<<<<<<<<
- *
- *
- */
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_State); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 35, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_7 = NULL;
- __pyx_t_8 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_6))) {
- __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
- if (likely(__pyx_t_7)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
- __Pyx_INCREF(__pyx_t_7);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_6, function);
- __pyx_t_8 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL};
- __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_8, 0+__pyx_t_8);
- __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- }
- if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_waiting_for_payment_confirmation, __pyx_t_3) < 0) __PYX_ERR(0, 35, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
- /* "handlers/payments/robokassa_pay.py":33
- *
- *
- * class ReplenishBalanceState(StatesGroup): # <<<<<<<<<<<<<<
- * choosing_amount_robokassa = State()
- * waiting_for_payment_confirmation_robokassa = State()
- */
- __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_ReplenishBalanceState, __pyx_t_2, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_ReplenishBalanceState, __pyx_t_3) < 0) __PYX_ERR(0, 33, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
- /* "handlers/payments/robokassa_pay.py":38
- *
- *
- * if ROBOKASSA_ENABLE: # <<<<<<<<<<<<<<
- * robokassa = Robokassa(
- * merchant_login=ROBOKASSA_LOGIN,
- */
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_ROBOKASSA_ENABLE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 38, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__pyx_t_9) {
-
- /* "handlers/payments/robokassa_pay.py":39
- *
- * if ROBOKASSA_ENABLE:
- * robokassa = Robokassa( # <<<<<<<<<<<<<<
- * merchant_login=ROBOKASSA_LOGIN,
- * password1=ROBOKASSA_PASSWORD1,
- */
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Robokassa); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
-
- /* "handlers/payments/robokassa_pay.py":40
- * if ROBOKASSA_ENABLE:
- * robokassa = Robokassa(
- * merchant_login=ROBOKASSA_LOGIN, # <<<<<<<<<<<<<<
- * password1=ROBOKASSA_PASSWORD1,
- * password2=ROBOKASSA_PASSWORD2,
- */
- __pyx_t_4 = __Pyx_PyDict_NewPresized(5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_ROBOKASSA_LOGIN); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 40, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_5);
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_merchant_login, __pyx_t_5) < 0) __PYX_ERR(0, 40, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
- /* "handlers/payments/robokassa_pay.py":41
- * robokassa = Robokassa(
- * merchant_login=ROBOKASSA_LOGIN,
- * password1=ROBOKASSA_PASSWORD1, # <<<<<<<<<<<<<<
- * password2=ROBOKASSA_PASSWORD2,
- * algorithm=HashAlgorithm.md5,
- */
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_ROBOKASSA_PASSWORD1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 41, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_5);
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_password1, __pyx_t_5) < 0) __PYX_ERR(0, 40, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
- /* "handlers/payments/robokassa_pay.py":42
- * merchant_login=ROBOKASSA_LOGIN,
- * password1=ROBOKASSA_PASSWORD1,
- * password2=ROBOKASSA_PASSWORD2, # <<<<<<<<<<<<<<
- * algorithm=HashAlgorithm.md5,
- * is_test=ROBOKASSA_TEST_MODE,
- */
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_ROBOKASSA_PASSWORD2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 42, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_5);
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_password2, __pyx_t_5) < 0) __PYX_ERR(0, 40, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
- /* "handlers/payments/robokassa_pay.py":43
- * password1=ROBOKASSA_PASSWORD1,
- * password2=ROBOKASSA_PASSWORD2,
- * algorithm=HashAlgorithm.md5, # <<<<<<<<<<<<<<
- * is_test=ROBOKASSA_TEST_MODE,
- * )
- */
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_HashAlgorithm); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_5);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_md5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_algorithm, __pyx_t_3) < 0) __PYX_ERR(0, 40, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
- /* "handlers/payments/robokassa_pay.py":44
- * password2=ROBOKASSA_PASSWORD2,
- * algorithm=HashAlgorithm.md5,
- * is_test=ROBOKASSA_TEST_MODE, # <<<<<<<<<<<<<<
- * )
- *
- */
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ROBOKASSA_TEST_MODE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_is_test, __pyx_t_3) < 0) __PYX_ERR(0, 40, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
- /* "handlers/payments/robokassa_pay.py":39
- *
- * if ROBOKASSA_ENABLE:
- * robokassa = Robokassa( # <<<<<<<<<<<<<<
- * merchant_login=ROBOKASSA_LOGIN,
- * password1=ROBOKASSA_PASSWORD1,
- */
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_robokassa, __pyx_t_3) < 0) __PYX_ERR(0, 39, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
- /* "handlers/payments/robokassa_pay.py":47
- * )
- *
- * logger.info("Robokassa initialized with login: {}", ROBOKASSA_LOGIN) # <<<<<<<<<<<<<<
- *
- *
- */
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_info); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ROBOKASSA_LOGIN); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_kp_u_Robokassa_initialized_with_login);
- __Pyx_GIVEREF(__pyx_kp_u_Robokassa_initialized_with_login);
- if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_u_Robokassa_initialized_with_login)) __PYX_ERR(0, 47, __pyx_L1_error);
- __Pyx_GIVEREF(__pyx_t_3);
- if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3)) __PYX_ERR(0, 47, __pyx_L1_error);
- __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
- /* "handlers/payments/robokassa_pay.py":38
- *
- *
- * if ROBOKASSA_ENABLE: # <<<<<<<<<<<<<<
- * robokassa = Robokassa(
- * merchant_login=ROBOKASSA_LOGIN,
- */
- }
-
- /* "handlers/payments/robokassa_pay.py":50
- *
- *
- * def generate_payment_link(amount, inv_id, description, tg_id): # <<<<<<<<<<<<<<
- * """ ."""
- * logger.debug(
- */
- __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_13robokassa_pay_1generate_payment_link, 0, __pyx_n_s_generate_payment_link, NULL, __pyx_n_s_handlers_payments_robokassa_pay, __pyx_d, ((PyObject *)__pyx_codeobj__33)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 50, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_generate_payment_link, __pyx_t_3) < 0) __PYX_ERR(0, 50, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
- /* "handlers/payments/robokassa_pay.py":65
- *
- *
- * @router.callback_query(F.data == "pay_robokassa") # <<<<<<<<<<<<<<
- * async def process_callback_pay_robokassa(
- * callback_query: types.CallbackQuery, state: FSMContext, session: Any
- */
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_router); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 65, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 65, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_F); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 65, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_data); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 65, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, __pyx_n_u_pay_robokassa, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 65, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 65, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 65, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 65, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_state, __pyx_n_s_FSMContext) < 0) __PYX_ERR(0, 65, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_session, __pyx_n_s_Any) < 0) __PYX_ERR(0, 65, __pyx_L1_error)
- __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_13robokassa_pay_3process_callback_pay_robokassa, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_process_callback_pay_robokassa, NULL, __pyx_n_s_handlers_payments_robokassa_pay, __pyx_d, ((PyObject *)__pyx_codeobj__2)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 65, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 65, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_process_callback_pay_robokassa, __pyx_t_3) < 0) __PYX_ERR(0, 65, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
- /* "handlers/payments/robokassa_pay.py":116
- *
- *
- * @router.callback_query(F.data.startswith("robokassa_amount|")) # <<<<<<<<<<<<<<
- * async def process_amount_selection(
- * callback_query: types.CallbackQuery, state: FSMContext
- */
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_router); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 116, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 116, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_F); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 116, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_data); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 116, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_startswith); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 116, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__35, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 116, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 116, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 116, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 116, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_state, __pyx_n_s_FSMContext) < 0) __PYX_ERR(0, 116, __pyx_L1_error)
- __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_13robokassa_pay_6process_amount_selection, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_process_amount_selection, NULL, __pyx_n_s_handlers_payments_robokassa_pay, __pyx_d, ((PyObject *)__pyx_codeobj__7)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 116, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_4);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 116, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_process_amount_selection, __pyx_t_4) < 0) __PYX_ERR(0, 116, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
- /* "handlers/payments/robokassa_pay.py":161
- *
- *
- * async def robokassa_webhook(request): # <<<<<<<<<<<<<<
- * """ webhook- Robokassa shp_id."""
- * try:
- */
- __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_13robokassa_pay_9robokassa_webhook, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_robokassa_webhook, NULL, __pyx_n_s_handlers_payments_robokassa_pay, __pyx_d, ((PyObject *)__pyx_codeobj__20)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 161, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_robokassa_webhook, __pyx_t_4) < 0) __PYX_ERR(0, 161, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
- /* "handlers/payments/robokassa_pay.py":203
- *
- *
- * def check_payment_signature(params): # <<<<<<<<<<<<<<
- * """ Robokassa shp_id."""
- * out_sum = params.get("OutSum")
- */
- __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_13robokassa_pay_12check_payment_signature, 0, __pyx_n_s_check_payment_signature, NULL, __pyx_n_s_handlers_payments_robokassa_pay, __pyx_d, ((PyObject *)__pyx_codeobj__39)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 203, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_check_payment_signature, __pyx_t_4) < 0) __PYX_ERR(0, 203, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
- /* "handlers/payments/robokassa_pay.py":224
- *
- *
- * @router.callback_query(F.data == "enter_custom_amount_robokassa") # <<<<<<<<<<<<<<
- * async def process_custom_amount_selection(
- * callback_query: types.CallbackQuery, state: FSMContext
- */
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_router); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 224, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 224, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_F); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 224, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_data); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 224, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_n_u_enter_custom_amount_robokassa, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 224, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 224, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 224, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 224, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_state, __pyx_n_s_FSMContext) < 0) __PYX_ERR(0, 224, __pyx_L1_error)
- __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_13robokassa_pay_14process_custom_amount_selection, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_process_custom_amount_selection, NULL, __pyx_n_s_handlers_payments_robokassa_pay, __pyx_d, ((PyObject *)__pyx_codeobj__24)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 224, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_4);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 224, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_process_custom_amount_selection, __pyx_t_4) < 0) __PYX_ERR(0, 224, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
- /* "handlers/payments/robokassa_pay.py":244
- *
- *
- * @router.message(ReplenishBalanceState.waiting_for_payment_confirmation_robokassa) # <<<<<<<<<<<<<<
- * async def handle_custom_amount_input(message: types.Message, state: FSMContext):
- * tg_id = message.chat.id
- */
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_router); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 244, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_message); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 244, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_ReplenishBalanceState); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 244, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_waiting_for_payment_confirmation); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 244, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 244, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 244, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_message, __pyx_kp_s_types_Message) < 0) __PYX_ERR(0, 244, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_state, __pyx_n_s_FSMContext) < 0) __PYX_ERR(0, 244, __pyx_L1_error)
- __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_13robokassa_pay_17handle_custom_amount_input, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_handle_custom_amount_input, NULL, __pyx_n_s_handlers_payments_robokassa_pay, __pyx_d, ((PyObject *)__pyx_codeobj__28)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 244, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 244, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_handle_custom_amount_input, __pyx_t_3) < 0) __PYX_ERR(0, 244, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
- /* "handlers/payments/robokassa_pay.py":1
- * import hashlib # <<<<<<<<<<<<<<
- * from typing import Any
- *
- */
- __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_3) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
- /*--- Wrapped vars code ---*/
-
- goto __pyx_L0;
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_4);
- __Pyx_XDECREF(__pyx_t_5);
- __Pyx_XDECREF(__pyx_t_6);
- __Pyx_XDECREF(__pyx_t_7);
- if (__pyx_m) {
- if (__pyx_d && stringtab_initialized) {
- __Pyx_AddTraceback("init handlers.payments.robokassa_pay", __pyx_clineno, __pyx_lineno, __pyx_filename);
- }
- #if !CYTHON_USE_MODULE_STATE
- Py_CLEAR(__pyx_m);
- #else
- Py_DECREF(__pyx_m);
- if (pystate_addmodule_run) {
- PyObject *tp, *value, *tb;
- PyErr_Fetch(&tp, &value, &tb);
- PyState_RemoveModule(&__pyx_moduledef);
- PyErr_Restore(tp, value, tb);
- }
- #endif
- } else if (!PyErr_Occurred()) {
- PyErr_SetString(PyExc_ImportError, "init handlers.payments.robokassa_pay");
- }
- __pyx_L0:;
- __Pyx_RefNannyFinishContext();
- #if CYTHON_PEP489_MULTI_PHASE_INIT
- return (__pyx_m != NULL) ? 0 : -1;
- #elif PY_MAJOR_VERSION >= 3
- return __pyx_m;
- #else
- return;
- #endif
-}
-/* #### Code section: cleanup_globals ### */
-/* #### Code section: cleanup_module ### */
-/* #### Code section: main_method ### */
-/* #### Code section: utility_code_pragmas ### */
-#ifdef _MSC_VER
-#pragma warning( push )
-/* Warning 4127: conditional expression is constant
- * Cython uses constant conditional expressions to allow in inline functions to be optimized at
- * compile-time, so this warning is not useful
- */
-#pragma warning( disable : 4127 )
-#endif
-
-
-
-/* #### Code section: utility_code_def ### */
-
-/* --- Runtime support code --- */
-/* Refnanny */
-#if CYTHON_REFNANNY
-static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
- PyObject *m = NULL, *p = NULL;
- void *r = NULL;
- m = PyImport_ImportModule(modname);
- if (!m) goto end;
- p = PyObject_GetAttrString(m, "RefNannyAPI");
- if (!p) goto end;
- r = PyLong_AsVoidPtr(p);
-end:
- Py_XDECREF(p);
- Py_XDECREF(m);
- return (__Pyx_RefNannyAPIStruct *)r;
-}
-#endif
-
-/* PyErrExceptionMatches */
-#if CYTHON_FAST_THREAD_STATE
-static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
- Py_ssize_t i, n;
- n = PyTuple_GET_SIZE(tuple);
-#if PY_MAJOR_VERSION >= 3
- for (i=0; i= 0x030C00A6
- PyObject *current_exception = tstate->current_exception;
- if (unlikely(!current_exception)) return 0;
- exc_type = (PyObject*) Py_TYPE(current_exception);
- if (exc_type == err) return 1;
-#else
- exc_type = tstate->curexc_type;
- if (exc_type == err) return 1;
- if (unlikely(!exc_type)) return 0;
-#endif
- #if CYTHON_AVOID_BORROWED_REFS
- Py_INCREF(exc_type);
- #endif
- if (unlikely(PyTuple_Check(err))) {
- result = __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err);
- } else {
- result = __Pyx_PyErr_GivenExceptionMatches(exc_type, err);
- }
- #if CYTHON_AVOID_BORROWED_REFS
- Py_DECREF(exc_type);
- #endif
- return result;
-}
-#endif
-
-/* PyErrFetchRestore */
-#if CYTHON_FAST_THREAD_STATE
-static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
-#if PY_VERSION_HEX >= 0x030C00A6
- PyObject *tmp_value;
- assert(type == NULL || (value != NULL && type == (PyObject*) Py_TYPE(value)));
- if (value) {
- #if CYTHON_COMPILING_IN_CPYTHON
- if (unlikely(((PyBaseExceptionObject*) value)->traceback != tb))
- #endif
- PyException_SetTraceback(value, tb);
- }
- tmp_value = tstate->current_exception;
- tstate->current_exception = value;
- Py_XDECREF(tmp_value);
- Py_XDECREF(type);
- Py_XDECREF(tb);
-#else
- PyObject *tmp_type, *tmp_value, *tmp_tb;
- tmp_type = tstate->curexc_type;
- tmp_value = tstate->curexc_value;
- tmp_tb = tstate->curexc_traceback;
- tstate->curexc_type = type;
- tstate->curexc_value = value;
- tstate->curexc_traceback = tb;
- Py_XDECREF(tmp_type);
- Py_XDECREF(tmp_value);
- Py_XDECREF(tmp_tb);
-#endif
-}
-static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
-#if PY_VERSION_HEX >= 0x030C00A6
- PyObject* exc_value;
- exc_value = tstate->current_exception;
- tstate->current_exception = 0;
- *value = exc_value;
- *type = NULL;
- *tb = NULL;
- if (exc_value) {
- *type = (PyObject*) Py_TYPE(exc_value);
- Py_INCREF(*type);
- #if CYTHON_COMPILING_IN_CPYTHON
- *tb = ((PyBaseExceptionObject*) exc_value)->traceback;
- Py_XINCREF(*tb);
- #else
- *tb = PyException_GetTraceback(exc_value);
- #endif
- }
-#else
- *type = tstate->curexc_type;
- *value = tstate->curexc_value;
- *tb = tstate->curexc_traceback;
- tstate->curexc_type = 0;
- tstate->curexc_value = 0;
- tstate->curexc_traceback = 0;
-#endif
-}
-#endif
-
-/* PyObjectGetAttrStr */
-#if CYTHON_USE_TYPE_SLOTS
-static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) {
- PyTypeObject* tp = Py_TYPE(obj);
- if (likely(tp->tp_getattro))
- return tp->tp_getattro(obj, attr_name);
-#if PY_MAJOR_VERSION < 3
- if (likely(tp->tp_getattr))
- return tp->tp_getattr(obj, PyString_AS_STRING(attr_name));
-#endif
- return PyObject_GetAttr(obj, attr_name);
-}
-#endif
-
-/* PyObjectGetAttrStrNoError */
-#if __PYX_LIMITED_VERSION_HEX < 0x030d00A1
-static void __Pyx_PyObject_GetAttrStr_ClearAttributeError(void) {
- __Pyx_PyThreadState_declare
- __Pyx_PyThreadState_assign
- if (likely(__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError)))
- __Pyx_PyErr_Clear();
-}
-#endif
-static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name) {
- PyObject *result;
-#if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1
- (void) PyObject_GetOptionalAttr(obj, attr_name, &result);
- return result;
-#else
-#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_TYPE_SLOTS && PY_VERSION_HEX >= 0x030700B1
- PyTypeObject* tp = Py_TYPE(obj);
- if (likely(tp->tp_getattro == PyObject_GenericGetAttr)) {
- return _PyObject_GenericGetAttrWithDict(obj, attr_name, NULL, 1);
- }
-#endif
- result = __Pyx_PyObject_GetAttrStr(obj, attr_name);
- if (unlikely(!result)) {
- __Pyx_PyObject_GetAttrStr_ClearAttributeError();
- }
- return result;
-#endif
-}
-
-/* GetBuiltinName */
-static PyObject *__Pyx_GetBuiltinName(PyObject *name) {
- PyObject* result = __Pyx_PyObject_GetAttrStrNoError(__pyx_b, name);
- if (unlikely(!result) && !PyErr_Occurred()) {
- PyErr_Format(PyExc_NameError,
-#if PY_MAJOR_VERSION >= 3
- "name '%U' is not defined", name);
-#else
- "name '%.200s' is not defined", PyString_AS_STRING(name));
-#endif
- }
- return result;
-}
-
-/* TupleAndListFromArray */
-#if CYTHON_COMPILING_IN_CPYTHON
-static CYTHON_INLINE void __Pyx_copy_object_array(PyObject *const *CYTHON_RESTRICT src, PyObject** CYTHON_RESTRICT dest, Py_ssize_t length) {
- PyObject *v;
- Py_ssize_t i;
- for (i = 0; i < length; i++) {
- v = dest[i] = src[i];
- Py_INCREF(v);
- }
-}
-static CYTHON_INLINE PyObject *
-__Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n)
-{
- PyObject *res;
- if (n <= 0) {
- Py_INCREF(__pyx_empty_tuple);
- return __pyx_empty_tuple;
- }
- res = PyTuple_New(n);
- if (unlikely(res == NULL)) return NULL;
- __Pyx_copy_object_array(src, ((PyTupleObject*)res)->ob_item, n);
- return res;
-}
-static CYTHON_INLINE PyObject *
-__Pyx_PyList_FromArray(PyObject *const *src, Py_ssize_t n)
-{
- PyObject *res;
- if (n <= 0) {
- return PyList_New(0);
- }
- res = PyList_New(n);
- if (unlikely(res == NULL)) return NULL;
- __Pyx_copy_object_array(src, ((PyListObject*)res)->ob_item, n);
- return res;
-}
-#endif
-
-/* BytesEquals */
-static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) {
-#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API
- return PyObject_RichCompareBool(s1, s2, equals);
-#else
- if (s1 == s2) {
- return (equals == Py_EQ);
- } else if (PyBytes_CheckExact(s1) & PyBytes_CheckExact(s2)) {
- const char *ps1, *ps2;
- Py_ssize_t length = PyBytes_GET_SIZE(s1);
- if (length != PyBytes_GET_SIZE(s2))
- return (equals == Py_NE);
- ps1 = PyBytes_AS_STRING(s1);
- ps2 = PyBytes_AS_STRING(s2);
- if (ps1[0] != ps2[0]) {
- return (equals == Py_NE);
- } else if (length == 1) {
- return (equals == Py_EQ);
- } else {
- int result;
-#if CYTHON_USE_UNICODE_INTERNALS && (PY_VERSION_HEX < 0x030B0000)
- Py_hash_t hash1, hash2;
- hash1 = ((PyBytesObject*)s1)->ob_shash;
- hash2 = ((PyBytesObject*)s2)->ob_shash;
- if (hash1 != hash2 && hash1 != -1 && hash2 != -1) {
- return (equals == Py_NE);
- }
-#endif
- result = memcmp(ps1, ps2, (size_t)length);
- return (equals == Py_EQ) ? (result == 0) : (result != 0);
- }
- } else if ((s1 == Py_None) & PyBytes_CheckExact(s2)) {
- return (equals == Py_NE);
- } else if ((s2 == Py_None) & PyBytes_CheckExact(s1)) {
- return (equals == Py_NE);
- } else {
- int result;
- PyObject* py_result = PyObject_RichCompare(s1, s2, equals);
- if (!py_result)
- return -1;
- result = __Pyx_PyObject_IsTrue(py_result);
- Py_DECREF(py_result);
- return result;
- }
-#endif
-}
-
-/* UnicodeEquals */
-static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) {
-#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API
- return PyObject_RichCompareBool(s1, s2, equals);
-#else
-#if PY_MAJOR_VERSION < 3
- PyObject* owned_ref = NULL;
-#endif
- int s1_is_unicode, s2_is_unicode;
- if (s1 == s2) {
- goto return_eq;
- }
- s1_is_unicode = PyUnicode_CheckExact(s1);
- s2_is_unicode = PyUnicode_CheckExact(s2);
-#if PY_MAJOR_VERSION < 3
- if ((s1_is_unicode & (!s2_is_unicode)) && PyString_CheckExact(s2)) {
- owned_ref = PyUnicode_FromObject(s2);
- if (unlikely(!owned_ref))
- return -1;
- s2 = owned_ref;
- s2_is_unicode = 1;
- } else if ((s2_is_unicode & (!s1_is_unicode)) && PyString_CheckExact(s1)) {
- owned_ref = PyUnicode_FromObject(s1);
- if (unlikely(!owned_ref))
- return -1;
- s1 = owned_ref;
- s1_is_unicode = 1;
- } else if (((!s2_is_unicode) & (!s1_is_unicode))) {
- return __Pyx_PyBytes_Equals(s1, s2, equals);
- }
-#endif
- if (s1_is_unicode & s2_is_unicode) {
- Py_ssize_t length;
- int kind;
- void *data1, *data2;
- if (unlikely(__Pyx_PyUnicode_READY(s1) < 0) || unlikely(__Pyx_PyUnicode_READY(s2) < 0))
- return -1;
- length = __Pyx_PyUnicode_GET_LENGTH(s1);
- if (length != __Pyx_PyUnicode_GET_LENGTH(s2)) {
- goto return_ne;
- }
-#if CYTHON_USE_UNICODE_INTERNALS
- {
- Py_hash_t hash1, hash2;
- #if CYTHON_PEP393_ENABLED
- hash1 = ((PyASCIIObject*)s1)->hash;
- hash2 = ((PyASCIIObject*)s2)->hash;
- #else
- hash1 = ((PyUnicodeObject*)s1)->hash;
- hash2 = ((PyUnicodeObject*)s2)->hash;
- #endif
- if (hash1 != hash2 && hash1 != -1 && hash2 != -1) {
- goto return_ne;
- }
- }
-#endif
- kind = __Pyx_PyUnicode_KIND(s1);
- if (kind != __Pyx_PyUnicode_KIND(s2)) {
- goto return_ne;
- }
- data1 = __Pyx_PyUnicode_DATA(s1);
- data2 = __Pyx_PyUnicode_DATA(s2);
- if (__Pyx_PyUnicode_READ(kind, data1, 0) != __Pyx_PyUnicode_READ(kind, data2, 0)) {
- goto return_ne;
- } else if (length == 1) {
- goto return_eq;
- } else {
- int result = memcmp(data1, data2, (size_t)(length * kind));
- #if PY_MAJOR_VERSION < 3
- Py_XDECREF(owned_ref);
- #endif
- return (equals == Py_EQ) ? (result == 0) : (result != 0);
- }
- } else if ((s1 == Py_None) & s2_is_unicode) {
- goto return_ne;
- } else if ((s2 == Py_None) & s1_is_unicode) {
- goto return_ne;
- } else {
- int result;
- PyObject* py_result = PyObject_RichCompare(s1, s2, equals);
- #if PY_MAJOR_VERSION < 3
- Py_XDECREF(owned_ref);
- #endif
- if (!py_result)
- return -1;
- result = __Pyx_PyObject_IsTrue(py_result);
- Py_DECREF(py_result);
- return result;
- }
-return_eq:
- #if PY_MAJOR_VERSION < 3
- Py_XDECREF(owned_ref);
- #endif
- return (equals == Py_EQ);
-return_ne:
- #if PY_MAJOR_VERSION < 3
- Py_XDECREF(owned_ref);
- #endif
- return (equals == Py_NE);
-#endif
-}
-
-/* fastcall */
-#if CYTHON_METH_FASTCALL
-static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s)
-{
- Py_ssize_t i, n = PyTuple_GET_SIZE(kwnames);
- for (i = 0; i < n; i++)
- {
- if (s == PyTuple_GET_ITEM(kwnames, i)) return kwvalues[i];
- }
- for (i = 0; i < n; i++)
- {
- int eq = __Pyx_PyUnicode_Equals(s, PyTuple_GET_ITEM(kwnames, i), Py_EQ);
- if (unlikely(eq != 0)) {
- if (unlikely(eq < 0)) return NULL;
- return kwvalues[i];
- }
- }
- return NULL;
-}
-#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000
-CYTHON_UNUSED static PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues) {
- Py_ssize_t i, nkwargs = PyTuple_GET_SIZE(kwnames);
- PyObject *dict;
- dict = PyDict_New();
- if (unlikely(!dict))
- return NULL;
- for (i=0; i= 3
- "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
- #else
- "%s() got multiple values for keyword argument '%s'", func_name,
- PyString_AsString(kw_name));
- #endif
-}
-
-/* ParseKeywords */
-static int __Pyx_ParseOptionalKeywords(
- PyObject *kwds,
- PyObject *const *kwvalues,
- PyObject **argnames[],
- PyObject *kwds2,
- PyObject *values[],
- Py_ssize_t num_pos_args,
- const char* function_name)
-{
- PyObject *key = 0, *value = 0;
- Py_ssize_t pos = 0;
- PyObject*** name;
- PyObject*** first_kw_arg = argnames + num_pos_args;
- int kwds_is_tuple = CYTHON_METH_FASTCALL && likely(PyTuple_Check(kwds));
- while (1) {
- Py_XDECREF(key); key = NULL;
- Py_XDECREF(value); value = NULL;
- if (kwds_is_tuple) {
- Py_ssize_t size;
-#if CYTHON_ASSUME_SAFE_MACROS
- size = PyTuple_GET_SIZE(kwds);
-#else
- size = PyTuple_Size(kwds);
- if (size < 0) goto bad;
-#endif
- if (pos >= size) break;
-#if CYTHON_AVOID_BORROWED_REFS
- key = __Pyx_PySequence_ITEM(kwds, pos);
- if (!key) goto bad;
-#elif CYTHON_ASSUME_SAFE_MACROS
- key = PyTuple_GET_ITEM(kwds, pos);
-#else
- key = PyTuple_GetItem(kwds, pos);
- if (!key) goto bad;
-#endif
- value = kwvalues[pos];
- pos++;
- }
- else
- {
- if (!PyDict_Next(kwds, &pos, &key, &value)) break;
-#if CYTHON_AVOID_BORROWED_REFS
- Py_INCREF(key);
-#endif
- }
- name = first_kw_arg;
- while (*name && (**name != key)) name++;
- if (*name) {
- values[name-argnames] = value;
-#if CYTHON_AVOID_BORROWED_REFS
- Py_INCREF(value);
- Py_DECREF(key);
-#endif
- key = NULL;
- value = NULL;
- continue;
- }
-#if !CYTHON_AVOID_BORROWED_REFS
- Py_INCREF(key);
-#endif
- Py_INCREF(value);
- name = first_kw_arg;
- #if PY_MAJOR_VERSION < 3
- if (likely(PyString_Check(key))) {
- while (*name) {
- if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
- && _PyString_Eq(**name, key)) {
- values[name-argnames] = value;
-#if CYTHON_AVOID_BORROWED_REFS
- value = NULL;
-#endif
- break;
- }
- name++;
- }
- if (*name) continue;
- else {
- PyObject*** argname = argnames;
- while (argname != first_kw_arg) {
- if ((**argname == key) || (
- (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
- && _PyString_Eq(**argname, key))) {
- goto arg_passed_twice;
- }
- argname++;
- }
- }
- } else
- #endif
- if (likely(PyUnicode_Check(key))) {
- while (*name) {
- int cmp = (
- #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
- (__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 :
- #endif
- PyUnicode_Compare(**name, key)
- );
- if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
- if (cmp == 0) {
- values[name-argnames] = value;
-#if CYTHON_AVOID_BORROWED_REFS
- value = NULL;
-#endif
- break;
- }
- name++;
- }
- if (*name) continue;
- else {
- PyObject*** argname = argnames;
- while (argname != first_kw_arg) {
- int cmp = (**argname == key) ? 0 :
- #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
- (__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 :
- #endif
- PyUnicode_Compare(**argname, key);
- if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
- if (cmp == 0) goto arg_passed_twice;
- argname++;
- }
- }
- } else
- goto invalid_keyword_type;
- if (kwds2) {
- if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
- } else {
- goto invalid_keyword;
- }
- }
- Py_XDECREF(key);
- Py_XDECREF(value);
- return 0;
-arg_passed_twice:
- __Pyx_RaiseDoubleKeywordsError(function_name, key);
- goto bad;
-invalid_keyword_type:
- PyErr_Format(PyExc_TypeError,
- "%.200s() keywords must be strings", function_name);
- goto bad;
-invalid_keyword:
- #if PY_MAJOR_VERSION < 3
- PyErr_Format(PyExc_TypeError,
- "%.200s() got an unexpected keyword argument '%.200s'",
- function_name, PyString_AsString(key));
- #else
- PyErr_Format(PyExc_TypeError,
- "%s() got an unexpected keyword argument '%U'",
- function_name, key);
- #endif
-bad:
- Py_XDECREF(key);
- Py_XDECREF(value);
- return -1;
-}
-
-/* PyDictVersioning */
-#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
-static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) {
- PyObject *dict = Py_TYPE(obj)->tp_dict;
- return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0;
-}
-static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) {
- PyObject **dictptr = NULL;
- Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset;
- if (offset) {
-#if CYTHON_COMPILING_IN_CPYTHON
- dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj);
-#else
- dictptr = _PyObject_GetDictPtr(obj);
-#endif
- }
- return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0;
-}
-static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) {
- PyObject *dict = Py_TYPE(obj)->tp_dict;
- if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict)))
- return 0;
- return obj_dict_version == __Pyx_get_object_dict_version(obj);
-}
-#endif
-
-/* GetModuleGlobalName */
-#if CYTHON_USE_DICT_VERSIONS
-static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value)
-#else
-static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name)
-#endif
-{
- PyObject *result;
-#if !CYTHON_AVOID_BORROWED_REFS
-#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && PY_VERSION_HEX < 0x030d0000
- result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash);
- __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
- if (likely(result)) {
- return __Pyx_NewRef(result);
- } else if (unlikely(PyErr_Occurred())) {
- return NULL;
- }
-#elif CYTHON_COMPILING_IN_LIMITED_API
- if (unlikely(!__pyx_m)) {
- return NULL;
- }
- result = PyObject_GetAttr(__pyx_m, name);
- if (likely(result)) {
- return result;
- }
-#else
- result = PyDict_GetItem(__pyx_d, name);
- __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
- if (likely(result)) {
- return __Pyx_NewRef(result);
- }
-#endif
-#else
- result = PyObject_GetItem(__pyx_d, name);
- __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
- if (likely(result)) {
- return __Pyx_NewRef(result);
- }
- PyErr_Clear();
-#endif
- return __Pyx_GetBuiltinName(name);
-}
-
-/* JoinPyUnicode */
-static PyObject* __Pyx_PyUnicode_Join(PyObject* value_tuple, Py_ssize_t value_count, Py_ssize_t result_ulength,
- Py_UCS4 max_char) {
-#if CYTHON_USE_UNICODE_INTERNALS && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- PyObject *result_uval;
- int result_ukind, kind_shift;
- Py_ssize_t i, char_pos;
- void *result_udata;
- CYTHON_MAYBE_UNUSED_VAR(max_char);
-#if CYTHON_PEP393_ENABLED
- result_uval = PyUnicode_New(result_ulength, max_char);
- if (unlikely(!result_uval)) return NULL;
- result_ukind = (max_char <= 255) ? PyUnicode_1BYTE_KIND : (max_char <= 65535) ? PyUnicode_2BYTE_KIND : PyUnicode_4BYTE_KIND;
- kind_shift = (result_ukind == PyUnicode_4BYTE_KIND) ? 2 : result_ukind - 1;
- result_udata = PyUnicode_DATA(result_uval);
-#else
- result_uval = PyUnicode_FromUnicode(NULL, result_ulength);
- if (unlikely(!result_uval)) return NULL;
- result_ukind = sizeof(Py_UNICODE);
- kind_shift = (result_ukind == 4) ? 2 : result_ukind - 1;
- result_udata = PyUnicode_AS_UNICODE(result_uval);
-#endif
- assert(kind_shift == 2 || kind_shift == 1 || kind_shift == 0);
- char_pos = 0;
- for (i=0; i < value_count; i++) {
- int ukind;
- Py_ssize_t ulength;
- void *udata;
- PyObject *uval = PyTuple_GET_ITEM(value_tuple, i);
- if (unlikely(__Pyx_PyUnicode_READY(uval)))
- goto bad;
- ulength = __Pyx_PyUnicode_GET_LENGTH(uval);
- if (unlikely(!ulength))
- continue;
- if (unlikely((PY_SSIZE_T_MAX >> kind_shift) - ulength < char_pos))
- goto overflow;
- ukind = __Pyx_PyUnicode_KIND(uval);
- udata = __Pyx_PyUnicode_DATA(uval);
- if (!CYTHON_PEP393_ENABLED || ukind == result_ukind) {
- memcpy((char *)result_udata + (char_pos << kind_shift), udata, (size_t) (ulength << kind_shift));
- } else {
- #if PY_VERSION_HEX >= 0x030d0000
- if (unlikely(PyUnicode_CopyCharacters(result_uval, char_pos, uval, 0, ulength) < 0)) goto bad;
- #elif CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030300F0 || defined(_PyUnicode_FastCopyCharacters)
- _PyUnicode_FastCopyCharacters(result_uval, char_pos, uval, 0, ulength);
- #else
- Py_ssize_t j;
- for (j=0; j < ulength; j++) {
- Py_UCS4 uchar = __Pyx_PyUnicode_READ(ukind, udata, j);
- __Pyx_PyUnicode_WRITE(result_ukind, result_udata, char_pos+j, uchar);
- }
- #endif
- }
- char_pos += ulength;
- }
- return result_uval;
-overflow:
- PyErr_SetString(PyExc_OverflowError, "join() result is too long for a Python string");
-bad:
- Py_DECREF(result_uval);
- return NULL;
-#else
- CYTHON_UNUSED_VAR(max_char);
- CYTHON_UNUSED_VAR(result_ulength);
- CYTHON_UNUSED_VAR(value_count);
- return PyUnicode_Join(__pyx_empty_unicode, value_tuple);
-#endif
-}
-
-/* PyFunctionFastCall */
-#if CYTHON_FAST_PYCALL && !CYTHON_VECTORCALL
-static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na,
- PyObject *globals) {
- PyFrameObject *f;
- PyThreadState *tstate = __Pyx_PyThreadState_Current;
- PyObject **fastlocals;
- Py_ssize_t i;
- PyObject *result;
- assert(globals != NULL);
- /* XXX Perhaps we should create a specialized
- PyFrame_New() that doesn't take locals, but does
- take builtins without sanity checking them.
- */
- assert(tstate != NULL);
- f = PyFrame_New(tstate, co, globals, NULL);
- if (f == NULL) {
- return NULL;
- }
- fastlocals = __Pyx_PyFrame_GetLocalsplus(f);
- for (i = 0; i < na; i++) {
- Py_INCREF(*args);
- fastlocals[i] = *args++;
- }
- result = PyEval_EvalFrameEx(f,0);
- ++tstate->recursion_depth;
- Py_DECREF(f);
- --tstate->recursion_depth;
- return result;
-}
-static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs) {
- PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func);
- PyObject *globals = PyFunction_GET_GLOBALS(func);
- PyObject *argdefs = PyFunction_GET_DEFAULTS(func);
- PyObject *closure;
-#if PY_MAJOR_VERSION >= 3
- PyObject *kwdefs;
-#endif
- PyObject *kwtuple, **k;
- PyObject **d;
- Py_ssize_t nd;
- Py_ssize_t nk;
- PyObject *result;
- assert(kwargs == NULL || PyDict_Check(kwargs));
- nk = kwargs ? PyDict_Size(kwargs) : 0;
- #if PY_MAJOR_VERSION < 3
- if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) {
- return NULL;
- }
- #else
- if (unlikely(Py_EnterRecursiveCall(" while calling a Python object"))) {
- return NULL;
- }
- #endif
- if (
-#if PY_MAJOR_VERSION >= 3
- co->co_kwonlyargcount == 0 &&
-#endif
- likely(kwargs == NULL || nk == 0) &&
- co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) {
- if (argdefs == NULL && co->co_argcount == nargs) {
- result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals);
- goto done;
- }
- else if (nargs == 0 && argdefs != NULL
- && co->co_argcount == Py_SIZE(argdefs)) {
- /* function called with no arguments, but all parameters have
- a default value: use default values as arguments .*/
- args = &PyTuple_GET_ITEM(argdefs, 0);
- result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals);
- goto done;
- }
- }
- if (kwargs != NULL) {
- Py_ssize_t pos, i;
- kwtuple = PyTuple_New(2 * nk);
- if (kwtuple == NULL) {
- result = NULL;
- goto done;
- }
- k = &PyTuple_GET_ITEM(kwtuple, 0);
- pos = i = 0;
- while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) {
- Py_INCREF(k[i]);
- Py_INCREF(k[i+1]);
- i += 2;
- }
- nk = i / 2;
- }
- else {
- kwtuple = NULL;
- k = NULL;
- }
- closure = PyFunction_GET_CLOSURE(func);
-#if PY_MAJOR_VERSION >= 3
- kwdefs = PyFunction_GET_KW_DEFAULTS(func);
-#endif
- if (argdefs != NULL) {
- d = &PyTuple_GET_ITEM(argdefs, 0);
- nd = Py_SIZE(argdefs);
- }
- else {
- d = NULL;
- nd = 0;
- }
-#if PY_MAJOR_VERSION >= 3
- result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL,
- args, (int)nargs,
- k, (int)nk,
- d, (int)nd, kwdefs, closure);
-#else
- result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL,
- args, (int)nargs,
- k, (int)nk,
- d, (int)nd, closure);
-#endif
- Py_XDECREF(kwtuple);
-done:
- Py_LeaveRecursiveCall();
- return result;
-}
-#endif
-
-/* PyObjectCall */
-#if CYTHON_COMPILING_IN_CPYTHON
-static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {
- PyObject *result;
- ternaryfunc call = Py_TYPE(func)->tp_call;
- if (unlikely(!call))
- return PyObject_Call(func, arg, kw);
- #if PY_MAJOR_VERSION < 3
- if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
- return NULL;
- #else
- if (unlikely(Py_EnterRecursiveCall(" while calling a Python object")))
- return NULL;
- #endif
- result = (*call)(func, arg, kw);
- Py_LeaveRecursiveCall();
- if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
- PyErr_SetString(
- PyExc_SystemError,
- "NULL result without error in PyObject_Call");
- }
- return result;
-}
-#endif
-
-/* PyObjectCallMethO */
-#if CYTHON_COMPILING_IN_CPYTHON
-static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {
- PyObject *self, *result;
- PyCFunction cfunc;
- cfunc = __Pyx_CyOrPyCFunction_GET_FUNCTION(func);
- self = __Pyx_CyOrPyCFunction_GET_SELF(func);
- #if PY_MAJOR_VERSION < 3
- if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
- return NULL;
- #else
- if (unlikely(Py_EnterRecursiveCall(" while calling a Python object")))
- return NULL;
- #endif
- result = cfunc(self, arg);
- Py_LeaveRecursiveCall();
- if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
- PyErr_SetString(
- PyExc_SystemError,
- "NULL result without error in PyObject_Call");
- }
- return result;
-}
-#endif
-
-/* PyObjectFastCall */
-#if PY_VERSION_HEX < 0x03090000 || CYTHON_COMPILING_IN_LIMITED_API
-static PyObject* __Pyx_PyObject_FastCall_fallback(PyObject *func, PyObject **args, size_t nargs, PyObject *kwargs) {
- PyObject *argstuple;
- PyObject *result = 0;
- size_t i;
- argstuple = PyTuple_New((Py_ssize_t)nargs);
- if (unlikely(!argstuple)) return NULL;
- for (i = 0; i < nargs; i++) {
- Py_INCREF(args[i]);
- if (__Pyx_PyTuple_SET_ITEM(argstuple, (Py_ssize_t)i, args[i]) < 0) goto bad;
- }
- result = __Pyx_PyObject_Call(func, argstuple, kwargs);
- bad:
- Py_DECREF(argstuple);
- return result;
-}
-#endif
-static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject **args, size_t _nargs, PyObject *kwargs) {
- Py_ssize_t nargs = __Pyx_PyVectorcall_NARGS(_nargs);
-#if CYTHON_COMPILING_IN_CPYTHON
- if (nargs == 0 && kwargs == NULL) {
- if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_NOARGS))
- return __Pyx_PyObject_CallMethO(func, NULL);
- }
- else if (nargs == 1 && kwargs == NULL) {
- if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_O))
- return __Pyx_PyObject_CallMethO(func, args[0]);
- }
-#endif
- #if PY_VERSION_HEX < 0x030800B1
- #if CYTHON_FAST_PYCCALL
- if (PyCFunction_Check(func)) {
- if (kwargs) {
- return _PyCFunction_FastCallDict(func, args, nargs, kwargs);
- } else {
- return _PyCFunction_FastCallKeywords(func, args, nargs, NULL);
- }
- }
- #if PY_VERSION_HEX >= 0x030700A1
- if (!kwargs && __Pyx_IS_TYPE(func, &PyMethodDescr_Type)) {
- return _PyMethodDescr_FastCallKeywords(func, args, nargs, NULL);
- }
- #endif
- #endif
- #if CYTHON_FAST_PYCALL
- if (PyFunction_Check(func)) {
- return __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs);
- }
- #endif
- #endif
- if (kwargs == NULL) {
- #if CYTHON_VECTORCALL
- #if PY_VERSION_HEX < 0x03090000
- vectorcallfunc f = _PyVectorcall_Function(func);
- #else
- vectorcallfunc f = PyVectorcall_Function(func);
- #endif
- if (f) {
- return f(func, args, (size_t)nargs, NULL);
- }
- #elif defined(__Pyx_CyFunction_USED) && CYTHON_BACKPORT_VECTORCALL
- if (__Pyx_CyFunction_CheckExact(func)) {
- __pyx_vectorcallfunc f = __Pyx_CyFunction_func_vectorcall(func);
- if (f) return f(func, args, (size_t)nargs, NULL);
- }
- #endif
- }
- if (nargs == 0) {
- return __Pyx_PyObject_Call(func, __pyx_empty_tuple, kwargs);
- }
- #if PY_VERSION_HEX >= 0x03090000 && !CYTHON_COMPILING_IN_LIMITED_API
- return PyObject_VectorcallDict(func, args, (size_t)nargs, kwargs);
- #else
- return __Pyx_PyObject_FastCall_fallback(func, args, (size_t)nargs, kwargs);
- #endif
-}
-
-/* PyIntBinop */
-#if !CYTHON_COMPILING_IN_PYPY
-static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check) {
- CYTHON_MAYBE_UNUSED_VAR(intval);
- CYTHON_MAYBE_UNUSED_VAR(inplace);
- CYTHON_UNUSED_VAR(zerodivision_check);
- #if PY_MAJOR_VERSION < 3
- if (likely(PyInt_CheckExact(op1))) {
- const long b = intval;
- long x;
- long a = PyInt_AS_LONG(op1);
-
- x = (long)((unsigned long)a + (unsigned long)b);
- if (likely((x^a) >= 0 || (x^b) >= 0))
- return PyInt_FromLong(x);
- return PyLong_Type.tp_as_number->nb_add(op1, op2);
- }
- #endif
- #if CYTHON_USE_PYLONG_INTERNALS
- if (likely(PyLong_CheckExact(op1))) {
- const long b = intval;
- long a, x;
-#ifdef HAVE_LONG_LONG
- const PY_LONG_LONG llb = intval;
- PY_LONG_LONG lla, llx;
-#endif
- if (unlikely(__Pyx_PyLong_IsZero(op1))) {
- return __Pyx_NewRef(op2);
- }
- if (likely(__Pyx_PyLong_IsCompact(op1))) {
- a = __Pyx_PyLong_CompactValue(op1);
- } else {
- const digit* digits = __Pyx_PyLong_Digits(op1);
- const Py_ssize_t size = __Pyx_PyLong_SignedDigitCount(op1);
- switch (size) {
- case -2:
- if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
- a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
- break;
- #ifdef HAVE_LONG_LONG
- } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
- lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
- goto long_long;
- #endif
- }
- CYTHON_FALLTHROUGH;
- case 2:
- if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
- a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
- break;
- #ifdef HAVE_LONG_LONG
- } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
- lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
- goto long_long;
- #endif
- }
- CYTHON_FALLTHROUGH;
- case -3:
- if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
- a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
- break;
- #ifdef HAVE_LONG_LONG
- } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
- lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
- goto long_long;
- #endif
- }
- CYTHON_FALLTHROUGH;
- case 3:
- if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
- a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
- break;
- #ifdef HAVE_LONG_LONG
- } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
- lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
- goto long_long;
- #endif
- }
- CYTHON_FALLTHROUGH;
- case -4:
- if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
- a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
- break;
- #ifdef HAVE_LONG_LONG
- } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
- lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
- goto long_long;
- #endif
- }
- CYTHON_FALLTHROUGH;
- case 4:
- if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
- a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
- break;
- #ifdef HAVE_LONG_LONG
- } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
- lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
- goto long_long;
- #endif
- }
- CYTHON_FALLTHROUGH;
- default: return PyLong_Type.tp_as_number->nb_add(op1, op2);
- }
- }
- x = a + b;
- return PyLong_FromLong(x);
-#ifdef HAVE_LONG_LONG
- long_long:
- llx = lla + llb;
- return PyLong_FromLongLong(llx);
-#endif
-
-
- }
- #endif
- if (PyFloat_CheckExact(op1)) {
- const long b = intval;
-#if CYTHON_COMPILING_IN_LIMITED_API
- double a = __pyx_PyFloat_AsDouble(op1);
-#else
- double a = PyFloat_AS_DOUBLE(op1);
-#endif
- double result;
-
- PyFPE_START_PROTECT("add", return NULL)
- result = ((double)a) + (double)b;
- PyFPE_END_PROTECT(result)
- return PyFloat_FromDouble(result);
- }
- return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2);
-}
-#endif
-
-/* GetItemInt */
-static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
- PyObject *r;
- if (unlikely(!j)) return NULL;
- r = PyObject_GetItem(o, j);
- Py_DECREF(j);
- return r;
-}
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
- CYTHON_NCP_UNUSED int wraparound,
- CYTHON_NCP_UNUSED int boundscheck) {
-#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- Py_ssize_t wrapped_i = i;
- if (wraparound & unlikely(i < 0)) {
- wrapped_i += PyList_GET_SIZE(o);
- }
- if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) {
- PyObject *r = PyList_GET_ITEM(o, wrapped_i);
- Py_INCREF(r);
- return r;
- }
- return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
-#else
- return PySequence_GetItem(o, i);
-#endif
-}
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
- CYTHON_NCP_UNUSED int wraparound,
- CYTHON_NCP_UNUSED int boundscheck) {
-#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- Py_ssize_t wrapped_i = i;
- if (wraparound & unlikely(i < 0)) {
- wrapped_i += PyTuple_GET_SIZE(o);
- }
- if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) {
- PyObject *r = PyTuple_GET_ITEM(o, wrapped_i);
- Py_INCREF(r);
- return r;
- }
- return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
-#else
- return PySequence_GetItem(o, i);
-#endif
-}
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list,
- CYTHON_NCP_UNUSED int wraparound,
- CYTHON_NCP_UNUSED int boundscheck) {
-#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS
- if (is_list || PyList_CheckExact(o)) {
- Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
- if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) {
- PyObject *r = PyList_GET_ITEM(o, n);
- Py_INCREF(r);
- return r;
- }
- }
- else if (PyTuple_CheckExact(o)) {
- Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
- if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) {
- PyObject *r = PyTuple_GET_ITEM(o, n);
- Py_INCREF(r);
- return r;
- }
- } else {
- PyMappingMethods *mm = Py_TYPE(o)->tp_as_mapping;
- PySequenceMethods *sm = Py_TYPE(o)->tp_as_sequence;
- if (mm && mm->mp_subscript) {
- PyObject *r, *key = PyInt_FromSsize_t(i);
- if (unlikely(!key)) return NULL;
- r = mm->mp_subscript(o, key);
- Py_DECREF(key);
- return r;
- }
- if (likely(sm && sm->sq_item)) {
- if (wraparound && unlikely(i < 0) && likely(sm->sq_length)) {
- Py_ssize_t l = sm->sq_length(o);
- if (likely(l >= 0)) {
- i += l;
- } else {
- if (!PyErr_ExceptionMatches(PyExc_OverflowError))
- return NULL;
- PyErr_Clear();
- }
- }
- return sm->sq_item(o, i);
- }
- }
-#else
- if (is_list || !PyMapping_Check(o)) {
- return PySequence_GetItem(o, i);
- }
-#endif
- return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
-}
-
-/* PyObjectCallOneArg */
-static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
- PyObject *args[2] = {NULL, arg};
- return __Pyx_PyObject_FastCall(func, args+1, 1 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
-}
-
-/* ObjectGetItem */
-#if CYTHON_USE_TYPE_SLOTS
-static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject *index) {
- PyObject *runerr = NULL;
- Py_ssize_t key_value;
- key_value = __Pyx_PyIndex_AsSsize_t(index);
- if (likely(key_value != -1 || !(runerr = PyErr_Occurred()))) {
- return __Pyx_GetItemInt_Fast(obj, key_value, 0, 1, 1);
- }
- if (PyErr_GivenExceptionMatches(runerr, PyExc_OverflowError)) {
- __Pyx_TypeName index_type_name = __Pyx_PyType_GetName(Py_TYPE(index));
- PyErr_Clear();
- PyErr_Format(PyExc_IndexError,
- "cannot fit '" __Pyx_FMT_TYPENAME "' into an index-sized integer", index_type_name);
- __Pyx_DECREF_TypeName(index_type_name);
- }
- return NULL;
-}
-static PyObject *__Pyx_PyObject_GetItem_Slow(PyObject *obj, PyObject *key) {
- __Pyx_TypeName obj_type_name;
- if (likely(PyType_Check(obj))) {
- PyObject *meth = __Pyx_PyObject_GetAttrStrNoError(obj, __pyx_n_s_class_getitem);
- if (!meth) {
- PyErr_Clear();
- } else {
- PyObject *result = __Pyx_PyObject_CallOneArg(meth, key);
- Py_DECREF(meth);
- return result;
- }
- }
- obj_type_name = __Pyx_PyType_GetName(Py_TYPE(obj));
- PyErr_Format(PyExc_TypeError,
- "'" __Pyx_FMT_TYPENAME "' object is not subscriptable", obj_type_name);
- __Pyx_DECREF_TypeName(obj_type_name);
- return NULL;
-}
-static PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject *key) {
- PyTypeObject *tp = Py_TYPE(obj);
- PyMappingMethods *mm = tp->tp_as_mapping;
- PySequenceMethods *sm = tp->tp_as_sequence;
- if (likely(mm && mm->mp_subscript)) {
- return mm->mp_subscript(obj, key);
- }
- if (likely(sm && sm->sq_item)) {
- return __Pyx_PyObject_GetIndex(obj, key);
- }
- return __Pyx_PyObject_GetItem_Slow(obj, key);
-}
-#endif
-
-/* DictGetItem */
-#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY
-static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) {
- PyObject *value;
- value = PyDict_GetItemWithError(d, key);
- if (unlikely(!value)) {
- if (!PyErr_Occurred()) {
- if (unlikely(PyTuple_Check(key))) {
- PyObject* args = PyTuple_Pack(1, key);
- if (likely(args)) {
- PyErr_SetObject(PyExc_KeyError, args);
- Py_DECREF(args);
- }
- } else {
- PyErr_SetObject(PyExc_KeyError, key);
- }
- }
- return NULL;
- }
- Py_INCREF(value);
- return value;
-}
-#endif
-
-/* FixUpExtensionType */
-#if CYTHON_USE_TYPE_SPECS
-static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject *type) {
-#if PY_VERSION_HEX > 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
- CYTHON_UNUSED_VAR(spec);
- CYTHON_UNUSED_VAR(type);
-#else
- const PyType_Slot *slot = spec->slots;
- while (slot && slot->slot && slot->slot != Py_tp_members)
- slot++;
- if (slot && slot->slot == Py_tp_members) {
- int changed = 0;
-#if !(PY_VERSION_HEX <= 0x030900b1 && CYTHON_COMPILING_IN_CPYTHON)
- const
-#endif
- PyMemberDef *memb = (PyMemberDef*) slot->pfunc;
- while (memb && memb->name) {
- if (memb->name[0] == '_' && memb->name[1] == '_') {
-#if PY_VERSION_HEX < 0x030900b1
- if (strcmp(memb->name, "__weaklistoffset__") == 0) {
- assert(memb->type == T_PYSSIZET);
- assert(memb->flags == READONLY);
- type->tp_weaklistoffset = memb->offset;
- changed = 1;
- }
- else if (strcmp(memb->name, "__dictoffset__") == 0) {
- assert(memb->type == T_PYSSIZET);
- assert(memb->flags == READONLY);
- type->tp_dictoffset = memb->offset;
- changed = 1;
- }
-#if CYTHON_METH_FASTCALL
- else if (strcmp(memb->name, "__vectorcalloffset__") == 0) {
- assert(memb->type == T_PYSSIZET);
- assert(memb->flags == READONLY);
-#if PY_VERSION_HEX >= 0x030800b4
- type->tp_vectorcall_offset = memb->offset;
-#else
- type->tp_print = (printfunc) memb->offset;
-#endif
- changed = 1;
- }
-#endif
-#else
- if ((0));
-#endif
-#if PY_VERSION_HEX <= 0x030900b1 && CYTHON_COMPILING_IN_CPYTHON
- else if (strcmp(memb->name, "__module__") == 0) {
- PyObject *descr;
- assert(memb->type == T_OBJECT);
- assert(memb->flags == 0 || memb->flags == READONLY);
- descr = PyDescr_NewMember(type, memb);
- if (unlikely(!descr))
- return -1;
- if (unlikely(PyDict_SetItem(type->tp_dict, PyDescr_NAME(descr), descr) < 0)) {
- Py_DECREF(descr);
- return -1;
- }
- Py_DECREF(descr);
- changed = 1;
- }
-#endif
- }
- memb++;
- }
- if (changed)
- PyType_Modified(type);
- }
-#endif
- return 0;
-}
-#endif
-
-/* FetchSharedCythonModule */
-static PyObject *__Pyx_FetchSharedCythonABIModule(void) {
- return __Pyx_PyImport_AddModuleRef((char*) __PYX_ABI_MODULE_NAME);
-}
-
-/* FetchCommonType */
-static int __Pyx_VerifyCachedType(PyObject *cached_type,
- const char *name,
- Py_ssize_t basicsize,
- Py_ssize_t expected_basicsize) {
- if (!PyType_Check(cached_type)) {
- PyErr_Format(PyExc_TypeError,
- "Shared Cython type %.200s is not a type object", name);
- return -1;
- }
- if (basicsize != expected_basicsize) {
- PyErr_Format(PyExc_TypeError,
- "Shared Cython type %.200s has the wrong size, try recompiling",
- name);
- return -1;
- }
- return 0;
-}
-#if !CYTHON_USE_TYPE_SPECS
-static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) {
- PyObject* abi_module;
- const char* object_name;
- PyTypeObject *cached_type = NULL;
- abi_module = __Pyx_FetchSharedCythonABIModule();
- if (!abi_module) return NULL;
- object_name = strrchr(type->tp_name, '.');
- object_name = object_name ? object_name+1 : type->tp_name;
- cached_type = (PyTypeObject*) PyObject_GetAttrString(abi_module, object_name);
- if (cached_type) {
- if (__Pyx_VerifyCachedType(
- (PyObject *)cached_type,
- object_name,
- cached_type->tp_basicsize,
- type->tp_basicsize) < 0) {
- goto bad;
- }
- goto done;
- }
- if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad;
- PyErr_Clear();
- if (PyType_Ready(type) < 0) goto bad;
- if (PyObject_SetAttrString(abi_module, object_name, (PyObject *)type) < 0)
- goto bad;
- Py_INCREF(type);
- cached_type = type;
-done:
- Py_DECREF(abi_module);
- return cached_type;
-bad:
- Py_XDECREF(cached_type);
- cached_type = NULL;
- goto done;
-}
-#else
-static PyTypeObject *__Pyx_FetchCommonTypeFromSpec(PyObject *module, PyType_Spec *spec, PyObject *bases) {
- PyObject *abi_module, *cached_type = NULL;
- const char* object_name = strrchr(spec->name, '.');
- object_name = object_name ? object_name+1 : spec->name;
- abi_module = __Pyx_FetchSharedCythonABIModule();
- if (!abi_module) return NULL;
- cached_type = PyObject_GetAttrString(abi_module, object_name);
- if (cached_type) {
- Py_ssize_t basicsize;
-#if CYTHON_COMPILING_IN_LIMITED_API
- PyObject *py_basicsize;
- py_basicsize = PyObject_GetAttrString(cached_type, "__basicsize__");
- if (unlikely(!py_basicsize)) goto bad;
- basicsize = PyLong_AsSsize_t(py_basicsize);
- Py_DECREF(py_basicsize);
- py_basicsize = 0;
- if (unlikely(basicsize == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
-#else
- basicsize = likely(PyType_Check(cached_type)) ? ((PyTypeObject*) cached_type)->tp_basicsize : -1;
-#endif
- if (__Pyx_VerifyCachedType(
- cached_type,
- object_name,
- basicsize,
- spec->basicsize) < 0) {
- goto bad;
- }
- goto done;
- }
- if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad;
- PyErr_Clear();
- CYTHON_UNUSED_VAR(module);
- cached_type = __Pyx_PyType_FromModuleAndSpec(abi_module, spec, bases);
- if (unlikely(!cached_type)) goto bad;
- if (unlikely(__Pyx_fix_up_extension_type_from_spec(spec, (PyTypeObject *) cached_type) < 0)) goto bad;
- if (PyObject_SetAttrString(abi_module, object_name, cached_type) < 0) goto bad;
-done:
- Py_DECREF(abi_module);
- assert(cached_type == NULL || PyType_Check(cached_type));
- return (PyTypeObject *) cached_type;
-bad:
- Py_XDECREF(cached_type);
- cached_type = NULL;
- goto done;
-}
-#endif
-
-/* RaiseException */
-#if PY_MAJOR_VERSION < 3
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
- __Pyx_PyThreadState_declare
- CYTHON_UNUSED_VAR(cause);
- Py_XINCREF(type);
- if (!value || value == Py_None)
- value = NULL;
- else
- Py_INCREF(value);
- if (!tb || tb == Py_None)
- tb = NULL;
- else {
- Py_INCREF(tb);
- if (!PyTraceBack_Check(tb)) {
- PyErr_SetString(PyExc_TypeError,
- "raise: arg 3 must be a traceback or None");
- goto raise_error;
- }
- }
- if (PyType_Check(type)) {
-#if CYTHON_COMPILING_IN_PYPY
- if (!value) {
- Py_INCREF(Py_None);
- value = Py_None;
- }
-#endif
- PyErr_NormalizeException(&type, &value, &tb);
- } else {
- if (value) {
- PyErr_SetString(PyExc_TypeError,
- "instance exception may not have a separate value");
- goto raise_error;
- }
- value = type;
- type = (PyObject*) Py_TYPE(type);
- Py_INCREF(type);
- if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
- PyErr_SetString(PyExc_TypeError,
- "raise: exception class must be a subclass of BaseException");
- goto raise_error;
- }
- }
- __Pyx_PyThreadState_assign
- __Pyx_ErrRestore(type, value, tb);
- return;
-raise_error:
- Py_XDECREF(value);
- Py_XDECREF(type);
- Py_XDECREF(tb);
- return;
-}
-#else
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
- PyObject* owned_instance = NULL;
- if (tb == Py_None) {
- tb = 0;
- } else if (tb && !PyTraceBack_Check(tb)) {
- PyErr_SetString(PyExc_TypeError,
- "raise: arg 3 must be a traceback or None");
- goto bad;
- }
- if (value == Py_None)
- value = 0;
- if (PyExceptionInstance_Check(type)) {
- if (value) {
- PyErr_SetString(PyExc_TypeError,
- "instance exception may not have a separate value");
- goto bad;
- }
- value = type;
- type = (PyObject*) Py_TYPE(value);
- } else if (PyExceptionClass_Check(type)) {
- PyObject *instance_class = NULL;
- if (value && PyExceptionInstance_Check(value)) {
- instance_class = (PyObject*) Py_TYPE(value);
- if (instance_class != type) {
- int is_subclass = PyObject_IsSubclass(instance_class, type);
- if (!is_subclass) {
- instance_class = NULL;
- } else if (unlikely(is_subclass == -1)) {
- goto bad;
- } else {
- type = instance_class;
- }
- }
- }
- if (!instance_class) {
- PyObject *args;
- if (!value)
- args = PyTuple_New(0);
- else if (PyTuple_Check(value)) {
- Py_INCREF(value);
- args = value;
- } else
- args = PyTuple_Pack(1, value);
- if (!args)
- goto bad;
- owned_instance = PyObject_Call(type, args, NULL);
- Py_DECREF(args);
- if (!owned_instance)
- goto bad;
- value = owned_instance;
- if (!PyExceptionInstance_Check(value)) {
- PyErr_Format(PyExc_TypeError,
- "calling %R should have returned an instance of "
- "BaseException, not %R",
- type, Py_TYPE(value));
- goto bad;
- }
- }
- } else {
- PyErr_SetString(PyExc_TypeError,
- "raise: exception class must be a subclass of BaseException");
- goto bad;
- }
- if (cause) {
- PyObject *fixed_cause;
- if (cause == Py_None) {
- fixed_cause = NULL;
- } else if (PyExceptionClass_Check(cause)) {
- fixed_cause = PyObject_CallObject(cause, NULL);
- if (fixed_cause == NULL)
- goto bad;
- } else if (PyExceptionInstance_Check(cause)) {
- fixed_cause = cause;
- Py_INCREF(fixed_cause);
- } else {
- PyErr_SetString(PyExc_TypeError,
- "exception causes must derive from "
- "BaseException");
- goto bad;
- }
- PyException_SetCause(value, fixed_cause);
- }
- PyErr_SetObject(type, value);
- if (tb) {
- #if PY_VERSION_HEX >= 0x030C00A6
- PyException_SetTraceback(value, tb);
- #elif CYTHON_FAST_THREAD_STATE
- PyThreadState *tstate = __Pyx_PyThreadState_Current;
- PyObject* tmp_tb = tstate->curexc_traceback;
- if (tb != tmp_tb) {
- Py_INCREF(tb);
- tstate->curexc_traceback = tb;
- Py_XDECREF(tmp_tb);
- }
-#else
- PyObject *tmp_type, *tmp_value, *tmp_tb;
- PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb);
- Py_INCREF(tb);
- PyErr_Restore(tmp_type, tmp_value, tb);
- Py_XDECREF(tmp_tb);
-#endif
- }
-bad:
- Py_XDECREF(owned_instance);
- return;
-}
-#endif
-
-/* GetTopmostException */
-#if CYTHON_USE_EXC_INFO_STACK && CYTHON_FAST_THREAD_STATE
-static _PyErr_StackItem *
-__Pyx_PyErr_GetTopmostException(PyThreadState *tstate)
-{
- _PyErr_StackItem *exc_info = tstate->exc_info;
- while ((exc_info->exc_value == NULL || exc_info->exc_value == Py_None) &&
- exc_info->previous_item != NULL)
- {
- exc_info = exc_info->previous_item;
- }
- return exc_info;
-}
-#endif
-
-/* SaveResetException */
-#if CYTHON_FAST_THREAD_STATE
-static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
- #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4
- _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate);
- PyObject *exc_value = exc_info->exc_value;
- if (exc_value == NULL || exc_value == Py_None) {
- *value = NULL;
- *type = NULL;
- *tb = NULL;
- } else {
- *value = exc_value;
- Py_INCREF(*value);
- *type = (PyObject*) Py_TYPE(exc_value);
- Py_INCREF(*type);
- *tb = PyException_GetTraceback(exc_value);
- }
- #elif CYTHON_USE_EXC_INFO_STACK
- _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate);
- *type = exc_info->exc_type;
- *value = exc_info->exc_value;
- *tb = exc_info->exc_traceback;
- Py_XINCREF(*type);
- Py_XINCREF(*value);
- Py_XINCREF(*tb);
- #else
- *type = tstate->exc_type;
- *value = tstate->exc_value;
- *tb = tstate->exc_traceback;
- Py_XINCREF(*type);
- Py_XINCREF(*value);
- Py_XINCREF(*tb);
- #endif
-}
-static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
- #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4
- _PyErr_StackItem *exc_info = tstate->exc_info;
- PyObject *tmp_value = exc_info->exc_value;
- exc_info->exc_value = value;
- Py_XDECREF(tmp_value);
- Py_XDECREF(type);
- Py_XDECREF(tb);
- #else
- PyObject *tmp_type, *tmp_value, *tmp_tb;
- #if CYTHON_USE_EXC_INFO_STACK
- _PyErr_StackItem *exc_info = tstate->exc_info;
- tmp_type = exc_info->exc_type;
- tmp_value = exc_info->exc_value;
- tmp_tb = exc_info->exc_traceback;
- exc_info->exc_type = type;
- exc_info->exc_value = value;
- exc_info->exc_traceback = tb;
- #else
- tmp_type = tstate->exc_type;
- tmp_value = tstate->exc_value;
- tmp_tb = tstate->exc_traceback;
- tstate->exc_type = type;
- tstate->exc_value = value;
- tstate->exc_traceback = tb;
- #endif
- Py_XDECREF(tmp_type);
- Py_XDECREF(tmp_value);
- Py_XDECREF(tmp_tb);
- #endif
-}
-#endif
-
-/* SwapException */
-#if CYTHON_FAST_THREAD_STATE
-static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
- PyObject *tmp_type, *tmp_value, *tmp_tb;
- #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4
- _PyErr_StackItem *exc_info = tstate->exc_info;
- tmp_value = exc_info->exc_value;
- exc_info->exc_value = *value;
- if (tmp_value == NULL || tmp_value == Py_None) {
- Py_XDECREF(tmp_value);
- tmp_value = NULL;
- tmp_type = NULL;
- tmp_tb = NULL;
- } else {
- tmp_type = (PyObject*) Py_TYPE(tmp_value);
- Py_INCREF(tmp_type);
- #if CYTHON_COMPILING_IN_CPYTHON
- tmp_tb = ((PyBaseExceptionObject*) tmp_value)->traceback;
- Py_XINCREF(tmp_tb);
- #else
- tmp_tb = PyException_GetTraceback(tmp_value);
- #endif
- }
- #elif CYTHON_USE_EXC_INFO_STACK
- _PyErr_StackItem *exc_info = tstate->exc_info;
- tmp_type = exc_info->exc_type;
- tmp_value = exc_info->exc_value;
- tmp_tb = exc_info->exc_traceback;
- exc_info->exc_type = *type;
- exc_info->exc_value = *value;
- exc_info->exc_traceback = *tb;
- #else
- tmp_type = tstate->exc_type;
- tmp_value = tstate->exc_value;
- tmp_tb = tstate->exc_traceback;
- tstate->exc_type = *type;
- tstate->exc_value = *value;
- tstate->exc_traceback = *tb;
- #endif
- *type = tmp_type;
- *value = tmp_value;
- *tb = tmp_tb;
-}
-#else
-static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb) {
- PyObject *tmp_type, *tmp_value, *tmp_tb;
- PyErr_GetExcInfo(&tmp_type, &tmp_value, &tmp_tb);
- PyErr_SetExcInfo(*type, *value, *tb);
- *type = tmp_type;
- *value = tmp_value;
- *tb = tmp_tb;
-}
-#endif
-
-/* PyObjectCall2Args */
-static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) {
- PyObject *args[3] = {NULL, arg1, arg2};
- return __Pyx_PyObject_FastCall(function, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
-}
-
-/* PyObjectGetMethod */
-static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method) {
- PyObject *attr;
-#if CYTHON_UNPACK_METHODS && CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_PYTYPE_LOOKUP
- __Pyx_TypeName type_name;
- PyTypeObject *tp = Py_TYPE(obj);
- PyObject *descr;
- descrgetfunc f = NULL;
- PyObject **dictptr, *dict;
- int meth_found = 0;
- assert (*method == NULL);
- if (unlikely(tp->tp_getattro != PyObject_GenericGetAttr)) {
- attr = __Pyx_PyObject_GetAttrStr(obj, name);
- goto try_unpack;
- }
- if (unlikely(tp->tp_dict == NULL) && unlikely(PyType_Ready(tp) < 0)) {
- return 0;
- }
- descr = _PyType_Lookup(tp, name);
- if (likely(descr != NULL)) {
- Py_INCREF(descr);
-#if defined(Py_TPFLAGS_METHOD_DESCRIPTOR) && Py_TPFLAGS_METHOD_DESCRIPTOR
- if (__Pyx_PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_METHOD_DESCRIPTOR))
-#elif PY_MAJOR_VERSION >= 3
- #ifdef __Pyx_CyFunction_USED
- if (likely(PyFunction_Check(descr) || __Pyx_IS_TYPE(descr, &PyMethodDescr_Type) || __Pyx_CyFunction_Check(descr)))
- #else
- if (likely(PyFunction_Check(descr) || __Pyx_IS_TYPE(descr, &PyMethodDescr_Type)))
- #endif
-#else
- #ifdef __Pyx_CyFunction_USED
- if (likely(PyFunction_Check(descr) || __Pyx_CyFunction_Check(descr)))
- #else
- if (likely(PyFunction_Check(descr)))
- #endif
-#endif
- {
- meth_found = 1;
- } else {
- f = Py_TYPE(descr)->tp_descr_get;
- if (f != NULL && PyDescr_IsData(descr)) {
- attr = f(descr, obj, (PyObject *)Py_TYPE(obj));
- Py_DECREF(descr);
- goto try_unpack;
- }
- }
- }
- dictptr = _PyObject_GetDictPtr(obj);
- if (dictptr != NULL && (dict = *dictptr) != NULL) {
- Py_INCREF(dict);
- attr = __Pyx_PyDict_GetItemStr(dict, name);
- if (attr != NULL) {
- Py_INCREF(attr);
- Py_DECREF(dict);
- Py_XDECREF(descr);
- goto try_unpack;
- }
- Py_DECREF(dict);
- }
- if (meth_found) {
- *method = descr;
- return 1;
- }
- if (f != NULL) {
- attr = f(descr, obj, (PyObject *)Py_TYPE(obj));
- Py_DECREF(descr);
- goto try_unpack;
- }
- if (likely(descr != NULL)) {
- *method = descr;
- return 0;
- }
- type_name = __Pyx_PyType_GetName(tp);
- PyErr_Format(PyExc_AttributeError,
-#if PY_MAJOR_VERSION >= 3
- "'" __Pyx_FMT_TYPENAME "' object has no attribute '%U'",
- type_name, name);
-#else
- "'" __Pyx_FMT_TYPENAME "' object has no attribute '%.400s'",
- type_name, PyString_AS_STRING(name));
-#endif
- __Pyx_DECREF_TypeName(type_name);
- return 0;
-#else
- attr = __Pyx_PyObject_GetAttrStr(obj, name);
- goto try_unpack;
-#endif
-try_unpack:
-#if CYTHON_UNPACK_METHODS
- if (likely(attr) && PyMethod_Check(attr) && likely(PyMethod_GET_SELF(attr) == obj)) {
- PyObject *function = PyMethod_GET_FUNCTION(attr);
- Py_INCREF(function);
- Py_DECREF(attr);
- *method = function;
- return 1;
- }
-#endif
- *method = attr;
- return 0;
-}
-
-/* PyObjectCallMethod1 */
-#if !(CYTHON_VECTORCALL && __PYX_LIMITED_VERSION_HEX >= 0x030C00A2)
-static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg) {
- PyObject *result = __Pyx_PyObject_CallOneArg(method, arg);
- Py_DECREF(method);
- return result;
-}
-#endif
-static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) {
-#if CYTHON_VECTORCALL && __PYX_LIMITED_VERSION_HEX >= 0x030C00A2
- PyObject *args[2] = {obj, arg};
- (void) __Pyx_PyObject_GetMethod;
- (void) __Pyx_PyObject_CallOneArg;
- (void) __Pyx_PyObject_Call2Args;
- return PyObject_VectorcallMethod(method_name, args, 2 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL);
-#else
- PyObject *method = NULL, *result;
- int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method);
- if (likely(is_method)) {
- result = __Pyx_PyObject_Call2Args(method, obj, arg);
- Py_DECREF(method);
- return result;
- }
- if (unlikely(!method)) return NULL;
- return __Pyx__PyObject_CallMethod1(method, arg);
-#endif
-}
-
-/* PyObjectCallNoArg */
-static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
- PyObject *arg[2] = {NULL, NULL};
- return __Pyx_PyObject_FastCall(func, arg + 1, 0 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
-}
-
-/* CoroutineBase */
-#include
-#if PY_VERSION_HEX >= 0x030b00a6
- #ifndef Py_BUILD_CORE
- #define Py_BUILD_CORE 1
- #endif
- #include "internal/pycore_frame.h"
-#endif
-#define __Pyx_Coroutine_Undelegate(gen) Py_CLEAR((gen)->yieldfrom)
-static int __Pyx_PyGen__FetchStopIterationValue(PyThreadState *__pyx_tstate, PyObject **pvalue) {
- PyObject *et, *ev, *tb;
- PyObject *value = NULL;
- CYTHON_UNUSED_VAR(__pyx_tstate);
- __Pyx_ErrFetch(&et, &ev, &tb);
- if (!et) {
- Py_XDECREF(tb);
- Py_XDECREF(ev);
- Py_INCREF(Py_None);
- *pvalue = Py_None;
- return 0;
- }
- if (likely(et == PyExc_StopIteration)) {
- if (!ev) {
- Py_INCREF(Py_None);
- value = Py_None;
- }
-#if PY_VERSION_HEX >= 0x030300A0
- else if (likely(__Pyx_IS_TYPE(ev, (PyTypeObject*)PyExc_StopIteration))) {
- value = ((PyStopIterationObject *)ev)->value;
- Py_INCREF(value);
- Py_DECREF(ev);
- }
-#endif
- else if (unlikely(PyTuple_Check(ev))) {
- if (PyTuple_GET_SIZE(ev) >= 1) {
-#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- value = PyTuple_GET_ITEM(ev, 0);
- Py_INCREF(value);
-#else
- value = PySequence_ITEM(ev, 0);
-#endif
- } else {
- Py_INCREF(Py_None);
- value = Py_None;
- }
- Py_DECREF(ev);
- }
- else if (!__Pyx_TypeCheck(ev, (PyTypeObject*)PyExc_StopIteration)) {
- value = ev;
- }
- if (likely(value)) {
- Py_XDECREF(tb);
- Py_DECREF(et);
- *pvalue = value;
- return 0;
- }
- } else if (!__Pyx_PyErr_GivenExceptionMatches(et, PyExc_StopIteration)) {
- __Pyx_ErrRestore(et, ev, tb);
- return -1;
- }
- PyErr_NormalizeException(&et, &ev, &tb);
- if (unlikely(!PyObject_TypeCheck(ev, (PyTypeObject*)PyExc_StopIteration))) {
- __Pyx_ErrRestore(et, ev, tb);
- return -1;
- }
- Py_XDECREF(tb);
- Py_DECREF(et);
-#if PY_VERSION_HEX >= 0x030300A0
- value = ((PyStopIterationObject *)ev)->value;
- Py_INCREF(value);
- Py_DECREF(ev);
-#else
- {
- PyObject* args = __Pyx_PyObject_GetAttrStr(ev, __pyx_n_s_args);
- Py_DECREF(ev);
- if (likely(args)) {
- value = PySequence_GetItem(args, 0);
- Py_DECREF(args);
- }
- if (unlikely(!value)) {
- __Pyx_ErrRestore(NULL, NULL, NULL);
- Py_INCREF(Py_None);
- value = Py_None;
- }
- }
-#endif
- *pvalue = value;
- return 0;
-}
-static CYTHON_INLINE
-void __Pyx_Coroutine_ExceptionClear(__Pyx_ExcInfoStruct *exc_state) {
-#if PY_VERSION_HEX >= 0x030B00a4
- Py_CLEAR(exc_state->exc_value);
-#else
- PyObject *t, *v, *tb;
- t = exc_state->exc_type;
- v = exc_state->exc_value;
- tb = exc_state->exc_traceback;
- exc_state->exc_type = NULL;
- exc_state->exc_value = NULL;
- exc_state->exc_traceback = NULL;
- Py_XDECREF(t);
- Py_XDECREF(v);
- Py_XDECREF(tb);
-#endif
-}
-#define __Pyx_Coroutine_AlreadyRunningError(gen) (__Pyx__Coroutine_AlreadyRunningError(gen), (PyObject*)NULL)
-static void __Pyx__Coroutine_AlreadyRunningError(__pyx_CoroutineObject *gen) {
- const char *msg;
- CYTHON_MAYBE_UNUSED_VAR(gen);
- if ((0)) {
- #ifdef __Pyx_Coroutine_USED
- } else if (__Pyx_Coroutine_Check((PyObject*)gen)) {
- msg = "coroutine already executing";
- #endif
- #ifdef __Pyx_AsyncGen_USED
- } else if (__Pyx_AsyncGen_CheckExact((PyObject*)gen)) {
- msg = "async generator already executing";
- #endif
- } else {
- msg = "generator already executing";
- }
- PyErr_SetString(PyExc_ValueError, msg);
-}
-#define __Pyx_Coroutine_NotStartedError(gen) (__Pyx__Coroutine_NotStartedError(gen), (PyObject*)NULL)
-static void __Pyx__Coroutine_NotStartedError(PyObject *gen) {
- const char *msg;
- CYTHON_MAYBE_UNUSED_VAR(gen);
- if ((0)) {
- #ifdef __Pyx_Coroutine_USED
- } else if (__Pyx_Coroutine_Check(gen)) {
- msg = "can't send non-None value to a just-started coroutine";
- #endif
- #ifdef __Pyx_AsyncGen_USED
- } else if (__Pyx_AsyncGen_CheckExact(gen)) {
- msg = "can't send non-None value to a just-started async generator";
- #endif
- } else {
- msg = "can't send non-None value to a just-started generator";
- }
- PyErr_SetString(PyExc_TypeError, msg);
-}
-#define __Pyx_Coroutine_AlreadyTerminatedError(gen, value, closing) (__Pyx__Coroutine_AlreadyTerminatedError(gen, value, closing), (PyObject*)NULL)
-static void __Pyx__Coroutine_AlreadyTerminatedError(PyObject *gen, PyObject *value, int closing) {
- CYTHON_MAYBE_UNUSED_VAR(gen);
- CYTHON_MAYBE_UNUSED_VAR(closing);
- #ifdef __Pyx_Coroutine_USED
- if (!closing && __Pyx_Coroutine_Check(gen)) {
- PyErr_SetString(PyExc_RuntimeError, "cannot reuse already awaited coroutine");
- } else
- #endif
- if (value) {
- #ifdef __Pyx_AsyncGen_USED
- if (__Pyx_AsyncGen_CheckExact(gen))
- PyErr_SetNone(__Pyx_PyExc_StopAsyncIteration);
- else
- #endif
- PyErr_SetNone(PyExc_StopIteration);
- }
-}
-static
-PyObject *__Pyx_Coroutine_SendEx(__pyx_CoroutineObject *self, PyObject *value, int closing) {
- __Pyx_PyThreadState_declare
- PyThreadState *tstate;
- __Pyx_ExcInfoStruct *exc_state;
- PyObject *retval;
- assert(!self->is_running);
- if (unlikely(self->resume_label == 0)) {
- if (unlikely(value && value != Py_None)) {
- return __Pyx_Coroutine_NotStartedError((PyObject*)self);
- }
- }
- if (unlikely(self->resume_label == -1)) {
- return __Pyx_Coroutine_AlreadyTerminatedError((PyObject*)self, value, closing);
- }
-#if CYTHON_FAST_THREAD_STATE
- __Pyx_PyThreadState_assign
- tstate = __pyx_tstate;
-#else
- tstate = __Pyx_PyThreadState_Current;
-#endif
- exc_state = &self->gi_exc_state;
- if (exc_state->exc_value) {
- #if CYTHON_COMPILING_IN_PYPY
- #else
- PyObject *exc_tb;
- #if PY_VERSION_HEX >= 0x030B00a4 && !CYTHON_COMPILING_IN_CPYTHON
- exc_tb = PyException_GetTraceback(exc_state->exc_value);
- #elif PY_VERSION_HEX >= 0x030B00a4
- exc_tb = ((PyBaseExceptionObject*) exc_state->exc_value)->traceback;
- #else
- exc_tb = exc_state->exc_traceback;
- #endif
- if (exc_tb) {
- PyTracebackObject *tb = (PyTracebackObject *) exc_tb;
- PyFrameObject *f = tb->tb_frame;
- assert(f->f_back == NULL);
- #if PY_VERSION_HEX >= 0x030B00A1
- f->f_back = PyThreadState_GetFrame(tstate);
- #else
- Py_XINCREF(tstate->frame);
- f->f_back = tstate->frame;
- #endif
- #if PY_VERSION_HEX >= 0x030B00a4 && !CYTHON_COMPILING_IN_CPYTHON
- Py_DECREF(exc_tb);
- #endif
- }
- #endif
- }
-#if CYTHON_USE_EXC_INFO_STACK
- exc_state->previous_item = tstate->exc_info;
- tstate->exc_info = exc_state;
-#else
- if (exc_state->exc_type) {
- __Pyx_ExceptionSwap(&exc_state->exc_type, &exc_state->exc_value, &exc_state->exc_traceback);
- } else {
- __Pyx_Coroutine_ExceptionClear(exc_state);
- __Pyx_ExceptionSave(&exc_state->exc_type, &exc_state->exc_value, &exc_state->exc_traceback);
- }
-#endif
- self->is_running = 1;
- retval = self->body(self, tstate, value);
- self->is_running = 0;
-#if CYTHON_USE_EXC_INFO_STACK
- exc_state = &self->gi_exc_state;
- tstate->exc_info = exc_state->previous_item;
- exc_state->previous_item = NULL;
- __Pyx_Coroutine_ResetFrameBackpointer(exc_state);
-#endif
- return retval;
-}
-static CYTHON_INLINE void __Pyx_Coroutine_ResetFrameBackpointer(__Pyx_ExcInfoStruct *exc_state) {
-#if CYTHON_COMPILING_IN_PYPY
- CYTHON_UNUSED_VAR(exc_state);
-#else
- PyObject *exc_tb;
- #if PY_VERSION_HEX >= 0x030B00a4
- if (!exc_state->exc_value) return;
- exc_tb = PyException_GetTraceback(exc_state->exc_value);
- #else
- exc_tb = exc_state->exc_traceback;
- #endif
- if (likely(exc_tb)) {
- PyTracebackObject *tb = (PyTracebackObject *) exc_tb;
- PyFrameObject *f = tb->tb_frame;
- Py_CLEAR(f->f_back);
- #if PY_VERSION_HEX >= 0x030B00a4
- Py_DECREF(exc_tb);
- #endif
- }
-#endif
-}
-static CYTHON_INLINE
-PyObject *__Pyx_Coroutine_MethodReturn(PyObject* gen, PyObject *retval) {
- CYTHON_MAYBE_UNUSED_VAR(gen);
- if (unlikely(!retval)) {
- __Pyx_PyThreadState_declare
- __Pyx_PyThreadState_assign
- if (!__Pyx_PyErr_Occurred()) {
- PyObject *exc = PyExc_StopIteration;
- #ifdef __Pyx_AsyncGen_USED
- if (__Pyx_AsyncGen_CheckExact(gen))
- exc = __Pyx_PyExc_StopAsyncIteration;
- #endif
- __Pyx_PyErr_SetNone(exc);
- }
- }
- return retval;
-}
-#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3)
-static CYTHON_INLINE
-PyObject *__Pyx_PyGen_Send(PyGenObject *gen, PyObject *arg) {
-#if PY_VERSION_HEX <= 0x030A00A1
- return _PyGen_Send(gen, arg);
-#else
- PyObject *result;
- if (PyIter_Send((PyObject*)gen, arg ? arg : Py_None, &result) == PYGEN_RETURN) {
- if (PyAsyncGen_CheckExact(gen)) {
- assert(result == Py_None);
- PyErr_SetNone(PyExc_StopAsyncIteration);
- }
- else if (result == Py_None) {
- PyErr_SetNone(PyExc_StopIteration);
- }
- else {
-#if PY_VERSION_HEX < 0x030d00A1
- _PyGen_SetStopIterationValue(result);
-#else
- if (!PyTuple_Check(result) && !PyExceptionInstance_Check(result)) {
- PyErr_SetObject(PyExc_StopIteration, result);
- } else {
- PyObject *exc = __Pyx_PyObject_CallOneArg(PyExc_StopIteration, result);
- if (likely(exc != NULL)) {
- PyErr_SetObject(PyExc_StopIteration, exc);
- Py_DECREF(exc);
- }
- }
-#endif
- }
- Py_DECREF(result);
- result = NULL;
- }
- return result;
-#endif
-}
-#endif
-static CYTHON_INLINE
-PyObject *__Pyx_Coroutine_FinishDelegation(__pyx_CoroutineObject *gen) {
- PyObject *ret;
- PyObject *val = NULL;
- __Pyx_Coroutine_Undelegate(gen);
- __Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, &val);
- ret = __Pyx_Coroutine_SendEx(gen, val, 0);
- Py_XDECREF(val);
- return ret;
-}
-static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value) {
- PyObject *retval;
- __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self;
- PyObject *yf = gen->yieldfrom;
- if (unlikely(gen->is_running))
- return __Pyx_Coroutine_AlreadyRunningError(gen);
- if (yf) {
- PyObject *ret;
- gen->is_running = 1;
- #ifdef __Pyx_Generator_USED
- if (__Pyx_Generator_CheckExact(yf)) {
- ret = __Pyx_Coroutine_Send(yf, value);
- } else
- #endif
- #ifdef __Pyx_Coroutine_USED
- if (__Pyx_Coroutine_Check(yf)) {
- ret = __Pyx_Coroutine_Send(yf, value);
- } else
- #endif
- #ifdef __Pyx_AsyncGen_USED
- if (__pyx_PyAsyncGenASend_CheckExact(yf)) {
- ret = __Pyx_async_gen_asend_send(yf, value);
- } else
- #endif
- #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3)
- if (PyGen_CheckExact(yf)) {
- ret = __Pyx_PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value);
- } else
- #endif
- #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03050000 && defined(PyCoro_CheckExact) && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3)
- if (PyCoro_CheckExact(yf)) {
- ret = __Pyx_PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value);
- } else
- #endif
- {
- if (value == Py_None)
- ret = __Pyx_PyObject_GetIterNextFunc(yf)(yf);
- else
- ret = __Pyx_PyObject_CallMethod1(yf, __pyx_n_s_send, value);
- }
- gen->is_running = 0;
- if (likely(ret)) {
- return ret;
- }
- retval = __Pyx_Coroutine_FinishDelegation(gen);
- } else {
- retval = __Pyx_Coroutine_SendEx(gen, value, 0);
- }
- return __Pyx_Coroutine_MethodReturn(self, retval);
-}
-static int __Pyx_Coroutine_CloseIter(__pyx_CoroutineObject *gen, PyObject *yf) {
- PyObject *retval = NULL;
- int err = 0;
- #ifdef __Pyx_Generator_USED
- if (__Pyx_Generator_CheckExact(yf)) {
- retval = __Pyx_Coroutine_Close(yf);
- if (!retval)
- return -1;
- } else
- #endif
- #ifdef __Pyx_Coroutine_USED
- if (__Pyx_Coroutine_Check(yf)) {
- retval = __Pyx_Coroutine_Close(yf);
- if (!retval)
- return -1;
- } else
- if (__Pyx_CoroutineAwait_CheckExact(yf)) {
- retval = __Pyx_CoroutineAwait_Close((__pyx_CoroutineAwaitObject*)yf, NULL);
- if (!retval)
- return -1;
- } else
- #endif
- #ifdef __Pyx_AsyncGen_USED
- if (__pyx_PyAsyncGenASend_CheckExact(yf)) {
- retval = __Pyx_async_gen_asend_close(yf, NULL);
- } else
- if (__pyx_PyAsyncGenAThrow_CheckExact(yf)) {
- retval = __Pyx_async_gen_athrow_close(yf, NULL);
- } else
- #endif
- {
- PyObject *meth;
- gen->is_running = 1;
- meth = __Pyx_PyObject_GetAttrStrNoError(yf, __pyx_n_s_close);
- if (unlikely(!meth)) {
- if (unlikely(PyErr_Occurred())) {
- PyErr_WriteUnraisable(yf);
- }
- } else {
- retval = __Pyx_PyObject_CallNoArg(meth);
- Py_DECREF(meth);
- if (unlikely(!retval))
- err = -1;
- }
- gen->is_running = 0;
- }
- Py_XDECREF(retval);
- return err;
-}
-static PyObject *__Pyx_Generator_Next(PyObject *self) {
- __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self;
- PyObject *yf = gen->yieldfrom;
- if (unlikely(gen->is_running))
- return __Pyx_Coroutine_AlreadyRunningError(gen);
- if (yf) {
- PyObject *ret;
- gen->is_running = 1;
- #ifdef __Pyx_Generator_USED
- if (__Pyx_Generator_CheckExact(yf)) {
- ret = __Pyx_Generator_Next(yf);
- } else
- #endif
- #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3)
- if (PyGen_CheckExact(yf)) {
- ret = __Pyx_PyGen_Send((PyGenObject*)yf, NULL);
- } else
- #endif
- #ifdef __Pyx_Coroutine_USED
- if (__Pyx_Coroutine_Check(yf)) {
- ret = __Pyx_Coroutine_Send(yf, Py_None);
- } else
- #endif
- ret = __Pyx_PyObject_GetIterNextFunc(yf)(yf);
- gen->is_running = 0;
- if (likely(ret)) {
- return ret;
- }
- return __Pyx_Coroutine_FinishDelegation(gen);
- }
- return __Pyx_Coroutine_SendEx(gen, Py_None, 0);
-}
-static PyObject *__Pyx_Coroutine_Close_Method(PyObject *self, PyObject *arg) {
- CYTHON_UNUSED_VAR(arg);
- return __Pyx_Coroutine_Close(self);
-}
-static PyObject *__Pyx_Coroutine_Close(PyObject *self) {
- __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
- PyObject *retval, *raised_exception;
- PyObject *yf = gen->yieldfrom;
- int err = 0;
- if (unlikely(gen->is_running))
- return __Pyx_Coroutine_AlreadyRunningError(gen);
- if (yf) {
- Py_INCREF(yf);
- err = __Pyx_Coroutine_CloseIter(gen, yf);
- __Pyx_Coroutine_Undelegate(gen);
- Py_DECREF(yf);
- }
- if (err == 0)
- PyErr_SetNone(PyExc_GeneratorExit);
- retval = __Pyx_Coroutine_SendEx(gen, NULL, 1);
- if (unlikely(retval)) {
- const char *msg;
- Py_DECREF(retval);
- if ((0)) {
- #ifdef __Pyx_Coroutine_USED
- } else if (__Pyx_Coroutine_Check(self)) {
- msg = "coroutine ignored GeneratorExit";
- #endif
- #ifdef __Pyx_AsyncGen_USED
- } else if (__Pyx_AsyncGen_CheckExact(self)) {
-#if PY_VERSION_HEX < 0x03060000
- msg = "async generator ignored GeneratorExit - might require Python 3.6+ finalisation (PEP 525)";
-#else
- msg = "async generator ignored GeneratorExit";
-#endif
- #endif
- } else {
- msg = "generator ignored GeneratorExit";
- }
- PyErr_SetString(PyExc_RuntimeError, msg);
- return NULL;
- }
- raised_exception = PyErr_Occurred();
- if (likely(!raised_exception || __Pyx_PyErr_GivenExceptionMatches2(raised_exception, PyExc_GeneratorExit, PyExc_StopIteration))) {
- if (raised_exception) PyErr_Clear();
- Py_INCREF(Py_None);
- return Py_None;
- }
- return NULL;
-}
-static PyObject *__Pyx__Coroutine_Throw(PyObject *self, PyObject *typ, PyObject *val, PyObject *tb,
- PyObject *args, int close_on_genexit) {
- __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
- PyObject *yf = gen->yieldfrom;
- if (unlikely(gen->is_running))
- return __Pyx_Coroutine_AlreadyRunningError(gen);
- if (yf) {
- PyObject *ret;
- Py_INCREF(yf);
- if (__Pyx_PyErr_GivenExceptionMatches(typ, PyExc_GeneratorExit) && close_on_genexit) {
- int err = __Pyx_Coroutine_CloseIter(gen, yf);
- Py_DECREF(yf);
- __Pyx_Coroutine_Undelegate(gen);
- if (err < 0)
- return __Pyx_Coroutine_MethodReturn(self, __Pyx_Coroutine_SendEx(gen, NULL, 0));
- goto throw_here;
- }
- gen->is_running = 1;
- if (0
- #ifdef __Pyx_Generator_USED
- || __Pyx_Generator_CheckExact(yf)
- #endif
- #ifdef __Pyx_Coroutine_USED
- || __Pyx_Coroutine_Check(yf)
- #endif
- ) {
- ret = __Pyx__Coroutine_Throw(yf, typ, val, tb, args, close_on_genexit);
- #ifdef __Pyx_Coroutine_USED
- } else if (__Pyx_CoroutineAwait_CheckExact(yf)) {
- ret = __Pyx__Coroutine_Throw(((__pyx_CoroutineAwaitObject*)yf)->coroutine, typ, val, tb, args, close_on_genexit);
- #endif
- } else {
- PyObject *meth = __Pyx_PyObject_GetAttrStrNoError(yf, __pyx_n_s_throw);
- if (unlikely(!meth)) {
- Py_DECREF(yf);
- if (unlikely(PyErr_Occurred())) {
- gen->is_running = 0;
- return NULL;
- }
- __Pyx_Coroutine_Undelegate(gen);
- gen->is_running = 0;
- goto throw_here;
- }
- if (likely(args)) {
- ret = __Pyx_PyObject_Call(meth, args, NULL);
- } else {
- PyObject *cargs[4] = {NULL, typ, val, tb};
- ret = __Pyx_PyObject_FastCall(meth, cargs+1, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
- }
- Py_DECREF(meth);
- }
- gen->is_running = 0;
- Py_DECREF(yf);
- if (!ret) {
- ret = __Pyx_Coroutine_FinishDelegation(gen);
- }
- return __Pyx_Coroutine_MethodReturn(self, ret);
- }
-throw_here:
- __Pyx_Raise(typ, val, tb, NULL);
- return __Pyx_Coroutine_MethodReturn(self, __Pyx_Coroutine_SendEx(gen, NULL, 0));
-}
-static PyObject *__Pyx_Coroutine_Throw(PyObject *self, PyObject *args) {
- PyObject *typ;
- PyObject *val = NULL;
- PyObject *tb = NULL;
- if (unlikely(!PyArg_UnpackTuple(args, (char *)"throw", 1, 3, &typ, &val, &tb)))
- return NULL;
- return __Pyx__Coroutine_Throw(self, typ, val, tb, args, 1);
-}
-static CYTHON_INLINE int __Pyx_Coroutine_traverse_excstate(__Pyx_ExcInfoStruct *exc_state, visitproc visit, void *arg) {
-#if PY_VERSION_HEX >= 0x030B00a4
- Py_VISIT(exc_state->exc_value);
-#else
- Py_VISIT(exc_state->exc_type);
- Py_VISIT(exc_state->exc_value);
- Py_VISIT(exc_state->exc_traceback);
-#endif
- return 0;
-}
-static int __Pyx_Coroutine_traverse(__pyx_CoroutineObject *gen, visitproc visit, void *arg) {
- Py_VISIT(gen->closure);
- Py_VISIT(gen->classobj);
- Py_VISIT(gen->yieldfrom);
- return __Pyx_Coroutine_traverse_excstate(&gen->gi_exc_state, visit, arg);
-}
-static int __Pyx_Coroutine_clear(PyObject *self) {
- __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
- Py_CLEAR(gen->closure);
- Py_CLEAR(gen->classobj);
- Py_CLEAR(gen->yieldfrom);
- __Pyx_Coroutine_ExceptionClear(&gen->gi_exc_state);
-#ifdef __Pyx_AsyncGen_USED
- if (__Pyx_AsyncGen_CheckExact(self)) {
- Py_CLEAR(((__pyx_PyAsyncGenObject*)gen)->ag_finalizer);
- }
-#endif
- Py_CLEAR(gen->gi_code);
- Py_CLEAR(gen->gi_frame);
- Py_CLEAR(gen->gi_name);
- Py_CLEAR(gen->gi_qualname);
- Py_CLEAR(gen->gi_modulename);
- return 0;
-}
-static void __Pyx_Coroutine_dealloc(PyObject *self) {
- __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
- PyObject_GC_UnTrack(gen);
- if (gen->gi_weakreflist != NULL)
- PyObject_ClearWeakRefs(self);
- if (gen->resume_label >= 0) {
- PyObject_GC_Track(self);
-#if PY_VERSION_HEX >= 0x030400a1 && CYTHON_USE_TP_FINALIZE
- if (unlikely(PyObject_CallFinalizerFromDealloc(self)))
-#else
- Py_TYPE(gen)->tp_del(self);
- if (unlikely(Py_REFCNT(self) > 0))
-#endif
- {
- return;
- }
- PyObject_GC_UnTrack(self);
- }
-#ifdef __Pyx_AsyncGen_USED
- if (__Pyx_AsyncGen_CheckExact(self)) {
- /* We have to handle this case for asynchronous generators
- right here, because this code has to be between UNTRACK
- and GC_Del. */
- Py_CLEAR(((__pyx_PyAsyncGenObject*)self)->ag_finalizer);
- }
-#endif
- __Pyx_Coroutine_clear(self);
- __Pyx_PyHeapTypeObject_GC_Del(gen);
-}
-static void __Pyx_Coroutine_del(PyObject *self) {
- PyObject *error_type, *error_value, *error_traceback;
- __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
- __Pyx_PyThreadState_declare
- if (gen->resume_label < 0) {
- return;
- }
-#if !CYTHON_USE_TP_FINALIZE
- assert(self->ob_refcnt == 0);
- __Pyx_SET_REFCNT(self, 1);
-#endif
- __Pyx_PyThreadState_assign
- __Pyx_ErrFetch(&error_type, &error_value, &error_traceback);
-#ifdef __Pyx_AsyncGen_USED
- if (__Pyx_AsyncGen_CheckExact(self)) {
- __pyx_PyAsyncGenObject *agen = (__pyx_PyAsyncGenObject*)self;
- PyObject *finalizer = agen->ag_finalizer;
- if (finalizer && !agen->ag_closed) {
- PyObject *res = __Pyx_PyObject_CallOneArg(finalizer, self);
- if (unlikely(!res)) {
- PyErr_WriteUnraisable(self);
- } else {
- Py_DECREF(res);
- }
- __Pyx_ErrRestore(error_type, error_value, error_traceback);
- return;
- }
- }
-#endif
- if (unlikely(gen->resume_label == 0 && !error_value)) {
-#ifdef __Pyx_Coroutine_USED
-#ifdef __Pyx_Generator_USED
- if (!__Pyx_Generator_CheckExact(self))
-#endif
- {
- PyObject_GC_UnTrack(self);
-#if PY_MAJOR_VERSION >= 3 || defined(PyErr_WarnFormat)
- if (unlikely(PyErr_WarnFormat(PyExc_RuntimeWarning, 1, "coroutine '%.50S' was never awaited", gen->gi_qualname) < 0))
- PyErr_WriteUnraisable(self);
-#else
- {PyObject *msg;
- char *cmsg;
- #if CYTHON_COMPILING_IN_PYPY
- msg = NULL;
- cmsg = (char*) "coroutine was never awaited";
- #else
- char *cname;
- PyObject *qualname;
- qualname = gen->gi_qualname;
- cname = PyString_AS_STRING(qualname);
- msg = PyString_FromFormat("coroutine '%.50s' was never awaited", cname);
- if (unlikely(!msg)) {
- PyErr_Clear();
- cmsg = (char*) "coroutine was never awaited";
- } else {
- cmsg = PyString_AS_STRING(msg);
- }
- #endif
- if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, cmsg, 1) < 0))
- PyErr_WriteUnraisable(self);
- Py_XDECREF(msg);}
-#endif
- PyObject_GC_Track(self);
- }
-#endif
- } else {
- PyObject *res = __Pyx_Coroutine_Close(self);
- if (unlikely(!res)) {
- if (PyErr_Occurred())
- PyErr_WriteUnraisable(self);
- } else {
- Py_DECREF(res);
- }
- }
- __Pyx_ErrRestore(error_type, error_value, error_traceback);
-#if !CYTHON_USE_TP_FINALIZE
- assert(Py_REFCNT(self) > 0);
- if (likely(--self->ob_refcnt == 0)) {
- return;
- }
- {
- Py_ssize_t refcnt = Py_REFCNT(self);
- _Py_NewReference(self);
- __Pyx_SET_REFCNT(self, refcnt);
- }
-#if CYTHON_COMPILING_IN_CPYTHON
- assert(PyType_IS_GC(Py_TYPE(self)) &&
- _Py_AS_GC(self)->gc.gc_refs != _PyGC_REFS_UNTRACKED);
- _Py_DEC_REFTOTAL;
-#endif
-#ifdef COUNT_ALLOCS
- --Py_TYPE(self)->tp_frees;
- --Py_TYPE(self)->tp_allocs;
-#endif
-#endif
-}
-static PyObject *
-__Pyx_Coroutine_get_name(__pyx_CoroutineObject *self, void *context)
-{
- PyObject *name = self->gi_name;
- CYTHON_UNUSED_VAR(context);
- if (unlikely(!name)) name = Py_None;
- Py_INCREF(name);
- return name;
-}
-static int
-__Pyx_Coroutine_set_name(__pyx_CoroutineObject *self, PyObject *value, void *context)
-{
- CYTHON_UNUSED_VAR(context);
-#if PY_MAJOR_VERSION >= 3
- if (unlikely(value == NULL || !PyUnicode_Check(value)))
-#else
- if (unlikely(value == NULL || !PyString_Check(value)))
-#endif
- {
- PyErr_SetString(PyExc_TypeError,
- "__name__ must be set to a string object");
- return -1;
- }
- Py_INCREF(value);
- __Pyx_Py_XDECREF_SET(self->gi_name, value);
- return 0;
-}
-static PyObject *
-__Pyx_Coroutine_get_qualname(__pyx_CoroutineObject *self, void *context)
-{
- PyObject *name = self->gi_qualname;
- CYTHON_UNUSED_VAR(context);
- if (unlikely(!name)) name = Py_None;
- Py_INCREF(name);
- return name;
-}
-static int
-__Pyx_Coroutine_set_qualname(__pyx_CoroutineObject *self, PyObject *value, void *context)
-{
- CYTHON_UNUSED_VAR(context);
-#if PY_MAJOR_VERSION >= 3
- if (unlikely(value == NULL || !PyUnicode_Check(value)))
-#else
- if (unlikely(value == NULL || !PyString_Check(value)))
-#endif
- {
- PyErr_SetString(PyExc_TypeError,
- "__qualname__ must be set to a string object");
- return -1;
- }
- Py_INCREF(value);
- __Pyx_Py_XDECREF_SET(self->gi_qualname, value);
- return 0;
-}
-static PyObject *
-__Pyx_Coroutine_get_frame(__pyx_CoroutineObject *self, void *context)
-{
- PyObject *frame = self->gi_frame;
- CYTHON_UNUSED_VAR(context);
- if (!frame) {
- if (unlikely(!self->gi_code)) {
- Py_RETURN_NONE;
- }
- frame = (PyObject *) PyFrame_New(
- PyThreadState_Get(), /*PyThreadState *tstate,*/
- (PyCodeObject*) self->gi_code, /*PyCodeObject *code,*/
- __pyx_d, /*PyObject *globals,*/
- 0 /*PyObject *locals*/
- );
- if (unlikely(!frame))
- return NULL;
- self->gi_frame = frame;
- }
- Py_INCREF(frame);
- return frame;
-}
-static __pyx_CoroutineObject *__Pyx__Coroutine_New(
- PyTypeObject* type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure,
- PyObject *name, PyObject *qualname, PyObject *module_name) {
- __pyx_CoroutineObject *gen = PyObject_GC_New(__pyx_CoroutineObject, type);
- if (unlikely(!gen))
- return NULL;
- return __Pyx__Coroutine_NewInit(gen, body, code, closure, name, qualname, module_name);
-}
-static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit(
- __pyx_CoroutineObject *gen, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure,
- PyObject *name, PyObject *qualname, PyObject *module_name) {
- gen->body = body;
- gen->closure = closure;
- Py_XINCREF(closure);
- gen->is_running = 0;
- gen->resume_label = 0;
- gen->classobj = NULL;
- gen->yieldfrom = NULL;
- #if PY_VERSION_HEX >= 0x030B00a4
- gen->gi_exc_state.exc_value = NULL;
- #else
- gen->gi_exc_state.exc_type = NULL;
- gen->gi_exc_state.exc_value = NULL;
- gen->gi_exc_state.exc_traceback = NULL;
- #endif
-#if CYTHON_USE_EXC_INFO_STACK
- gen->gi_exc_state.previous_item = NULL;
-#endif
- gen->gi_weakreflist = NULL;
- Py_XINCREF(qualname);
- gen->gi_qualname = qualname;
- Py_XINCREF(name);
- gen->gi_name = name;
- Py_XINCREF(module_name);
- gen->gi_modulename = module_name;
- Py_XINCREF(code);
- gen->gi_code = code;
- gen->gi_frame = NULL;
- PyObject_GC_Track(gen);
- return gen;
-}
-
-/* PyObject_GenericGetAttrNoDict */
-#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
-static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) {
- __Pyx_TypeName type_name = __Pyx_PyType_GetName(tp);
- PyErr_Format(PyExc_AttributeError,
-#if PY_MAJOR_VERSION >= 3
- "'" __Pyx_FMT_TYPENAME "' object has no attribute '%U'",
- type_name, attr_name);
-#else
- "'" __Pyx_FMT_TYPENAME "' object has no attribute '%.400s'",
- type_name, PyString_AS_STRING(attr_name));
-#endif
- __Pyx_DECREF_TypeName(type_name);
- return NULL;
-}
-static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name) {
- PyObject *descr;
- PyTypeObject *tp = Py_TYPE(obj);
- if (unlikely(!PyString_Check(attr_name))) {
- return PyObject_GenericGetAttr(obj, attr_name);
- }
- assert(!tp->tp_dictoffset);
- descr = _PyType_Lookup(tp, attr_name);
- if (unlikely(!descr)) {
- return __Pyx_RaiseGenericGetAttributeError(tp, attr_name);
- }
- Py_INCREF(descr);
- #if PY_MAJOR_VERSION < 3
- if (likely(PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS)))
- #endif
- {
- descrgetfunc f = Py_TYPE(descr)->tp_descr_get;
- if (unlikely(f)) {
- PyObject *res = f(descr, obj, (PyObject *)tp);
- Py_DECREF(descr);
- return res;
- }
- }
- return descr;
-}
-#endif
-
-/* PatchModuleWithCoroutine */
-static PyObject* __Pyx_Coroutine_patch_module(PyObject* module, const char* py_code) {
-#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
- int result;
- PyObject *globals, *result_obj;
- globals = PyDict_New(); if (unlikely(!globals)) goto ignore;
- result = PyDict_SetItemString(globals, "_cython_coroutine_type",
- #ifdef __Pyx_Coroutine_USED
- (PyObject*)__pyx_CoroutineType);
- #else
- Py_None);
- #endif
- if (unlikely(result < 0)) goto ignore;
- result = PyDict_SetItemString(globals, "_cython_generator_type",
- #ifdef __Pyx_Generator_USED
- (PyObject*)__pyx_GeneratorType);
- #else
- Py_None);
- #endif
- if (unlikely(result < 0)) goto ignore;
- if (unlikely(PyDict_SetItemString(globals, "_module", module) < 0)) goto ignore;
- if (unlikely(PyDict_SetItemString(globals, "__builtins__", __pyx_b) < 0)) goto ignore;
- result_obj = PyRun_String(py_code, Py_file_input, globals, globals);
- if (unlikely(!result_obj)) goto ignore;
- Py_DECREF(result_obj);
- Py_DECREF(globals);
- return module;
-ignore:
- Py_XDECREF(globals);
- PyErr_WriteUnraisable(module);
- if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, "Cython module failed to patch module with custom type", 1) < 0)) {
- Py_DECREF(module);
- module = NULL;
- }
-#else
- py_code++;
-#endif
- return module;
-}
-
-/* PatchGeneratorABC */
-#ifndef CYTHON_REGISTER_ABCS
-#define CYTHON_REGISTER_ABCS 1
-#endif
-#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
-static PyObject* __Pyx_patch_abc_module(PyObject *module);
-static PyObject* __Pyx_patch_abc_module(PyObject *module) {
- module = __Pyx_Coroutine_patch_module(
- module, ""
-"if _cython_generator_type is not None:\n"
-" try: Generator = _module.Generator\n"
-" except AttributeError: pass\n"
-" else: Generator.register(_cython_generator_type)\n"
-"if _cython_coroutine_type is not None:\n"
-" try: Coroutine = _module.Coroutine\n"
-" except AttributeError: pass\n"
-" else: Coroutine.register(_cython_coroutine_type)\n"
- );
- return module;
-}
-#endif
-static int __Pyx_patch_abc(void) {
-#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
- static int abc_patched = 0;
- if (CYTHON_REGISTER_ABCS && !abc_patched) {
- PyObject *module;
- module = PyImport_ImportModule((PY_MAJOR_VERSION >= 3) ? "collections.abc" : "collections");
- if (unlikely(!module)) {
- PyErr_WriteUnraisable(NULL);
- if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning,
- ((PY_MAJOR_VERSION >= 3) ?
- "Cython module failed to register with collections.abc module" :
- "Cython module failed to register with collections module"), 1) < 0)) {
- return -1;
- }
- } else {
- module = __Pyx_patch_abc_module(module);
- abc_patched = 1;
- if (unlikely(!module))
- return -1;
- Py_DECREF(module);
- }
- module = PyImport_ImportModule("backports_abc");
- if (module) {
- module = __Pyx_patch_abc_module(module);
- Py_XDECREF(module);
- }
- if (!module) {
- PyErr_Clear();
- }
- }
-#else
- if ((0)) __Pyx_Coroutine_patch_module(NULL, NULL);
-#endif
- return 0;
-}
-
-/* Coroutine */
-static void __Pyx_CoroutineAwait_dealloc(PyObject *self) {
- PyObject_GC_UnTrack(self);
- Py_CLEAR(((__pyx_CoroutineAwaitObject*)self)->coroutine);
- __Pyx_PyHeapTypeObject_GC_Del(self);
-}
-static int __Pyx_CoroutineAwait_traverse(__pyx_CoroutineAwaitObject *self, visitproc visit, void *arg) {
- Py_VISIT(self->coroutine);
- return 0;
-}
-static int __Pyx_CoroutineAwait_clear(__pyx_CoroutineAwaitObject *self) {
- Py_CLEAR(self->coroutine);
- return 0;
-}
-static PyObject *__Pyx_CoroutineAwait_Next(__pyx_CoroutineAwaitObject *self) {
- return __Pyx_Generator_Next(self->coroutine);
-}
-static PyObject *__Pyx_CoroutineAwait_Send(__pyx_CoroutineAwaitObject *self, PyObject *value) {
- return __Pyx_Coroutine_Send(self->coroutine, value);
-}
-static PyObject *__Pyx_CoroutineAwait_Throw(__pyx_CoroutineAwaitObject *self, PyObject *args) {
- return __Pyx_Coroutine_Throw(self->coroutine, args);
-}
-static PyObject *__Pyx_CoroutineAwait_Close(__pyx_CoroutineAwaitObject *self, PyObject *arg) {
- CYTHON_UNUSED_VAR(arg);
- return __Pyx_Coroutine_Close(self->coroutine);
-}
-static PyObject *__Pyx_CoroutineAwait_self(PyObject *self) {
- Py_INCREF(self);
- return self;
-}
-#if !CYTHON_COMPILING_IN_PYPY
-static PyObject *__Pyx_CoroutineAwait_no_new(PyTypeObject *type, PyObject *args, PyObject *kwargs) {
- CYTHON_UNUSED_VAR(type);
- CYTHON_UNUSED_VAR(args);
- CYTHON_UNUSED_VAR(kwargs);
- PyErr_SetString(PyExc_TypeError, "cannot instantiate type, use 'await coroutine' instead");
- return NULL;
-}
-#endif
-static PyObject *__Pyx_CoroutineAwait_reduce_ex(__pyx_CoroutineAwaitObject *self, PyObject *arg) {
- CYTHON_UNUSED_VAR(arg);
- PyErr_Format(PyExc_TypeError, "cannot pickle '%.200s' object",
- Py_TYPE(self)->tp_name);
- return NULL;
-}
-static PyMethodDef __pyx_CoroutineAwait_methods[] = {
- {"send", (PyCFunction) __Pyx_CoroutineAwait_Send, METH_O,
- (char*) PyDoc_STR("send(arg) -> send 'arg' into coroutine,\nreturn next yielded value or raise StopIteration.")},
- {"throw", (PyCFunction) __Pyx_CoroutineAwait_Throw, METH_VARARGS,
- (char*) PyDoc_STR("throw(typ[,val[,tb]]) -> raise exception in coroutine,\nreturn next yielded value or raise StopIteration.")},
- {"close", (PyCFunction) __Pyx_CoroutineAwait_Close, METH_NOARGS,
- (char*) PyDoc_STR("close() -> raise GeneratorExit inside coroutine.")},
- {"__reduce_ex__", (PyCFunction) __Pyx_CoroutineAwait_reduce_ex, METH_O, 0},
- {"__reduce__", (PyCFunction) __Pyx_CoroutineAwait_reduce_ex, METH_NOARGS, 0},
- {0, 0, 0, 0}
-};
-#if CYTHON_USE_TYPE_SPECS
-static PyType_Slot __pyx_CoroutineAwaitType_slots[] = {
- {Py_tp_dealloc, (void *)__Pyx_CoroutineAwait_dealloc},
- {Py_tp_traverse, (void *)__Pyx_CoroutineAwait_traverse},
- {Py_tp_clear, (void *)__Pyx_CoroutineAwait_clear},
-#if !CYTHON_COMPILING_IN_PYPY
- {Py_tp_new, (void *)__Pyx_CoroutineAwait_no_new},
-#endif
- {Py_tp_methods, (void *)__pyx_CoroutineAwait_methods},
- {Py_tp_iter, (void *)__Pyx_CoroutineAwait_self},
- {Py_tp_iternext, (void *)__Pyx_CoroutineAwait_Next},
- {0, 0},
-};
-static PyType_Spec __pyx_CoroutineAwaitType_spec = {
- __PYX_TYPE_MODULE_PREFIX "coroutine_wrapper",
- sizeof(__pyx_CoroutineAwaitObject),
- 0,
- Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC,
- __pyx_CoroutineAwaitType_slots
-};
-#else
-static PyTypeObject __pyx_CoroutineAwaitType_type = {
- PyVarObject_HEAD_INIT(0, 0)
- __PYX_TYPE_MODULE_PREFIX "coroutine_wrapper",
- sizeof(__pyx_CoroutineAwaitObject),
- 0,
- (destructor) __Pyx_CoroutineAwait_dealloc,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC,
- PyDoc_STR("A wrapper object implementing __await__ for coroutines."),
- (traverseproc) __Pyx_CoroutineAwait_traverse,
- (inquiry) __Pyx_CoroutineAwait_clear,
- 0,
- 0,
- __Pyx_CoroutineAwait_self,
- (iternextfunc) __Pyx_CoroutineAwait_Next,
- __pyx_CoroutineAwait_methods,
- 0 ,
- 0 ,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
-#if !CYTHON_COMPILING_IN_PYPY
- __Pyx_CoroutineAwait_no_new,
-#else
- 0,
-#endif
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
-#if PY_VERSION_HEX >= 0x030400a1
- 0,
-#endif
-#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
- 0,
-#endif
-#if __PYX_NEED_TP_PRINT_SLOT
- 0,
-#endif
-#if PY_VERSION_HEX >= 0x030C0000
- 0,
-#endif
-#if PY_VERSION_HEX >= 0x030d00A4
- 0,
-#endif
-#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
- 0,
-#endif
-};
-#endif
-#if PY_VERSION_HEX < 0x030500B1 || defined(__Pyx_IterableCoroutine_USED) || CYTHON_USE_ASYNC_SLOTS
-static CYTHON_INLINE PyObject *__Pyx__Coroutine_await(PyObject *coroutine) {
- __pyx_CoroutineAwaitObject *await = PyObject_GC_New(__pyx_CoroutineAwaitObject, __pyx_CoroutineAwaitType);
- if (unlikely(!await)) return NULL;
- Py_INCREF(coroutine);
- await->coroutine = coroutine;
- PyObject_GC_Track(await);
- return (PyObject*)await;
-}
-#endif
-#if PY_VERSION_HEX < 0x030500B1
-static PyObject *__Pyx_Coroutine_await_method(PyObject *coroutine, PyObject *arg) {
- CYTHON_UNUSED_VAR(arg);
- return __Pyx__Coroutine_await(coroutine);
-}
-#endif
-#if defined(__Pyx_IterableCoroutine_USED) || CYTHON_USE_ASYNC_SLOTS
-static PyObject *__Pyx_Coroutine_await(PyObject *coroutine) {
- if (unlikely(!coroutine || !__Pyx_Coroutine_Check(coroutine))) {
- PyErr_SetString(PyExc_TypeError, "invalid input, expected coroutine");
- return NULL;
- }
- return __Pyx__Coroutine_await(coroutine);
-}
-#endif
-#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 && PY_VERSION_HEX < 0x030500B1
-static PyObject *__Pyx_Coroutine_compare(PyObject *obj, PyObject *other, int op) {
- PyObject* result;
- switch (op) {
- case Py_EQ: result = (other == obj) ? Py_True : Py_False; break;
- case Py_NE: result = (other != obj) ? Py_True : Py_False; break;
- default:
- result = Py_NotImplemented;
- }
- Py_INCREF(result);
- return result;
-}
-#endif
-static PyMethodDef __pyx_Coroutine_methods[] = {
- {"send", (PyCFunction) __Pyx_Coroutine_Send, METH_O,
- (char*) PyDoc_STR("send(arg) -> send 'arg' into coroutine,\nreturn next iterated value or raise StopIteration.")},
- {"throw", (PyCFunction) __Pyx_Coroutine_Throw, METH_VARARGS,
- (char*) PyDoc_STR("throw(typ[,val[,tb]]) -> raise exception in coroutine,\nreturn next iterated value or raise StopIteration.")},
- {"close", (PyCFunction) __Pyx_Coroutine_Close_Method, METH_NOARGS,
- (char*) PyDoc_STR("close() -> raise GeneratorExit inside coroutine.")},
-#if PY_VERSION_HEX < 0x030500B1
- {"__await__", (PyCFunction) __Pyx_Coroutine_await_method, METH_NOARGS,
- (char*) PyDoc_STR("__await__() -> return an iterator to be used in await expression.")},
-#endif
- {0, 0, 0, 0}
-};
-static PyMemberDef __pyx_Coroutine_memberlist[] = {
- {(char *) "cr_running", T_BOOL, offsetof(__pyx_CoroutineObject, is_running), READONLY, NULL},
- {(char*) "cr_await", T_OBJECT, offsetof(__pyx_CoroutineObject, yieldfrom), READONLY,
- (char*) PyDoc_STR("object being awaited, or None")},
- {(char*) "cr_code", T_OBJECT, offsetof(__pyx_CoroutineObject, gi_code), READONLY, NULL},
- {(char *) "__module__", T_OBJECT, offsetof(__pyx_CoroutineObject, gi_modulename), 0, 0},
-#if CYTHON_USE_TYPE_SPECS
- {(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(__pyx_CoroutineObject, gi_weakreflist), READONLY, 0},
-#endif
- {0, 0, 0, 0, 0}
-};
-static PyGetSetDef __pyx_Coroutine_getsets[] = {
- {(char *) "__name__", (getter)__Pyx_Coroutine_get_name, (setter)__Pyx_Coroutine_set_name,
- (char*) PyDoc_STR("name of the coroutine"), 0},
- {(char *) "__qualname__", (getter)__Pyx_Coroutine_get_qualname, (setter)__Pyx_Coroutine_set_qualname,
- (char*) PyDoc_STR("qualified name of the coroutine"), 0},
- {(char *) "cr_frame", (getter)__Pyx_Coroutine_get_frame, NULL,
- (char*) PyDoc_STR("Frame of the coroutine"), 0},
- {0, 0, 0, 0, 0}
-};
-#if CYTHON_USE_TYPE_SPECS
-static PyType_Slot __pyx_CoroutineType_slots[] = {
- {Py_tp_dealloc, (void *)__Pyx_Coroutine_dealloc},
- {Py_am_await, (void *)&__Pyx_Coroutine_await},
- {Py_tp_traverse, (void *)__Pyx_Coroutine_traverse},
- {Py_tp_methods, (void *)__pyx_Coroutine_methods},
- {Py_tp_members, (void *)__pyx_Coroutine_memberlist},
- {Py_tp_getset, (void *)__pyx_Coroutine_getsets},
- {Py_tp_getattro, (void *) __Pyx_PyObject_GenericGetAttrNoDict},
-#if CYTHON_USE_TP_FINALIZE
- {Py_tp_finalize, (void *)__Pyx_Coroutine_del},
-#endif
- {0, 0},
-};
-static PyType_Spec __pyx_CoroutineType_spec = {
- __PYX_TYPE_MODULE_PREFIX "coroutine",
- sizeof(__pyx_CoroutineObject),
- 0,
- Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_FINALIZE,
- __pyx_CoroutineType_slots
-};
-#else
-#if CYTHON_USE_ASYNC_SLOTS
-static __Pyx_PyAsyncMethodsStruct __pyx_Coroutine_as_async = {
- __Pyx_Coroutine_await,
- 0,
- 0,
-#if PY_VERSION_HEX >= 0x030A00A3
- 0,
-#endif
-};
-#endif
-static PyTypeObject __pyx_CoroutineType_type = {
- PyVarObject_HEAD_INIT(0, 0)
- __PYX_TYPE_MODULE_PREFIX "coroutine",
- sizeof(__pyx_CoroutineObject),
- 0,
- (destructor) __Pyx_Coroutine_dealloc,
- 0,
- 0,
- 0,
-#if CYTHON_USE_ASYNC_SLOTS
- &__pyx_Coroutine_as_async,
-#else
- 0,
-#endif
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_FINALIZE,
- 0,
- (traverseproc) __Pyx_Coroutine_traverse,
- 0,
-#if CYTHON_USE_ASYNC_SLOTS && CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 && PY_VERSION_HEX < 0x030500B1
- __Pyx_Coroutine_compare,
-#else
- 0,
-#endif
- offsetof(__pyx_CoroutineObject, gi_weakreflist),
- 0,
- 0,
- __pyx_Coroutine_methods,
- __pyx_Coroutine_memberlist,
- __pyx_Coroutine_getsets,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
-#if CYTHON_USE_TP_FINALIZE
- 0,
-#else
- __Pyx_Coroutine_del,
-#endif
- 0,
-#if CYTHON_USE_TP_FINALIZE
- __Pyx_Coroutine_del,
-#elif PY_VERSION_HEX >= 0x030400a1
- 0,
-#endif
-#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
- 0,
-#endif
-#if __PYX_NEED_TP_PRINT_SLOT
- 0,
-#endif
-#if PY_VERSION_HEX >= 0x030C0000
- 0,
-#endif
-#if PY_VERSION_HEX >= 0x030d00A4
- 0,
-#endif
-#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
- 0,
-#endif
-};
-#endif
-static int __pyx_Coroutine_init(PyObject *module) {
- CYTHON_MAYBE_UNUSED_VAR(module);
-#if CYTHON_USE_TYPE_SPECS
- __pyx_CoroutineType = __Pyx_FetchCommonTypeFromSpec(module, &__pyx_CoroutineType_spec, NULL);
-#else
- __pyx_CoroutineType_type.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
- __pyx_CoroutineType = __Pyx_FetchCommonType(&__pyx_CoroutineType_type);
-#endif
- if (unlikely(!__pyx_CoroutineType))
- return -1;
-#ifdef __Pyx_IterableCoroutine_USED
- if (unlikely(__pyx_IterableCoroutine_init(module) == -1))
- return -1;
-#endif
-#if CYTHON_USE_TYPE_SPECS
- __pyx_CoroutineAwaitType = __Pyx_FetchCommonTypeFromSpec(module, &__pyx_CoroutineAwaitType_spec, NULL);
-#else
- __pyx_CoroutineAwaitType = __Pyx_FetchCommonType(&__pyx_CoroutineAwaitType_type);
-#endif
- if (unlikely(!__pyx_CoroutineAwaitType))
- return -1;
- return 0;
-}
-
-/* GetAwaitIter */
-static CYTHON_INLINE PyObject *__Pyx_Coroutine_GetAwaitableIter(PyObject *o) {
-#ifdef __Pyx_Coroutine_USED
- if (__Pyx_Coroutine_Check(o)) {
- return __Pyx_NewRef(o);
- }
-#endif
- return __Pyx__Coroutine_GetAwaitableIter(o);
-}
-static void __Pyx_Coroutine_AwaitableIterError(PyObject *source) {
-#if PY_VERSION_HEX >= 0x030600B3 && PY_VERSION_HEX < 0x030d0000 || defined(_PyErr_FormatFromCause)
- __Pyx_TypeName source_type_name = __Pyx_PyType_GetName(Py_TYPE(source));
- _PyErr_FormatFromCause(PyExc_TypeError,
- "'async for' received an invalid object from __anext__: " __Pyx_FMT_TYPENAME, source_type_name);
- __Pyx_DECREF_TypeName(source_type_name);
-#elif PY_MAJOR_VERSION >= 3
- PyObject *exc, *val, *val2, *tb;
- __Pyx_TypeName source_type_name = __Pyx_PyType_GetName(Py_TYPE(source));
- assert(PyErr_Occurred());
- PyErr_Fetch(&exc, &val, &tb);
- PyErr_NormalizeException(&exc, &val, &tb);
- if (tb != NULL) {
- PyException_SetTraceback(val, tb);
- Py_DECREF(tb);
- }
- Py_DECREF(exc);
- assert(!PyErr_Occurred());
- PyErr_Format(PyExc_TypeError,
- "'async for' received an invalid object from __anext__: " __Pyx_FMT_TYPENAME, source_type_name);
- __Pyx_DECREF_TypeName(source_type_name);
- PyErr_Fetch(&exc, &val2, &tb);
- PyErr_NormalizeException(&exc, &val2, &tb);
- Py_INCREF(val);
- PyException_SetCause(val2, val);
- PyException_SetContext(val2, val);
- PyErr_Restore(exc, val2, tb);
-#else
- CYTHON_UNUSED_VAR(source);
-#endif
-}
-static PyObject *__Pyx__Coroutine_GetAwaitableIter(PyObject *obj) {
- PyObject *res;
-#if CYTHON_USE_ASYNC_SLOTS
- __Pyx_PyAsyncMethodsStruct* am = __Pyx_PyType_AsAsync(obj);
- if (likely(am && am->am_await)) {
- res = (*am->am_await)(obj);
- } else
-#endif
-#if PY_VERSION_HEX >= 0x030500B2 || defined(PyCoro_CheckExact)
- if (PyCoro_CheckExact(obj)) {
- return __Pyx_NewRef(obj);
- } else
-#endif
-#if CYTHON_COMPILING_IN_CPYTHON && defined(CO_ITERABLE_COROUTINE)
-#if PY_VERSION_HEX >= 0x030C00A6
- if (PyGen_CheckExact(obj) && (PyGen_GetCode((PyGenObject*)obj)->co_flags & CO_ITERABLE_COROUTINE)) {
-#else
- if (PyGen_CheckExact(obj) && ((PyGenObject*)obj)->gi_code && ((PyCodeObject *)((PyGenObject*)obj)->gi_code)->co_flags & CO_ITERABLE_COROUTINE) {
-#endif
- return __Pyx_NewRef(obj);
- } else
-#endif
- {
- PyObject *method = NULL;
- int is_method = __Pyx_PyObject_GetMethod(obj, __pyx_n_s_await, &method);
- if (likely(is_method)) {
- res = __Pyx_PyObject_CallOneArg(method, obj);
- } else if (likely(method)) {
- res = __Pyx_PyObject_CallNoArg(method);
- } else
- goto slot_error;
- Py_DECREF(method);
- }
- if (unlikely(!res)) {
- __Pyx_Coroutine_AwaitableIterError(obj);
- goto bad;
- }
- if (unlikely(!PyIter_Check(res))) {
- __Pyx_TypeName res_type_name = __Pyx_PyType_GetName(Py_TYPE(res));
- PyErr_Format(PyExc_TypeError,
- "__await__() returned non-iterator of type '" __Pyx_FMT_TYPENAME "'", res_type_name);
- __Pyx_DECREF_TypeName(res_type_name);
- Py_CLEAR(res);
- } else {
- int is_coroutine = 0;
- #ifdef __Pyx_Coroutine_USED
- is_coroutine |= __Pyx_Coroutine_Check(res);
- #endif
- #if PY_VERSION_HEX >= 0x030500B2 || defined(PyCoro_CheckExact)
- is_coroutine |= PyCoro_CheckExact(res);
- #endif
- if (unlikely(is_coroutine)) {
- /* __await__ must return an *iterator*, not
- a coroutine or another awaitable (see PEP 492) */
- PyErr_SetString(PyExc_TypeError,
- "__await__() returned a coroutine");
- Py_CLEAR(res);
- }
- }
- return res;
-slot_error:
- {
- __Pyx_TypeName obj_type_name = __Pyx_PyType_GetName(Py_TYPE(obj));
- PyErr_Format(PyExc_TypeError,
- "object " __Pyx_FMT_TYPENAME " can't be used in 'await' expression", obj_type_name);
- __Pyx_DECREF_TypeName(obj_type_name);
- }
-bad:
- return NULL;
-}
-
-/* CoroutineYieldFrom */
- static PyObject* __Pyx__Coroutine_Yield_From_Generic(__pyx_CoroutineObject *gen, PyObject *source) {
- PyObject *retval;
- PyObject *source_gen = __Pyx__Coroutine_GetAwaitableIter(source);
- if (unlikely(!source_gen)) {
- return NULL;
- }
- if (__Pyx_Coroutine_Check(source_gen)) {
- retval = __Pyx_Generator_Next(source_gen);
- } else {
- retval = __Pyx_PyObject_GetIterNextFunc(source_gen)(source_gen);
- }
- if (retval) {
- gen->yieldfrom = source_gen;
- return retval;
- }
- Py_DECREF(source_gen);
- return NULL;
-}
-static CYTHON_INLINE PyObject* __Pyx_Coroutine_Yield_From(__pyx_CoroutineObject *gen, PyObject *source) {
- PyObject *retval;
- if (__Pyx_Coroutine_Check(source)) {
- if (unlikely(((__pyx_CoroutineObject*)source)->yieldfrom)) {
- PyErr_SetString(
- PyExc_RuntimeError,
- "coroutine is being awaited already");
- return NULL;
- }
- retval = __Pyx_Generator_Next(source);
-#ifdef __Pyx_AsyncGen_USED
- } else if (__pyx_PyAsyncGenASend_CheckExact(source)) {
- retval = __Pyx_async_gen_asend_iternext(source);
-#endif
- } else {
- return __Pyx__Coroutine_Yield_From_Generic(gen, source);
- }
- if (retval) {
- Py_INCREF(source);
- gen->yieldfrom = source;
- }
- return retval;
-}
-
-/* PyIntCompare */
- static CYTHON_INLINE int __Pyx_PyInt_BoolEqObjC(PyObject *op1, PyObject *op2, long intval, long inplace) {
- CYTHON_MAYBE_UNUSED_VAR(intval);
- CYTHON_UNUSED_VAR(inplace);
- if (op1 == op2) {
- return 1;
- }
- #if PY_MAJOR_VERSION < 3
- if (likely(PyInt_CheckExact(op1))) {
- const long b = intval;
- long a = PyInt_AS_LONG(op1);
- return (a == b);
- }
- #endif
- #if CYTHON_USE_PYLONG_INTERNALS
- if (likely(PyLong_CheckExact(op1))) {
- int unequal;
- unsigned long uintval;
- Py_ssize_t size = __Pyx_PyLong_DigitCount(op1);
- const digit* digits = __Pyx_PyLong_Digits(op1);
- if (intval == 0) {
- return (__Pyx_PyLong_IsZero(op1) == 1);
- } else if (intval < 0) {
- if (__Pyx_PyLong_IsNonNeg(op1))
- return 0;
- intval = -intval;
- } else {
- if (__Pyx_PyLong_IsNeg(op1))
- return 0;
- }
- uintval = (unsigned long) intval;
-#if PyLong_SHIFT * 4 < SIZEOF_LONG*8
- if (uintval >> (PyLong_SHIFT * 4)) {
- unequal = (size != 5) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
- | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[4] != ((uintval >> (4 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
- } else
-#endif
-#if PyLong_SHIFT * 3 < SIZEOF_LONG*8
- if (uintval >> (PyLong_SHIFT * 3)) {
- unequal = (size != 4) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
- | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
- } else
-#endif
-#if PyLong_SHIFT * 2 < SIZEOF_LONG*8
- if (uintval >> (PyLong_SHIFT * 2)) {
- unequal = (size != 3) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
- | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
- } else
-#endif
-#if PyLong_SHIFT * 1 < SIZEOF_LONG*8
- if (uintval >> (PyLong_SHIFT * 1)) {
- unequal = (size != 2) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
- | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
- } else
-#endif
- unequal = (size != 1) || (((unsigned long) digits[0]) != (uintval & (unsigned long) PyLong_MASK));
- return (unequal == 0);
- }
- #endif
- if (PyFloat_CheckExact(op1)) {
- const long b = intval;
-#if CYTHON_COMPILING_IN_LIMITED_API
- double a = __pyx_PyFloat_AsDouble(op1);
-#else
- double a = PyFloat_AS_DOUBLE(op1);
-#endif
- return ((double)a == (double)b);
- }
- return __Pyx_PyObject_IsTrueAndDecref(
- PyObject_RichCompare(op1, op2, Py_EQ));
-}
-
-/* GetException */
- #if CYTHON_FAST_THREAD_STATE
-static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb)
-#else
-static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb)
-#endif
-{
- PyObject *local_type = NULL, *local_value, *local_tb = NULL;
-#if CYTHON_FAST_THREAD_STATE
- PyObject *tmp_type, *tmp_value, *tmp_tb;
- #if PY_VERSION_HEX >= 0x030C00A6
- local_value = tstate->current_exception;
- tstate->current_exception = 0;
- if (likely(local_value)) {
- local_type = (PyObject*) Py_TYPE(local_value);
- Py_INCREF(local_type);
- local_tb = PyException_GetTraceback(local_value);
- }
- #else
- local_type = tstate->curexc_type;
- local_value = tstate->curexc_value;
- local_tb = tstate->curexc_traceback;
- tstate->curexc_type = 0;
- tstate->curexc_value = 0;
- tstate->curexc_traceback = 0;
- #endif
-#else
- PyErr_Fetch(&local_type, &local_value, &local_tb);
-#endif
- PyErr_NormalizeException(&local_type, &local_value, &local_tb);
-#if CYTHON_FAST_THREAD_STATE && PY_VERSION_HEX >= 0x030C00A6
- if (unlikely(tstate->current_exception))
-#elif CYTHON_FAST_THREAD_STATE
- if (unlikely(tstate->curexc_type))
-#else
- if (unlikely(PyErr_Occurred()))
-#endif
- goto bad;
- #if PY_MAJOR_VERSION >= 3
- if (local_tb) {
- if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
- goto bad;
- }
- #endif
- Py_XINCREF(local_tb);
- Py_XINCREF(local_type);
- Py_XINCREF(local_value);
- *type = local_type;
- *value = local_value;
- *tb = local_tb;
-#if CYTHON_FAST_THREAD_STATE
- #if CYTHON_USE_EXC_INFO_STACK
- {
- _PyErr_StackItem *exc_info = tstate->exc_info;
- #if PY_VERSION_HEX >= 0x030B00a4
- tmp_value = exc_info->exc_value;
- exc_info->exc_value = local_value;
- tmp_type = NULL;
- tmp_tb = NULL;
- Py_XDECREF(local_type);
- Py_XDECREF(local_tb);
- #else
- tmp_type = exc_info->exc_type;
- tmp_value = exc_info->exc_value;
- tmp_tb = exc_info->exc_traceback;
- exc_info->exc_type = local_type;
- exc_info->exc_value = local_value;
- exc_info->exc_traceback = local_tb;
- #endif
- }
- #else
- tmp_type = tstate->exc_type;
- tmp_value = tstate->exc_value;
- tmp_tb = tstate->exc_traceback;
- tstate->exc_type = local_type;
- tstate->exc_value = local_value;
- tstate->exc_traceback = local_tb;
- #endif
- Py_XDECREF(tmp_type);
- Py_XDECREF(tmp_value);
- Py_XDECREF(tmp_tb);
-#else
- PyErr_SetExcInfo(local_type, local_value, local_tb);
-#endif
- return 0;
-bad:
- *type = 0;
- *value = 0;
- *tb = 0;
- Py_XDECREF(local_type);
- Py_XDECREF(local_value);
- Py_XDECREF(local_tb);
- return -1;
-}
-
-/* pep479 */
- static void __Pyx_Generator_Replace_StopIteration(int in_async_gen) {
- PyObject *exc, *val, *tb, *cur_exc;
- __Pyx_PyThreadState_declare
- #ifdef __Pyx_StopAsyncIteration_USED
- int is_async_stopiteration = 0;
- #endif
- CYTHON_MAYBE_UNUSED_VAR(in_async_gen);
- cur_exc = PyErr_Occurred();
- if (likely(!__Pyx_PyErr_GivenExceptionMatches(cur_exc, PyExc_StopIteration))) {
- #ifdef __Pyx_StopAsyncIteration_USED
- if (in_async_gen && unlikely(__Pyx_PyErr_GivenExceptionMatches(cur_exc, __Pyx_PyExc_StopAsyncIteration))) {
- is_async_stopiteration = 1;
- } else
- #endif
- return;
- }
- __Pyx_PyThreadState_assign
- __Pyx_GetException(&exc, &val, &tb);
- Py_XDECREF(exc);
- Py_XDECREF(val);
- Py_XDECREF(tb);
- PyErr_SetString(PyExc_RuntimeError,
- #ifdef __Pyx_StopAsyncIteration_USED
- is_async_stopiteration ? "async generator raised StopAsyncIteration" :
- in_async_gen ? "async generator raised StopIteration" :
- #endif
- "generator raised StopIteration");
-}
-
-/* ReturnWithStopIteration */
- static void __Pyx__ReturnWithStopIteration(PyObject* value) {
- PyObject *exc, *args;
-#if CYTHON_COMPILING_IN_CPYTHON
- __Pyx_PyThreadState_declare
- if (PY_VERSION_HEX >= 0x030C00A6
- || unlikely(PyTuple_Check(value) || PyExceptionInstance_Check(value))) {
- args = PyTuple_New(1);
- if (unlikely(!args)) return;
- Py_INCREF(value);
- PyTuple_SET_ITEM(args, 0, value);
- exc = PyType_Type.tp_call(PyExc_StopIteration, args, NULL);
- Py_DECREF(args);
- if (!exc) return;
- } else {
- Py_INCREF(value);
- exc = value;
- }
- #if CYTHON_FAST_THREAD_STATE
- __Pyx_PyThreadState_assign
- #if CYTHON_USE_EXC_INFO_STACK
- if (!__pyx_tstate->exc_info->exc_value)
- #else
- if (!__pyx_tstate->exc_type)
- #endif
- {
- Py_INCREF(PyExc_StopIteration);
- __Pyx_ErrRestore(PyExc_StopIteration, exc, NULL);
- return;
- }
- #endif
-#else
- args = PyTuple_Pack(1, value);
- if (unlikely(!args)) return;
- exc = PyObject_Call(PyExc_StopIteration, args, NULL);
- Py_DECREF(args);
- if (unlikely(!exc)) return;
-#endif
- PyErr_SetObject(PyExc_StopIteration, exc);
- Py_DECREF(exc);
-}
-
-/* pybytes_as_double */
- static double __Pyx_SlowPyString_AsDouble(PyObject *obj) {
- PyObject *float_value;
-#if PY_MAJOR_VERSION >= 3
- float_value = PyFloat_FromString(obj);
-#else
- float_value = PyFloat_FromString(obj, 0);
-#endif
- if (likely(float_value)) {
-#if CYTHON_ASSUME_SAFE_MACROS
- double value = PyFloat_AS_DOUBLE(float_value);
-#else
- double value = PyFloat_AsDouble(float_value);
-#endif
- Py_DECREF(float_value);
- return value;
- }
- return (double)-1;
-}
-static const char* __Pyx__PyBytes_AsDouble_Copy(const char* start, char* buffer, Py_ssize_t length) {
- int last_was_punctuation = 1;
- Py_ssize_t i;
- for (i=0; i < length; i++) {
- char chr = start[i];
- int is_punctuation = (chr == '_') | (chr == '.') | (chr == 'e') | (chr == 'E');
- *buffer = chr;
- buffer += (chr != '_');
- if (unlikely(last_was_punctuation & is_punctuation)) goto parse_failure;
- last_was_punctuation = is_punctuation;
- }
- if (unlikely(last_was_punctuation)) goto parse_failure;
- *buffer = '\0';
- return buffer;
-parse_failure:
- return NULL;
-}
-static double __Pyx__PyBytes_AsDouble_inf_nan(const char* start, Py_ssize_t length) {
- int matches = 1;
- char sign = start[0];
- int is_signed = (sign == '+') | (sign == '-');
- start += is_signed;
- length -= is_signed;
- switch (start[0]) {
- #ifdef Py_NAN
- case 'n':
- case 'N':
- if (unlikely(length != 3)) goto parse_failure;
- matches &= (start[1] == 'a' || start[1] == 'A');
- matches &= (start[2] == 'n' || start[2] == 'N');
- if (unlikely(!matches)) goto parse_failure;
- return (sign == '-') ? -Py_NAN : Py_NAN;
- #endif
- case 'i':
- case 'I':
- if (unlikely(length < 3)) goto parse_failure;
- matches &= (start[1] == 'n' || start[1] == 'N');
- matches &= (start[2] == 'f' || start[2] == 'F');
- if (likely(length == 3 && matches))
- return (sign == '-') ? -Py_HUGE_VAL : Py_HUGE_VAL;
- if (unlikely(length != 8)) goto parse_failure;
- matches &= (start[3] == 'i' || start[3] == 'I');
- matches &= (start[4] == 'n' || start[4] == 'N');
- matches &= (start[5] == 'i' || start[5] == 'I');
- matches &= (start[6] == 't' || start[6] == 'T');
- matches &= (start[7] == 'y' || start[7] == 'Y');
- if (unlikely(!matches)) goto parse_failure;
- return (sign == '-') ? -Py_HUGE_VAL : Py_HUGE_VAL;
- case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':
- break;
- default:
- goto parse_failure;
- }
- return 0.0;
-parse_failure:
- return -1.0;
-}
-static CYTHON_INLINE int __Pyx__PyBytes_AsDouble_IsSpace(char ch) {
- return (ch == 0x20) | !((ch < 0x9) | (ch > 0xd));
-}
-CYTHON_UNUSED static double __Pyx__PyBytes_AsDouble(PyObject *obj, const char* start, Py_ssize_t length) {
- double value;
- Py_ssize_t i, digits;
- const char *last = start + length;
- char *end;
- while (__Pyx__PyBytes_AsDouble_IsSpace(*start))
- start++;
- while (start < last - 1 && __Pyx__PyBytes_AsDouble_IsSpace(last[-1]))
- last--;
- length = last - start;
- if (unlikely(length <= 0)) goto fallback;
- value = __Pyx__PyBytes_AsDouble_inf_nan(start, length);
- if (unlikely(value == -1.0)) goto fallback;
- if (value != 0.0) return value;
- digits = 0;
- for (i=0; i < length; digits += start[i++] != '_');
- if (likely(digits == length)) {
- value = PyOS_string_to_double(start, &end, NULL);
- } else if (digits < 40) {
- char number[40];
- last = __Pyx__PyBytes_AsDouble_Copy(start, number, length);
- if (unlikely(!last)) goto fallback;
- value = PyOS_string_to_double(number, &end, NULL);
- } else {
- char *number = (char*) PyMem_Malloc((digits + 1) * sizeof(char));
- if (unlikely(!number)) goto fallback;
- last = __Pyx__PyBytes_AsDouble_Copy(start, number, length);
- if (unlikely(!last)) {
- PyMem_Free(number);
- goto fallback;
- }
- value = PyOS_string_to_double(number, &end, NULL);
- PyMem_Free(number);
- }
- if (likely(end == last) || (value == (double)-1 && PyErr_Occurred())) {
- return value;
- }
-fallback:
- return __Pyx_SlowPyString_AsDouble(obj);
-}
-
-/* pynumber_float */
- static CYTHON_INLINE PyObject* __Pyx__PyNumber_Float(PyObject* obj) {
- double val;
- if (PyLong_CheckExact(obj)) {
-#if CYTHON_USE_PYLONG_INTERNALS
- if (likely(__Pyx_PyLong_IsCompact(obj))) {
- val = (double) __Pyx_PyLong_CompactValue(obj);
- goto no_error;
- }
-#endif
- val = PyLong_AsDouble(obj);
- } else if (PyUnicode_CheckExact(obj)) {
- val = __Pyx_PyUnicode_AsDouble(obj);
- } else if (PyBytes_CheckExact(obj)) {
- val = __Pyx_PyBytes_AsDouble(obj);
- } else if (PyByteArray_CheckExact(obj)) {
- val = __Pyx_PyByteArray_AsDouble(obj);
- } else {
- return PyNumber_Float(obj);
- }
- if (unlikely(val == -1 && PyErr_Occurred())) {
- return NULL;
- }
-#if CYTHON_USE_PYLONG_INTERNALS
-no_error:
-#endif
- return PyFloat_FromDouble(val);
-}
-
-/* PyObjectCallMethod0 */
- static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name) {
- PyObject *method = NULL, *result = NULL;
- int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method);
- if (likely(is_method)) {
- result = __Pyx_PyObject_CallOneArg(method, obj);
- Py_DECREF(method);
- return result;
- }
- if (unlikely(!method)) goto bad;
- result = __Pyx_PyObject_CallNoArg(method);
- Py_DECREF(method);
-bad:
- return result;
-}
-
-/* ValidateBasesTuple */
- #if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_USE_TYPE_SPECS
-static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffset, PyObject *bases) {
- Py_ssize_t i, n;
-#if CYTHON_ASSUME_SAFE_MACROS
- n = PyTuple_GET_SIZE(bases);
-#else
- n = PyTuple_Size(bases);
- if (n < 0) return -1;
-#endif
- for (i = 1; i < n; i++)
- {
-#if CYTHON_AVOID_BORROWED_REFS
- PyObject *b0 = PySequence_GetItem(bases, i);
- if (!b0) return -1;
-#elif CYTHON_ASSUME_SAFE_MACROS
- PyObject *b0 = PyTuple_GET_ITEM(bases, i);
-#else
- PyObject *b0 = PyTuple_GetItem(bases, i);
- if (!b0) return -1;
-#endif
- PyTypeObject *b;
-#if PY_MAJOR_VERSION < 3
- if (PyClass_Check(b0))
- {
- PyErr_Format(PyExc_TypeError, "base class '%.200s' is an old-style class",
- PyString_AS_STRING(((PyClassObject*)b0)->cl_name));
-#if CYTHON_AVOID_BORROWED_REFS
- Py_DECREF(b0);
-#endif
- return -1;
- }
-#endif
- b = (PyTypeObject*) b0;
- if (!__Pyx_PyType_HasFeature(b, Py_TPFLAGS_HEAPTYPE))
- {
- __Pyx_TypeName b_name = __Pyx_PyType_GetName(b);
- PyErr_Format(PyExc_TypeError,
- "base class '" __Pyx_FMT_TYPENAME "' is not a heap type", b_name);
- __Pyx_DECREF_TypeName(b_name);
-#if CYTHON_AVOID_BORROWED_REFS
- Py_DECREF(b0);
-#endif
- return -1;
- }
- if (dictoffset == 0)
- {
- Py_ssize_t b_dictoffset = 0;
-#if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
- b_dictoffset = b->tp_dictoffset;
-#else
- PyObject *py_b_dictoffset = PyObject_GetAttrString((PyObject*)b, "__dictoffset__");
- if (!py_b_dictoffset) goto dictoffset_return;
- b_dictoffset = PyLong_AsSsize_t(py_b_dictoffset);
- Py_DECREF(py_b_dictoffset);
- if (b_dictoffset == -1 && PyErr_Occurred()) goto dictoffset_return;
-#endif
- if (b_dictoffset) {
- {
- __Pyx_TypeName b_name = __Pyx_PyType_GetName(b);
- PyErr_Format(PyExc_TypeError,
- "extension type '%.200s' has no __dict__ slot, "
- "but base type '" __Pyx_FMT_TYPENAME "' has: "
- "either add 'cdef dict __dict__' to the extension type "
- "or add '__slots__ = [...]' to the base type",
- type_name, b_name);
- __Pyx_DECREF_TypeName(b_name);
- }
-#if !(CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY)
- dictoffset_return:
-#endif
-#if CYTHON_AVOID_BORROWED_REFS
- Py_DECREF(b0);
-#endif
- return -1;
- }
- }
-#if CYTHON_AVOID_BORROWED_REFS
- Py_DECREF(b0);
-#endif
- }
- return 0;
-}
-#endif
-
-/* PyType_Ready */
- static int __Pyx_PyType_Ready(PyTypeObject *t) {
-#if CYTHON_USE_TYPE_SPECS || !(CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API) || defined(PYSTON_MAJOR_VERSION)
- (void)__Pyx_PyObject_CallMethod0;
-#if CYTHON_USE_TYPE_SPECS
- (void)__Pyx_validate_bases_tuple;
-#endif
- return PyType_Ready(t);
-#else
- int r;
- PyObject *bases = __Pyx_PyType_GetSlot(t, tp_bases, PyObject*);
- if (bases && unlikely(__Pyx_validate_bases_tuple(t->tp_name, t->tp_dictoffset, bases) == -1))
- return -1;
-#if PY_VERSION_HEX >= 0x03050000 && !defined(PYSTON_MAJOR_VERSION)
- {
- int gc_was_enabled;
- #if PY_VERSION_HEX >= 0x030A00b1
- gc_was_enabled = PyGC_Disable();
- (void)__Pyx_PyObject_CallMethod0;
- #else
- PyObject *ret, *py_status;
- PyObject *gc = NULL;
- #if PY_VERSION_HEX >= 0x030700a1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM+0 >= 0x07030400)
- gc = PyImport_GetModule(__pyx_kp_u_gc);
- #endif
- if (unlikely(!gc)) gc = PyImport_Import(__pyx_kp_u_gc);
- if (unlikely(!gc)) return -1;
- py_status = __Pyx_PyObject_CallMethod0(gc, __pyx_kp_u_isenabled);
- if (unlikely(!py_status)) {
- Py_DECREF(gc);
- return -1;
- }
- gc_was_enabled = __Pyx_PyObject_IsTrue(py_status);
- Py_DECREF(py_status);
- if (gc_was_enabled > 0) {
- ret = __Pyx_PyObject_CallMethod0(gc, __pyx_kp_u_disable);
- if (unlikely(!ret)) {
- Py_DECREF(gc);
- return -1;
- }
- Py_DECREF(ret);
- } else if (unlikely(gc_was_enabled == -1)) {
- Py_DECREF(gc);
- return -1;
- }
- #endif
- t->tp_flags |= Py_TPFLAGS_HEAPTYPE;
-#if PY_VERSION_HEX >= 0x030A0000
- t->tp_flags |= Py_TPFLAGS_IMMUTABLETYPE;
-#endif
-#else
- (void)__Pyx_PyObject_CallMethod0;
-#endif
- r = PyType_Ready(t);
-#if PY_VERSION_HEX >= 0x03050000 && !defined(PYSTON_MAJOR_VERSION)
- t->tp_flags &= ~Py_TPFLAGS_HEAPTYPE;
- #if PY_VERSION_HEX >= 0x030A00b1
- if (gc_was_enabled)
- PyGC_Enable();
- #else
- if (gc_was_enabled) {
- PyObject *tp, *v, *tb;
- PyErr_Fetch(&tp, &v, &tb);
- ret = __Pyx_PyObject_CallMethod0(gc, __pyx_kp_u_enable);
- if (likely(ret || r == -1)) {
- Py_XDECREF(ret);
- PyErr_Restore(tp, v, tb);
- } else {
- Py_XDECREF(tp);
- Py_XDECREF(v);
- Py_XDECREF(tb);
- r = -1;
- }
- }
- Py_DECREF(gc);
- #endif
- }
-#endif
- return r;
-#endif
-}
-
-/* Import */
- static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
- PyObject *module = 0;
- PyObject *empty_dict = 0;
- PyObject *empty_list = 0;
- #if PY_MAJOR_VERSION < 3
- PyObject *py_import;
- py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import);
- if (unlikely(!py_import))
- goto bad;
- if (!from_list) {
- empty_list = PyList_New(0);
- if (unlikely(!empty_list))
- goto bad;
- from_list = empty_list;
- }
- #endif
- empty_dict = PyDict_New();
- if (unlikely(!empty_dict))
- goto bad;
- {
- #if PY_MAJOR_VERSION >= 3
- if (level == -1) {
- if (strchr(__Pyx_MODULE_NAME, '.') != NULL) {
- module = PyImport_ImportModuleLevelObject(
- name, __pyx_d, empty_dict, from_list, 1);
- if (unlikely(!module)) {
- if (unlikely(!PyErr_ExceptionMatches(PyExc_ImportError)))
- goto bad;
- PyErr_Clear();
- }
- }
- level = 0;
- }
- #endif
- if (!module) {
- #if PY_MAJOR_VERSION < 3
- PyObject *py_level = PyInt_FromLong(level);
- if (unlikely(!py_level))
- goto bad;
- module = PyObject_CallFunctionObjArgs(py_import,
- name, __pyx_d, empty_dict, from_list, py_level, (PyObject *)NULL);
- Py_DECREF(py_level);
- #else
- module = PyImport_ImportModuleLevelObject(
- name, __pyx_d, empty_dict, from_list, level);
- #endif
- }
- }
-bad:
- Py_XDECREF(empty_dict);
- Py_XDECREF(empty_list);
- #if PY_MAJOR_VERSION < 3
- Py_XDECREF(py_import);
- #endif
- return module;
-}
-
-/* ImportDottedModule */
- #if PY_MAJOR_VERSION >= 3
-static PyObject *__Pyx__ImportDottedModule_Error(PyObject *name, PyObject *parts_tuple, Py_ssize_t count) {
- PyObject *partial_name = NULL, *slice = NULL, *sep = NULL;
- if (unlikely(PyErr_Occurred())) {
- PyErr_Clear();
- }
- if (likely(PyTuple_GET_SIZE(parts_tuple) == count)) {
- partial_name = name;
- } else {
- slice = PySequence_GetSlice(parts_tuple, 0, count);
- if (unlikely(!slice))
- goto bad;
- sep = PyUnicode_FromStringAndSize(".", 1);
- if (unlikely(!sep))
- goto bad;
- partial_name = PyUnicode_Join(sep, slice);
- }
- PyErr_Format(
-#if PY_MAJOR_VERSION < 3
- PyExc_ImportError,
- "No module named '%s'", PyString_AS_STRING(partial_name));
-#else
-#if PY_VERSION_HEX >= 0x030600B1
- PyExc_ModuleNotFoundError,
-#else
- PyExc_ImportError,
-#endif
- "No module named '%U'", partial_name);
-#endif
-bad:
- Py_XDECREF(sep);
- Py_XDECREF(slice);
- Py_XDECREF(partial_name);
- return NULL;
-}
-#endif
-#if PY_MAJOR_VERSION >= 3
-static PyObject *__Pyx__ImportDottedModule_Lookup(PyObject *name) {
- PyObject *imported_module;
-#if PY_VERSION_HEX < 0x030700A1 || (CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM < 0x07030400)
- PyObject *modules = PyImport_GetModuleDict();
- if (unlikely(!modules))
- return NULL;
- imported_module = __Pyx_PyDict_GetItemStr(modules, name);
- Py_XINCREF(imported_module);
-#else
- imported_module = PyImport_GetModule(name);
-#endif
- return imported_module;
-}
-#endif
-#if PY_MAJOR_VERSION >= 3
-static PyObject *__Pyx_ImportDottedModule_WalkParts(PyObject *module, PyObject *name, PyObject *parts_tuple) {
- Py_ssize_t i, nparts;
- nparts = PyTuple_GET_SIZE(parts_tuple);
- for (i=1; i < nparts && module; i++) {
- PyObject *part, *submodule;
-#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- part = PyTuple_GET_ITEM(parts_tuple, i);
-#else
- part = PySequence_ITEM(parts_tuple, i);
-#endif
- submodule = __Pyx_PyObject_GetAttrStrNoError(module, part);
-#if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS)
- Py_DECREF(part);
-#endif
- Py_DECREF(module);
- module = submodule;
- }
- if (unlikely(!module)) {
- return __Pyx__ImportDottedModule_Error(name, parts_tuple, i);
- }
- return module;
-}
-#endif
-static PyObject *__Pyx__ImportDottedModule(PyObject *name, PyObject *parts_tuple) {
-#if PY_MAJOR_VERSION < 3
- PyObject *module, *from_list, *star = __pyx_n_s__31;
- CYTHON_UNUSED_VAR(parts_tuple);
- from_list = PyList_New(1);
- if (unlikely(!from_list))
- return NULL;
- Py_INCREF(star);
- PyList_SET_ITEM(from_list, 0, star);
- module = __Pyx_Import(name, from_list, 0);
- Py_DECREF(from_list);
- return module;
-#else
- PyObject *imported_module;
- PyObject *module = __Pyx_Import(name, NULL, 0);
- if (!parts_tuple || unlikely(!module))
- return module;
- imported_module = __Pyx__ImportDottedModule_Lookup(name);
- if (likely(imported_module)) {
- Py_DECREF(module);
- return imported_module;
- }
- PyErr_Clear();
- return __Pyx_ImportDottedModule_WalkParts(module, name, parts_tuple);
-#endif
-}
-static PyObject *__Pyx_ImportDottedModule(PyObject *name, PyObject *parts_tuple) {
-#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030400B1
- PyObject *module = __Pyx__ImportDottedModule_Lookup(name);
- if (likely(module)) {
- PyObject *spec = __Pyx_PyObject_GetAttrStrNoError(module, __pyx_n_s_spec);
- if (likely(spec)) {
- PyObject *unsafe = __Pyx_PyObject_GetAttrStrNoError(spec, __pyx_n_s_initializing);
- if (likely(!unsafe || !__Pyx_PyObject_IsTrue(unsafe))) {
- Py_DECREF(spec);
- spec = NULL;
- }
- Py_XDECREF(unsafe);
- }
- if (likely(!spec)) {
- PyErr_Clear();
- return module;
- }
- Py_DECREF(spec);
- Py_DECREF(module);
- } else if (PyErr_Occurred()) {
- PyErr_Clear();
- }
-#endif
- return __Pyx__ImportDottedModule(name, parts_tuple);
-}
-
-/* ImportFrom */
- static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) {
- PyObject* value = __Pyx_PyObject_GetAttrStr(module, name);
- if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) {
- const char* module_name_str = 0;
- PyObject* module_name = 0;
- PyObject* module_dot = 0;
- PyObject* full_name = 0;
- PyErr_Clear();
- module_name_str = PyModule_GetName(module);
- if (unlikely(!module_name_str)) { goto modbad; }
- module_name = PyUnicode_FromString(module_name_str);
- if (unlikely(!module_name)) { goto modbad; }
- module_dot = PyUnicode_Concat(module_name, __pyx_kp_u__6);
- if (unlikely(!module_dot)) { goto modbad; }
- full_name = PyUnicode_Concat(module_dot, name);
- if (unlikely(!full_name)) { goto modbad; }
- #if PY_VERSION_HEX < 0x030700A1 || (CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM < 0x07030400)
- {
- PyObject *modules = PyImport_GetModuleDict();
- if (unlikely(!modules))
- goto modbad;
- value = PyObject_GetItem(modules, full_name);
- }
- #else
- value = PyImport_GetModule(full_name);
- #endif
- modbad:
- Py_XDECREF(full_name);
- Py_XDECREF(module_dot);
- Py_XDECREF(module_name);
- }
- if (unlikely(!value)) {
- PyErr_Format(PyExc_ImportError,
- #if PY_MAJOR_VERSION < 3
- "cannot import name %.230s", PyString_AS_STRING(name));
- #else
- "cannot import name %S", name);
- #endif
- }
- return value;
-}
-
-/* Py3UpdateBases */
- static PyObject*
-__Pyx_PEP560_update_bases(PyObject *bases)
-{
- Py_ssize_t i, j, size_bases;
- PyObject *base, *meth, *new_base, *result, *new_bases = NULL;
- size_bases = PyTuple_GET_SIZE(bases);
- for (i = 0; i < size_bases; i++) {
- base = PyTuple_GET_ITEM(bases, i);
- if (PyType_Check(base)) {
- if (new_bases) {
- if (PyList_Append(new_bases, base) < 0) {
- goto error;
- }
- }
- continue;
- }
- meth = __Pyx_PyObject_GetAttrStrNoError(base, __pyx_n_s_mro_entries);
- if (!meth && PyErr_Occurred()) {
- goto error;
- }
- if (!meth) {
- if (new_bases) {
- if (PyList_Append(new_bases, base) < 0) {
- goto error;
- }
- }
- continue;
- }
- new_base = __Pyx_PyObject_CallOneArg(meth, bases);
- Py_DECREF(meth);
- if (!new_base) {
- goto error;
- }
- if (!PyTuple_Check(new_base)) {
- PyErr_SetString(PyExc_TypeError,
- "__mro_entries__ must return a tuple");
- Py_DECREF(new_base);
- goto error;
- }
- if (!new_bases) {
- if (!(new_bases = PyList_New(i))) {
- goto error;
- }
- for (j = 0; j < i; j++) {
- base = PyTuple_GET_ITEM(bases, j);
- PyList_SET_ITEM(new_bases, j, base);
- Py_INCREF(base);
- }
- }
- j = PyList_GET_SIZE(new_bases);
- if (PyList_SetSlice(new_bases, j, j, new_base) < 0) {
- goto error;
- }
- Py_DECREF(new_base);
- }
- if (!new_bases) {
- Py_INCREF(bases);
- return bases;
- }
- result = PyList_AsTuple(new_bases);
- Py_DECREF(new_bases);
- return result;
-error:
- Py_XDECREF(new_bases);
- return NULL;
-}
-
-/* CalculateMetaclass */
- static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases) {
- Py_ssize_t i, nbases;
-#if CYTHON_ASSUME_SAFE_MACROS
- nbases = PyTuple_GET_SIZE(bases);
-#else
- nbases = PyTuple_Size(bases);
- if (nbases < 0) return NULL;
-#endif
- for (i=0; i < nbases; i++) {
- PyTypeObject *tmptype;
-#if CYTHON_ASSUME_SAFE_MACROS
- PyObject *tmp = PyTuple_GET_ITEM(bases, i);
-#else
- PyObject *tmp = PyTuple_GetItem(bases, i);
- if (!tmp) return NULL;
-#endif
- tmptype = Py_TYPE(tmp);
-#if PY_MAJOR_VERSION < 3
- if (tmptype == &PyClass_Type)
- continue;
-#endif
- if (!metaclass) {
- metaclass = tmptype;
- continue;
- }
- if (PyType_IsSubtype(metaclass, tmptype))
- continue;
- if (PyType_IsSubtype(tmptype, metaclass)) {
- metaclass = tmptype;
- continue;
- }
- PyErr_SetString(PyExc_TypeError,
- "metaclass conflict: "
- "the metaclass of a derived class "
- "must be a (non-strict) subclass "
- "of the metaclasses of all its bases");
- return NULL;
- }
- if (!metaclass) {
-#if PY_MAJOR_VERSION < 3
- metaclass = &PyClass_Type;
-#else
- metaclass = &PyType_Type;
-#endif
- }
- Py_INCREF((PyObject*) metaclass);
- return (PyObject*) metaclass;
-}
-
-/* PyObjectLookupSpecial */
- #if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
-static CYTHON_INLINE PyObject* __Pyx__PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name, int with_error) {
- PyObject *res;
- PyTypeObject *tp = Py_TYPE(obj);
-#if PY_MAJOR_VERSION < 3
- if (unlikely(PyInstance_Check(obj)))
- return with_error ? __Pyx_PyObject_GetAttrStr(obj, attr_name) : __Pyx_PyObject_GetAttrStrNoError(obj, attr_name);
-#endif
- res = _PyType_Lookup(tp, attr_name);
- if (likely(res)) {
- descrgetfunc f = Py_TYPE(res)->tp_descr_get;
- if (!f) {
- Py_INCREF(res);
- } else {
- res = f(res, obj, (PyObject *)tp);
- }
- } else if (with_error) {
- PyErr_SetObject(PyExc_AttributeError, attr_name);
- }
- return res;
-}
-#endif
-
-/* Py3ClassCreate */
- static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name,
- PyObject *qualname, PyObject *mkw, PyObject *modname, PyObject *doc) {
- PyObject *ns;
- if (metaclass) {
- PyObject *prep = __Pyx_PyObject_GetAttrStrNoError(metaclass, __pyx_n_s_prepare);
- if (prep) {
- PyObject *pargs[3] = {NULL, name, bases};
- ns = __Pyx_PyObject_FastCallDict(prep, pargs+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, mkw);
- Py_DECREF(prep);
- } else {
- if (unlikely(PyErr_Occurred()))
- return NULL;
- ns = PyDict_New();
- }
- } else {
- ns = PyDict_New();
- }
- if (unlikely(!ns))
- return NULL;
- if (unlikely(PyObject_SetItem(ns, __pyx_n_s_module, modname) < 0)) goto bad;
-#if PY_VERSION_HEX >= 0x03030000
- if (unlikely(PyObject_SetItem(ns, __pyx_n_s_qualname, qualname) < 0)) goto bad;
-#else
- CYTHON_MAYBE_UNUSED_VAR(qualname);
-#endif
- if (unlikely(doc && PyObject_SetItem(ns, __pyx_n_s_doc, doc) < 0)) goto bad;
- return ns;
-bad:
- Py_DECREF(ns);
- return NULL;
-}
-#if PY_VERSION_HEX < 0x030600A4 && CYTHON_PEP487_INIT_SUBCLASS
-static int __Pyx_SetNamesPEP487(PyObject *type_obj) {
- PyTypeObject *type = (PyTypeObject*) type_obj;
- PyObject *names_to_set, *key, *value, *set_name, *tmp;
- Py_ssize_t i = 0;
-#if CYTHON_USE_TYPE_SLOTS
- names_to_set = PyDict_Copy(type->tp_dict);
-#else
- {
- PyObject *d = PyObject_GetAttr(type_obj, __pyx_n_s_dict);
- names_to_set = NULL;
- if (likely(d)) {
- PyObject *names_to_set = PyDict_New();
- int ret = likely(names_to_set) ? PyDict_Update(names_to_set, d) : -1;
- Py_DECREF(d);
- if (unlikely(ret < 0))
- Py_CLEAR(names_to_set);
- }
- }
-#endif
- if (unlikely(names_to_set == NULL))
- goto bad;
- while (PyDict_Next(names_to_set, &i, &key, &value)) {
- set_name = __Pyx_PyObject_LookupSpecialNoError(value, __pyx_n_s_set_name);
- if (unlikely(set_name != NULL)) {
- tmp = __Pyx_PyObject_Call2Args(set_name, type_obj, key);
- Py_DECREF(set_name);
- if (unlikely(tmp == NULL)) {
- __Pyx_TypeName value_type_name =
- __Pyx_PyType_GetName(Py_TYPE(value));
- __Pyx_TypeName type_name = __Pyx_PyType_GetName(type);
- PyErr_Format(PyExc_RuntimeError,
-#if PY_MAJOR_VERSION >= 3
- "Error calling __set_name__ on '" __Pyx_FMT_TYPENAME "' instance %R " "in '" __Pyx_FMT_TYPENAME "'",
- value_type_name, key, type_name);
-#else
- "Error calling __set_name__ on '" __Pyx_FMT_TYPENAME "' instance %.100s in '" __Pyx_FMT_TYPENAME "'",
- value_type_name,
- PyString_Check(key) ? PyString_AS_STRING(key) : "?",
- type_name);
-#endif
- goto bad;
- } else {
- Py_DECREF(tmp);
- }
- }
- else if (unlikely(PyErr_Occurred())) {
- goto bad;
- }
- }
- Py_DECREF(names_to_set);
- return 0;
-bad:
- Py_XDECREF(names_to_set);
- return -1;
-}
-static PyObject *__Pyx_InitSubclassPEP487(PyObject *type_obj, PyObject *mkw) {
-#if CYTHON_USE_TYPE_SLOTS && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- PyTypeObject *type = (PyTypeObject*) type_obj;
- PyObject *mro = type->tp_mro;
- Py_ssize_t i, nbases;
- if (unlikely(!mro)) goto done;
- (void) &__Pyx_GetBuiltinName;
- Py_INCREF(mro);
- nbases = PyTuple_GET_SIZE(mro);
- assert(PyTuple_GET_ITEM(mro, 0) == type_obj);
- for (i = 1; i < nbases-1; i++) {
- PyObject *base, *dict, *meth;
- base = PyTuple_GET_ITEM(mro, i);
- dict = ((PyTypeObject *)base)->tp_dict;
- meth = __Pyx_PyDict_GetItemStrWithError(dict, __pyx_n_s_init_subclass);
- if (unlikely(meth)) {
- descrgetfunc f = Py_TYPE(meth)->tp_descr_get;
- PyObject *res;
- Py_INCREF(meth);
- if (likely(f)) {
- res = f(meth, NULL, type_obj);
- Py_DECREF(meth);
- if (unlikely(!res)) goto bad;
- meth = res;
- }
- res = __Pyx_PyObject_FastCallDict(meth, NULL, 0, mkw);
- Py_DECREF(meth);
- if (unlikely(!res)) goto bad;
- Py_DECREF(res);
- goto done;
- } else if (unlikely(PyErr_Occurred())) {
- goto bad;
- }
- }
-done:
- Py_XDECREF(mro);
- return type_obj;
-bad:
- Py_XDECREF(mro);
- Py_DECREF(type_obj);
- return NULL;
-#else
- PyObject *super_type, *super, *func, *res;
-#if CYTHON_COMPILING_IN_PYPY && !defined(PySuper_Type)
- super_type = __Pyx_GetBuiltinName(__pyx_n_s_super);
-#else
- super_type = (PyObject*) &PySuper_Type;
- (void) &__Pyx_GetBuiltinName;
-#endif
- super = likely(super_type) ? __Pyx_PyObject_Call2Args(super_type, type_obj, type_obj) : NULL;
-#if CYTHON_COMPILING_IN_PYPY && !defined(PySuper_Type)
- Py_XDECREF(super_type);
-#endif
- if (unlikely(!super)) {
- Py_CLEAR(type_obj);
- goto done;
- }
- func = __Pyx_PyObject_GetAttrStrNoError(super, __pyx_n_s_init_subclass);
- Py_DECREF(super);
- if (likely(!func)) {
- if (unlikely(PyErr_Occurred()))
- Py_CLEAR(type_obj);
- goto done;
- }
- res = __Pyx_PyObject_FastCallDict(func, NULL, 0, mkw);
- Py_DECREF(func);
- if (unlikely(!res))
- Py_CLEAR(type_obj);
- Py_XDECREF(res);
-done:
- return type_obj;
-#endif
-}
-#endif
-static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases,
- PyObject *dict, PyObject *mkw,
- int calculate_metaclass, int allow_py2_metaclass) {
- PyObject *result;
- PyObject *owned_metaclass = NULL;
- PyObject *margs[4] = {NULL, name, bases, dict};
- if (allow_py2_metaclass) {
- owned_metaclass = PyObject_GetItem(dict, __pyx_n_s_metaclass);
- if (owned_metaclass) {
- metaclass = owned_metaclass;
- } else if (likely(PyErr_ExceptionMatches(PyExc_KeyError))) {
- PyErr_Clear();
- } else {
- return NULL;
- }
- }
- if (calculate_metaclass && (!metaclass || PyType_Check(metaclass))) {
- metaclass = __Pyx_CalculateMetaclass((PyTypeObject*) metaclass, bases);
- Py_XDECREF(owned_metaclass);
- if (unlikely(!metaclass))
- return NULL;
- owned_metaclass = metaclass;
- }
- result = __Pyx_PyObject_FastCallDict(metaclass, margs+1, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET,
-#if PY_VERSION_HEX < 0x030600A4
- (metaclass == (PyObject*)&PyType_Type) ? NULL : mkw
-#else
- mkw
-#endif
- );
- Py_XDECREF(owned_metaclass);
-#if PY_VERSION_HEX < 0x030600A4 && CYTHON_PEP487_INIT_SUBCLASS
- if (likely(result) && likely(PyType_Check(result))) {
- if (unlikely(__Pyx_SetNamesPEP487(result) < 0)) {
- Py_CLEAR(result);
- } else {
- result = __Pyx_InitSubclassPEP487(result, mkw);
- }
- }
-#else
- (void) &__Pyx_GetBuiltinName;
-#endif
- return result;
-}
-
-/* PyVectorcallFastCallDict */
- #if CYTHON_METH_FASTCALL
-static PyObject *__Pyx_PyVectorcall_FastCallDict_kw(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw)
-{
- PyObject *res = NULL;
- PyObject *kwnames;
- PyObject **newargs;
- PyObject **kwvalues;
- Py_ssize_t i, pos;
- size_t j;
- PyObject *key, *value;
- unsigned long keys_are_strings;
- Py_ssize_t nkw = PyDict_GET_SIZE(kw);
- newargs = (PyObject **)PyMem_Malloc((nargs + (size_t)nkw) * sizeof(args[0]));
- if (unlikely(newargs == NULL)) {
- PyErr_NoMemory();
- return NULL;
- }
- for (j = 0; j < nargs; j++) newargs[j] = args[j];
- kwnames = PyTuple_New(nkw);
- if (unlikely(kwnames == NULL)) {
- PyMem_Free(newargs);
- return NULL;
- }
- kwvalues = newargs + nargs;
- pos = i = 0;
- keys_are_strings = Py_TPFLAGS_UNICODE_SUBCLASS;
- while (PyDict_Next(kw, &pos, &key, &value)) {
- keys_are_strings &= Py_TYPE(key)->tp_flags;
- Py_INCREF(key);
- Py_INCREF(value);
- PyTuple_SET_ITEM(kwnames, i, key);
- kwvalues[i] = value;
- i++;
- }
- if (unlikely(!keys_are_strings)) {
- PyErr_SetString(PyExc_TypeError, "keywords must be strings");
- goto cleanup;
- }
- res = vc(func, newargs, nargs, kwnames);
-cleanup:
- Py_DECREF(kwnames);
- for (i = 0; i < nkw; i++)
- Py_DECREF(kwvalues[i]);
- PyMem_Free(newargs);
- return res;
-}
-static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw)
-{
- if (likely(kw == NULL) || PyDict_GET_SIZE(kw) == 0) {
- return vc(func, args, nargs, NULL);
- }
- return __Pyx_PyVectorcall_FastCallDict_kw(func, vc, args, nargs, kw);
-}
-#endif
-
-/* CythonFunctionShared */
- #if CYTHON_COMPILING_IN_LIMITED_API
-static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc) {
- if (__Pyx_CyFunction_Check(func)) {
- return PyCFunction_GetFunction(((__pyx_CyFunctionObject*)func)->func) == (PyCFunction) cfunc;
- } else if (PyCFunction_Check(func)) {
- return PyCFunction_GetFunction(func) == (PyCFunction) cfunc;
- }
- return 0;
-}
-#else
-static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc) {
- return __Pyx_CyOrPyCFunction_Check(func) && __Pyx_CyOrPyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc;
-}
-#endif
-static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj) {
-#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
- __Pyx_Py_XDECREF_SET(
- __Pyx_CyFunction_GetClassObj(f),
- ((classobj) ? __Pyx_NewRef(classobj) : NULL));
-#else
- __Pyx_Py_XDECREF_SET(
- ((PyCMethodObject *) (f))->mm_class,
- (PyTypeObject*)((classobj) ? __Pyx_NewRef(classobj) : NULL));
-#endif
-}
-static PyObject *
-__Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, void *closure)
-{
- CYTHON_UNUSED_VAR(closure);
- if (unlikely(op->func_doc == NULL)) {
-#if CYTHON_COMPILING_IN_LIMITED_API
- op->func_doc = PyObject_GetAttrString(op->func, "__doc__");
- if (unlikely(!op->func_doc)) return NULL;
-#else
- if (((PyCFunctionObject*)op)->m_ml->ml_doc) {
-#if PY_MAJOR_VERSION >= 3
- op->func_doc = PyUnicode_FromString(((PyCFunctionObject*)op)->m_ml->ml_doc);
-#else
- op->func_doc = PyString_FromString(((PyCFunctionObject*)op)->m_ml->ml_doc);
-#endif
- if (unlikely(op->func_doc == NULL))
- return NULL;
- } else {
- Py_INCREF(Py_None);
- return Py_None;
- }
-#endif
- }
- Py_INCREF(op->func_doc);
- return op->func_doc;
-}
-static int
-__Pyx_CyFunction_set_doc(__pyx_CyFunctionObject *op, PyObject *value, void *context)
-{
- CYTHON_UNUSED_VAR(context);
- if (value == NULL) {
- value = Py_None;
- }
- Py_INCREF(value);
- __Pyx_Py_XDECREF_SET(op->func_doc, value);
- return 0;
-}
-static PyObject *
-__Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op, void *context)
-{
- CYTHON_UNUSED_VAR(context);
- if (unlikely(op->func_name == NULL)) {
-#if CYTHON_COMPILING_IN_LIMITED_API
- op->func_name = PyObject_GetAttrString(op->func, "__name__");
-#elif PY_MAJOR_VERSION >= 3
- op->func_name = PyUnicode_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name);
-#else
- op->func_name = PyString_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name);
-#endif
- if (unlikely(op->func_name == NULL))
- return NULL;
- }
- Py_INCREF(op->func_name);
- return op->func_name;
-}
-static int
-__Pyx_CyFunction_set_name(__pyx_CyFunctionObject *op, PyObject *value, void *context)
-{
- CYTHON_UNUSED_VAR(context);
-#if PY_MAJOR_VERSION >= 3
- if (unlikely(value == NULL || !PyUnicode_Check(value)))
-#else
- if (unlikely(value == NULL || !PyString_Check(value)))
-#endif
- {
- PyErr_SetString(PyExc_TypeError,
- "__name__ must be set to a string object");
- return -1;
- }
- Py_INCREF(value);
- __Pyx_Py_XDECREF_SET(op->func_name, value);
- return 0;
-}
-static PyObject *
-__Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject *op, void *context)
-{
- CYTHON_UNUSED_VAR(context);
- Py_INCREF(op->func_qualname);
- return op->func_qualname;
-}
-static int
-__Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value, void *context)
-{
- CYTHON_UNUSED_VAR(context);
-#if PY_MAJOR_VERSION >= 3
- if (unlikely(value == NULL || !PyUnicode_Check(value)))
-#else
- if (unlikely(value == NULL || !PyString_Check(value)))
-#endif
- {
- PyErr_SetString(PyExc_TypeError,
- "__qualname__ must be set to a string object");
- return -1;
- }
- Py_INCREF(value);
- __Pyx_Py_XDECREF_SET(op->func_qualname, value);
- return 0;
-}
-static PyObject *
-__Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op, void *context)
-{
- CYTHON_UNUSED_VAR(context);
- if (unlikely(op->func_dict == NULL)) {
- op->func_dict = PyDict_New();
- if (unlikely(op->func_dict == NULL))
- return NULL;
- }
- Py_INCREF(op->func_dict);
- return op->func_dict;
-}
-static int
-__Pyx_CyFunction_set_dict(__pyx_CyFunctionObject *op, PyObject *value, void *context)
-{
- CYTHON_UNUSED_VAR(context);
- if (unlikely(value == NULL)) {
- PyErr_SetString(PyExc_TypeError,
- "function's dictionary may not be deleted");
- return -1;
- }
- if (unlikely(!PyDict_Check(value))) {
- PyErr_SetString(PyExc_TypeError,
- "setting function's dictionary to a non-dict");
- return -1;
- }
- Py_INCREF(value);
- __Pyx_Py_XDECREF_SET(op->func_dict, value);
- return 0;
-}
-static PyObject *
-__Pyx_CyFunction_get_globals(__pyx_CyFunctionObject *op, void *context)
-{
- CYTHON_UNUSED_VAR(context);
- Py_INCREF(op->func_globals);
- return op->func_globals;
-}
-static PyObject *
-__Pyx_CyFunction_get_closure(__pyx_CyFunctionObject *op, void *context)
-{
- CYTHON_UNUSED_VAR(op);
- CYTHON_UNUSED_VAR(context);
- Py_INCREF(Py_None);
- return Py_None;
-}
-static PyObject *
-__Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op, void *context)
-{
- PyObject* result = (op->func_code) ? op->func_code : Py_None;
- CYTHON_UNUSED_VAR(context);
- Py_INCREF(result);
- return result;
-}
-static int
-__Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op) {
- int result = 0;
- PyObject *res = op->defaults_getter((PyObject *) op);
- if (unlikely(!res))
- return -1;
- #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- op->defaults_tuple = PyTuple_GET_ITEM(res, 0);
- Py_INCREF(op->defaults_tuple);
- op->defaults_kwdict = PyTuple_GET_ITEM(res, 1);
- Py_INCREF(op->defaults_kwdict);
- #else
- op->defaults_tuple = __Pyx_PySequence_ITEM(res, 0);
- if (unlikely(!op->defaults_tuple)) result = -1;
- else {
- op->defaults_kwdict = __Pyx_PySequence_ITEM(res, 1);
- if (unlikely(!op->defaults_kwdict)) result = -1;
- }
- #endif
- Py_DECREF(res);
- return result;
-}
-static int
-__Pyx_CyFunction_set_defaults(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
- CYTHON_UNUSED_VAR(context);
- if (!value) {
- value = Py_None;
- } else if (unlikely(value != Py_None && !PyTuple_Check(value))) {
- PyErr_SetString(PyExc_TypeError,
- "__defaults__ must be set to a tuple object");
- return -1;
- }
- PyErr_WarnEx(PyExc_RuntimeWarning, "changes to cyfunction.__defaults__ will not "
- "currently affect the values used in function calls", 1);
- Py_INCREF(value);
- __Pyx_Py_XDECREF_SET(op->defaults_tuple, value);
- return 0;
-}
-static PyObject *
-__Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject *op, void *context) {
- PyObject* result = op->defaults_tuple;
- CYTHON_UNUSED_VAR(context);
- if (unlikely(!result)) {
- if (op->defaults_getter) {
- if (unlikely(__Pyx_CyFunction_init_defaults(op) < 0)) return NULL;
- result = op->defaults_tuple;
- } else {
- result = Py_None;
- }
- }
- Py_INCREF(result);
- return result;
-}
-static int
-__Pyx_CyFunction_set_kwdefaults(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
- CYTHON_UNUSED_VAR(context);
- if (!value) {
- value = Py_None;
- } else if (unlikely(value != Py_None && !PyDict_Check(value))) {
- PyErr_SetString(PyExc_TypeError,
- "__kwdefaults__ must be set to a dict object");
- return -1;
- }
- PyErr_WarnEx(PyExc_RuntimeWarning, "changes to cyfunction.__kwdefaults__ will not "
- "currently affect the values used in function calls", 1);
- Py_INCREF(value);
- __Pyx_Py_XDECREF_SET(op->defaults_kwdict, value);
- return 0;
-}
-static PyObject *
-__Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject *op, void *context) {
- PyObject* result = op->defaults_kwdict;
- CYTHON_UNUSED_VAR(context);
- if (unlikely(!result)) {
- if (op->defaults_getter) {
- if (unlikely(__Pyx_CyFunction_init_defaults(op) < 0)) return NULL;
- result = op->defaults_kwdict;
- } else {
- result = Py_None;
- }
- }
- Py_INCREF(result);
- return result;
-}
-static int
-__Pyx_CyFunction_set_annotations(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
- CYTHON_UNUSED_VAR(context);
- if (!value || value == Py_None) {
- value = NULL;
- } else if (unlikely(!PyDict_Check(value))) {
- PyErr_SetString(PyExc_TypeError,
- "__annotations__ must be set to a dict object");
- return -1;
- }
- Py_XINCREF(value);
- __Pyx_Py_XDECREF_SET(op->func_annotations, value);
- return 0;
-}
-static PyObject *
-__Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject *op, void *context) {
- PyObject* result = op->func_annotations;
- CYTHON_UNUSED_VAR(context);
- if (unlikely(!result)) {
- result = PyDict_New();
- if (unlikely(!result)) return NULL;
- op->func_annotations = result;
- }
- Py_INCREF(result);
- return result;
-}
-static PyObject *
-__Pyx_CyFunction_get_is_coroutine(__pyx_CyFunctionObject *op, void *context) {
- int is_coroutine;
- CYTHON_UNUSED_VAR(context);
- if (op->func_is_coroutine) {
- return __Pyx_NewRef(op->func_is_coroutine);
- }
- is_coroutine = op->flags & __Pyx_CYFUNCTION_COROUTINE;
-#if PY_VERSION_HEX >= 0x03050000
- if (is_coroutine) {
- PyObject *module, *fromlist, *marker = __pyx_n_s_is_coroutine;
- fromlist = PyList_New(1);
- if (unlikely(!fromlist)) return NULL;
- Py_INCREF(marker);
-#if CYTHON_ASSUME_SAFE_MACROS
- PyList_SET_ITEM(fromlist, 0, marker);
-#else
- if (unlikely(PyList_SetItem(fromlist, 0, marker) < 0)) {
- Py_DECREF(marker);
- Py_DECREF(fromlist);
- return NULL;
- }
-#endif
- module = PyImport_ImportModuleLevelObject(__pyx_n_s_asyncio_coroutines, NULL, NULL, fromlist, 0);
- Py_DECREF(fromlist);
- if (unlikely(!module)) goto ignore;
- op->func_is_coroutine = __Pyx_PyObject_GetAttrStr(module, marker);
- Py_DECREF(module);
- if (likely(op->func_is_coroutine)) {
- return __Pyx_NewRef(op->func_is_coroutine);
- }
-ignore:
- PyErr_Clear();
- }
-#endif
- op->func_is_coroutine = __Pyx_PyBool_FromLong(is_coroutine);
- return __Pyx_NewRef(op->func_is_coroutine);
-}
-#if CYTHON_COMPILING_IN_LIMITED_API
-static PyObject *
-__Pyx_CyFunction_get_module(__pyx_CyFunctionObject *op, void *context) {
- CYTHON_UNUSED_VAR(context);
- return PyObject_GetAttrString(op->func, "__module__");
-}
-static int
-__Pyx_CyFunction_set_module(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
- CYTHON_UNUSED_VAR(context);
- return PyObject_SetAttrString(op->func, "__module__", value);
-}
-#endif
-static PyGetSetDef __pyx_CyFunction_getsets[] = {
- {(char *) "func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
- {(char *) "__doc__", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
- {(char *) "func_name", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
- {(char *) "__name__", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
- {(char *) "__qualname__", (getter)__Pyx_CyFunction_get_qualname, (setter)__Pyx_CyFunction_set_qualname, 0, 0},
- {(char *) "func_dict", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0},
- {(char *) "__dict__", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0},
- {(char *) "func_globals", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
- {(char *) "__globals__", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
- {(char *) "func_closure", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
- {(char *) "__closure__", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
- {(char *) "func_code", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
- {(char *) "__code__", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
- {(char *) "func_defaults", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0},
- {(char *) "__defaults__", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0},
- {(char *) "__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0},
- {(char *) "__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0},
- {(char *) "_is_coroutine", (getter)__Pyx_CyFunction_get_is_coroutine, 0, 0, 0},
-#if CYTHON_COMPILING_IN_LIMITED_API
- {"__module__", (getter)__Pyx_CyFunction_get_module, (setter)__Pyx_CyFunction_set_module, 0, 0},
-#endif
- {0, 0, 0, 0, 0}
-};
-static PyMemberDef __pyx_CyFunction_members[] = {
-#if !CYTHON_COMPILING_IN_LIMITED_API
- {(char *) "__module__", T_OBJECT, offsetof(PyCFunctionObject, m_module), 0, 0},
-#endif
-#if CYTHON_USE_TYPE_SPECS
- {(char *) "__dictoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_dict), READONLY, 0},
-#if CYTHON_METH_FASTCALL
-#if CYTHON_BACKPORT_VECTORCALL
- {(char *) "__vectorcalloffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_vectorcall), READONLY, 0},
-#else
-#if !CYTHON_COMPILING_IN_LIMITED_API
- {(char *) "__vectorcalloffset__", T_PYSSIZET, offsetof(PyCFunctionObject, vectorcall), READONLY, 0},
-#endif
-#endif
-#endif
-#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API
- {(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_weakreflist), READONLY, 0},
-#else
- {(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(PyCFunctionObject, m_weakreflist), READONLY, 0},
-#endif
-#endif
- {0, 0, 0, 0, 0}
-};
-static PyObject *
-__Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, PyObject *args)
-{
- CYTHON_UNUSED_VAR(args);
-#if PY_MAJOR_VERSION >= 3
- Py_INCREF(m->func_qualname);
- return m->func_qualname;
-#else
- return PyString_FromString(((PyCFunctionObject*)m)->m_ml->ml_name);
-#endif
-}
-static PyMethodDef __pyx_CyFunction_methods[] = {
- {"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0},
- {0, 0, 0, 0}
-};
-#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API
-#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist)
-#else
-#define __Pyx_CyFunction_weakreflist(cyfunc) (((PyCFunctionObject*)cyfunc)->m_weakreflist)
-#endif
-static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject *op, PyMethodDef *ml, int flags, PyObject* qualname,
- PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) {
-#if !CYTHON_COMPILING_IN_LIMITED_API
- PyCFunctionObject *cf = (PyCFunctionObject*) op;
-#endif
- if (unlikely(op == NULL))
- return NULL;
-#if CYTHON_COMPILING_IN_LIMITED_API
- op->func = PyCFunction_NewEx(ml, (PyObject*)op, module);
- if (unlikely(!op->func)) return NULL;
-#endif
- op->flags = flags;
- __Pyx_CyFunction_weakreflist(op) = NULL;
-#if !CYTHON_COMPILING_IN_LIMITED_API
- cf->m_ml = ml;
- cf->m_self = (PyObject *) op;
-#endif
- Py_XINCREF(closure);
- op->func_closure = closure;
-#if !CYTHON_COMPILING_IN_LIMITED_API
- Py_XINCREF(module);
- cf->m_module = module;
-#endif
- op->func_dict = NULL;
- op->func_name = NULL;
- Py_INCREF(qualname);
- op->func_qualname = qualname;
- op->func_doc = NULL;
-#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
- op->func_classobj = NULL;
-#else
- ((PyCMethodObject*)op)->mm_class = NULL;
-#endif
- op->func_globals = globals;
- Py_INCREF(op->func_globals);
- Py_XINCREF(code);
- op->func_code = code;
- op->defaults_pyobjects = 0;
- op->defaults_size = 0;
- op->defaults = NULL;
- op->defaults_tuple = NULL;
- op->defaults_kwdict = NULL;
- op->defaults_getter = NULL;
- op->func_annotations = NULL;
- op->func_is_coroutine = NULL;
-#if CYTHON_METH_FASTCALL
- switch (ml->ml_flags & (METH_VARARGS | METH_FASTCALL | METH_NOARGS | METH_O | METH_KEYWORDS | METH_METHOD)) {
- case METH_NOARGS:
- __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_NOARGS;
- break;
- case METH_O:
- __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_O;
- break;
- case METH_METHOD | METH_FASTCALL | METH_KEYWORDS:
- __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD;
- break;
- case METH_FASTCALL | METH_KEYWORDS:
- __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS;
- break;
- case METH_VARARGS | METH_KEYWORDS:
- __Pyx_CyFunction_func_vectorcall(op) = NULL;
- break;
- default:
- PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction");
- Py_DECREF(op);
- return NULL;
- }
-#endif
- return (PyObject *) op;
-}
-static int
-__Pyx_CyFunction_clear(__pyx_CyFunctionObject *m)
-{
- Py_CLEAR(m->func_closure);
-#if CYTHON_COMPILING_IN_LIMITED_API
- Py_CLEAR(m->func);
-#else
- Py_CLEAR(((PyCFunctionObject*)m)->m_module);
-#endif
- Py_CLEAR(m->func_dict);
- Py_CLEAR(m->func_name);
- Py_CLEAR(m->func_qualname);
- Py_CLEAR(m->func_doc);
- Py_CLEAR(m->func_globals);
- Py_CLEAR(m->func_code);
-#if !CYTHON_COMPILING_IN_LIMITED_API
-#if PY_VERSION_HEX < 0x030900B1
- Py_CLEAR(__Pyx_CyFunction_GetClassObj(m));
-#else
- {
- PyObject *cls = (PyObject*) ((PyCMethodObject *) (m))->mm_class;
- ((PyCMethodObject *) (m))->mm_class = NULL;
- Py_XDECREF(cls);
- }
-#endif
-#endif
- Py_CLEAR(m->defaults_tuple);
- Py_CLEAR(m->defaults_kwdict);
- Py_CLEAR(m->func_annotations);
- Py_CLEAR(m->func_is_coroutine);
- if (m->defaults) {
- PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m);
- int i;
- for (i = 0; i < m->defaults_pyobjects; i++)
- Py_XDECREF(pydefaults[i]);
- PyObject_Free(m->defaults);
- m->defaults = NULL;
- }
- return 0;
-}
-static void __Pyx__CyFunction_dealloc(__pyx_CyFunctionObject *m)
-{
- if (__Pyx_CyFunction_weakreflist(m) != NULL)
- PyObject_ClearWeakRefs((PyObject *) m);
- __Pyx_CyFunction_clear(m);
- __Pyx_PyHeapTypeObject_GC_Del(m);
-}
-static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m)
-{
- PyObject_GC_UnTrack(m);
- __Pyx__CyFunction_dealloc(m);
-}
-static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg)
-{
- Py_VISIT(m->func_closure);
-#if CYTHON_COMPILING_IN_LIMITED_API
- Py_VISIT(m->func);
-#else
- Py_VISIT(((PyCFunctionObject*)m)->m_module);
-#endif
- Py_VISIT(m->func_dict);
- Py_VISIT(m->func_name);
- Py_VISIT(m->func_qualname);
- Py_VISIT(m->func_doc);
- Py_VISIT(m->func_globals);
- Py_VISIT(m->func_code);
-#if !CYTHON_COMPILING_IN_LIMITED_API
- Py_VISIT(__Pyx_CyFunction_GetClassObj(m));
-#endif
- Py_VISIT(m->defaults_tuple);
- Py_VISIT(m->defaults_kwdict);
- Py_VISIT(m->func_is_coroutine);
- if (m->defaults) {
- PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m);
- int i;
- for (i = 0; i < m->defaults_pyobjects; i++)
- Py_VISIT(pydefaults[i]);
- }
- return 0;
-}
-static PyObject*
-__Pyx_CyFunction_repr(__pyx_CyFunctionObject *op)
-{
-#if PY_MAJOR_VERSION >= 3
- return PyUnicode_FromFormat("",
- op->func_qualname, (void *)op);
-#else
- return PyString_FromFormat("",
- PyString_AsString(op->func_qualname), (void *)op);
-#endif
-}
-static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) {
-#if CYTHON_COMPILING_IN_LIMITED_API
- PyObject *f = ((__pyx_CyFunctionObject*)func)->func;
- PyObject *py_name = NULL;
- PyCFunction meth;
- int flags;
- meth = PyCFunction_GetFunction(f);
- if (unlikely(!meth)) return NULL;
- flags = PyCFunction_GetFlags(f);
- if (unlikely(flags < 0)) return NULL;
-#else
- PyCFunctionObject* f = (PyCFunctionObject*)func;
- PyCFunction meth = f->m_ml->ml_meth;
- int flags = f->m_ml->ml_flags;
-#endif
- Py_ssize_t size;
- switch (flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) {
- case METH_VARARGS:
- if (likely(kw == NULL || PyDict_Size(kw) == 0))
- return (*meth)(self, arg);
- break;
- case METH_VARARGS | METH_KEYWORDS:
- return (*(PyCFunctionWithKeywords)(void*)meth)(self, arg, kw);
- case METH_NOARGS:
- if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
-#if CYTHON_ASSUME_SAFE_MACROS
- size = PyTuple_GET_SIZE(arg);
-#else
- size = PyTuple_Size(arg);
- if (unlikely(size < 0)) return NULL;
-#endif
- if (likely(size == 0))
- return (*meth)(self, NULL);
-#if CYTHON_COMPILING_IN_LIMITED_API
- py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL);
- if (!py_name) return NULL;
- PyErr_Format(PyExc_TypeError,
- "%.200S() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)",
- py_name, size);
- Py_DECREF(py_name);
-#else
- PyErr_Format(PyExc_TypeError,
- "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)",
- f->m_ml->ml_name, size);
-#endif
- return NULL;
- }
- break;
- case METH_O:
- if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
-#if CYTHON_ASSUME_SAFE_MACROS
- size = PyTuple_GET_SIZE(arg);
-#else
- size = PyTuple_Size(arg);
- if (unlikely(size < 0)) return NULL;
-#endif
- if (likely(size == 1)) {
- PyObject *result, *arg0;
- #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- arg0 = PyTuple_GET_ITEM(arg, 0);
- #else
- arg0 = __Pyx_PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL;
- #endif
- result = (*meth)(self, arg0);
- #if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS)
- Py_DECREF(arg0);
- #endif
- return result;
- }
-#if CYTHON_COMPILING_IN_LIMITED_API
- py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL);
- if (!py_name) return NULL;
- PyErr_Format(PyExc_TypeError,
- "%.200S() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)",
- py_name, size);
- Py_DECREF(py_name);
-#else
- PyErr_Format(PyExc_TypeError,
- "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)",
- f->m_ml->ml_name, size);
-#endif
- return NULL;
- }
- break;
- default:
- PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction");
- return NULL;
- }
-#if CYTHON_COMPILING_IN_LIMITED_API
- py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL);
- if (!py_name) return NULL;
- PyErr_Format(PyExc_TypeError, "%.200S() takes no keyword arguments",
- py_name);
- Py_DECREF(py_name);
-#else
- PyErr_Format(PyExc_TypeError, "%.200s() takes no keyword arguments",
- f->m_ml->ml_name);
-#endif
- return NULL;
-}
-static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) {
- PyObject *self, *result;
-#if CYTHON_COMPILING_IN_LIMITED_API
- self = PyCFunction_GetSelf(((__pyx_CyFunctionObject*)func)->func);
- if (unlikely(!self) && PyErr_Occurred()) return NULL;
-#else
- self = ((PyCFunctionObject*)func)->m_self;
-#endif
- result = __Pyx_CyFunction_CallMethod(func, self, arg, kw);
- return result;
-}
-static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) {
- PyObject *result;
- __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *) func;
-#if CYTHON_METH_FASTCALL
- __pyx_vectorcallfunc vc = __Pyx_CyFunction_func_vectorcall(cyfunc);
- if (vc) {
-#if CYTHON_ASSUME_SAFE_MACROS
- return __Pyx_PyVectorcall_FastCallDict(func, vc, &PyTuple_GET_ITEM(args, 0), (size_t)PyTuple_GET_SIZE(args), kw);
-#else
- (void) &__Pyx_PyVectorcall_FastCallDict;
- return PyVectorcall_Call(func, args, kw);
-#endif
- }
-#endif
- if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) {
- Py_ssize_t argc;
- PyObject *new_args;
- PyObject *self;
-#if CYTHON_ASSUME_SAFE_MACROS
- argc = PyTuple_GET_SIZE(args);
-#else
- argc = PyTuple_Size(args);
- if (unlikely(!argc) < 0) return NULL;
-#endif
- new_args = PyTuple_GetSlice(args, 1, argc);
- if (unlikely(!new_args))
- return NULL;
- self = PyTuple_GetItem(args, 0);
- if (unlikely(!self)) {
- Py_DECREF(new_args);
-#if PY_MAJOR_VERSION > 2
- PyErr_Format(PyExc_TypeError,
- "unbound method %.200S() needs an argument",
- cyfunc->func_qualname);
-#else
- PyErr_SetString(PyExc_TypeError,
- "unbound method needs an argument");
-#endif
- return NULL;
- }
- result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw);
- Py_DECREF(new_args);
- } else {
- result = __Pyx_CyFunction_Call(func, args, kw);
- }
- return result;
-}
-#if CYTHON_METH_FASTCALL
-static CYTHON_INLINE int __Pyx_CyFunction_Vectorcall_CheckArgs(__pyx_CyFunctionObject *cyfunc, Py_ssize_t nargs, PyObject *kwnames)
-{
- int ret = 0;
- if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) {
- if (unlikely(nargs < 1)) {
- PyErr_Format(PyExc_TypeError, "%.200s() needs an argument",
- ((PyCFunctionObject*)cyfunc)->m_ml->ml_name);
- return -1;
- }
- ret = 1;
- }
- if (unlikely(kwnames) && unlikely(PyTuple_GET_SIZE(kwnames))) {
- PyErr_Format(PyExc_TypeError,
- "%.200s() takes no keyword arguments", ((PyCFunctionObject*)cyfunc)->m_ml->ml_name);
- return -1;
- }
- return ret;
-}
-static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
-{
- __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
- PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml;
-#if CYTHON_BACKPORT_VECTORCALL
- Py_ssize_t nargs = (Py_ssize_t)nargsf;
-#else
- Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
-#endif
- PyObject *self;
- switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, kwnames)) {
- case 1:
- self = args[0];
- args += 1;
- nargs -= 1;
- break;
- case 0:
- self = ((PyCFunctionObject*)cyfunc)->m_self;
- break;
- default:
- return NULL;
- }
- if (unlikely(nargs != 0)) {
- PyErr_Format(PyExc_TypeError,
- "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)",
- def->ml_name, nargs);
- return NULL;
- }
- return def->ml_meth(self, NULL);
-}
-static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
-{
- __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
- PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml;
-#if CYTHON_BACKPORT_VECTORCALL
- Py_ssize_t nargs = (Py_ssize_t)nargsf;
-#else
- Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
-#endif
- PyObject *self;
- switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, kwnames)) {
- case 1:
- self = args[0];
- args += 1;
- nargs -= 1;
- break;
- case 0:
- self = ((PyCFunctionObject*)cyfunc)->m_self;
- break;
- default:
- return NULL;
- }
- if (unlikely(nargs != 1)) {
- PyErr_Format(PyExc_TypeError,
- "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)",
- def->ml_name, nargs);
- return NULL;
- }
- return def->ml_meth(self, args[0]);
-}
-static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
-{
- __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
- PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml;
-#if CYTHON_BACKPORT_VECTORCALL
- Py_ssize_t nargs = (Py_ssize_t)nargsf;
-#else
- Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
-#endif
- PyObject *self;
- switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, NULL)) {
- case 1:
- self = args[0];
- args += 1;
- nargs -= 1;
- break;
- case 0:
- self = ((PyCFunctionObject*)cyfunc)->m_self;
- break;
- default:
- return NULL;
- }
- return ((__Pyx_PyCFunctionFastWithKeywords)(void(*)(void))def->ml_meth)(self, args, nargs, kwnames);
-}
-static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
-{
- __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
- PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml;
- PyTypeObject *cls = (PyTypeObject *) __Pyx_CyFunction_GetClassObj(cyfunc);
-#if CYTHON_BACKPORT_VECTORCALL
- Py_ssize_t nargs = (Py_ssize_t)nargsf;
-#else
- Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
-#endif
- PyObject *self;
- switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, NULL)) {
- case 1:
- self = args[0];
- args += 1;
- nargs -= 1;
- break;
- case 0:
- self = ((PyCFunctionObject*)cyfunc)->m_self;
- break;
- default:
- return NULL;
- }
- return ((__Pyx_PyCMethod)(void(*)(void))def->ml_meth)(self, cls, args, (size_t)nargs, kwnames);
-}
-#endif
-#if CYTHON_USE_TYPE_SPECS
-static PyType_Slot __pyx_CyFunctionType_slots[] = {
- {Py_tp_dealloc, (void *)__Pyx_CyFunction_dealloc},
- {Py_tp_repr, (void *)__Pyx_CyFunction_repr},
- {Py_tp_call, (void *)__Pyx_CyFunction_CallAsMethod},
- {Py_tp_traverse, (void *)__Pyx_CyFunction_traverse},
- {Py_tp_clear, (void *)__Pyx_CyFunction_clear},
- {Py_tp_methods, (void *)__pyx_CyFunction_methods},
- {Py_tp_members, (void *)__pyx_CyFunction_members},
- {Py_tp_getset, (void *)__pyx_CyFunction_getsets},
- {Py_tp_descr_get, (void *)__Pyx_PyMethod_New},
- {0, 0},
-};
-static PyType_Spec __pyx_CyFunctionType_spec = {
- __PYX_TYPE_MODULE_PREFIX "cython_function_or_method",
- sizeof(__pyx_CyFunctionObject),
- 0,
-#ifdef Py_TPFLAGS_METHOD_DESCRIPTOR
- Py_TPFLAGS_METHOD_DESCRIPTOR |
-#endif
-#if (defined(_Py_TPFLAGS_HAVE_VECTORCALL) && CYTHON_METH_FASTCALL)
- _Py_TPFLAGS_HAVE_VECTORCALL |
-#endif
- Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE,
- __pyx_CyFunctionType_slots
-};
-#else
-static PyTypeObject __pyx_CyFunctionType_type = {
- PyVarObject_HEAD_INIT(0, 0)
- __PYX_TYPE_MODULE_PREFIX "cython_function_or_method",
- sizeof(__pyx_CyFunctionObject),
- 0,
- (destructor) __Pyx_CyFunction_dealloc,
-#if !CYTHON_METH_FASTCALL
- 0,
-#elif CYTHON_BACKPORT_VECTORCALL
- (printfunc)offsetof(__pyx_CyFunctionObject, func_vectorcall),
-#else
- offsetof(PyCFunctionObject, vectorcall),
-#endif
- 0,
- 0,
-#if PY_MAJOR_VERSION < 3
- 0,
-#else
- 0,
-#endif
- (reprfunc) __Pyx_CyFunction_repr,
- 0,
- 0,
- 0,
- 0,
- __Pyx_CyFunction_CallAsMethod,
- 0,
- 0,
- 0,
- 0,
-#ifdef Py_TPFLAGS_METHOD_DESCRIPTOR
- Py_TPFLAGS_METHOD_DESCRIPTOR |
-#endif
-#if defined(_Py_TPFLAGS_HAVE_VECTORCALL) && CYTHON_METH_FASTCALL
- _Py_TPFLAGS_HAVE_VECTORCALL |
-#endif
- Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE,
- 0,
- (traverseproc) __Pyx_CyFunction_traverse,
- (inquiry) __Pyx_CyFunction_clear,
- 0,
-#if PY_VERSION_HEX < 0x030500A0
- offsetof(__pyx_CyFunctionObject, func_weakreflist),
-#else
- offsetof(PyCFunctionObject, m_weakreflist),
-#endif
- 0,
- 0,
- __pyx_CyFunction_methods,
- __pyx_CyFunction_members,
- __pyx_CyFunction_getsets,
- 0,
- 0,
- __Pyx_PyMethod_New,
- 0,
- offsetof(__pyx_CyFunctionObject, func_dict),
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
-#if PY_VERSION_HEX >= 0x030400a1
- 0,
-#endif
-#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
- 0,
-#endif
-#if __PYX_NEED_TP_PRINT_SLOT
- 0,
-#endif
-#if PY_VERSION_HEX >= 0x030C0000
- 0,
-#endif
-#if PY_VERSION_HEX >= 0x030d00A4
- 0,
-#endif
-#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
- 0,
-#endif
-};
-#endif
-static int __pyx_CyFunction_init(PyObject *module) {
-#if CYTHON_USE_TYPE_SPECS
- __pyx_CyFunctionType = __Pyx_FetchCommonTypeFromSpec(module, &__pyx_CyFunctionType_spec, NULL);
-#else
- CYTHON_UNUSED_VAR(module);
- __pyx_CyFunctionType = __Pyx_FetchCommonType(&__pyx_CyFunctionType_type);
-#endif
- if (unlikely(__pyx_CyFunctionType == NULL)) {
- return -1;
- }
- return 0;
-}
-static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *func, size_t size, int pyobjects) {
- __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
- m->defaults = PyObject_Malloc(size);
- if (unlikely(!m->defaults))
- return PyErr_NoMemory();
- memset(m->defaults, 0, size);
- m->defaults_pyobjects = pyobjects;
- m->defaults_size = size;
- return m->defaults;
-}
-static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *func, PyObject *tuple) {
- __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
- m->defaults_tuple = tuple;
- Py_INCREF(tuple);
-}
-static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *func, PyObject *dict) {
- __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
- m->defaults_kwdict = dict;
- Py_INCREF(dict);
-}
-static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *func, PyObject *dict) {
- __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
- m->func_annotations = dict;
- Py_INCREF(dict);
-}
-
-/* CythonFunction */
- static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, int flags, PyObject* qualname,
- PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) {
- PyObject *op = __Pyx_CyFunction_Init(
- PyObject_GC_New(__pyx_CyFunctionObject, __pyx_CyFunctionType),
- ml, flags, qualname, closure, module, globals, code
- );
- if (likely(op)) {
- PyObject_GC_Track(op);
- }
- return op;
-}
-
-/* CLineInTraceback */
- #ifndef CYTHON_CLINE_IN_TRACEBACK
-static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line) {
- PyObject *use_cline;
- PyObject *ptype, *pvalue, *ptraceback;
-#if CYTHON_COMPILING_IN_CPYTHON
- PyObject **cython_runtime_dict;
-#endif
- CYTHON_MAYBE_UNUSED_VAR(tstate);
- if (unlikely(!__pyx_cython_runtime)) {
- return c_line;
- }
- __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback);
-#if CYTHON_COMPILING_IN_CPYTHON
- cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime);
- if (likely(cython_runtime_dict)) {
- __PYX_PY_DICT_LOOKUP_IF_MODIFIED(
- use_cline, *cython_runtime_dict,
- __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback))
- } else
-#endif
- {
- PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStrNoError(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback);
- if (use_cline_obj) {
- use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True;
- Py_DECREF(use_cline_obj);
- } else {
- PyErr_Clear();
- use_cline = NULL;
- }
- }
- if (!use_cline) {
- c_line = 0;
- (void) PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False);
- }
- else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) {
- c_line = 0;
- }
- __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback);
- return c_line;
-}
-#endif
-
-/* CodeObjectCache */
- #if !CYTHON_COMPILING_IN_LIMITED_API
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
- int start = 0, mid = 0, end = count - 1;
- if (end >= 0 && code_line > entries[end].code_line) {
- return count;
- }
- while (start < end) {
- mid = start + (end - start) / 2;
- if (code_line < entries[mid].code_line) {
- end = mid;
- } else if (code_line > entries[mid].code_line) {
- start = mid + 1;
- } else {
- return mid;
- }
- }
- if (code_line <= entries[mid].code_line) {
- return mid;
- } else {
- return mid + 1;
- }
-}
-static PyCodeObject *__pyx_find_code_object(int code_line) {
- PyCodeObject* code_object;
- int pos;
- if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
- return NULL;
- }
- pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
- if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
- return NULL;
- }
- code_object = __pyx_code_cache.entries[pos].code_object;
- Py_INCREF(code_object);
- return code_object;
-}
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
- int pos, i;
- __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
- if (unlikely(!code_line)) {
- return;
- }
- if (unlikely(!entries)) {
- entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
- if (likely(entries)) {
- __pyx_code_cache.entries = entries;
- __pyx_code_cache.max_count = 64;
- __pyx_code_cache.count = 1;
- entries[0].code_line = code_line;
- entries[0].code_object = code_object;
- Py_INCREF(code_object);
- }
- return;
- }
- pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
- if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
- PyCodeObject* tmp = entries[pos].code_object;
- entries[pos].code_object = code_object;
- Py_DECREF(tmp);
- return;
- }
- if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
- int new_max = __pyx_code_cache.max_count + 64;
- entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
- __pyx_code_cache.entries, ((size_t)new_max) * sizeof(__Pyx_CodeObjectCacheEntry));
- if (unlikely(!entries)) {
- return;
- }
- __pyx_code_cache.entries = entries;
- __pyx_code_cache.max_count = new_max;
- }
- for (i=__pyx_code_cache.count; i>pos; i--) {
- entries[i] = entries[i-1];
- }
- entries[pos].code_line = code_line;
- entries[pos].code_object = code_object;
- __pyx_code_cache.count++;
- Py_INCREF(code_object);
-}
-#endif
-
-/* AddTraceback */
- #include "compile.h"
-#include "frameobject.h"
-#include "traceback.h"
-#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API
- #ifndef Py_BUILD_CORE
- #define Py_BUILD_CORE 1
- #endif
- #include "internal/pycore_frame.h"
-#endif
-#if CYTHON_COMPILING_IN_LIMITED_API
-static PyObject *__Pyx_PyCode_Replace_For_AddTraceback(PyObject *code, PyObject *scratch_dict,
- PyObject *firstlineno, PyObject *name) {
- PyObject *replace = NULL;
- if (unlikely(PyDict_SetItemString(scratch_dict, "co_firstlineno", firstlineno))) return NULL;
- if (unlikely(PyDict_SetItemString(scratch_dict, "co_name", name))) return NULL;
- replace = PyObject_GetAttrString(code, "replace");
- if (likely(replace)) {
- PyObject *result;
- result = PyObject_Call(replace, __pyx_empty_tuple, scratch_dict);
- Py_DECREF(replace);
- return result;
- }
- PyErr_Clear();
- #if __PYX_LIMITED_VERSION_HEX < 0x030780000
- {
- PyObject *compiled = NULL, *result = NULL;
- if (unlikely(PyDict_SetItemString(scratch_dict, "code", code))) return NULL;
- if (unlikely(PyDict_SetItemString(scratch_dict, "type", (PyObject*)(&PyType_Type)))) return NULL;
- compiled = Py_CompileString(
- "out = type(code)(\n"
- " code.co_argcount, code.co_kwonlyargcount, code.co_nlocals, code.co_stacksize,\n"
- " code.co_flags, code.co_code, code.co_consts, code.co_names,\n"
- " code.co_varnames, code.co_filename, co_name, co_firstlineno,\n"
- " code.co_lnotab)\n", "", Py_file_input);
- if (!compiled) return NULL;
- result = PyEval_EvalCode(compiled, scratch_dict, scratch_dict);
- Py_DECREF(compiled);
- if (!result) PyErr_Print();
- Py_DECREF(result);
- result = PyDict_GetItemString(scratch_dict, "out");
- if (result) Py_INCREF(result);
- return result;
- }
- #else
- return NULL;
- #endif
-}
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
- int py_line, const char *filename) {
- PyObject *code_object = NULL, *py_py_line = NULL, *py_funcname = NULL, *dict = NULL;
- PyObject *replace = NULL, *getframe = NULL, *frame = NULL;
- PyObject *exc_type, *exc_value, *exc_traceback;
- int success = 0;
- if (c_line) {
- (void) __pyx_cfilenm;
- (void) __Pyx_CLineForTraceback(__Pyx_PyThreadState_Current, c_line);
- }
- PyErr_Fetch(&exc_type, &exc_value, &exc_traceback);
- code_object = Py_CompileString("_getframe()", filename, Py_eval_input);
- if (unlikely(!code_object)) goto bad;
- py_py_line = PyLong_FromLong(py_line);
- if (unlikely(!py_py_line)) goto bad;
- py_funcname = PyUnicode_FromString(funcname);
- if (unlikely(!py_funcname)) goto bad;
- dict = PyDict_New();
- if (unlikely(!dict)) goto bad;
- {
- PyObject *old_code_object = code_object;
- code_object = __Pyx_PyCode_Replace_For_AddTraceback(code_object, dict, py_py_line, py_funcname);
- Py_DECREF(old_code_object);
- }
- if (unlikely(!code_object)) goto bad;
- getframe = PySys_GetObject("_getframe");
- if (unlikely(!getframe)) goto bad;
- if (unlikely(PyDict_SetItemString(dict, "_getframe", getframe))) goto bad;
- frame = PyEval_EvalCode(code_object, dict, dict);
- if (unlikely(!frame) || frame == Py_None) goto bad;
- success = 1;
- bad:
- PyErr_Restore(exc_type, exc_value, exc_traceback);
- Py_XDECREF(code_object);
- Py_XDECREF(py_py_line);
- Py_XDECREF(py_funcname);
- Py_XDECREF(dict);
- Py_XDECREF(replace);
- if (success) {
- PyTraceBack_Here(
- (struct _frame*)frame);
- }
- Py_XDECREF(frame);
-}
-#else
-static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
- const char *funcname, int c_line,
- int py_line, const char *filename) {
- PyCodeObject *py_code = NULL;
- PyObject *py_funcname = NULL;
- #if PY_MAJOR_VERSION < 3
- PyObject *py_srcfile = NULL;
- py_srcfile = PyString_FromString(filename);
- if (!py_srcfile) goto bad;
- #endif
- if (c_line) {
- #if PY_MAJOR_VERSION < 3
- py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
- if (!py_funcname) goto bad;
- #else
- py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
- if (!py_funcname) goto bad;
- funcname = PyUnicode_AsUTF8(py_funcname);
- if (!funcname) goto bad;
- #endif
- }
- else {
- #if PY_MAJOR_VERSION < 3
- py_funcname = PyString_FromString(funcname);
- if (!py_funcname) goto bad;
- #endif
- }
- #if PY_MAJOR_VERSION < 3
- py_code = __Pyx_PyCode_New(
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- __pyx_empty_bytes, /*PyObject *code,*/
- __pyx_empty_tuple, /*PyObject *consts,*/
- __pyx_empty_tuple, /*PyObject *names,*/
- __pyx_empty_tuple, /*PyObject *varnames,*/
- __pyx_empty_tuple, /*PyObject *freevars,*/
- __pyx_empty_tuple, /*PyObject *cellvars,*/
- py_srcfile, /*PyObject *filename,*/
- py_funcname, /*PyObject *name,*/
- py_line,
- __pyx_empty_bytes /*PyObject *lnotab*/
- );
- Py_DECREF(py_srcfile);
- #else
- py_code = PyCode_NewEmpty(filename, funcname, py_line);
- #endif
- Py_XDECREF(py_funcname);
- return py_code;
-bad:
- Py_XDECREF(py_funcname);
- #if PY_MAJOR_VERSION < 3
- Py_XDECREF(py_srcfile);
- #endif
- return NULL;
-}
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
- int py_line, const char *filename) {
- PyCodeObject *py_code = 0;
- PyFrameObject *py_frame = 0;
- PyThreadState *tstate = __Pyx_PyThreadState_Current;
- PyObject *ptype, *pvalue, *ptraceback;
- if (c_line) {
- c_line = __Pyx_CLineForTraceback(tstate, c_line);
- }
- py_code = __pyx_find_code_object(c_line ? -c_line : py_line);
- if (!py_code) {
- __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback);
- py_code = __Pyx_CreateCodeObjectForTraceback(
- funcname, c_line, py_line, filename);
- if (!py_code) {
- /* If the code object creation fails, then we should clear the
- fetched exception references and propagate the new exception */
- Py_XDECREF(ptype);
- Py_XDECREF(pvalue);
- Py_XDECREF(ptraceback);
- goto bad;
- }
- __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback);
- __pyx_insert_code_object(c_line ? -c_line : py_line, py_code);
- }
- py_frame = PyFrame_New(
- tstate, /*PyThreadState *tstate,*/
- py_code, /*PyCodeObject *code,*/
- __pyx_d, /*PyObject *globals,*/
- 0 /*PyObject *locals*/
- );
- if (!py_frame) goto bad;
- __Pyx_PyFrame_SetLineNumber(py_frame, py_line);
- PyTraceBack_Here(py_frame);
-bad:
- Py_XDECREF(py_code);
- Py_XDECREF(py_frame);
-}
-#endif
-
-/* CIntToPy */
- static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
-#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wconversion"
-#endif
- const long neg_one = (long) -1, const_zero = (long) 0;
-#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
-#pragma GCC diagnostic pop
-#endif
- const int is_unsigned = neg_one > const_zero;
- if (is_unsigned) {
- if (sizeof(long) < sizeof(long)) {
- return PyInt_FromLong((long) value);
- } else if (sizeof(long) <= sizeof(unsigned long)) {
- return PyLong_FromUnsignedLong((unsigned long) value);
-#ifdef HAVE_LONG_LONG
- } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
- return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
-#endif
- }
- } else {
- if (sizeof(long) <= sizeof(long)) {
- return PyInt_FromLong((long) value);
-#ifdef HAVE_LONG_LONG
- } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
- return PyLong_FromLongLong((PY_LONG_LONG) value);
-#endif
- }
- }
- {
- unsigned char *bytes = (unsigned char *)&value;
-#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
- if (is_unsigned) {
- return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
- } else {
- return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
- }
-#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
- int one = 1; int little = (int)*(unsigned char *)&one;
- return _PyLong_FromByteArray(bytes, sizeof(long),
- little, !is_unsigned);
-#else
- int one = 1; int little = (int)*(unsigned char *)&one;
- PyObject *from_bytes, *result = NULL;
- PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
- from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
- if (!from_bytes) return NULL;
- py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(long));
- if (!py_bytes) goto limited_bad;
- order_str = PyUnicode_FromString(little ? "little" : "big");
- if (!order_str) goto limited_bad;
- arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
- if (!arg_tuple) goto limited_bad;
- if (!is_unsigned) {
- kwds = PyDict_New();
- if (!kwds) goto limited_bad;
- if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
- }
- result = PyObject_Call(from_bytes, arg_tuple, kwds);
- limited_bad:
- Py_XDECREF(kwds);
- Py_XDECREF(arg_tuple);
- Py_XDECREF(order_str);
- Py_XDECREF(py_bytes);
- Py_XDECREF(from_bytes);
- return result;
-#endif
- }
-}
-
-/* FormatTypeName */
- #if CYTHON_COMPILING_IN_LIMITED_API
-static __Pyx_TypeName
-__Pyx_PyType_GetName(PyTypeObject* tp)
-{
- PyObject *name = __Pyx_PyObject_GetAttrStr((PyObject *)tp,
- __pyx_n_s_name);
- if (unlikely(name == NULL) || unlikely(!PyUnicode_Check(name))) {
- PyErr_Clear();
- Py_XDECREF(name);
- name = __Pyx_NewRef(__pyx_n_s__42);
- }
- return name;
-}
-#endif
-
-/* CIntFromPyVerify */
- #define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\
- __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0)
-#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\
- __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1)
-#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\
- {\
- func_type value = func_value;\
- if (sizeof(target_type) < sizeof(func_type)) {\
- if (unlikely(value != (func_type) (target_type) value)) {\
- func_type zero = 0;\
- if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\
- return (target_type) -1;\
- if (is_unsigned && unlikely(value < zero))\
- goto raise_neg_overflow;\
- else\
- goto raise_overflow;\
- }\
- }\
- return (target_type) value;\
- }
-
-/* CIntFromPy */
- static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
-#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wconversion"
-#endif
- const long neg_one = (long) -1, const_zero = (long) 0;
-#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
-#pragma GCC diagnostic pop
-#endif
- const int is_unsigned = neg_one > const_zero;
-#if PY_MAJOR_VERSION < 3
- if (likely(PyInt_Check(x))) {
- if ((sizeof(long) < sizeof(long))) {
- __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x))
- } else {
- long val = PyInt_AS_LONG(x);
- if (is_unsigned && unlikely(val < 0)) {
- goto raise_neg_overflow;
- }
- return (long) val;
- }
- }
-#endif
- if (unlikely(!PyLong_Check(x))) {
- long val;
- PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
- if (!tmp) return (long) -1;
- val = __Pyx_PyInt_As_long(tmp);
- Py_DECREF(tmp);
- return val;
- }
- if (is_unsigned) {
-#if CYTHON_USE_PYLONG_INTERNALS
- if (unlikely(__Pyx_PyLong_IsNeg(x))) {
- goto raise_neg_overflow;
- } else if (__Pyx_PyLong_IsCompact(x)) {
- __PYX_VERIFY_RETURN_INT(long, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
- } else {
- const digit* digits = __Pyx_PyLong_Digits(x);
- assert(__Pyx_PyLong_DigitCount(x) > 1);
- switch (__Pyx_PyLong_DigitCount(x)) {
- case 2:
- if ((8 * sizeof(long) > 1 * PyLong_SHIFT)) {
- if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
- __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
- } else if ((8 * sizeof(long) >= 2 * PyLong_SHIFT)) {
- return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
- }
- }
- break;
- case 3:
- if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) {
- if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
- __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
- } else if ((8 * sizeof(long) >= 3 * PyLong_SHIFT)) {
- return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
- }
- }
- break;
- case 4:
- if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) {
- if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
- __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
- } else if ((8 * sizeof(long) >= 4 * PyLong_SHIFT)) {
- return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
- }
- }
- break;
- }
- }
-#endif
-#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
- if (unlikely(Py_SIZE(x) < 0)) {
- goto raise_neg_overflow;
- }
-#else
- {
- int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
- if (unlikely(result < 0))
- return (long) -1;
- if (unlikely(result == 1))
- goto raise_neg_overflow;
- }
-#endif
- if ((sizeof(long) <= sizeof(unsigned long))) {
- __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x))
-#ifdef HAVE_LONG_LONG
- } else if ((sizeof(long) <= sizeof(unsigned PY_LONG_LONG))) {
- __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
-#endif
- }
- } else {
-#if CYTHON_USE_PYLONG_INTERNALS
- if (__Pyx_PyLong_IsCompact(x)) {
- __PYX_VERIFY_RETURN_INT(long, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
- } else {
- const digit* digits = __Pyx_PyLong_Digits(x);
- assert(__Pyx_PyLong_DigitCount(x) > 1);
- switch (__Pyx_PyLong_SignedDigitCount(x)) {
- case -2:
- if ((8 * sizeof(long) - 1 > 1 * PyLong_SHIFT)) {
- if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
- __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
- } else if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) {
- return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
- }
- }
- break;
- case 2:
- if ((8 * sizeof(long) > 1 * PyLong_SHIFT)) {
- if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
- __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
- } else if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) {
- return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
- }
- }
- break;
- case -3:
- if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) {
- if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
- __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
- } else if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) {
- return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
- }
- }
- break;
- case 3:
- if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) {
- if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
- __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
- } else if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) {
- return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
- }
- }
- break;
- case -4:
- if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) {
- if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
- __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
- } else if ((8 * sizeof(long) - 1 > 4 * PyLong_SHIFT)) {
- return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
- }
- }
- break;
- case 4:
- if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) {
- if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
- __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
- } else if ((8 * sizeof(long) - 1 > 4 * PyLong_SHIFT)) {
- return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
- }
- }
- break;
- }
- }
-#endif
- if ((sizeof(long) <= sizeof(long))) {
- __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x))
-#ifdef HAVE_LONG_LONG
- } else if ((sizeof(long) <= sizeof(PY_LONG_LONG))) {
- __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x))
-#endif
- }
- }
- {
- long val;
- int ret = -1;
-#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
- Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
- x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
- if (unlikely(bytes_copied == -1)) {
- } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
- goto raise_overflow;
- } else {
- ret = 0;
- }
-#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
- int one = 1; int is_little = (int)*(unsigned char *)&one;
- unsigned char *bytes = (unsigned char *)&val;
- ret = _PyLong_AsByteArray((PyLongObject *)x,
- bytes, sizeof(val),
- is_little, !is_unsigned);
-#else
- PyObject *v;
- PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
- int bits, remaining_bits, is_negative = 0;
- int chunk_size = (sizeof(long) < 8) ? 30 : 62;
- if (likely(PyLong_CheckExact(x))) {
- v = __Pyx_NewRef(x);
- } else {
- v = PyNumber_Long(x);
- if (unlikely(!v)) return (long) -1;
- assert(PyLong_CheckExact(v));
- }
- {
- int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
- if (unlikely(result < 0)) {
- Py_DECREF(v);
- return (long) -1;
- }
- is_negative = result == 1;
- }
- if (is_unsigned && unlikely(is_negative)) {
- Py_DECREF(v);
- goto raise_neg_overflow;
- } else if (is_negative) {
- stepval = PyNumber_Invert(v);
- Py_DECREF(v);
- if (unlikely(!stepval))
- return (long) -1;
- } else {
- stepval = v;
- }
- v = NULL;
- val = (long) 0;
- mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
- shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
- for (bits = 0; bits < (int) sizeof(long) * 8 - chunk_size; bits += chunk_size) {
- PyObject *tmp, *digit;
- long idigit;
- digit = PyNumber_And(stepval, mask);
- if (unlikely(!digit)) goto done;
- idigit = PyLong_AsLong(digit);
- Py_DECREF(digit);
- if (unlikely(idigit < 0)) goto done;
- val |= ((long) idigit) << bits;
- tmp = PyNumber_Rshift(stepval, shift);
- if (unlikely(!tmp)) goto done;
- Py_DECREF(stepval); stepval = tmp;
- }
- Py_DECREF(shift); shift = NULL;
- Py_DECREF(mask); mask = NULL;
- {
- long idigit = PyLong_AsLong(stepval);
- if (unlikely(idigit < 0)) goto done;
- remaining_bits = ((int) sizeof(long) * 8) - bits - (is_unsigned ? 0 : 1);
- if (unlikely(idigit >= (1L << remaining_bits)))
- goto raise_overflow;
- val |= ((long) idigit) << bits;
- }
- if (!is_unsigned) {
- if (unlikely(val & (((long) 1) << (sizeof(long) * 8 - 1))))
- goto raise_overflow;
- if (is_negative)
- val = ~val;
- }
- ret = 0;
- done:
- Py_XDECREF(shift);
- Py_XDECREF(mask);
- Py_XDECREF(stepval);
-#endif
- if (unlikely(ret))
- return (long) -1;
- return val;
- }
-raise_overflow:
- PyErr_SetString(PyExc_OverflowError,
- "value too large to convert to long");
- return (long) -1;
-raise_neg_overflow:
- PyErr_SetString(PyExc_OverflowError,
- "can't convert negative value to long");
- return (long) -1;
-}
-
-/* CIntFromPy */
- static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
-#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wconversion"
-#endif
- const int neg_one = (int) -1, const_zero = (int) 0;
-#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
-#pragma GCC diagnostic pop
-#endif
- const int is_unsigned = neg_one > const_zero;
-#if PY_MAJOR_VERSION < 3
- if (likely(PyInt_Check(x))) {
- if ((sizeof(int) < sizeof(long))) {
- __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x))
- } else {
- long val = PyInt_AS_LONG(x);
- if (is_unsigned && unlikely(val < 0)) {
- goto raise_neg_overflow;
- }
- return (int) val;
- }
- }
-#endif
- if (unlikely(!PyLong_Check(x))) {
- int val;
- PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
- if (!tmp) return (int) -1;
- val = __Pyx_PyInt_As_int(tmp);
- Py_DECREF(tmp);
- return val;
- }
- if (is_unsigned) {
-#if CYTHON_USE_PYLONG_INTERNALS
- if (unlikely(__Pyx_PyLong_IsNeg(x))) {
- goto raise_neg_overflow;
- } else if (__Pyx_PyLong_IsCompact(x)) {
- __PYX_VERIFY_RETURN_INT(int, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
- } else {
- const digit* digits = __Pyx_PyLong_Digits(x);
- assert(__Pyx_PyLong_DigitCount(x) > 1);
- switch (__Pyx_PyLong_DigitCount(x)) {
- case 2:
- if ((8 * sizeof(int) > 1 * PyLong_SHIFT)) {
- if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
- __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
- } else if ((8 * sizeof(int) >= 2 * PyLong_SHIFT)) {
- return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
- }
- }
- break;
- case 3:
- if ((8 * sizeof(int) > 2 * PyLong_SHIFT)) {
- if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
- __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
- } else if ((8 * sizeof(int) >= 3 * PyLong_SHIFT)) {
- return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
- }
- }
- break;
- case 4:
- if ((8 * sizeof(int) > 3 * PyLong_SHIFT)) {
- if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
- __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
- } else if ((8 * sizeof(int) >= 4 * PyLong_SHIFT)) {
- return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
- }
- }
- break;
- }
- }
-#endif
-#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
- if (unlikely(Py_SIZE(x) < 0)) {
- goto raise_neg_overflow;
- }
-#else
- {
- int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
- if (unlikely(result < 0))
- return (int) -1;
- if (unlikely(result == 1))
- goto raise_neg_overflow;
- }
-#endif
- if ((sizeof(int) <= sizeof(unsigned long))) {
- __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x))
-#ifdef HAVE_LONG_LONG
- } else if ((sizeof(int) <= sizeof(unsigned PY_LONG_LONG))) {
- __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
-#endif
- }
- } else {
-#if CYTHON_USE_PYLONG_INTERNALS
- if (__Pyx_PyLong_IsCompact(x)) {
- __PYX_VERIFY_RETURN_INT(int, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
- } else {
- const digit* digits = __Pyx_PyLong_Digits(x);
- assert(__Pyx_PyLong_DigitCount(x) > 1);
- switch (__Pyx_PyLong_SignedDigitCount(x)) {
- case -2:
- if ((8 * sizeof(int) - 1 > 1 * PyLong_SHIFT)) {
- if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
- __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
- } else if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) {
- return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
- }
- }
- break;
- case 2:
- if ((8 * sizeof(int) > 1 * PyLong_SHIFT)) {
- if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
- __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
- } else if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) {
- return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
- }
- }
- break;
- case -3:
- if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) {
- if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
- __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
- } else if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) {
- return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
- }
- }
- break;
- case 3:
- if ((8 * sizeof(int) > 2 * PyLong_SHIFT)) {
- if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
- __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
- } else if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) {
- return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
- }
- }
- break;
- case -4:
- if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) {
- if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
- __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
- } else if ((8 * sizeof(int) - 1 > 4 * PyLong_SHIFT)) {
- return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
- }
- }
- break;
- case 4:
- if ((8 * sizeof(int) > 3 * PyLong_SHIFT)) {
- if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
- __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
- } else if ((8 * sizeof(int) - 1 > 4 * PyLong_SHIFT)) {
- return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
- }
- }
- break;
- }
- }
-#endif
- if ((sizeof(int) <= sizeof(long))) {
- __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x))
-#ifdef HAVE_LONG_LONG
- } else if ((sizeof(int) <= sizeof(PY_LONG_LONG))) {
- __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x))
-#endif
- }
- }
- {
- int val;
- int ret = -1;
-#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
- Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
- x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
- if (unlikely(bytes_copied == -1)) {
- } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
- goto raise_overflow;
- } else {
- ret = 0;
- }
-#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
- int one = 1; int is_little = (int)*(unsigned char *)&one;
- unsigned char *bytes = (unsigned char *)&val;
- ret = _PyLong_AsByteArray((PyLongObject *)x,
- bytes, sizeof(val),
- is_little, !is_unsigned);
-#else
- PyObject *v;
- PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
- int bits, remaining_bits, is_negative = 0;
- int chunk_size = (sizeof(long) < 8) ? 30 : 62;
- if (likely(PyLong_CheckExact(x))) {
- v = __Pyx_NewRef(x);
- } else {
- v = PyNumber_Long(x);
- if (unlikely(!v)) return (int) -1;
- assert(PyLong_CheckExact(v));
- }
- {
- int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
- if (unlikely(result < 0)) {
- Py_DECREF(v);
- return (int) -1;
- }
- is_negative = result == 1;
- }
- if (is_unsigned && unlikely(is_negative)) {
- Py_DECREF(v);
- goto raise_neg_overflow;
- } else if (is_negative) {
- stepval = PyNumber_Invert(v);
- Py_DECREF(v);
- if (unlikely(!stepval))
- return (int) -1;
- } else {
- stepval = v;
- }
- v = NULL;
- val = (int) 0;
- mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
- shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
- for (bits = 0; bits < (int) sizeof(int) * 8 - chunk_size; bits += chunk_size) {
- PyObject *tmp, *digit;
- long idigit;
- digit = PyNumber_And(stepval, mask);
- if (unlikely(!digit)) goto done;
- idigit = PyLong_AsLong(digit);
- Py_DECREF(digit);
- if (unlikely(idigit < 0)) goto done;
- val |= ((int) idigit) << bits;
- tmp = PyNumber_Rshift(stepval, shift);
- if (unlikely(!tmp)) goto done;
- Py_DECREF(stepval); stepval = tmp;
- }
- Py_DECREF(shift); shift = NULL;
- Py_DECREF(mask); mask = NULL;
- {
- long idigit = PyLong_AsLong(stepval);
- if (unlikely(idigit < 0)) goto done;
- remaining_bits = ((int) sizeof(int) * 8) - bits - (is_unsigned ? 0 : 1);
- if (unlikely(idigit >= (1L << remaining_bits)))
- goto raise_overflow;
- val |= ((int) idigit) << bits;
- }
- if (!is_unsigned) {
- if (unlikely(val & (((int) 1) << (sizeof(int) * 8 - 1))))
- goto raise_overflow;
- if (is_negative)
- val = ~val;
- }
- ret = 0;
- done:
- Py_XDECREF(shift);
- Py_XDECREF(mask);
- Py_XDECREF(stepval);
-#endif
- if (unlikely(ret))
- return (int) -1;
- return val;
- }
-raise_overflow:
- PyErr_SetString(PyExc_OverflowError,
- "value too large to convert to int");
- return (int) -1;
-raise_neg_overflow:
- PyErr_SetString(PyExc_OverflowError,
- "can't convert negative value to int");
- return (int) -1;
-}
-
-/* FastTypeChecks */
- #if CYTHON_COMPILING_IN_CPYTHON
-static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) {
- while (a) {
- a = __Pyx_PyType_GetSlot(a, tp_base, PyTypeObject*);
- if (a == b)
- return 1;
- }
- return b == &PyBaseObject_Type;
-}
-static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) {
- PyObject *mro;
- if (a == b) return 1;
- mro = a->tp_mro;
- if (likely(mro)) {
- Py_ssize_t i, n;
- n = PyTuple_GET_SIZE(mro);
- for (i = 0; i < n; i++) {
- if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b)
- return 1;
- }
- return 0;
- }
- return __Pyx_InBases(a, b);
-}
-static CYTHON_INLINE int __Pyx_IsAnySubtype2(PyTypeObject *cls, PyTypeObject *a, PyTypeObject *b) {
- PyObject *mro;
- if (cls == a || cls == b) return 1;
- mro = cls->tp_mro;
- if (likely(mro)) {
- Py_ssize_t i, n;
- n = PyTuple_GET_SIZE(mro);
- for (i = 0; i < n; i++) {
- PyObject *base = PyTuple_GET_ITEM(mro, i);
- if (base == (PyObject *)a || base == (PyObject *)b)
- return 1;
- }
- return 0;
- }
- return __Pyx_InBases(cls, a) || __Pyx_InBases(cls, b);
-}
-#if PY_MAJOR_VERSION == 2
-static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) {
- PyObject *exception, *value, *tb;
- int res;
- __Pyx_PyThreadState_declare
- __Pyx_PyThreadState_assign
- __Pyx_ErrFetch(&exception, &value, &tb);
- res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0;
- if (unlikely(res == -1)) {
- PyErr_WriteUnraisable(err);
- res = 0;
- }
- if (!res) {
- res = PyObject_IsSubclass(err, exc_type2);
- if (unlikely(res == -1)) {
- PyErr_WriteUnraisable(err);
- res = 0;
- }
- }
- __Pyx_ErrRestore(exception, value, tb);
- return res;
-}
-#else
-static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) {
- if (exc_type1) {
- return __Pyx_IsAnySubtype2((PyTypeObject*)err, (PyTypeObject*)exc_type1, (PyTypeObject*)exc_type2);
- } else {
- return __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2);
- }
-}
-#endif
-static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
- Py_ssize_t i, n;
- assert(PyExceptionClass_Check(exc_type));
- n = PyTuple_GET_SIZE(tuple);
-#if PY_MAJOR_VERSION >= 3
- for (i=0; i= 0x030B00A4
- return Py_Version & ~0xFFUL;
-#else
- const char* rt_version = Py_GetVersion();
- unsigned long version = 0;
- unsigned long factor = 0x01000000UL;
- unsigned int digit = 0;
- int i = 0;
- while (factor) {
- while ('0' <= rt_version[i] && rt_version[i] <= '9') {
- digit = digit * 10 + (unsigned int) (rt_version[i] - '0');
- ++i;
- }
- version += factor * digit;
- if (rt_version[i] != '.')
- break;
- digit = 0;
- factor >>= 8;
- ++i;
- }
- return version;
-#endif
-}
-static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer) {
- const unsigned long MAJOR_MINOR = 0xFFFF0000UL;
- if ((rt_version & MAJOR_MINOR) == (ct_version & MAJOR_MINOR))
- return 0;
- if (likely(allow_newer && (rt_version & MAJOR_MINOR) > (ct_version & MAJOR_MINOR)))
- return 1;
- {
- char message[200];
- PyOS_snprintf(message, sizeof(message),
- "compile time Python version %d.%d "
- "of module '%.100s' "
- "%s "
- "runtime version %d.%d",
- (int) (ct_version >> 24), (int) ((ct_version >> 16) & 0xFF),
- __Pyx_MODULE_NAME,
- (allow_newer) ? "was newer than" : "does not match",
- (int) (rt_version >> 24), (int) ((rt_version >> 16) & 0xFF)
- );
- return PyErr_WarnEx(NULL, message, 1);
- }
-}
-
-/* InitStrings */
- #if PY_MAJOR_VERSION >= 3
-static int __Pyx_InitString(__Pyx_StringTabEntry t, PyObject **str) {
- if (t.is_unicode | t.is_str) {
- if (t.intern) {
- *str = PyUnicode_InternFromString(t.s);
- } else if (t.encoding) {
- *str = PyUnicode_Decode(t.s, t.n - 1, t.encoding, NULL);
- } else {
- *str = PyUnicode_FromStringAndSize(t.s, t.n - 1);
- }
- } else {
- *str = PyBytes_FromStringAndSize(t.s, t.n - 1);
- }
- if (!*str)
- return -1;
- if (PyObject_Hash(*str) == -1)
- return -1;
- return 0;
-}
-#endif
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
- while (t->p) {
- #if PY_MAJOR_VERSION >= 3
- __Pyx_InitString(*t, t->p);
- #else
- if (t->is_unicode) {
- *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
- } else if (t->intern) {
- *t->p = PyString_InternFromString(t->s);
- } else {
- *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
- }
- if (!*t->p)
- return -1;
- if (PyObject_Hash(*t->p) == -1)
- return -1;
- #endif
- ++t;
- }
- return 0;
-}
-
-#include
-static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s) {
- size_t len = strlen(s);
- if (unlikely(len > (size_t) PY_SSIZE_T_MAX)) {
- PyErr_SetString(PyExc_OverflowError, "byte string is too long");
- return -1;
- }
- return (Py_ssize_t) len;
-}
-static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {
- Py_ssize_t len = __Pyx_ssize_strlen(c_str);
- if (unlikely(len < 0)) return NULL;
- return __Pyx_PyUnicode_FromStringAndSize(c_str, len);
-}
-static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char* c_str) {
- Py_ssize_t len = __Pyx_ssize_strlen(c_str);
- if (unlikely(len < 0)) return NULL;
- return PyByteArray_FromStringAndSize(c_str, len);
-}
-static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) {
- Py_ssize_t ignore;
- return __Pyx_PyObject_AsStringAndSize(o, &ignore);
-}
-#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
-#if !CYTHON_PEP393_ENABLED
-static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
- char* defenc_c;
- PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL);
- if (!defenc) return NULL;
- defenc_c = PyBytes_AS_STRING(defenc);
-#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
- {
- char* end = defenc_c + PyBytes_GET_SIZE(defenc);
- char* c;
- for (c = defenc_c; c < end; c++) {
- if ((unsigned char) (*c) >= 128) {
- PyUnicode_AsASCIIString(o);
- return NULL;
- }
- }
- }
-#endif
- *length = PyBytes_GET_SIZE(defenc);
- return defenc_c;
-}
-#else
-static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
- if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL;
-#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
- if (likely(PyUnicode_IS_ASCII(o))) {
- *length = PyUnicode_GET_LENGTH(o);
- return PyUnicode_AsUTF8(o);
- } else {
- PyUnicode_AsASCIIString(o);
- return NULL;
- }
-#else
- return PyUnicode_AsUTF8AndSize(o, length);
-#endif
-}
-#endif
-#endif
-static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
-#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
- if (
-#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
- __Pyx_sys_getdefaultencoding_not_ascii &&
-#endif
- PyUnicode_Check(o)) {
- return __Pyx_PyUnicode_AsStringAndSize(o, length);
- } else
-#endif
-#if (!CYTHON_COMPILING_IN_PYPY && !CYTHON_COMPILING_IN_LIMITED_API) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE))
- if (PyByteArray_Check(o)) {
- *length = PyByteArray_GET_SIZE(o);
- return PyByteArray_AS_STRING(o);
- } else
-#endif
- {
- char* result;
- int r = PyBytes_AsStringAndSize(o, &result, length);
- if (unlikely(r < 0)) {
- return NULL;
- } else {
- return result;
- }
- }
-}
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
- int is_true = x == Py_True;
- if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
- else return PyObject_IsTrue(x);
-}
-static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) {
- int retval;
- if (unlikely(!x)) return -1;
- retval = __Pyx_PyObject_IsTrue(x);
- Py_DECREF(x);
- return retval;
-}
-static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) {
- __Pyx_TypeName result_type_name = __Pyx_PyType_GetName(Py_TYPE(result));
-#if PY_MAJOR_VERSION >= 3
- if (PyLong_Check(result)) {
- if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1,
- "__int__ returned non-int (type " __Pyx_FMT_TYPENAME "). "
- "The ability to return an instance of a strict subclass of int is deprecated, "
- "and may be removed in a future version of Python.",
- result_type_name)) {
- __Pyx_DECREF_TypeName(result_type_name);
- Py_DECREF(result);
- return NULL;
- }
- __Pyx_DECREF_TypeName(result_type_name);
- return result;
- }
-#endif
- PyErr_Format(PyExc_TypeError,
- "__%.4s__ returned non-%.4s (type " __Pyx_FMT_TYPENAME ")",
- type_name, type_name, result_type_name);
- __Pyx_DECREF_TypeName(result_type_name);
- Py_DECREF(result);
- return NULL;
-}
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) {
-#if CYTHON_USE_TYPE_SLOTS
- PyNumberMethods *m;
-#endif
- const char *name = NULL;
- PyObject *res = NULL;
-#if PY_MAJOR_VERSION < 3
- if (likely(PyInt_Check(x) || PyLong_Check(x)))
-#else
- if (likely(PyLong_Check(x)))
-#endif
- return __Pyx_NewRef(x);
-#if CYTHON_USE_TYPE_SLOTS
- m = Py_TYPE(x)->tp_as_number;
- #if PY_MAJOR_VERSION < 3
- if (m && m->nb_int) {
- name = "int";
- res = m->nb_int(x);
- }
- else if (m && m->nb_long) {
- name = "long";
- res = m->nb_long(x);
- }
- #else
- if (likely(m && m->nb_int)) {
- name = "int";
- res = m->nb_int(x);
- }
- #endif
-#else
- if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) {
- res = PyNumber_Int(x);
- }
-#endif
- if (likely(res)) {
-#if PY_MAJOR_VERSION < 3
- if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) {
-#else
- if (unlikely(!PyLong_CheckExact(res))) {
-#endif
- return __Pyx_PyNumber_IntOrLongWrongResultType(res, name);
- }
- }
- else if (!PyErr_Occurred()) {
- PyErr_SetString(PyExc_TypeError,
- "an integer is required");
- }
- return res;
-}
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
- Py_ssize_t ival;
- PyObject *x;
-#if PY_MAJOR_VERSION < 3
- if (likely(PyInt_CheckExact(b))) {
- if (sizeof(Py_ssize_t) >= sizeof(long))
- return PyInt_AS_LONG(b);
- else
- return PyInt_AsSsize_t(b);
- }
-#endif
- if (likely(PyLong_CheckExact(b))) {
- #if CYTHON_USE_PYLONG_INTERNALS
- if (likely(__Pyx_PyLong_IsCompact(b))) {
- return __Pyx_PyLong_CompactValue(b);
- } else {
- const digit* digits = __Pyx_PyLong_Digits(b);
- const Py_ssize_t size = __Pyx_PyLong_SignedDigitCount(b);
- switch (size) {
- case 2:
- if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {
- return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
- }
- break;
- case -2:
- if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {
- return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
- }
- break;
- case 3:
- if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {
- return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
- }
- break;
- case -3:
- if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {
- return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
- }
- break;
- case 4:
- if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {
- return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
- }
- break;
- case -4:
- if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {
- return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
- }
- break;
- }
- }
- #endif
- return PyLong_AsSsize_t(b);
- }
- x = PyNumber_Index(b);
- if (!x) return -1;
- ival = PyInt_AsSsize_t(x);
- Py_DECREF(x);
- return ival;
-}
-static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) {
- if (sizeof(Py_hash_t) == sizeof(Py_ssize_t)) {
- return (Py_hash_t) __Pyx_PyIndex_AsSsize_t(o);
-#if PY_MAJOR_VERSION < 3
- } else if (likely(PyInt_CheckExact(o))) {
- return PyInt_AS_LONG(o);
-#endif
- } else {
- Py_ssize_t ival;
- PyObject *x;
- x = PyNumber_Index(o);
- if (!x) return -1;
- ival = PyInt_AsLong(x);
- Py_DECREF(x);
- return ival;
- }
-}
-static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) {
- return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False);
-}
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
- return PyInt_FromSize_t(ival);
-}
-
-
-/* #### Code section: utility_code_pragmas_end ### */
-#ifdef _MSC_VER
-#pragma warning( pop )
-#endif
-
-
-
-/* #### Code section: end ### */
-#endif /* Py_PYTHON_H */
diff --git a/handlers/payments/robokassa_pay.cpython-312-x86_64-linux-gnu.so b/handlers/payments/robokassa_pay.cpython-312-x86_64-linux-gnu.so
deleted file mode 100755
index 6437cee0..00000000
Binary files a/handlers/payments/robokassa_pay.cpython-312-x86_64-linux-gnu.so and /dev/null differ
diff --git a/handlers/payments/robokassa_pay.py b/handlers/payments/robokassa_pay.py
new file mode 100644
index 00000000..996a8693
--- /dev/null
+++ b/handlers/payments/robokassa_pay.py
@@ -0,0 +1,277 @@
+import hashlib
+from typing import Any
+
+from aiogram import F, Router, types
+from aiogram.fsm.context import FSMContext
+from aiogram.fsm.state import State, StatesGroup
+from aiogram.types import InlineKeyboardButton, InlineKeyboardMarkup
+from aiogram.utils.keyboard import InlineKeyboardBuilder
+from aiohttp import web
+from robokassa import HashAlgorithm, Robokassa
+
+from config import (
+ ROBOKASSA_ENABLE,
+ ROBOKASSA_LOGIN,
+ ROBOKASSA_PASSWORD1,
+ ROBOKASSA_PASSWORD2,
+ ROBOKASSA_TEST_MODE,
+)
+from database import (
+ add_connection,
+ add_payment,
+ check_connection_exists,
+ get_key_count,
+ update_balance,
+)
+from handlers.payments.utils import send_payment_success_notification
+from handlers.texts import PAYMENT_OPTIONS
+from logger import logger
+
+router = Router()
+
+
+class ReplenishBalanceState(StatesGroup):
+ choosing_amount_robokassa = State()
+ waiting_for_payment_confirmation_robokassa = State()
+
+
+if ROBOKASSA_ENABLE:
+ robokassa = Robokassa(
+ merchant_login=ROBOKASSA_LOGIN,
+ password1=ROBOKASSA_PASSWORD1,
+ password2=ROBOKASSA_PASSWORD2,
+ algorithm=HashAlgorithm.md5,
+ is_test=ROBOKASSA_TEST_MODE,
+ )
+
+ logger.info("Robokassa initialized with login: {}", ROBOKASSA_LOGIN)
+
+
+def generate_payment_link(amount, inv_id, description, tg_id):
+ """Генерация ссылки на оплату."""
+ logger.debug(
+ f"Generating payment link for amount: {amount}, inv_id: {inv_id}, description: {description}"
+ )
+ payment_link = robokassa._payment.link.generate_by_script(
+ out_sum=amount,
+ inv_id=inv_id,
+ description="пополнение баланса",
+ id=f"{tg_id}",
+ )
+ logger.info(f"Generated payment link: {payment_link}")
+ return payment_link
+
+
+@router.callback_query(F.data == "pay_robokassa")
+async def process_callback_pay_robokassa(
+ callback_query: types.CallbackQuery, state: FSMContext, session: Any
+):
+ tg_id = callback_query.message.chat.id
+ logger.info(f"User {tg_id} initiated Robokassa payment.")
+
+ builder = InlineKeyboardBuilder()
+ for i in range(0, len(PAYMENT_OPTIONS), 2):
+ if i + 1 < len(PAYMENT_OPTIONS):
+ builder.row(
+ InlineKeyboardButton(
+ text=PAYMENT_OPTIONS[i]["text"],
+ callback_data=f'robokassa_amount|{PAYMENT_OPTIONS[i]["callback_data"]}',
+ ),
+ InlineKeyboardButton(
+ text=PAYMENT_OPTIONS[i + 1]["text"],
+ callback_data=f'robokassa_amount|{PAYMENT_OPTIONS[i + 1]["callback_data"]}',
+ ),
+ )
+ else:
+ builder.row(
+ InlineKeyboardButton(
+ text=PAYMENT_OPTIONS[i]["text"],
+ callback_data=f'robokassa_amount|{PAYMENT_OPTIONS[i]["callback_data"]}',
+ )
+ )
+ builder.row(
+ InlineKeyboardButton(
+ text="💰 Ввести свою сумму",
+ callback_data="enter_custom_amount_robokassa",
+ )
+ )
+ builder.row(InlineKeyboardButton(text="⬅️ Назад", callback_data="pay"))
+
+ key_count = await get_key_count(tg_id)
+
+ if key_count == 0:
+ exists = await check_connection_exists(tg_id)
+ if not exists:
+ await add_connection(tg_id, balance=0.0, trial=0, session=session)
+ logger.info(f"Created new connection for user {tg_id} with balance 0.0.")
+
+ await callback_query.message.answer(
+ text="Выберите сумму пополнения:",
+ reply_markup=builder.as_markup(),
+ )
+ await state.set_state(ReplenishBalanceState.choosing_amount_robokassa)
+ logger.info(f"Displayed amount selection for user {tg_id}.")
+
+
+@router.callback_query(F.data.startswith("robokassa_amount|"))
+async def process_amount_selection(
+ callback_query: types.CallbackQuery, state: FSMContext
+):
+ logger.info(f"Получены данные callback_data: {callback_query.data}")
+
+ data = callback_query.data.split("|")
+ if len(data) != 3 or data[1] != "amount":
+ logger.error("Ошибка: callback_data не соответствует формату.")
+ await callback_query.message.answer("Ошибка: данные повреждены.")
+ return
+
+ amount_str = data[2]
+ try:
+ amount = int(amount_str)
+ if amount <= 0:
+ raise ValueError("Сумма должна быть положительным числом.")
+ except ValueError as e:
+ logger.error(f"Некорректное значение суммы: {amount_str}. Ошибка: {e}")
+ await callback_query.message.answer("Некорректная сумма.")
+ return
+
+ await state.update_data(amount=amount)
+ logger.info(f"User {callback_query.message.chat.id} selected amount: {amount}.")
+ inv_id = 0
+
+ tg_id = callback_query.message.chat.id
+ payment_url = generate_payment_link(amount, inv_id, "Пополнение баланса", tg_id)
+
+ logger.info(f"Payment URL for user {callback_query.message.chat.id}: {payment_url}")
+
+ confirm_keyboard = InlineKeyboardMarkup(
+ inline_keyboard=[
+ [InlineKeyboardButton(text="Оплатить", url=payment_url)],
+ [InlineKeyboardButton(text="⬅️ Назад", callback_data="pay_robokassa")],
+ ]
+ )
+
+ await callback_query.message.answer(
+ text=f"Вы выбрали пополнение на {amount} рублей. Для оплаты перейдите по ссылке ниже:",
+ reply_markup=confirm_keyboard,
+ )
+ logger.info(f"Payment link sent to user {callback_query.message.chat.id}.")
+
+
+async def robokassa_webhook(request):
+ """Обработка webhook-уведомлений от Robokassa с учетом shp_id."""
+ try:
+ params = await request.post()
+
+ logger.info(f"Received webhook params: {params}")
+
+ amount = params.get("OutSum")
+ inv_id = params.get("InvId")
+ shp_id = params.get("shp_id")
+ signature_value = params.get("SignatureValue")
+
+ logger.info(
+ f"OutSum: {amount}, InvId: {inv_id}, shp_id: {shp_id}, SignatureValue: {signature_value}"
+ )
+
+ if not check_payment_signature(params):
+ logger.error("Неверная подпись или данные запроса.")
+ return web.Response(status=400)
+
+ if not amount or not inv_id or not shp_id:
+ logger.error("Отсутствуют обязательные параметры.")
+ return web.Response(status=400)
+
+ tg_id = shp_id
+
+ logger.info(f"Processing payment for user {tg_id} with amount {amount}.")
+
+ await update_balance(int(tg_id), float(amount))
+ await send_payment_success_notification(tg_id, float(amount))
+
+ await add_payment(int(tg_id), float(amount), "robokassa")
+
+ logger.info(f"Payment successful. Balance updated for user {tg_id}.")
+
+ return web.Response(text=f"OK{inv_id}")
+
+ except Exception as e:
+ logger.error(f"Error processing webhook: {e}")
+ return web.Response(status=500)
+
+
+def check_payment_signature(params):
+ """Проверка подписи запроса от Robokassa с учетом shp_id."""
+ out_sum = params.get("OutSum")
+ inv_id = params.get("InvId")
+ signature_value = params.get("SignatureValue")
+ shp_id = params.get("shp_id")
+
+ signature_string = f"{out_sum}:{inv_id}:{ROBOKASSA_PASSWORD2}:shp_id={shp_id}"
+
+ logger.info(f"Signature string before hashing: {signature_string}")
+
+ expected_signature = (
+ hashlib.md5(signature_string.encode("utf-8")).hexdigest().upper()
+ )
+
+ logger.info(f"Expected signature: {expected_signature}")
+ logger.info(f"Received signature: {signature_value}")
+
+ return signature_value.upper() == expected_signature.upper()
+
+
+@router.callback_query(F.data == "enter_custom_amount_robokassa")
+async def process_custom_amount_selection(
+ callback_query: types.CallbackQuery, state: FSMContext
+):
+ tg_id = callback_query.message.chat.id
+ logger.info(f"User {tg_id} chose to enter a custom amount.")
+
+ builder = InlineKeyboardBuilder()
+ builder.row(InlineKeyboardButton(text="🔙 Назад", callback_data="pay_robokassa"))
+
+ await callback_query.message.answer(
+ "Пожалуйста, введите сумму пополнения.",
+ reply_markup=builder.as_markup(),
+ )
+
+ await state.set_state(
+ ReplenishBalanceState.waiting_for_payment_confirmation_robokassa
+ )
+
+
+@router.message(ReplenishBalanceState.waiting_for_payment_confirmation_robokassa)
+async def handle_custom_amount_input(message: types.Message, state: FSMContext):
+ tg_id = message.chat.id
+ logger.info(f"User {tg_id} entered custom amount: {message.text}")
+ inv_id = 0
+
+ try:
+ amount = int(message.text)
+ if amount <= 0:
+ raise ValueError("Сумма должна быть положительным числом.")
+
+ await state.update_data(amount=amount)
+
+ payment_url = generate_payment_link(amount, inv_id, "Пополнение баланса", tg_id)
+
+ logger.info(f"Generated payment link for user {tg_id}: {payment_url}")
+
+ confirm_keyboard = InlineKeyboardMarkup(
+ inline_keyboard=[
+ [InlineKeyboardButton(text="Оплатить", url=payment_url)],
+ [InlineKeyboardButton(text="⬅️ Назад", callback_data="pay_robokassa")],
+ ]
+ )
+
+ await message.answer(
+ text=f"Вы выбрали пополнение на {amount} рублей. Для оплаты перейдите по ссылке ниже:",
+ reply_markup=confirm_keyboard,
+ )
+ await state.clear()
+ except ValueError as e:
+ logger.error(f"Некорректная сумма от пользователя {tg_id}: {e}")
+ await message.answer(
+ text="Введите корректную сумму в рублях (целое положительное число)."
+ )
diff --git a/handlers/payments/yookassa_pay.c b/handlers/payments/yookassa_pay.c
index f7b1b7e4..194fc32d 100644
--- a/handlers/payments/yookassa_pay.c
+++ b/handlers/payments/yookassa_pay.c
@@ -1496,7 +1496,7 @@ struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookass
struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_enter_custom_amount;
struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_custom_amount_input;
-/* "handlers/payments/yookassa_pay.py":43
+/* "handlers/payments/yookassa_pay.py":44
*
*
* @router.callback_query(F.data == "pay_yookassa") # <<<<<<<<<<<<<<
@@ -1517,7 +1517,7 @@ struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_
};
-/* "handlers/payments/yookassa_pay.py":101
+/* "handlers/payments/yookassa_pay.py":102
*
*
* @router.callback_query(F.data.startswith("yookassa_amount|")) # <<<<<<<<<<<<<<
@@ -1540,7 +1540,7 @@ struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process
};
-/* "handlers/payments/yookassa_pay.py":176
+/* "handlers/payments/yookassa_pay.py":177
*
*
* async def yookassa_webhook(request): # <<<<<<<<<<<<<<
@@ -1568,7 +1568,7 @@ struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookass
};
-/* "handlers/payments/yookassa_pay.py":220
+/* "handlers/payments/yookassa_pay.py":221
*
*
* @router.callback_query(F.data == "enter_custom_amount_yookassa") # <<<<<<<<<<<<<<
@@ -1583,7 +1583,7 @@ struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process
};
-/* "handlers/payments/yookassa_pay.py":235
+/* "handlers/payments/yookassa_pay.py":236
*
*
* @router.message(ReplenishBalanceState.entering_custom_amount_yookassa) # <<<<<<<<<<<<<<
@@ -2672,30 +2672,27 @@ static const char __pyx_k_e[] = "e";
static const char __pyx_k_i[] = "i";
static const char __pyx_k_ID[] = "\320\236\321\202\321\201\321\203\321\202\321\201\321\202\320\262\321\203\320\265\321\202 ID \320\277\320\273\320\260\321\202\320\265\320\266\320\260 \320\262 \320\267\320\260\320\277\321\200\320\276\321\201\320\265";
static const char __pyx_k__2[] = "\320\235\320\260\321\200\321\203\321\210\320\265\320\275\320\260 \321\206\320\265\320\273\320\276\321\201\321\202\320\275\320\276\321\201\321\202\321\214 \321\204\320\260\320\271\320\273\320\276\320\262! \320\236\320\261\320\275\320\276\320\262\320\270\321\202\320\265\321\201\321\214 \321\201 \320\277\320\276\320\273\320\275\320\276\320\271 \320\267\320\260\320\274\320\265\320\275\320\276\320\271 \320\277\320\260\320\277\320\272\320\270!";
-static const char __pyx_k__3[] = "\360\237\222\260 \320\222\320\262\320\265\321\201\321\202\320\270 \321\201\320\262\320\276\321\216 \321\201\321\203\320\274\320\274\321\203";
-static const char __pyx_k__4[] = "\342\254\205\357\270\217 \320\235\320\260\320\267\320\260\320\264";
-static const char __pyx_k__5[] = "\320\222\321\213\320\261\320\265\321\200\320\270\321\202\320\265 \321\201\321\203\320\274\320\274\321\203 \320\277\320\276\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217:";
-static const char __pyx_k__7[] = "|";
-static const char __pyx_k__9[] = "\320\237\320\276\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\261\320\260\320\273\320\260\320\275\321\201\320\260";
+static const char __pyx_k__3[] = "\320\222\321\213\320\261\320\265\321\200\320\270\321\202\320\265 \321\201\321\203\320\274\320\274\321\203 \320\277\320\276\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217:";
+static const char __pyx_k__5[] = "|";
+static const char __pyx_k__7[] = "\320\237\320\276\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\261\320\260\320\273\320\260\320\275\321\201\320\260";
+static const char __pyx_k__8[] = "\320\222\321\213 \320\262\321\213\320\261\321\200\320\260\320\273\320\270 \320\277\320\276\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\275\320\260 ";
+static const char __pyx_k__9[] = " \321\200\321\203\320\261\320\273\320\265\320\271.";
static const char __pyx_k_gc[] = "gc";
static const char __pyx_k_id[] = "id";
static const char __pyx_k_Any[] = "Any";
+static const char __pyx_k_PAY[] = "PAY";
static const char __pyx_k_RUB[] = "RUB";
-static const char __pyx_k__10[] = "\320\237\320\276\320\277\320\276\320\273\320\275\320\270\321\202\321\214";
-static const char __pyx_k__11[] = "\320\222\321\213 \320\262\321\213\320\261\321\200\320\260\320\273\320\270 \320\277\320\276\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\275\320\260 ";
-static const char __pyx_k__12[] = " \321\200\321\203\320\261\320\273\320\265\320\271.";
-static const char __pyx_k__13[] = "\320\236\321\210\320\270\320\261\320\272\320\260 \320\277\321\200\320\270 \321\201\320\276\320\267\320\264\320\260\320\275\320\270\320\270 \320\277\320\273\320\260\321\202\320\265\320\266\320\260.";
-static const char __pyx_k__15[] = " \320\275\320\265 \320\267\320\260\320\262\320\265\321\200\321\210\321\221\320\275 \320\270\320\273\320\270 \320\275\320\265 \320\276\320\277\320\273\320\260\321\207\320\265\320\275";
-static const char __pyx_k__16[] = "\320\236\321\210\320\270\320\261\320\272\320\260 \320\277\321\200\320\270 \320\277\321\200\320\276\320\262\320\265\321\200\320\272\320\265 \320\277\320\273\320\260\321\202\320\265\320\266\320\260: ";
-static const char __pyx_k__18[] = "\360\237\224\231 \320\235\320\260\320\267\320\260\320\264";
-static const char __pyx_k__19[] = "\320\237\320\276\320\266\320\260\320\273\321\203\320\271\321\201\321\202\320\260, \320\262\320\262\320\265\320\264\320\270\321\202\320\265 \321\201\321\203\320\274\320\274\321\203 \320\277\320\276\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.";
-static const char __pyx_k__22[] = "\320\241\321\203\320\274\320\274\320\260 \320\264\320\276\320\273\320\266\320\275\320\260 \320\261\321\213\321\202\321\214 \320\261\320\276\320\273\321\214\321\210\320\265 \320\275\321\203\320\273\321\217. \320\237\320\276\320\266\320\260\320\273\321\203\320\271\321\201\321\202\320\260, \320\262\320\262\320\265\320\264\320\270\321\202\320\265 \321\201\321\203\320\274\320\274\321\203 \320\265\321\211\320\265 \321\200\320\260\320\267:";
-static const char __pyx_k__23[] = "\320\236\321\210\320\270\320\261\320\272\320\260 \320\277\321\200\320\270 \321\201\320\276\320\267\320\264\320\260\320\275\320\270\320\270 \320\277\320\273\320\260\321\202\320\265\320\266\320\260: ";
-static const char __pyx_k__24[] = "\320\237\321\200\320\276\320\270\320\267\320\276\321\210\320\273\320\260 \320\276\321\210\320\270\320\261\320\272\320\260 \320\277\321\200\320\270 \321\201\320\276\320\267\320\264\320\260\320\275\320\270\320\270 \320\277\320\273\320\260\321\202\320\265\320\266\320\260.";
-static const char __pyx_k__25[] = "\320\235\320\265\320\272\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\260\321\217 \321\201\321\203\320\274\320\274\320\260. \320\237\320\276\320\266\320\260\320\273\321\203\320\271\321\201\321\202\320\260, \320\262\320\262\320\265\320\264\320\270\321\202\320\265 \321\201\321\203\320\274\320\274\321\203 \320\265\321\211\320\265 \321\200\320\260\320\267:";
-static const char __pyx_k__26[] = "*";
-static const char __pyx_k__27[] = ".";
-static const char __pyx_k__34[] = "?";
+static const char __pyx_k__10[] = "\320\236\321\210\320\270\320\261\320\272\320\260 \320\277\321\200\320\270 \321\201\320\276\320\267\320\264\320\260\320\275\320\270\320\270 \320\277\320\273\320\260\321\202\320\265\320\266\320\260.";
+static const char __pyx_k__12[] = " \320\275\320\265 \320\267\320\260\320\262\320\265\321\200\321\210\321\221\320\275 \320\270\320\273\320\270 \320\275\320\265 \320\276\320\277\320\273\320\260\321\207\320\265\320\275";
+static const char __pyx_k__13[] = "\320\236\321\210\320\270\320\261\320\272\320\260 \320\277\321\200\320\270 \320\277\321\200\320\276\320\262\320\265\321\200\320\272\320\265 \320\277\320\273\320\260\321\202\320\265\320\266\320\260: ";
+static const char __pyx_k__15[] = "\320\237\320\276\320\266\320\260\320\273\321\203\320\271\321\201\321\202\320\260, \320\262\320\262\320\265\320\264\320\270\321\202\320\265 \321\201\321\203\320\274\320\274\321\203 \320\277\320\276\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.";
+static const char __pyx_k__18[] = "\320\241\321\203\320\274\320\274\320\260 \320\264\320\276\320\273\320\266\320\275\320\260 \320\261\321\213\321\202\321\214 \320\261\320\276\320\273\321\214\321\210\320\265 \320\275\321\203\320\273\321\217. \320\237\320\276\320\266\320\260\320\273\321\203\320\271\321\201\321\202\320\260, \320\262\320\262\320\265\320\264\320\270\321\202\320\265 \321\201\321\203\320\274\320\274\321\203 \320\265\321\211\320\265 \321\200\320\260\320\267:";
+static const char __pyx_k__19[] = "\320\236\321\210\320\270\320\261\320\272\320\260 \320\277\321\200\320\270 \321\201\320\276\320\267\320\264\320\260\320\275\320\270\320\270 \320\277\320\273\320\260\321\202\320\265\320\266\320\260: ";
+static const char __pyx_k__20[] = "\320\237\321\200\320\276\320\270\320\267\320\276\321\210\320\273\320\260 \320\276\321\210\320\270\320\261\320\272\320\260 \320\277\321\200\320\270 \321\201\320\276\320\267\320\264\320\260\320\275\320\270\320\270 \320\277\320\273\320\260\321\202\320\265\320\266\320\260.";
+static const char __pyx_k__21[] = "\320\235\320\265\320\272\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\260\321\217 \321\201\321\203\320\274\320\274\320\260. \320\237\320\276\320\266\320\260\320\273\321\203\320\271\321\201\321\202\320\260, \320\262\320\262\320\265\320\264\320\270\321\202\320\265 \321\201\321\203\320\274\320\274\321\203 \320\265\321\211\320\265 \321\200\320\260\320\267:";
+static const char __pyx_k__22[] = "*";
+static const char __pyx_k__23[] = ".";
+static const char __pyx_k__30[] = "?";
static const char __pyx_k_doc[] = "__doc__";
static const char __pyx_k_get[] = "get";
static const char __pyx_k_pay[] = "pay";
@@ -2703,6 +2700,7 @@ static const char __pyx_k_row[] = "row";
static const char __pyx_k_url[] = "url";
static const char __pyx_k_web[] = "web";
static const char __pyx_k_1_00[] = "1.00";
+static const char __pyx_k_BACK[] = "BACK";
static const char __pyx_k_ID_2[] = "\320\237\320\273\320\260\321\202\320\265\320\266 \321\201 ID ";
static const char __pyx_k_args[] = "args";
static const char __pyx_k_chat[] = "chat";
@@ -2792,6 +2790,7 @@ static const char __pyx_k_metaclass[] = "__metaclass__";
static const char __pyx_k_set_state[] = "set_state";
static const char __pyx_k_succeeded[] = "succeeded";
static const char __pyx_k_Account_ID[] = "Account ID: ";
+static const char __pyx_k_CUSTOM_SUM[] = "CUSTOM_SUM";
static const char __pyx_k_FSMContext[] = "FSMContext";
static const char __pyx_k_Secret_Key[] = "Secret Key: ";
static const char __pyx_k_ValueError[] = "ValueError";
@@ -2867,6 +2866,7 @@ static const char __pyx_k_check_connection_exists[] = "check_connection_exists";
static const char __pyx_k_handlers_payments_utils[] = "handlers.payments.utils";
static const char __pyx_k_choosing_amount_yookassa[] = "choosing_amount_yookassa";
static const char __pyx_k_process_amount_selection[] = "process_amount_selection";
+static const char __pyx_k_handlers_buttons_yookassa[] = "handlers.buttons.yookassa";
static const char __pyx_k_process_custom_amount_input[] = "process_custom_amount_input";
static const char __pyx_k_process_enter_custom_amount[] = "process_enter_custom_amount";
static const char __pyx_k_enter_custom_amount_yookassa[] = "enter_custom_amount_yookassa";
@@ -2932,6 +2932,8 @@ typedef struct {
PyObject *__pyx_kp_u_API_Yookassa;
PyObject *__pyx_kp_u_Account_ID;
PyObject *__pyx_n_s_Any;
+ PyObject *__pyx_n_s_BACK;
+ PyObject *__pyx_n_s_CUSTOM_SUM;
PyObject *__pyx_n_s_Configuration;
PyObject *__pyx_n_s_F;
PyObject *__pyx_n_s_FSMContext;
@@ -2942,6 +2944,7 @@ typedef struct {
PyObject *__pyx_n_s_InlineKeyboardButton;
PyObject *__pyx_n_s_InlineKeyboardMarkup;
PyObject *__pyx_n_s_MAIN_SECRET;
+ PyObject *__pyx_n_s_PAY;
PyObject *__pyx_n_s_PAYMENT_OPTIONS;
PyObject *__pyx_n_u_PIRAT0ETO7DLYA9TEBYA;
PyObject *__pyx_n_s_Payment;
@@ -2960,26 +2963,22 @@ typedef struct {
PyObject *__pyx_n_s_YOOKASSA_HASH;
PyObject *__pyx_n_s_YOOKASSA_SECRET_KEY;
PyObject *__pyx_n_s_YOOKASSA_SHOP_ID;
- PyObject *__pyx_n_u__10;
- PyObject *__pyx_kp_u__11;
+ PyObject *__pyx_kp_u__10;
PyObject *__pyx_kp_u__12;
PyObject *__pyx_kp_u__13;
PyObject *__pyx_kp_u__15;
- PyObject *__pyx_kp_u__16;
PyObject *__pyx_kp_u__18;
PyObject *__pyx_kp_u__19;
PyObject *__pyx_kp_u__2;
- PyObject *__pyx_kp_u__22;
+ PyObject *__pyx_kp_u__20;
+ PyObject *__pyx_kp_u__21;
+ PyObject *__pyx_n_s__22;
PyObject *__pyx_kp_u__23;
- PyObject *__pyx_kp_u__24;
- PyObject *__pyx_kp_u__25;
- PyObject *__pyx_n_s__26;
- PyObject *__pyx_kp_u__27;
PyObject *__pyx_kp_u__3;
- PyObject *__pyx_n_s__34;
- PyObject *__pyx_kp_u__4;
+ PyObject *__pyx_n_s__30;
PyObject *__pyx_kp_u__5;
PyObject *__pyx_kp_u__7;
+ PyObject *__pyx_kp_u__8;
PyObject *__pyx_kp_u__9;
PyObject *__pyx_n_s_account_id;
PyObject *__pyx_n_s_add_connection;
@@ -3045,6 +3044,7 @@ typedef struct {
PyObject *__pyx_kp_u_gc;
PyObject *__pyx_n_s_get;
PyObject *__pyx_n_s_get_key_count;
+ PyObject *__pyx_n_s_handlers_buttons_yookassa;
PyObject *__pyx_n_s_handlers_payments_gift;
PyObject *__pyx_n_s_handlers_payments_utils;
PyObject *__pyx_n_s_handlers_payments_yookassa_pay;
@@ -3155,18 +3155,18 @@ typedef struct {
PyObject *__pyx_int_400;
PyObject *__pyx_int_500;
PyObject *__pyx_codeobj_;
- PyObject *__pyx_tuple__8;
- PyObject *__pyx_tuple__20;
+ PyObject *__pyx_tuple__6;
+ PyObject *__pyx_tuple__16;
+ PyObject *__pyx_tuple__24;
+ PyObject *__pyx_tuple__25;
+ PyObject *__pyx_tuple__26;
+ PyObject *__pyx_tuple__27;
PyObject *__pyx_tuple__28;
PyObject *__pyx_tuple__29;
- PyObject *__pyx_tuple__30;
- PyObject *__pyx_tuple__31;
- PyObject *__pyx_tuple__32;
- PyObject *__pyx_tuple__33;
- PyObject *__pyx_codeobj__6;
+ PyObject *__pyx_codeobj__4;
+ PyObject *__pyx_codeobj__11;
PyObject *__pyx_codeobj__14;
PyObject *__pyx_codeobj__17;
- PyObject *__pyx_codeobj__21;
} __pyx_mstate;
#if CYTHON_USE_MODULE_STATE
@@ -3224,6 +3224,8 @@ static int __pyx_m_clear(PyObject *m) {
Py_CLEAR(clear_module_state->__pyx_kp_u_API_Yookassa);
Py_CLEAR(clear_module_state->__pyx_kp_u_Account_ID);
Py_CLEAR(clear_module_state->__pyx_n_s_Any);
+ Py_CLEAR(clear_module_state->__pyx_n_s_BACK);
+ Py_CLEAR(clear_module_state->__pyx_n_s_CUSTOM_SUM);
Py_CLEAR(clear_module_state->__pyx_n_s_Configuration);
Py_CLEAR(clear_module_state->__pyx_n_s_F);
Py_CLEAR(clear_module_state->__pyx_n_s_FSMContext);
@@ -3234,6 +3236,7 @@ static int __pyx_m_clear(PyObject *m) {
Py_CLEAR(clear_module_state->__pyx_n_s_InlineKeyboardButton);
Py_CLEAR(clear_module_state->__pyx_n_s_InlineKeyboardMarkup);
Py_CLEAR(clear_module_state->__pyx_n_s_MAIN_SECRET);
+ Py_CLEAR(clear_module_state->__pyx_n_s_PAY);
Py_CLEAR(clear_module_state->__pyx_n_s_PAYMENT_OPTIONS);
Py_CLEAR(clear_module_state->__pyx_n_u_PIRAT0ETO7DLYA9TEBYA);
Py_CLEAR(clear_module_state->__pyx_n_s_Payment);
@@ -3252,26 +3255,22 @@ static int __pyx_m_clear(PyObject *m) {
Py_CLEAR(clear_module_state->__pyx_n_s_YOOKASSA_HASH);
Py_CLEAR(clear_module_state->__pyx_n_s_YOOKASSA_SECRET_KEY);
Py_CLEAR(clear_module_state->__pyx_n_s_YOOKASSA_SHOP_ID);
- Py_CLEAR(clear_module_state->__pyx_n_u__10);
- Py_CLEAR(clear_module_state->__pyx_kp_u__11);
+ Py_CLEAR(clear_module_state->__pyx_kp_u__10);
Py_CLEAR(clear_module_state->__pyx_kp_u__12);
Py_CLEAR(clear_module_state->__pyx_kp_u__13);
Py_CLEAR(clear_module_state->__pyx_kp_u__15);
- Py_CLEAR(clear_module_state->__pyx_kp_u__16);
Py_CLEAR(clear_module_state->__pyx_kp_u__18);
Py_CLEAR(clear_module_state->__pyx_kp_u__19);
Py_CLEAR(clear_module_state->__pyx_kp_u__2);
- Py_CLEAR(clear_module_state->__pyx_kp_u__22);
+ Py_CLEAR(clear_module_state->__pyx_kp_u__20);
+ Py_CLEAR(clear_module_state->__pyx_kp_u__21);
+ Py_CLEAR(clear_module_state->__pyx_n_s__22);
Py_CLEAR(clear_module_state->__pyx_kp_u__23);
- Py_CLEAR(clear_module_state->__pyx_kp_u__24);
- Py_CLEAR(clear_module_state->__pyx_kp_u__25);
- Py_CLEAR(clear_module_state->__pyx_n_s__26);
- Py_CLEAR(clear_module_state->__pyx_kp_u__27);
Py_CLEAR(clear_module_state->__pyx_kp_u__3);
- Py_CLEAR(clear_module_state->__pyx_n_s__34);
- Py_CLEAR(clear_module_state->__pyx_kp_u__4);
+ Py_CLEAR(clear_module_state->__pyx_n_s__30);
Py_CLEAR(clear_module_state->__pyx_kp_u__5);
Py_CLEAR(clear_module_state->__pyx_kp_u__7);
+ Py_CLEAR(clear_module_state->__pyx_kp_u__8);
Py_CLEAR(clear_module_state->__pyx_kp_u__9);
Py_CLEAR(clear_module_state->__pyx_n_s_account_id);
Py_CLEAR(clear_module_state->__pyx_n_s_add_connection);
@@ -3337,6 +3336,7 @@ static int __pyx_m_clear(PyObject *m) {
Py_CLEAR(clear_module_state->__pyx_kp_u_gc);
Py_CLEAR(clear_module_state->__pyx_n_s_get);
Py_CLEAR(clear_module_state->__pyx_n_s_get_key_count);
+ Py_CLEAR(clear_module_state->__pyx_n_s_handlers_buttons_yookassa);
Py_CLEAR(clear_module_state->__pyx_n_s_handlers_payments_gift);
Py_CLEAR(clear_module_state->__pyx_n_s_handlers_payments_utils);
Py_CLEAR(clear_module_state->__pyx_n_s_handlers_payments_yookassa_pay);
@@ -3447,18 +3447,18 @@ static int __pyx_m_clear(PyObject *m) {
Py_CLEAR(clear_module_state->__pyx_int_400);
Py_CLEAR(clear_module_state->__pyx_int_500);
Py_CLEAR(clear_module_state->__pyx_codeobj_);
- Py_CLEAR(clear_module_state->__pyx_tuple__8);
- Py_CLEAR(clear_module_state->__pyx_tuple__20);
+ Py_CLEAR(clear_module_state->__pyx_tuple__6);
+ Py_CLEAR(clear_module_state->__pyx_tuple__16);
+ Py_CLEAR(clear_module_state->__pyx_tuple__24);
+ Py_CLEAR(clear_module_state->__pyx_tuple__25);
+ Py_CLEAR(clear_module_state->__pyx_tuple__26);
+ Py_CLEAR(clear_module_state->__pyx_tuple__27);
Py_CLEAR(clear_module_state->__pyx_tuple__28);
Py_CLEAR(clear_module_state->__pyx_tuple__29);
- Py_CLEAR(clear_module_state->__pyx_tuple__30);
- Py_CLEAR(clear_module_state->__pyx_tuple__31);
- Py_CLEAR(clear_module_state->__pyx_tuple__32);
- Py_CLEAR(clear_module_state->__pyx_tuple__33);
- Py_CLEAR(clear_module_state->__pyx_codeobj__6);
+ Py_CLEAR(clear_module_state->__pyx_codeobj__4);
+ Py_CLEAR(clear_module_state->__pyx_codeobj__11);
Py_CLEAR(clear_module_state->__pyx_codeobj__14);
Py_CLEAR(clear_module_state->__pyx_codeobj__17);
- Py_CLEAR(clear_module_state->__pyx_codeobj__21);
return 0;
}
#endif
@@ -3494,6 +3494,8 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
Py_VISIT(traverse_module_state->__pyx_kp_u_API_Yookassa);
Py_VISIT(traverse_module_state->__pyx_kp_u_Account_ID);
Py_VISIT(traverse_module_state->__pyx_n_s_Any);
+ Py_VISIT(traverse_module_state->__pyx_n_s_BACK);
+ Py_VISIT(traverse_module_state->__pyx_n_s_CUSTOM_SUM);
Py_VISIT(traverse_module_state->__pyx_n_s_Configuration);
Py_VISIT(traverse_module_state->__pyx_n_s_F);
Py_VISIT(traverse_module_state->__pyx_n_s_FSMContext);
@@ -3504,6 +3506,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
Py_VISIT(traverse_module_state->__pyx_n_s_InlineKeyboardButton);
Py_VISIT(traverse_module_state->__pyx_n_s_InlineKeyboardMarkup);
Py_VISIT(traverse_module_state->__pyx_n_s_MAIN_SECRET);
+ Py_VISIT(traverse_module_state->__pyx_n_s_PAY);
Py_VISIT(traverse_module_state->__pyx_n_s_PAYMENT_OPTIONS);
Py_VISIT(traverse_module_state->__pyx_n_u_PIRAT0ETO7DLYA9TEBYA);
Py_VISIT(traverse_module_state->__pyx_n_s_Payment);
@@ -3522,26 +3525,22 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
Py_VISIT(traverse_module_state->__pyx_n_s_YOOKASSA_HASH);
Py_VISIT(traverse_module_state->__pyx_n_s_YOOKASSA_SECRET_KEY);
Py_VISIT(traverse_module_state->__pyx_n_s_YOOKASSA_SHOP_ID);
- Py_VISIT(traverse_module_state->__pyx_n_u__10);
- Py_VISIT(traverse_module_state->__pyx_kp_u__11);
+ Py_VISIT(traverse_module_state->__pyx_kp_u__10);
Py_VISIT(traverse_module_state->__pyx_kp_u__12);
Py_VISIT(traverse_module_state->__pyx_kp_u__13);
Py_VISIT(traverse_module_state->__pyx_kp_u__15);
- Py_VISIT(traverse_module_state->__pyx_kp_u__16);
Py_VISIT(traverse_module_state->__pyx_kp_u__18);
Py_VISIT(traverse_module_state->__pyx_kp_u__19);
Py_VISIT(traverse_module_state->__pyx_kp_u__2);
- Py_VISIT(traverse_module_state->__pyx_kp_u__22);
+ Py_VISIT(traverse_module_state->__pyx_kp_u__20);
+ Py_VISIT(traverse_module_state->__pyx_kp_u__21);
+ Py_VISIT(traverse_module_state->__pyx_n_s__22);
Py_VISIT(traverse_module_state->__pyx_kp_u__23);
- Py_VISIT(traverse_module_state->__pyx_kp_u__24);
- Py_VISIT(traverse_module_state->__pyx_kp_u__25);
- Py_VISIT(traverse_module_state->__pyx_n_s__26);
- Py_VISIT(traverse_module_state->__pyx_kp_u__27);
Py_VISIT(traverse_module_state->__pyx_kp_u__3);
- Py_VISIT(traverse_module_state->__pyx_n_s__34);
- Py_VISIT(traverse_module_state->__pyx_kp_u__4);
+ Py_VISIT(traverse_module_state->__pyx_n_s__30);
Py_VISIT(traverse_module_state->__pyx_kp_u__5);
Py_VISIT(traverse_module_state->__pyx_kp_u__7);
+ Py_VISIT(traverse_module_state->__pyx_kp_u__8);
Py_VISIT(traverse_module_state->__pyx_kp_u__9);
Py_VISIT(traverse_module_state->__pyx_n_s_account_id);
Py_VISIT(traverse_module_state->__pyx_n_s_add_connection);
@@ -3607,6 +3606,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
Py_VISIT(traverse_module_state->__pyx_kp_u_gc);
Py_VISIT(traverse_module_state->__pyx_n_s_get);
Py_VISIT(traverse_module_state->__pyx_n_s_get_key_count);
+ Py_VISIT(traverse_module_state->__pyx_n_s_handlers_buttons_yookassa);
Py_VISIT(traverse_module_state->__pyx_n_s_handlers_payments_gift);
Py_VISIT(traverse_module_state->__pyx_n_s_handlers_payments_utils);
Py_VISIT(traverse_module_state->__pyx_n_s_handlers_payments_yookassa_pay);
@@ -3717,18 +3717,18 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
Py_VISIT(traverse_module_state->__pyx_int_400);
Py_VISIT(traverse_module_state->__pyx_int_500);
Py_VISIT(traverse_module_state->__pyx_codeobj_);
- Py_VISIT(traverse_module_state->__pyx_tuple__8);
- Py_VISIT(traverse_module_state->__pyx_tuple__20);
+ Py_VISIT(traverse_module_state->__pyx_tuple__6);
+ Py_VISIT(traverse_module_state->__pyx_tuple__16);
+ Py_VISIT(traverse_module_state->__pyx_tuple__24);
+ Py_VISIT(traverse_module_state->__pyx_tuple__25);
+ Py_VISIT(traverse_module_state->__pyx_tuple__26);
+ Py_VISIT(traverse_module_state->__pyx_tuple__27);
Py_VISIT(traverse_module_state->__pyx_tuple__28);
Py_VISIT(traverse_module_state->__pyx_tuple__29);
- Py_VISIT(traverse_module_state->__pyx_tuple__30);
- Py_VISIT(traverse_module_state->__pyx_tuple__31);
- Py_VISIT(traverse_module_state->__pyx_tuple__32);
- Py_VISIT(traverse_module_state->__pyx_tuple__33);
- Py_VISIT(traverse_module_state->__pyx_codeobj__6);
+ Py_VISIT(traverse_module_state->__pyx_codeobj__4);
+ Py_VISIT(traverse_module_state->__pyx_codeobj__11);
Py_VISIT(traverse_module_state->__pyx_codeobj__14);
Py_VISIT(traverse_module_state->__pyx_codeobj__17);
- Py_VISIT(traverse_module_state->__pyx_codeobj__21);
return 0;
}
#endif
@@ -3774,6 +3774,8 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
#define __pyx_kp_u_API_Yookassa __pyx_mstate_global->__pyx_kp_u_API_Yookassa
#define __pyx_kp_u_Account_ID __pyx_mstate_global->__pyx_kp_u_Account_ID
#define __pyx_n_s_Any __pyx_mstate_global->__pyx_n_s_Any
+#define __pyx_n_s_BACK __pyx_mstate_global->__pyx_n_s_BACK
+#define __pyx_n_s_CUSTOM_SUM __pyx_mstate_global->__pyx_n_s_CUSTOM_SUM
#define __pyx_n_s_Configuration __pyx_mstate_global->__pyx_n_s_Configuration
#define __pyx_n_s_F __pyx_mstate_global->__pyx_n_s_F
#define __pyx_n_s_FSMContext __pyx_mstate_global->__pyx_n_s_FSMContext
@@ -3784,6 +3786,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
#define __pyx_n_s_InlineKeyboardButton __pyx_mstate_global->__pyx_n_s_InlineKeyboardButton
#define __pyx_n_s_InlineKeyboardMarkup __pyx_mstate_global->__pyx_n_s_InlineKeyboardMarkup
#define __pyx_n_s_MAIN_SECRET __pyx_mstate_global->__pyx_n_s_MAIN_SECRET
+#define __pyx_n_s_PAY __pyx_mstate_global->__pyx_n_s_PAY
#define __pyx_n_s_PAYMENT_OPTIONS __pyx_mstate_global->__pyx_n_s_PAYMENT_OPTIONS
#define __pyx_n_u_PIRAT0ETO7DLYA9TEBYA __pyx_mstate_global->__pyx_n_u_PIRAT0ETO7DLYA9TEBYA
#define __pyx_n_s_Payment __pyx_mstate_global->__pyx_n_s_Payment
@@ -3802,26 +3805,22 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
#define __pyx_n_s_YOOKASSA_HASH __pyx_mstate_global->__pyx_n_s_YOOKASSA_HASH
#define __pyx_n_s_YOOKASSA_SECRET_KEY __pyx_mstate_global->__pyx_n_s_YOOKASSA_SECRET_KEY
#define __pyx_n_s_YOOKASSA_SHOP_ID __pyx_mstate_global->__pyx_n_s_YOOKASSA_SHOP_ID
-#define __pyx_n_u__10 __pyx_mstate_global->__pyx_n_u__10
-#define __pyx_kp_u__11 __pyx_mstate_global->__pyx_kp_u__11
+#define __pyx_kp_u__10 __pyx_mstate_global->__pyx_kp_u__10
#define __pyx_kp_u__12 __pyx_mstate_global->__pyx_kp_u__12
#define __pyx_kp_u__13 __pyx_mstate_global->__pyx_kp_u__13
#define __pyx_kp_u__15 __pyx_mstate_global->__pyx_kp_u__15
-#define __pyx_kp_u__16 __pyx_mstate_global->__pyx_kp_u__16
#define __pyx_kp_u__18 __pyx_mstate_global->__pyx_kp_u__18
#define __pyx_kp_u__19 __pyx_mstate_global->__pyx_kp_u__19
#define __pyx_kp_u__2 __pyx_mstate_global->__pyx_kp_u__2
-#define __pyx_kp_u__22 __pyx_mstate_global->__pyx_kp_u__22
+#define __pyx_kp_u__20 __pyx_mstate_global->__pyx_kp_u__20
+#define __pyx_kp_u__21 __pyx_mstate_global->__pyx_kp_u__21
+#define __pyx_n_s__22 __pyx_mstate_global->__pyx_n_s__22
#define __pyx_kp_u__23 __pyx_mstate_global->__pyx_kp_u__23
-#define __pyx_kp_u__24 __pyx_mstate_global->__pyx_kp_u__24
-#define __pyx_kp_u__25 __pyx_mstate_global->__pyx_kp_u__25
-#define __pyx_n_s__26 __pyx_mstate_global->__pyx_n_s__26
-#define __pyx_kp_u__27 __pyx_mstate_global->__pyx_kp_u__27
#define __pyx_kp_u__3 __pyx_mstate_global->__pyx_kp_u__3
-#define __pyx_n_s__34 __pyx_mstate_global->__pyx_n_s__34
-#define __pyx_kp_u__4 __pyx_mstate_global->__pyx_kp_u__4
+#define __pyx_n_s__30 __pyx_mstate_global->__pyx_n_s__30
#define __pyx_kp_u__5 __pyx_mstate_global->__pyx_kp_u__5
#define __pyx_kp_u__7 __pyx_mstate_global->__pyx_kp_u__7
+#define __pyx_kp_u__8 __pyx_mstate_global->__pyx_kp_u__8
#define __pyx_kp_u__9 __pyx_mstate_global->__pyx_kp_u__9
#define __pyx_n_s_account_id __pyx_mstate_global->__pyx_n_s_account_id
#define __pyx_n_s_add_connection __pyx_mstate_global->__pyx_n_s_add_connection
@@ -3887,6 +3886,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
#define __pyx_kp_u_gc __pyx_mstate_global->__pyx_kp_u_gc
#define __pyx_n_s_get __pyx_mstate_global->__pyx_n_s_get
#define __pyx_n_s_get_key_count __pyx_mstate_global->__pyx_n_s_get_key_count
+#define __pyx_n_s_handlers_buttons_yookassa __pyx_mstate_global->__pyx_n_s_handlers_buttons_yookassa
#define __pyx_n_s_handlers_payments_gift __pyx_mstate_global->__pyx_n_s_handlers_payments_gift
#define __pyx_n_s_handlers_payments_utils __pyx_mstate_global->__pyx_n_s_handlers_payments_utils
#define __pyx_n_s_handlers_payments_yookassa_pay __pyx_mstate_global->__pyx_n_s_handlers_payments_yookassa_pay
@@ -3997,22 +3997,22 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
#define __pyx_int_400 __pyx_mstate_global->__pyx_int_400
#define __pyx_int_500 __pyx_mstate_global->__pyx_int_500
#define __pyx_codeobj_ __pyx_mstate_global->__pyx_codeobj_
-#define __pyx_tuple__8 __pyx_mstate_global->__pyx_tuple__8
-#define __pyx_tuple__20 __pyx_mstate_global->__pyx_tuple__20
+#define __pyx_tuple__6 __pyx_mstate_global->__pyx_tuple__6
+#define __pyx_tuple__16 __pyx_mstate_global->__pyx_tuple__16
+#define __pyx_tuple__24 __pyx_mstate_global->__pyx_tuple__24
+#define __pyx_tuple__25 __pyx_mstate_global->__pyx_tuple__25
+#define __pyx_tuple__26 __pyx_mstate_global->__pyx_tuple__26
+#define __pyx_tuple__27 __pyx_mstate_global->__pyx_tuple__27
#define __pyx_tuple__28 __pyx_mstate_global->__pyx_tuple__28
#define __pyx_tuple__29 __pyx_mstate_global->__pyx_tuple__29
-#define __pyx_tuple__30 __pyx_mstate_global->__pyx_tuple__30
-#define __pyx_tuple__31 __pyx_mstate_global->__pyx_tuple__31
-#define __pyx_tuple__32 __pyx_mstate_global->__pyx_tuple__32
-#define __pyx_tuple__33 __pyx_mstate_global->__pyx_tuple__33
-#define __pyx_codeobj__6 __pyx_mstate_global->__pyx_codeobj__6
+#define __pyx_codeobj__4 __pyx_mstate_global->__pyx_codeobj__4
+#define __pyx_codeobj__11 __pyx_mstate_global->__pyx_codeobj__11
#define __pyx_codeobj__14 __pyx_mstate_global->__pyx_codeobj__14
#define __pyx_codeobj__17 __pyx_mstate_global->__pyx_codeobj__17
-#define __pyx_codeobj__21 __pyx_mstate_global->__pyx_codeobj__21
/* #### Code section: module_code ### */
static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_2generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "handlers/payments/yookassa_pay.py":43
+/* "handlers/payments/yookassa_pay.py":44
*
*
* @router.callback_query(F.data == "pay_yookassa") # <<<<<<<<<<<<<<
@@ -4079,7 +4079,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
(void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
kw_args--;
}
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 43, __pyx_L3_error)
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 44, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
@@ -4087,9 +4087,9 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
(void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
kw_args--;
}
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 43, __pyx_L3_error)
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 44, __pyx_L3_error)
else {
- __Pyx_RaiseArgtupleInvalid("process_callback_pay_yookassa", 1, 3, 3, 1); __PYX_ERR(0, 43, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("process_callback_pay_yookassa", 1, 3, 3, 1); __PYX_ERR(0, 44, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
@@ -4097,14 +4097,14 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
(void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
kw_args--;
}
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 43, __pyx_L3_error)
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 44, __pyx_L3_error)
else {
- __Pyx_RaiseArgtupleInvalid("process_callback_pay_yookassa", 1, 3, 3, 2); __PYX_ERR(0, 43, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("process_callback_pay_yookassa", 1, 3, 3, 2); __PYX_ERR(0, 44, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "process_callback_pay_yookassa") < 0)) __PYX_ERR(0, 43, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "process_callback_pay_yookassa") < 0)) __PYX_ERR(0, 44, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
@@ -4119,7 +4119,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("process_callback_pay_yookassa", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 43, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("process_callback_pay_yookassa", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 44, __pyx_L3_error)
__pyx_L6_skip:;
goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
@@ -4158,7 +4158,7 @@ static PyObject *__pyx_pf_8handlers_8payments_12yookassa_pay_process_callback_pa
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(0, 43, __pyx_L1_error)
+ __PYX_ERR(0, 44, __pyx_L1_error)
} else {
__Pyx_GOTREF((PyObject *)__pyx_cur_scope);
}
@@ -4172,7 +4172,7 @@ static PyObject *__pyx_pf_8handlers_8payments_12yookassa_pay_process_callback_pa
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_session);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_session);
{
- __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_12yookassa_pay_2generator, __pyx_codeobj_, (PyObject *) __pyx_cur_scope, __pyx_n_s_process_callback_pay_yookassa, __pyx_n_s_process_callback_pay_yookassa, __pyx_n_s_handlers_payments_yookassa_pay); if (unlikely(!gen)) __PYX_ERR(0, 43, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_12yookassa_pay_2generator, __pyx_codeobj_, (PyObject *) __pyx_cur_scope, __pyx_n_s_process_callback_pay_yookassa, __pyx_n_s_process_callback_pay_yookassa, __pyx_n_s_handlers_payments_yookassa_pay); if (unlikely(!gen)) __PYX_ERR(0, 44, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -4225,9 +4225,9 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_2generator(__pyx_Co
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 43, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 44, __pyx_L1_error)
- /* "handlers/payments/yookassa_pay.py":48
+ /* "handlers/payments/yookassa_pay.py":49
* ):
*
* expected_hash = "HASHHASHYOOKASSA" # <<<<<<<<<<<<<<
@@ -4238,29 +4238,29 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_2generator(__pyx_Co
__Pyx_GIVEREF(__pyx_n_u_HASHHASHYOOKASSA);
__pyx_cur_scope->__pyx_v_expected_hash = __pyx_n_u_HASHHASHYOOKASSA;
- /* "handlers/payments/yookassa_pay.py":49
+ /* "handlers/payments/yookassa_pay.py":50
*
* expected_hash = "HASHHASHYOOKASSA"
* if YOOKASSA_HASH != expected_hash: # <<<<<<<<<<<<<<
* logger.error(" ! !")
* await callback_query.message.answer(
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_YOOKASSA_HASH); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 49, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_YOOKASSA_HASH); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 50, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_cur_scope->__pyx_v_expected_hash, Py_NE)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 49, __pyx_L1_error)
+ __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_cur_scope->__pyx_v_expected_hash, Py_NE)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 50, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_2) {
- /* "handlers/payments/yookassa_pay.py":50
+ /* "handlers/payments/yookassa_pay.py":51
* expected_hash = "HASHHASHYOOKASSA"
* if YOOKASSA_HASH != expected_hash:
* logger.error(" ! !") # <<<<<<<<<<<<<<
* await callback_query.message.answer(
* text=" , @solonet_sup."
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 50, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 51, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_error); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 50, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_error); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 51, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -4281,44 +4281,44 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_2generator(__pyx_Co
PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_kp_u__2};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 50, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 51, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "handlers/payments/yookassa_pay.py":51
+ /* "handlers/payments/yookassa_pay.py":52
* if YOOKASSA_HASH != expected_hash:
* logger.error(" ! !")
* await callback_query.message.answer( # <<<<<<<<<<<<<<
* text=" , @solonet_sup."
* )
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 51, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 52, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_answer); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 51, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_answer); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 52, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "handlers/payments/yookassa_pay.py":52
+ /* "handlers/payments/yookassa_pay.py":53
* logger.error(" ! !")
* await callback_query.message.answer(
* text=" , @solonet_sup." # <<<<<<<<<<<<<<
* )
* return
*/
- __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 52, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 53, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_text, __pyx_kp_u_solonet_sup) < 0) __PYX_ERR(0, 52, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_text, __pyx_kp_u_solonet_sup) < 0) __PYX_ERR(0, 53, __pyx_L1_error)
- /* "handlers/payments/yookassa_pay.py":51
+ /* "handlers/payments/yookassa_pay.py":52
* if YOOKASSA_HASH != expected_hash:
* logger.error(" ! !")
* await callback_query.message.answer( # <<<<<<<<<<<<<<
* text=" , @solonet_sup."
* )
*/
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 51, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 52, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -4333,16 +4333,16 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_2generator(__pyx_Co
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L5_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 51, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 52, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 51, __pyx_L1_error)
+ else __PYX_ERR(0, 52, __pyx_L1_error)
}
}
- /* "handlers/payments/yookassa_pay.py":54
+ /* "handlers/payments/yookassa_pay.py":55
* text=" , @solonet_sup."
* )
* return # <<<<<<<<<<<<<<
@@ -4353,7 +4353,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_2generator(__pyx_Co
__pyx_r = NULL;
goto __pyx_L0;
- /* "handlers/payments/yookassa_pay.py":49
+ /* "handlers/payments/yookassa_pay.py":50
*
* expected_hash = "HASHHASHYOOKASSA"
* if YOOKASSA_HASH != expected_hash: # <<<<<<<<<<<<<<
@@ -4362,33 +4362,33 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_2generator(__pyx_Co
*/
}
- /* "handlers/payments/yookassa_pay.py":55
+ /* "handlers/payments/yookassa_pay.py":56
* )
* return
* tg_id = callback_query.message.chat.id # <<<<<<<<<<<<<<
*
* builder = InlineKeyboardBuilder()
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 55, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 56, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_chat); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 55, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_chat); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 56, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_id); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 55, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_id); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 56, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GIVEREF(__pyx_t_3);
__pyx_cur_scope->__pyx_v_tg_id = __pyx_t_3;
__pyx_t_3 = 0;
- /* "handlers/payments/yookassa_pay.py":57
+ /* "handlers/payments/yookassa_pay.py":58
* tg_id = callback_query.message.chat.id
*
* builder = InlineKeyboardBuilder() # <<<<<<<<<<<<<<
*
* for i in range(0, len(PAYMENT_OPTIONS), 2):
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 57, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 58, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_4 = NULL;
__pyx_t_5 = 0;
@@ -4408,7 +4408,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_2generator(__pyx_Co
PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
__pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 57, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 58, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
@@ -4416,31 +4416,31 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_2generator(__pyx_Co
__pyx_cur_scope->__pyx_v_builder = __pyx_t_3;
__pyx_t_3 = 0;
- /* "handlers/payments/yookassa_pay.py":59
+ /* "handlers/payments/yookassa_pay.py":60
* builder = InlineKeyboardBuilder()
*
* for i in range(0, len(PAYMENT_OPTIONS), 2): # <<<<<<<<<<<<<<
* if i + 1 < len(PAYMENT_OPTIONS):
* builder.row(
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 59, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 60, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 59, __pyx_L1_error)
+ __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 60, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 59, __pyx_L1_error)
+ __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 60, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 59, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 60, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_int_0);
__Pyx_GIVEREF(__pyx_int_0);
- if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_0)) __PYX_ERR(0, 59, __pyx_L1_error);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_0)) __PYX_ERR(0, 60, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_3);
- if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_3)) __PYX_ERR(0, 59, __pyx_L1_error);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_3)) __PYX_ERR(0, 60, __pyx_L1_error);
__Pyx_INCREF(__pyx_int_2);
__Pyx_GIVEREF(__pyx_int_2);
- if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_2)) __PYX_ERR(0, 59, __pyx_L1_error);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_2)) __PYX_ERR(0, 60, __pyx_L1_error);
__pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 59, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 60, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
@@ -4448,9 +4448,9 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_2generator(__pyx_Co
__pyx_t_6 = 0;
__pyx_t_7 = NULL;
} else {
- __pyx_t_6 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 59, __pyx_L1_error)
+ __pyx_t_6 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 60, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_7 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 59, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 60, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
for (;;) {
@@ -4459,28 +4459,28 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_2generator(__pyx_Co
{
Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
#if !CYTHON_ASSUME_SAFE_MACROS
- if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 59, __pyx_L1_error)
+ if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 60, __pyx_L1_error)
#endif
if (__pyx_t_6 >= __pyx_temp) break;
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(0, 59, __pyx_L1_error)
+ __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(0, 60, __pyx_L1_error)
#else
- __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 59, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 60, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
#endif
} else {
{
Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
#if !CYTHON_ASSUME_SAFE_MACROS
- if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 59, __pyx_L1_error)
+ if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 60, __pyx_L1_error)
#endif
if (__pyx_t_6 >= __pyx_temp) break;
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(0, 59, __pyx_L1_error)
+ __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(0, 60, __pyx_L1_error)
#else
- __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 59, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 60, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
#endif
}
@@ -4490,7 +4490,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_2generator(__pyx_Co
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 59, __pyx_L1_error)
+ else __PYX_ERR(0, 60, __pyx_L1_error)
}
break;
}
@@ -4501,172 +4501,172 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_2generator(__pyx_Co
__Pyx_GIVEREF(__pyx_t_3);
__pyx_t_3 = 0;
- /* "handlers/payments/yookassa_pay.py":60
+ /* "handlers/payments/yookassa_pay.py":61
*
* for i in range(0, len(PAYMENT_OPTIONS), 2):
* if i + 1 < len(PAYMENT_OPTIONS): # <<<<<<<<<<<<<<
* builder.row(
* InlineKeyboardButton(
*/
- __pyx_t_3 = __Pyx_PyInt_AddObjC(__pyx_cur_scope->__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 60, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyInt_AddObjC(__pyx_cur_scope->__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 61, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 60, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 61, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_8 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 60, __pyx_L1_error)
+ __pyx_t_8 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 61, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 60, __pyx_L1_error)
+ __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 61, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_9 = PyObject_RichCompare(__pyx_t_3, __pyx_t_4, Py_LT); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 60, __pyx_L1_error)
+ __pyx_t_9 = PyObject_RichCompare(__pyx_t_3, __pyx_t_4, Py_LT); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 61, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 60, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 61, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
if (__pyx_t_2) {
- /* "handlers/payments/yookassa_pay.py":61
+ /* "handlers/payments/yookassa_pay.py":62
* for i in range(0, len(PAYMENT_OPTIONS), 2):
* if i + 1 < len(PAYMENT_OPTIONS):
* builder.row( # <<<<<<<<<<<<<<
* InlineKeyboardButton(
* text=PAYMENT_OPTIONS[i]["text"],
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 61, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 62, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- /* "handlers/payments/yookassa_pay.py":62
+ /* "handlers/payments/yookassa_pay.py":63
* if i + 1 < len(PAYMENT_OPTIONS):
* builder.row(
* InlineKeyboardButton( # <<<<<<<<<<<<<<
* text=PAYMENT_OPTIONS[i]["text"],
* callback_data=f'yookassa_{PAYMENT_OPTIONS[i]["callback_data"]}',
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 62, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 63, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- /* "handlers/payments/yookassa_pay.py":63
+ /* "handlers/payments/yookassa_pay.py":64
* builder.row(
* InlineKeyboardButton(
* text=PAYMENT_OPTIONS[i]["text"], # <<<<<<<<<<<<<<
* callback_data=f'yookassa_{PAYMENT_OPTIONS[i]["callback_data"]}',
* ),
*/
- __pyx_t_10 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 63, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 64, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 63, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 64, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
- __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_cur_scope->__pyx_v_i); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 63, __pyx_L1_error)
+ __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_cur_scope->__pyx_v_i); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 64, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
- __pyx_t_11 = __Pyx_PyObject_Dict_GetItem(__pyx_t_12, __pyx_n_u_text); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 63, __pyx_L1_error)
+ __pyx_t_11 = __Pyx_PyObject_Dict_GetItem(__pyx_t_12, __pyx_n_u_text); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 64, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
- if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_text, __pyx_t_11) < 0) __PYX_ERR(0, 63, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_text, __pyx_t_11) < 0) __PYX_ERR(0, 64, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
- /* "handlers/payments/yookassa_pay.py":64
+ /* "handlers/payments/yookassa_pay.py":65
* InlineKeyboardButton(
* text=PAYMENT_OPTIONS[i]["text"],
* callback_data=f'yookassa_{PAYMENT_OPTIONS[i]["callback_data"]}', # <<<<<<<<<<<<<<
* ),
* InlineKeyboardButton(
*/
- __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 64, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 65, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
- __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_cur_scope->__pyx_v_i); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 64, __pyx_L1_error)
+ __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_cur_scope->__pyx_v_i); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 65, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
- __pyx_t_11 = __Pyx_PyObject_Dict_GetItem(__pyx_t_12, __pyx_n_u_callback_data); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 64, __pyx_L1_error)
+ __pyx_t_11 = __Pyx_PyObject_Dict_GetItem(__pyx_t_12, __pyx_n_u_callback_data); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 65, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
- __pyx_t_12 = __Pyx_PyObject_FormatSimple(__pyx_t_11, __pyx_empty_unicode); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 64, __pyx_L1_error)
+ __pyx_t_12 = __Pyx_PyObject_FormatSimple(__pyx_t_11, __pyx_empty_unicode); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 65, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
- __pyx_t_11 = __Pyx_PyUnicode_Concat(__pyx_n_u_yookassa, __pyx_t_12); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 64, __pyx_L1_error)
+ __pyx_t_11 = __Pyx_PyUnicode_Concat(__pyx_n_u_yookassa, __pyx_t_12); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 65, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
- if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_callback_data, __pyx_t_11) < 0) __PYX_ERR(0, 63, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_callback_data, __pyx_t_11) < 0) __PYX_ERR(0, 64, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
- /* "handlers/payments/yookassa_pay.py":62
+ /* "handlers/payments/yookassa_pay.py":63
* if i + 1 < len(PAYMENT_OPTIONS):
* builder.row(
* InlineKeyboardButton( # <<<<<<<<<<<<<<
* text=PAYMENT_OPTIONS[i]["text"],
* callback_data=f'yookassa_{PAYMENT_OPTIONS[i]["callback_data"]}',
*/
- __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 62, __pyx_L1_error)
+ __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 63, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- /* "handlers/payments/yookassa_pay.py":66
+ /* "handlers/payments/yookassa_pay.py":67
* callback_data=f'yookassa_{PAYMENT_OPTIONS[i]["callback_data"]}',
* ),
* InlineKeyboardButton( # <<<<<<<<<<<<<<
* text=PAYMENT_OPTIONS[i + 1]["text"],
* callback_data=f'yookassa_{PAYMENT_OPTIONS[i + 1]["callback_data"]}',
*/
- __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 66, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 67, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- /* "handlers/payments/yookassa_pay.py":67
+ /* "handlers/payments/yookassa_pay.py":68
* ),
* InlineKeyboardButton(
* text=PAYMENT_OPTIONS[i + 1]["text"], # <<<<<<<<<<<<<<
* callback_data=f'yookassa_{PAYMENT_OPTIONS[i + 1]["callback_data"]}',
* ),
*/
- __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 67, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 68, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 67, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 68, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
- __pyx_t_13 = __Pyx_PyInt_AddObjC(__pyx_cur_scope->__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 67, __pyx_L1_error)
+ __pyx_t_13 = __Pyx_PyInt_AddObjC(__pyx_cur_scope->__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 68, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_13);
- __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_t_13); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 67, __pyx_L1_error)
+ __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_t_13); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 68, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
- __pyx_t_13 = __Pyx_PyObject_Dict_GetItem(__pyx_t_14, __pyx_n_u_text); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 67, __pyx_L1_error)
+ __pyx_t_13 = __Pyx_PyObject_Dict_GetItem(__pyx_t_14, __pyx_n_u_text); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 68, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_13);
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_t_13) < 0) __PYX_ERR(0, 67, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_t_13) < 0) __PYX_ERR(0, 68, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
- /* "handlers/payments/yookassa_pay.py":68
+ /* "handlers/payments/yookassa_pay.py":69
* InlineKeyboardButton(
* text=PAYMENT_OPTIONS[i + 1]["text"],
* callback_data=f'yookassa_{PAYMENT_OPTIONS[i + 1]["callback_data"]}', # <<<<<<<<<<<<<<
* ),
* )
*/
- __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 68, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 69, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_13);
- __pyx_t_14 = __Pyx_PyInt_AddObjC(__pyx_cur_scope->__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 68, __pyx_L1_error)
+ __pyx_t_14 = __Pyx_PyInt_AddObjC(__pyx_cur_scope->__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 69, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
- __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_13, __pyx_t_14); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 68, __pyx_L1_error)
+ __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_13, __pyx_t_14); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 69, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
- __pyx_t_14 = __Pyx_PyObject_Dict_GetItem(__pyx_t_12, __pyx_n_u_callback_data); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 68, __pyx_L1_error)
+ __pyx_t_14 = __Pyx_PyObject_Dict_GetItem(__pyx_t_12, __pyx_n_u_callback_data); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 69, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
- __pyx_t_12 = __Pyx_PyObject_FormatSimple(__pyx_t_14, __pyx_empty_unicode); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 68, __pyx_L1_error)
+ __pyx_t_12 = __Pyx_PyObject_FormatSimple(__pyx_t_14, __pyx_empty_unicode); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 69, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
- __pyx_t_14 = __Pyx_PyUnicode_Concat(__pyx_n_u_yookassa, __pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 68, __pyx_L1_error)
+ __pyx_t_14 = __Pyx_PyUnicode_Concat(__pyx_n_u_yookassa, __pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 69, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_data, __pyx_t_14) < 0) __PYX_ERR(0, 67, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_data, __pyx_t_14) < 0) __PYX_ERR(0, 68, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
- /* "handlers/payments/yookassa_pay.py":66
+ /* "handlers/payments/yookassa_pay.py":67
* callback_data=f'yookassa_{PAYMENT_OPTIONS[i]["callback_data"]}',
* ),
* InlineKeyboardButton( # <<<<<<<<<<<<<<
* text=PAYMENT_OPTIONS[i + 1]["text"],
* callback_data=f'yookassa_{PAYMENT_OPTIONS[i + 1]["callback_data"]}',
*/
- __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 66, __pyx_L1_error)
+ __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 67, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -4690,13 +4690,13 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_2generator(__pyx_Co
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
- if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 61, __pyx_L1_error)
+ if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 62, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
}
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "handlers/payments/yookassa_pay.py":60
+ /* "handlers/payments/yookassa_pay.py":61
*
* for i in range(0, len(PAYMENT_OPTIONS), 2):
* if i + 1 < len(PAYMENT_OPTIONS): # <<<<<<<<<<<<<<
@@ -4706,7 +4706,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_2generator(__pyx_Co
goto __pyx_L8;
}
- /* "handlers/payments/yookassa_pay.py":72
+ /* "handlers/payments/yookassa_pay.py":73
* )
* else:
* builder.row( # <<<<<<<<<<<<<<
@@ -4714,71 +4714,71 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_2generator(__pyx_Co
* text=PAYMENT_OPTIONS[i]["text"],
*/
/*else*/ {
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 72, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 73, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- /* "handlers/payments/yookassa_pay.py":73
+ /* "handlers/payments/yookassa_pay.py":74
* else:
* builder.row(
* InlineKeyboardButton( # <<<<<<<<<<<<<<
* text=PAYMENT_OPTIONS[i]["text"],
* callback_data=f'yookassa_{PAYMENT_OPTIONS[i]["callback_data"]}',
*/
- __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 73, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 74, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
- /* "handlers/payments/yookassa_pay.py":74
+ /* "handlers/payments/yookassa_pay.py":75
* builder.row(
* InlineKeyboardButton(
* text=PAYMENT_OPTIONS[i]["text"], # <<<<<<<<<<<<<<
* callback_data=f'yookassa_{PAYMENT_OPTIONS[i]["callback_data"]}',
* )
*/
- __pyx_t_11 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 74, __pyx_L1_error)
+ __pyx_t_11 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 75, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 74, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 75, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_cur_scope->__pyx_v_i); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 74, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_cur_scope->__pyx_v_i); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 75, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_10, __pyx_n_u_text); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 74, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_10, __pyx_n_u_text); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 75, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_text, __pyx_t_3) < 0) __PYX_ERR(0, 74, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_text, __pyx_t_3) < 0) __PYX_ERR(0, 75, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "handlers/payments/yookassa_pay.py":75
+ /* "handlers/payments/yookassa_pay.py":76
* InlineKeyboardButton(
* text=PAYMENT_OPTIONS[i]["text"],
* callback_data=f'yookassa_{PAYMENT_OPTIONS[i]["callback_data"]}', # <<<<<<<<<<<<<<
* )
* )
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 75, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 76, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_cur_scope->__pyx_v_i); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 75, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_cur_scope->__pyx_v_i); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 76, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_10, __pyx_n_u_callback_data); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 75, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_10, __pyx_n_u_callback_data); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 76, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- __pyx_t_10 = __Pyx_PyObject_FormatSimple(__pyx_t_3, __pyx_empty_unicode); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 75, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_PyObject_FormatSimple(__pyx_t_3, __pyx_empty_unicode); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 76, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_n_u_yookassa, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 75, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_n_u_yookassa, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 76, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_callback_data, __pyx_t_3) < 0) __PYX_ERR(0, 74, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_callback_data, __pyx_t_3) < 0) __PYX_ERR(0, 75, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "handlers/payments/yookassa_pay.py":73
+ /* "handlers/payments/yookassa_pay.py":74
* else:
* builder.row(
* InlineKeyboardButton( # <<<<<<<<<<<<<<
* text=PAYMENT_OPTIONS[i]["text"],
* callback_data=f'yookassa_{PAYMENT_OPTIONS[i]["callback_data"]}',
*/
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_empty_tuple, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 73, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_empty_tuple, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 74, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
@@ -4801,7 +4801,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_2generator(__pyx_Co
__pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
__Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 72, __pyx_L1_error)
+ if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 73, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
}
@@ -4809,7 +4809,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_2generator(__pyx_Co
}
__pyx_L8:;
- /* "handlers/payments/yookassa_pay.py":59
+ /* "handlers/payments/yookassa_pay.py":60
* builder = InlineKeyboardBuilder()
*
* for i in range(0, len(PAYMENT_OPTIONS), 2): # <<<<<<<<<<<<<<
@@ -4819,46 +4819,49 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_2generator(__pyx_Co
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "handlers/payments/yookassa_pay.py":78
+ /* "handlers/payments/yookassa_pay.py":79
* )
* )
* builder.row( # <<<<<<<<<<<<<<
* InlineKeyboardButton(
- * text=" ",
+ * text=CUSTOM_SUM,
*/
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 78, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 79, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- /* "handlers/payments/yookassa_pay.py":79
+ /* "handlers/payments/yookassa_pay.py":80
* )
* builder.row(
* InlineKeyboardButton( # <<<<<<<<<<<<<<
- * text=" ",
+ * text=CUSTOM_SUM,
* callback_data="enter_custom_amount_yookassa",
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 79, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 80, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- /* "handlers/payments/yookassa_pay.py":80
+ /* "handlers/payments/yookassa_pay.py":81
* builder.row(
* InlineKeyboardButton(
- * text=" ", # <<<<<<<<<<<<<<
+ * text=CUSTOM_SUM, # <<<<<<<<<<<<<<
* callback_data="enter_custom_amount_yookassa",
* )
*/
- __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 80, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 81, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_kp_u__3) < 0) __PYX_ERR(0, 80, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_data, __pyx_n_u_enter_custom_amount_yookassa) < 0) __PYX_ERR(0, 80, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_CUSTOM_SUM); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 81, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_11);
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_t_11) < 0) __PYX_ERR(0, 81, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_data, __pyx_n_u_enter_custom_amount_yookassa) < 0) __PYX_ERR(0, 81, __pyx_L1_error)
- /* "handlers/payments/yookassa_pay.py":79
+ /* "handlers/payments/yookassa_pay.py":80
* )
* builder.row(
* InlineKeyboardButton( # <<<<<<<<<<<<<<
- * text=" ",
+ * text=CUSTOM_SUM,
* callback_data="enter_custom_amount_yookassa",
*/
- __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 79, __pyx_L1_error)
+ __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 80, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -4881,28 +4884,31 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_2generator(__pyx_Co
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 78, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 79, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "handlers/payments/yookassa_pay.py":84
+ /* "handlers/payments/yookassa_pay.py":85
* )
* )
- * builder.row(InlineKeyboardButton(text=" ", callback_data="pay")) # <<<<<<<<<<<<<<
+ * builder.row(InlineKeyboardButton(text=BACK, callback_data="pay")) # <<<<<<<<<<<<<<
*
* key_count = await get_key_count(tg_id)
*/
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 84, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 85, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 84, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 85, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
- __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 84, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 85, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_kp_u__4) < 0) __PYX_ERR(0, 84, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_data, __pyx_n_u_pay) < 0) __PYX_ERR(0, 84, __pyx_L1_error)
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 84, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_BACK); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 85, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_t_4) < 0) __PYX_ERR(0, 85, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_data, __pyx_n_u_pay) < 0) __PYX_ERR(0, 85, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 85, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -4925,20 +4931,20 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_2generator(__pyx_Co
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 84, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 85, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "handlers/payments/yookassa_pay.py":86
- * builder.row(InlineKeyboardButton(text=" ", callback_data="pay"))
+ /* "handlers/payments/yookassa_pay.py":87
+ * builder.row(InlineKeyboardButton(text=BACK, callback_data="pay"))
*
* key_count = await get_key_count(tg_id) # <<<<<<<<<<<<<<
*
* if key_count == 0:
*/
- __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_get_key_count); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 86, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_get_key_count); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 87, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_4 = NULL;
__pyx_t_5 = 0;
@@ -4958,7 +4964,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_2generator(__pyx_Co
PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_cur_scope->__pyx_v_tg_id};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 86, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 87, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
}
@@ -4973,35 +4979,35 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_2generator(__pyx_Co
__pyx_generator->resume_label = 2;
return __pyx_r;
__pyx_L10_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 86, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 87, __pyx_L1_error)
__pyx_t_1 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_1);
} else {
__pyx_t_1 = NULL;
- if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_1) < 0) __PYX_ERR(0, 86, __pyx_L1_error)
+ if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_1) < 0) __PYX_ERR(0, 87, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
}
__Pyx_GIVEREF(__pyx_t_1);
__pyx_cur_scope->__pyx_v_key_count = __pyx_t_1;
__pyx_t_1 = 0;
- /* "handlers/payments/yookassa_pay.py":88
+ /* "handlers/payments/yookassa_pay.py":89
* key_count = await get_key_count(tg_id)
*
* if key_count == 0: # <<<<<<<<<<<<<<
* exists = await check_connection_exists(tg_id)
* if not exists:
*/
- __pyx_t_2 = (__Pyx_PyInt_BoolEqObjC(__pyx_cur_scope->__pyx_v_key_count, __pyx_int_0, 0, 0)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 88, __pyx_L1_error)
+ __pyx_t_2 = (__Pyx_PyInt_BoolEqObjC(__pyx_cur_scope->__pyx_v_key_count, __pyx_int_0, 0, 0)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 89, __pyx_L1_error)
if (__pyx_t_2) {
- /* "handlers/payments/yookassa_pay.py":89
+ /* "handlers/payments/yookassa_pay.py":90
*
* if key_count == 0:
* exists = await check_connection_exists(tg_id) # <<<<<<<<<<<<<<
* if not exists:
* await add_connection(tg_id, balance=0.0, trial=0, session=session)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_check_connection_exists); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 89, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_check_connection_exists); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 90, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_4 = NULL;
__pyx_t_5 = 0;
@@ -5021,7 +5027,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_2generator(__pyx_Co
PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_cur_scope->__pyx_v_tg_id};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 89, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 90, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
}
@@ -5036,48 +5042,48 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_2generator(__pyx_Co
__pyx_generator->resume_label = 3;
return __pyx_r;
__pyx_L12_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 89, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 90, __pyx_L1_error)
__pyx_t_1 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_1);
} else {
__pyx_t_1 = NULL;
- if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_1) < 0) __PYX_ERR(0, 89, __pyx_L1_error)
+ if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_1) < 0) __PYX_ERR(0, 90, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
}
__Pyx_GIVEREF(__pyx_t_1);
__pyx_cur_scope->__pyx_v_exists = __pyx_t_1;
__pyx_t_1 = 0;
- /* "handlers/payments/yookassa_pay.py":90
+ /* "handlers/payments/yookassa_pay.py":91
* if key_count == 0:
* exists = await check_connection_exists(tg_id)
* if not exists: # <<<<<<<<<<<<<<
* await add_connection(tg_id, balance=0.0, trial=0, session=session)
*
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_exists); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 90, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_exists); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 91, __pyx_L1_error)
__pyx_t_15 = (!__pyx_t_2);
if (__pyx_t_15) {
- /* "handlers/payments/yookassa_pay.py":91
+ /* "handlers/payments/yookassa_pay.py":92
* exists = await check_connection_exists(tg_id)
* if not exists:
* await add_connection(tg_id, balance=0.0, trial=0, session=session) # <<<<<<<<<<<<<<
*
* await callback_query.message.answer(
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_add_connection); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 91, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_add_connection); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 92, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 91, __pyx_L1_error)
+ __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 92, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_tg_id);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_tg_id);
- if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_cur_scope->__pyx_v_tg_id)) __PYX_ERR(0, 91, __pyx_L1_error);
- __pyx_t_4 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 91, __pyx_L1_error)
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_cur_scope->__pyx_v_tg_id)) __PYX_ERR(0, 92, __pyx_L1_error);
+ __pyx_t_4 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 92, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_balance, __pyx_float_0_0) < 0) __PYX_ERR(0, 91, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_trial, __pyx_int_0) < 0) __PYX_ERR(0, 91, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_session, __pyx_cur_scope->__pyx_v_session) < 0) __PYX_ERR(0, 91, __pyx_L1_error)
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_9, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 91, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_balance, __pyx_float_0_0) < 0) __PYX_ERR(0, 92, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_trial, __pyx_int_0) < 0) __PYX_ERR(0, 92, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_session, __pyx_cur_scope->__pyx_v_session) < 0) __PYX_ERR(0, 92, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_9, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 92, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
@@ -5093,16 +5099,16 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_2generator(__pyx_Co
__pyx_generator->resume_label = 4;
return __pyx_r;
__pyx_L14_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 91, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 92, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 91, __pyx_L1_error)
+ else __PYX_ERR(0, 92, __pyx_L1_error)
}
}
- /* "handlers/payments/yookassa_pay.py":90
+ /* "handlers/payments/yookassa_pay.py":91
* if key_count == 0:
* exists = await check_connection_exists(tg_id)
* if not exists: # <<<<<<<<<<<<<<
@@ -5111,7 +5117,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_2generator(__pyx_Co
*/
}
- /* "handlers/payments/yookassa_pay.py":88
+ /* "handlers/payments/yookassa_pay.py":89
* key_count = await get_key_count(tg_id)
*
* if key_count == 0: # <<<<<<<<<<<<<<
@@ -5120,38 +5126,38 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_2generator(__pyx_Co
*/
}
- /* "handlers/payments/yookassa_pay.py":93
+ /* "handlers/payments/yookassa_pay.py":94
* await add_connection(tg_id, balance=0.0, trial=0, session=session)
*
* await callback_query.message.answer( # <<<<<<<<<<<<<<
* text=" :",
* reply_markup=builder.as_markup(),
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 93, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 94, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_answer); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 93, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_answer); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 94, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "handlers/payments/yookassa_pay.py":94
+ /* "handlers/payments/yookassa_pay.py":95
*
* await callback_query.message.answer(
* text=" :", # <<<<<<<<<<<<<<
* reply_markup=builder.as_markup(),
* )
*/
- __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 94, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 95, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_kp_u__5) < 0) __PYX_ERR(0, 94, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_kp_u__3) < 0) __PYX_ERR(0, 95, __pyx_L1_error)
- /* "handlers/payments/yookassa_pay.py":95
+ /* "handlers/payments/yookassa_pay.py":96
* await callback_query.message.answer(
* text=" :",
* reply_markup=builder.as_markup(), # <<<<<<<<<<<<<<
* )
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 95, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_11 = NULL;
__pyx_t_5 = 0;
@@ -5171,21 +5177,21 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_2generator(__pyx_Co
PyObject *__pyx_callargs[2] = {__pyx_t_11, NULL};
__pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
__Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
- if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 95, __pyx_L1_error)
+ if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 96, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_reply_markup, __pyx_t_9) < 0) __PYX_ERR(0, 94, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_reply_markup, __pyx_t_9) < 0) __PYX_ERR(0, 95, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "handlers/payments/yookassa_pay.py":93
+ /* "handlers/payments/yookassa_pay.py":94
* await add_connection(tg_id, balance=0.0, trial=0, session=session)
*
* await callback_query.message.answer( # <<<<<<<<<<<<<<
* text=" :",
* reply_markup=builder.as_markup(),
*/
- __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 93, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 94, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -5200,27 +5206,27 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_2generator(__pyx_Co
__pyx_generator->resume_label = 5;
return __pyx_r;
__pyx_L15_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 93, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 94, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 93, __pyx_L1_error)
+ else __PYX_ERR(0, 94, __pyx_L1_error)
}
}
- /* "handlers/payments/yookassa_pay.py":98
+ /* "handlers/payments/yookassa_pay.py":99
* )
*
* await state.set_state(ReplenishBalanceState.choosing_amount_yookassa) # <<<<<<<<<<<<<<
*
*
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_set_state); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 98, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_set_state); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 99, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_ReplenishBalanceState); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 98, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_ReplenishBalanceState); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 99, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_choosing_amount_yookassa); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 98, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_choosing_amount_yookassa); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 99, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = NULL;
@@ -5242,7 +5248,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_2generator(__pyx_Co
__pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 98, __pyx_L1_error)
+ if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 99, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
@@ -5257,17 +5263,17 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_2generator(__pyx_Co
__pyx_generator->resume_label = 6;
return __pyx_r;
__pyx_L16_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 98, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 99, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 98, __pyx_L1_error)
+ else __PYX_ERR(0, 99, __pyx_L1_error)
}
}
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "handlers/payments/yookassa_pay.py":43
+ /* "handlers/payments/yookassa_pay.py":44
*
*
* @router.callback_query(F.data == "pay_yookassa") # <<<<<<<<<<<<<<
@@ -5302,7 +5308,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_2generator(__pyx_Co
}
static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_5generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "handlers/payments/yookassa_pay.py":101
+/* "handlers/payments/yookassa_pay.py":102
*
*
* @router.callback_query(F.data.startswith("yookassa_amount|")) # <<<<<<<<<<<<<<
@@ -5366,7 +5372,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
(void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
kw_args--;
}
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 101, __pyx_L3_error)
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 102, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
@@ -5374,14 +5380,14 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
(void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
kw_args--;
}
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 101, __pyx_L3_error)
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 102, __pyx_L3_error)
else {
- __Pyx_RaiseArgtupleInvalid("process_amount_selection", 1, 2, 2, 1); __PYX_ERR(0, 101, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("process_amount_selection", 1, 2, 2, 1); __PYX_ERR(0, 102, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "process_amount_selection") < 0)) __PYX_ERR(0, 101, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "process_amount_selection") < 0)) __PYX_ERR(0, 102, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
@@ -5394,7 +5400,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("process_amount_selection", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 101, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("process_amount_selection", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 102, __pyx_L3_error)
__pyx_L6_skip:;
goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
@@ -5433,7 +5439,7 @@ static PyObject *__pyx_pf_8handlers_8payments_12yookassa_pay_3process_amount_sel
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(0, 101, __pyx_L1_error)
+ __PYX_ERR(0, 102, __pyx_L1_error)
} else {
__Pyx_GOTREF((PyObject *)__pyx_cur_scope);
}
@@ -5444,7 +5450,7 @@ static PyObject *__pyx_pf_8handlers_8payments_12yookassa_pay_3process_amount_sel
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_state);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_state);
{
- __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_12yookassa_pay_5generator1, __pyx_codeobj__6, (PyObject *) __pyx_cur_scope, __pyx_n_s_process_amount_selection, __pyx_n_s_process_amount_selection, __pyx_n_s_handlers_payments_yookassa_pay); if (unlikely(!gen)) __PYX_ERR(0, 101, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_12yookassa_pay_5generator1, __pyx_codeobj__4, (PyObject *) __pyx_cur_scope, __pyx_n_s_process_amount_selection, __pyx_n_s_process_amount_selection, __pyx_n_s_handlers_payments_yookassa_pay); if (unlikely(!gen)) __PYX_ERR(0, 102, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -5495,39 +5501,39 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_5generator1(__pyx_C
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 101, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 102, __pyx_L1_error)
- /* "handlers/payments/yookassa_pay.py":105
+ /* "handlers/payments/yookassa_pay.py":106
* callback_query: types.CallbackQuery, state: FSMContext
* ):
* data = callback_query.data.split("|", 1) # <<<<<<<<<<<<<<
*
* if len(data) != 2:
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 105, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 106, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 105, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 106, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 105, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 106, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_GIVEREF(__pyx_t_1);
__pyx_cur_scope->__pyx_v_data = __pyx_t_1;
__pyx_t_1 = 0;
- /* "handlers/payments/yookassa_pay.py":107
+ /* "handlers/payments/yookassa_pay.py":108
* data = callback_query.data.split("|", 1)
*
* if len(data) != 2: # <<<<<<<<<<<<<<
* return
*
*/
- __pyx_t_3 = PyObject_Length(__pyx_cur_scope->__pyx_v_data); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(0, 107, __pyx_L1_error)
+ __pyx_t_3 = PyObject_Length(__pyx_cur_scope->__pyx_v_data); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(0, 108, __pyx_L1_error)
__pyx_t_4 = (__pyx_t_3 != 2);
if (__pyx_t_4) {
- /* "handlers/payments/yookassa_pay.py":108
+ /* "handlers/payments/yookassa_pay.py":109
*
* if len(data) != 2:
* return # <<<<<<<<<<<<<<
@@ -5538,7 +5544,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_5generator1(__pyx_C
__pyx_r = NULL;
goto __pyx_L0;
- /* "handlers/payments/yookassa_pay.py":107
+ /* "handlers/payments/yookassa_pay.py":108
* data = callback_query.data.split("|", 1)
*
* if len(data) != 2: # <<<<<<<<<<<<<<
@@ -5547,20 +5553,20 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_5generator1(__pyx_C
*/
}
- /* "handlers/payments/yookassa_pay.py":110
+ /* "handlers/payments/yookassa_pay.py":111
* return
*
* amount_str = data[1] # <<<<<<<<<<<<<<
* try:
* amount = int(amount_str)
*/
- __pyx_t_1 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_data, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 110, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_data, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 111, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_cur_scope->__pyx_v_amount_str = __pyx_t_1;
__pyx_t_1 = 0;
- /* "handlers/payments/yookassa_pay.py":111
+ /* "handlers/payments/yookassa_pay.py":112
*
* amount_str = data[1]
* try: # <<<<<<<<<<<<<<
@@ -5574,20 +5580,20 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_5generator1(__pyx_C
__Pyx_XGOTREF(__pyx_t_7);
/*try:*/ {
- /* "handlers/payments/yookassa_pay.py":112
+ /* "handlers/payments/yookassa_pay.py":113
* amount_str = data[1]
* try:
* amount = int(amount_str) # <<<<<<<<<<<<<<
* except ValueError:
* return
*/
- __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_amount_str); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 112, __pyx_L5_error)
+ __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_amount_str); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 113, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_cur_scope->__pyx_v_amount = __pyx_t_1;
__pyx_t_1 = 0;
- /* "handlers/payments/yookassa_pay.py":111
+ /* "handlers/payments/yookassa_pay.py":112
*
* amount_str = data[1]
* try: # <<<<<<<<<<<<<<
@@ -5603,7 +5609,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_5generator1(__pyx_C
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "handlers/payments/yookassa_pay.py":113
+ /* "handlers/payments/yookassa_pay.py":114
* try:
* amount = int(amount_str)
* except ValueError: # <<<<<<<<<<<<<<
@@ -5613,12 +5619,12 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_5generator1(__pyx_C
__pyx_t_8 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
if (__pyx_t_8) {
__Pyx_AddTraceback("handlers.payments.yookassa_pay.process_amount_selection", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_9) < 0) __PYX_ERR(0, 113, __pyx_L7_except_error)
+ if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_9) < 0) __PYX_ERR(0, 114, __pyx_L7_except_error)
__Pyx_XGOTREF(__pyx_t_1);
__Pyx_XGOTREF(__pyx_t_2);
__Pyx_XGOTREF(__pyx_t_9);
- /* "handlers/payments/yookassa_pay.py":114
+ /* "handlers/payments/yookassa_pay.py":115
* amount = int(amount_str)
* except ValueError:
* return # <<<<<<<<<<<<<<
@@ -5634,7 +5640,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_5generator1(__pyx_C
}
goto __pyx_L7_except_error;
- /* "handlers/payments/yookassa_pay.py":111
+ /* "handlers/payments/yookassa_pay.py":112
*
* amount_str = data[1]
* try: # <<<<<<<<<<<<<<
@@ -5656,19 +5662,19 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_5generator1(__pyx_C
__pyx_L10_try_end:;
}
- /* "handlers/payments/yookassa_pay.py":116
+ /* "handlers/payments/yookassa_pay.py":117
* return
*
* await state.update_data(amount=amount) # <<<<<<<<<<<<<<
* await state.set_state(
* ReplenishBalanceState.waiting_for_payment_confirmation_yookassa
*/
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_update_data); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 116, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_update_data); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 117, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 116, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 117, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_amount, __pyx_cur_scope->__pyx_v_amount) < 0) __PYX_ERR(0, 116, __pyx_L1_error)
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 116, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_amount, __pyx_cur_scope->__pyx_v_amount) < 0) __PYX_ERR(0, 117, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 117, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -5683,35 +5689,35 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_5generator1(__pyx_C
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L13_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 116, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 117, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 116, __pyx_L1_error)
+ else __PYX_ERR(0, 117, __pyx_L1_error)
}
}
- /* "handlers/payments/yookassa_pay.py":117
+ /* "handlers/payments/yookassa_pay.py":118
*
* await state.update_data(amount=amount)
* await state.set_state( # <<<<<<<<<<<<<<
* ReplenishBalanceState.waiting_for_payment_confirmation_yookassa
* )
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_set_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 117, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_set_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- /* "handlers/payments/yookassa_pay.py":118
+ /* "handlers/payments/yookassa_pay.py":119
* await state.update_data(amount=amount)
* await state.set_state(
* ReplenishBalanceState.waiting_for_payment_confirmation_yookassa # <<<<<<<<<<<<<<
* )
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_ReplenishBalanceState); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 118, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_ReplenishBalanceState); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 119, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_waiting_for_payment_confirmation); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 118, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_waiting_for_payment_confirmation); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 119, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__pyx_t_9 = NULL;
@@ -5733,7 +5739,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_5generator1(__pyx_C
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11);
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 117, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
@@ -5748,241 +5754,241 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_5generator1(__pyx_C
__pyx_generator->resume_label = 2;
return __pyx_r;
__pyx_L14_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 117, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 118, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 117, __pyx_L1_error)
+ else __PYX_ERR(0, 118, __pyx_L1_error)
}
}
- /* "handlers/payments/yookassa_pay.py":122
+ /* "handlers/payments/yookassa_pay.py":123
*
* # state_data = await state.get_data()
* customer_name = callback_query.from_user.full_name # <<<<<<<<<<<<<<
* customer_id = callback_query.message.chat.id
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_from_user); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 122, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_from_user); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 123, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_full_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 122, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_full_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 123, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GIVEREF(__pyx_t_2);
__pyx_cur_scope->__pyx_v_customer_name = __pyx_t_2;
__pyx_t_2 = 0;
- /* "handlers/payments/yookassa_pay.py":123
+ /* "handlers/payments/yookassa_pay.py":124
* # state_data = await state.get_data()
* customer_name = callback_query.from_user.full_name
* customer_id = callback_query.message.chat.id # <<<<<<<<<<<<<<
*
* customer_email = f"{customer_id}@solo.net"
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 123, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 124, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_chat); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 123, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_chat); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 124, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_id); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 123, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_id); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 124, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GIVEREF(__pyx_t_2);
__pyx_cur_scope->__pyx_v_customer_id = __pyx_t_2;
__pyx_t_2 = 0;
- /* "handlers/payments/yookassa_pay.py":125
+ /* "handlers/payments/yookassa_pay.py":126
* customer_id = callback_query.message.chat.id
*
* customer_email = f"{customer_id}@solo.net" # <<<<<<<<<<<<<<
*
* payment = Payment.create(
*/
- __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_customer_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 125, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_customer_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 126, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u_solo_net); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 125, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u_solo_net); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 126, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_GIVEREF(__pyx_t_1);
__pyx_cur_scope->__pyx_v_customer_email = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "handlers/payments/yookassa_pay.py":127
+ /* "handlers/payments/yookassa_pay.py":128
* customer_email = f"{customer_id}@solo.net"
*
* payment = Payment.create( # <<<<<<<<<<<<<<
* {
* "amount": {"value": str(amount), "currency": "RUB"},
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Payment); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 127, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Payment); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 128, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_create); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 127, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_create); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 128, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "handlers/payments/yookassa_pay.py":129
+ /* "handlers/payments/yookassa_pay.py":130
* payment = Payment.create(
* {
* "amount": {"value": str(amount), "currency": "RUB"}, # <<<<<<<<<<<<<<
* "confirmation": {
* "type": "redirect",
*/
- __pyx_t_2 = __Pyx_PyDict_NewPresized(6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 129, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyDict_NewPresized(6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 130, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_9 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 129, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 130, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- __pyx_t_12 = __Pyx_PyObject_Unicode(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 129, __pyx_L1_error)
+ __pyx_t_12 = __Pyx_PyObject_Unicode(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 130, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
- if (PyDict_SetItem(__pyx_t_9, __pyx_n_u_value, __pyx_t_12) < 0) __PYX_ERR(0, 129, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_9, __pyx_n_u_value, __pyx_t_12) < 0) __PYX_ERR(0, 130, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
- if (PyDict_SetItem(__pyx_t_9, __pyx_n_u_currency, __pyx_n_u_RUB) < 0) __PYX_ERR(0, 129, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_amount, __pyx_t_9) < 0) __PYX_ERR(0, 129, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_9, __pyx_n_u_currency, __pyx_n_u_RUB) < 0) __PYX_ERR(0, 130, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_amount, __pyx_t_9) < 0) __PYX_ERR(0, 130, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "handlers/payments/yookassa_pay.py":131
+ /* "handlers/payments/yookassa_pay.py":132
* "amount": {"value": str(amount), "currency": "RUB"},
* "confirmation": {
* "type": "redirect", # <<<<<<<<<<<<<<
* "return_url": f"{REDIRECT_LINK}",
* },
*/
- __pyx_t_9 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 131, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 132, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- if (PyDict_SetItem(__pyx_t_9, __pyx_n_u_type, __pyx_n_u_redirect) < 0) __PYX_ERR(0, 131, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_9, __pyx_n_u_type, __pyx_n_u_redirect) < 0) __PYX_ERR(0, 132, __pyx_L1_error)
- /* "handlers/payments/yookassa_pay.py":132
+ /* "handlers/payments/yookassa_pay.py":133
* "confirmation": {
* "type": "redirect",
* "return_url": f"{REDIRECT_LINK}", # <<<<<<<<<<<<<<
* },
* "capture": True,
*/
- __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_REDIRECT_LINK); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 132, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_REDIRECT_LINK); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 133, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
- __pyx_t_13 = __Pyx_PyObject_FormatSimple(__pyx_t_12, __pyx_empty_unicode); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 132, __pyx_L1_error)
+ __pyx_t_13 = __Pyx_PyObject_FormatSimple(__pyx_t_12, __pyx_empty_unicode); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 133, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_13);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
- if (PyDict_SetItem(__pyx_t_9, __pyx_n_u_return_url, __pyx_t_13) < 0) __PYX_ERR(0, 131, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_9, __pyx_n_u_return_url, __pyx_t_13) < 0) __PYX_ERR(0, 132, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_confirmation, __pyx_t_9) < 0) __PYX_ERR(0, 129, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_confirmation, __pyx_t_9) < 0) __PYX_ERR(0, 130, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "handlers/payments/yookassa_pay.py":134
+ /* "handlers/payments/yookassa_pay.py":135
* "return_url": f"{REDIRECT_LINK}",
* },
* "capture": True, # <<<<<<<<<<<<<<
* "description": " ",
* "receipt": {
*/
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_capture, Py_True) < 0) __PYX_ERR(0, 129, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_description, __pyx_kp_u__9) < 0) __PYX_ERR(0, 129, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_capture, Py_True) < 0) __PYX_ERR(0, 130, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_description, __pyx_kp_u__7) < 0) __PYX_ERR(0, 130, __pyx_L1_error)
- /* "handlers/payments/yookassa_pay.py":137
+ /* "handlers/payments/yookassa_pay.py":138
* "description": " ",
* "receipt": {
* "customer": { # <<<<<<<<<<<<<<
* "full_name": customer_name,
* "email": customer_email,
*/
- __pyx_t_9 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 137, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 138, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- /* "handlers/payments/yookassa_pay.py":138
+ /* "handlers/payments/yookassa_pay.py":139
* "receipt": {
* "customer": {
* "full_name": customer_name, # <<<<<<<<<<<<<<
* "email": customer_email,
* "phone": "79000000000",
*/
- __pyx_t_13 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 138, __pyx_L1_error)
+ __pyx_t_13 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 139, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_13);
- if (PyDict_SetItem(__pyx_t_13, __pyx_n_u_full_name, __pyx_cur_scope->__pyx_v_customer_name) < 0) __PYX_ERR(0, 138, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_13, __pyx_n_u_full_name, __pyx_cur_scope->__pyx_v_customer_name) < 0) __PYX_ERR(0, 139, __pyx_L1_error)
- /* "handlers/payments/yookassa_pay.py":139
+ /* "handlers/payments/yookassa_pay.py":140
* "customer": {
* "full_name": customer_name,
* "email": customer_email, # <<<<<<<<<<<<<<
* "phone": "79000000000",
* },
*/
- if (PyDict_SetItem(__pyx_t_13, __pyx_n_u_email, __pyx_cur_scope->__pyx_v_customer_email) < 0) __PYX_ERR(0, 138, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_13, __pyx_n_u_phone, __pyx_kp_u_79000000000) < 0) __PYX_ERR(0, 138, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_9, __pyx_n_u_customer, __pyx_t_13) < 0) __PYX_ERR(0, 137, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_13, __pyx_n_u_email, __pyx_cur_scope->__pyx_v_customer_email) < 0) __PYX_ERR(0, 139, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_13, __pyx_n_u_phone, __pyx_kp_u_79000000000) < 0) __PYX_ERR(0, 139, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_9, __pyx_n_u_customer, __pyx_t_13) < 0) __PYX_ERR(0, 138, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
- /* "handlers/payments/yookassa_pay.py":144
+ /* "handlers/payments/yookassa_pay.py":145
* "items": [
* {
* "description": " ", # <<<<<<<<<<<<<<
* "quantity": "1.00",
* "amount": {"value": str(amount), "currency": "RUB"},
*/
- __pyx_t_13 = __Pyx_PyDict_NewPresized(6); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 144, __pyx_L1_error)
+ __pyx_t_13 = __Pyx_PyDict_NewPresized(6); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 145, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_13);
- if (PyDict_SetItem(__pyx_t_13, __pyx_n_u_description, __pyx_kp_u__9) < 0) __PYX_ERR(0, 144, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_13, __pyx_n_u_quantity, __pyx_kp_u_1_00) < 0) __PYX_ERR(0, 144, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_13, __pyx_n_u_description, __pyx_kp_u__7) < 0) __PYX_ERR(0, 145, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_13, __pyx_n_u_quantity, __pyx_kp_u_1_00) < 0) __PYX_ERR(0, 145, __pyx_L1_error)
- /* "handlers/payments/yookassa_pay.py":146
+ /* "handlers/payments/yookassa_pay.py":147
* "description": " ",
* "quantity": "1.00",
* "amount": {"value": str(amount), "currency": "RUB"}, # <<<<<<<<<<<<<<
* "vat_code": 1,
* "payment_subject": "payment",
*/
- __pyx_t_12 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 146, __pyx_L1_error)
+ __pyx_t_12 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 147, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
- __pyx_t_14 = __Pyx_PyObject_Unicode(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 146, __pyx_L1_error)
+ __pyx_t_14 = __Pyx_PyObject_Unicode(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 147, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
- if (PyDict_SetItem(__pyx_t_12, __pyx_n_u_value, __pyx_t_14) < 0) __PYX_ERR(0, 146, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_12, __pyx_n_u_value, __pyx_t_14) < 0) __PYX_ERR(0, 147, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
- if (PyDict_SetItem(__pyx_t_12, __pyx_n_u_currency, __pyx_n_u_RUB) < 0) __PYX_ERR(0, 146, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_13, __pyx_n_u_amount, __pyx_t_12) < 0) __PYX_ERR(0, 144, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_12, __pyx_n_u_currency, __pyx_n_u_RUB) < 0) __PYX_ERR(0, 147, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_13, __pyx_n_u_amount, __pyx_t_12) < 0) __PYX_ERR(0, 145, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
- if (PyDict_SetItem(__pyx_t_13, __pyx_n_u_vat_code, __pyx_int_1) < 0) __PYX_ERR(0, 144, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_13, __pyx_n_u_payment_subject, __pyx_n_u_payment) < 0) __PYX_ERR(0, 144, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_13, __pyx_n_u_payment_mode, __pyx_n_u_full_payment) < 0) __PYX_ERR(0, 144, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_13, __pyx_n_u_vat_code, __pyx_int_1) < 0) __PYX_ERR(0, 145, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_13, __pyx_n_u_payment_subject, __pyx_n_u_payment) < 0) __PYX_ERR(0, 145, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_13, __pyx_n_u_payment_mode, __pyx_n_u_full_payment) < 0) __PYX_ERR(0, 145, __pyx_L1_error)
- /* "handlers/payments/yookassa_pay.py":142
+ /* "handlers/payments/yookassa_pay.py":143
* "phone": "79000000000",
* },
* "items": [ # <<<<<<<<<<<<<<
* {
* "description": " ",
*/
- __pyx_t_12 = PyList_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 142, __pyx_L1_error)
+ __pyx_t_12 = PyList_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 143, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
__Pyx_GIVEREF(__pyx_t_13);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_12, 0, __pyx_t_13)) __PYX_ERR(0, 142, __pyx_L1_error);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_12, 0, __pyx_t_13)) __PYX_ERR(0, 143, __pyx_L1_error);
__pyx_t_13 = 0;
- if (PyDict_SetItem(__pyx_t_9, __pyx_n_u_items, __pyx_t_12) < 0) __PYX_ERR(0, 137, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_9, __pyx_n_u_items, __pyx_t_12) < 0) __PYX_ERR(0, 138, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_receipt, __pyx_t_9) < 0) __PYX_ERR(0, 129, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_receipt, __pyx_t_9) < 0) __PYX_ERR(0, 130, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "handlers/payments/yookassa_pay.py":153
+ /* "handlers/payments/yookassa_pay.py":154
* ],
* },
* "metadata": {"user_id": customer_id}, # <<<<<<<<<<<<<<
* },
* uuid.uuid4(),
*/
- __pyx_t_9 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 153, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 154, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- if (PyDict_SetItem(__pyx_t_9, __pyx_n_u_user_id, __pyx_cur_scope->__pyx_v_customer_id) < 0) __PYX_ERR(0, 153, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_metadata, __pyx_t_9) < 0) __PYX_ERR(0, 129, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_9, __pyx_n_u_user_id, __pyx_cur_scope->__pyx_v_customer_id) < 0) __PYX_ERR(0, 154, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_metadata, __pyx_t_9) < 0) __PYX_ERR(0, 130, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "handlers/payments/yookassa_pay.py":155
+ /* "handlers/payments/yookassa_pay.py":156
* "metadata": {"user_id": customer_id},
* },
* uuid.uuid4(), # <<<<<<<<<<<<<<
* )
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_uuid); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 155, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_uuid); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 156, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
- __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_uuid4); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 155, __pyx_L1_error)
+ __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_uuid4); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 156, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_13);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
__pyx_t_12 = NULL;
@@ -6003,7 +6009,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_5generator1(__pyx_C
PyObject *__pyx_callargs[2] = {__pyx_t_12, NULL};
__pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_13, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11);
__Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
- if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 155, __pyx_L1_error)
+ if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 156, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
}
@@ -6027,7 +6033,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_5generator1(__pyx_C
__Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 127, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 128, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
}
@@ -6035,127 +6041,133 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_5generator1(__pyx_C
__pyx_cur_scope->__pyx_v_payment = __pyx_t_1;
__pyx_t_1 = 0;
- /* "handlers/payments/yookassa_pay.py":158
+ /* "handlers/payments/yookassa_pay.py":159
* )
*
* if payment["status"] == "pending": # <<<<<<<<<<<<<<
* payment_url = payment["confirmation"]["confirmation_url"]
*
*/
- __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_payment, __pyx_n_u_status); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 158, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_payment, __pyx_n_u_status); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 159, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_n_u_pending, Py_EQ)); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 158, __pyx_L1_error)
+ __pyx_t_4 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_n_u_pending, Py_EQ)); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 159, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_4) {
- /* "handlers/payments/yookassa_pay.py":159
+ /* "handlers/payments/yookassa_pay.py":160
*
* if payment["status"] == "pending":
* payment_url = payment["confirmation"]["confirmation_url"] # <<<<<<<<<<<<<<
*
* confirm_keyboard = InlineKeyboardMarkup(
*/
- __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_payment, __pyx_n_u_confirmation); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 159, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_payment, __pyx_n_u_confirmation); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 160, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_10 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_confirmation_url); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 159, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_confirmation_url); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 160, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GIVEREF(__pyx_t_10);
__pyx_cur_scope->__pyx_v_payment_url = __pyx_t_10;
__pyx_t_10 = 0;
- /* "handlers/payments/yookassa_pay.py":161
+ /* "handlers/payments/yookassa_pay.py":162
* payment_url = payment["confirmation"]["confirmation_url"]
*
* confirm_keyboard = InlineKeyboardMarkup( # <<<<<<<<<<<<<<
* inline_keyboard=[
- * [InlineKeyboardButton(text="", url=payment_url)],
+ * [InlineKeyboardButton(text=PAY, url=payment_url)],
*/
- __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_InlineKeyboardMarkup); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 161, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_InlineKeyboardMarkup); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 162, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- /* "handlers/payments/yookassa_pay.py":162
+ /* "handlers/payments/yookassa_pay.py":163
*
* confirm_keyboard = InlineKeyboardMarkup(
* inline_keyboard=[ # <<<<<<<<<<<<<<
- * [InlineKeyboardButton(text="", url=payment_url)],
- * [InlineKeyboardButton(text=" ", callback_data="pay")],
+ * [InlineKeyboardButton(text=PAY, url=payment_url)],
+ * [InlineKeyboardButton(text=BACK, callback_data="pay")],
*/
- __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 162, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 163, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- /* "handlers/payments/yookassa_pay.py":163
+ /* "handlers/payments/yookassa_pay.py":164
* confirm_keyboard = InlineKeyboardMarkup(
* inline_keyboard=[
- * [InlineKeyboardButton(text="", url=payment_url)], # <<<<<<<<<<<<<<
- * [InlineKeyboardButton(text=" ", callback_data="pay")],
+ * [InlineKeyboardButton(text=PAY, url=payment_url)], # <<<<<<<<<<<<<<
+ * [InlineKeyboardButton(text=BACK, callback_data="pay")],
* ]
*/
- __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 163, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 164, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 163, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 164, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_text, __pyx_n_u__10) < 0) __PYX_ERR(0, 163, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_url, __pyx_cur_scope->__pyx_v_payment_url) < 0) __PYX_ERR(0, 163, __pyx_L1_error)
- __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 163, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_PAY); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 164, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_13);
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_text, __pyx_t_13) < 0) __PYX_ERR(0, 164, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_url, __pyx_cur_scope->__pyx_v_payment_url) < 0) __PYX_ERR(0, 164, __pyx_L1_error)
+ __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 164, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_13);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 163, __pyx_L1_error)
+ __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 164, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_13);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_13)) __PYX_ERR(0, 163, __pyx_L1_error);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_13)) __PYX_ERR(0, 164, __pyx_L1_error);
__pyx_t_13 = 0;
- /* "handlers/payments/yookassa_pay.py":164
+ /* "handlers/payments/yookassa_pay.py":165
* inline_keyboard=[
- * [InlineKeyboardButton(text="", url=payment_url)],
- * [InlineKeyboardButton(text=" ", callback_data="pay")], # <<<<<<<<<<<<<<
+ * [InlineKeyboardButton(text=PAY, url=payment_url)],
+ * [InlineKeyboardButton(text=BACK, callback_data="pay")], # <<<<<<<<<<<<<<
* ]
* )
*/
- __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 164, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 165, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_13);
- __pyx_t_9 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 164, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 165, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_text, __pyx_kp_u__4) < 0) __PYX_ERR(0, 164, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_callback_data, __pyx_n_u_pay) < 0) __PYX_ERR(0, 164, __pyx_L1_error)
- __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_empty_tuple, __pyx_t_9); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 164, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_BACK); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 165, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_12);
+ if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_text, __pyx_t_12) < 0) __PYX_ERR(0, 165, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+ if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_callback_data, __pyx_n_u_pay) < 0) __PYX_ERR(0, 165, __pyx_L1_error)
+ __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_empty_tuple, __pyx_t_9); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 165, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 164, __pyx_L1_error)
+ __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 165, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_GIVEREF(__pyx_t_12);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_t_12)) __PYX_ERR(0, 164, __pyx_L1_error);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_t_12)) __PYX_ERR(0, 165, __pyx_L1_error);
__pyx_t_12 = 0;
- /* "handlers/payments/yookassa_pay.py":162
+ /* "handlers/payments/yookassa_pay.py":163
*
* confirm_keyboard = InlineKeyboardMarkup(
* inline_keyboard=[ # <<<<<<<<<<<<<<
- * [InlineKeyboardButton(text="", url=payment_url)],
- * [InlineKeyboardButton(text=" ", callback_data="pay")],
+ * [InlineKeyboardButton(text=PAY, url=payment_url)],
+ * [InlineKeyboardButton(text=BACK, callback_data="pay")],
*/
- __pyx_t_12 = PyList_New(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 162, __pyx_L1_error)
+ __pyx_t_12 = PyList_New(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 163, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
__Pyx_GIVEREF(__pyx_t_2);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_12, 0, __pyx_t_2)) __PYX_ERR(0, 162, __pyx_L1_error);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_12, 0, __pyx_t_2)) __PYX_ERR(0, 163, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_9);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_12, 1, __pyx_t_9)) __PYX_ERR(0, 162, __pyx_L1_error);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_12, 1, __pyx_t_9)) __PYX_ERR(0, 163, __pyx_L1_error);
__pyx_t_2 = 0;
__pyx_t_9 = 0;
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_inline_keyboard, __pyx_t_12) < 0) __PYX_ERR(0, 162, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_inline_keyboard, __pyx_t_12) < 0) __PYX_ERR(0, 163, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
- /* "handlers/payments/yookassa_pay.py":161
+ /* "handlers/payments/yookassa_pay.py":162
* payment_url = payment["confirmation"]["confirmation_url"]
*
* confirm_keyboard = InlineKeyboardMarkup( # <<<<<<<<<<<<<<
* inline_keyboard=[
- * [InlineKeyboardButton(text="", url=payment_url)],
+ * [InlineKeyboardButton(text=PAY, url=payment_url)],
*/
- __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 161, __pyx_L1_error)
+ __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 162, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -6163,72 +6175,72 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_5generator1(__pyx_C
__pyx_cur_scope->__pyx_v_confirm_keyboard = __pyx_t_12;
__pyx_t_12 = 0;
- /* "handlers/payments/yookassa_pay.py":168
+ /* "handlers/payments/yookassa_pay.py":169
* )
*
* await callback_query.message.answer( # <<<<<<<<<<<<<<
* text=f" {amount} .",
* reply_markup=confirm_keyboard,
*/
- __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 168, __pyx_L1_error)
+ __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 169, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_answer); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 168, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_answer); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 169, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
- /* "handlers/payments/yookassa_pay.py":169
+ /* "handlers/payments/yookassa_pay.py":170
*
* await callback_query.message.answer(
* text=f" {amount} .", # <<<<<<<<<<<<<<
* reply_markup=confirm_keyboard,
* )
*/
- __pyx_t_12 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 169, __pyx_L1_error)
+ __pyx_t_12 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 170, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
- __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 169, __pyx_L1_error)
+ __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 170, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__pyx_t_3 = 0;
__pyx_t_15 = 127;
- __Pyx_INCREF(__pyx_kp_u__11);
+ __Pyx_INCREF(__pyx_kp_u__8);
__pyx_t_15 = (65535 > __pyx_t_15) ? 65535 : __pyx_t_15;
__pyx_t_3 += 25;
- __Pyx_GIVEREF(__pyx_kp_u__11);
- PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u__11);
- __pyx_t_9 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_amount, __pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 169, __pyx_L1_error)
+ __Pyx_GIVEREF(__pyx_kp_u__8);
+ PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u__8);
+ __pyx_t_9 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_amount, __pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 170, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_15 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) > __pyx_t_15) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) : __pyx_t_15;
__pyx_t_3 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9);
__Pyx_GIVEREF(__pyx_t_9);
PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_9);
__pyx_t_9 = 0;
- __Pyx_INCREF(__pyx_kp_u__12);
+ __Pyx_INCREF(__pyx_kp_u__9);
__pyx_t_15 = (65535 > __pyx_t_15) ? 65535 : __pyx_t_15;
__pyx_t_3 += 8;
- __Pyx_GIVEREF(__pyx_kp_u__12);
- PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_kp_u__12);
- __pyx_t_9 = __Pyx_PyUnicode_Join(__pyx_t_10, 3, __pyx_t_3, __pyx_t_15); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 169, __pyx_L1_error)
+ __Pyx_GIVEREF(__pyx_kp_u__9);
+ PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_kp_u__9);
+ __pyx_t_9 = __Pyx_PyUnicode_Join(__pyx_t_10, 3, __pyx_t_3, __pyx_t_15); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 170, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_text, __pyx_t_9) < 0) __PYX_ERR(0, 169, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_text, __pyx_t_9) < 0) __PYX_ERR(0, 170, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "handlers/payments/yookassa_pay.py":170
+ /* "handlers/payments/yookassa_pay.py":171
* await callback_query.message.answer(
* text=f" {amount} .",
* reply_markup=confirm_keyboard, # <<<<<<<<<<<<<<
* )
* else:
*/
- if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_reply_markup, __pyx_cur_scope->__pyx_v_confirm_keyboard) < 0) __PYX_ERR(0, 169, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_reply_markup, __pyx_cur_scope->__pyx_v_confirm_keyboard) < 0) __PYX_ERR(0, 170, __pyx_L1_error)
- /* "handlers/payments/yookassa_pay.py":168
+ /* "handlers/payments/yookassa_pay.py":169
* )
*
* await callback_query.message.answer( # <<<<<<<<<<<<<<
* text=f" {amount} .",
* reply_markup=confirm_keyboard,
*/
- __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_12); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 168, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_12); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 169, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
@@ -6243,16 +6255,16 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_5generator1(__pyx_C
__pyx_generator->resume_label = 3;
return __pyx_r;
__pyx_L16_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 168, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 169, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 168, __pyx_L1_error)
+ else __PYX_ERR(0, 169, __pyx_L1_error)
}
}
- /* "handlers/payments/yookassa_pay.py":158
+ /* "handlers/payments/yookassa_pay.py":159
* )
*
* if payment["status"] == "pending": # <<<<<<<<<<<<<<
@@ -6262,7 +6274,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_5generator1(__pyx_C
goto __pyx_L15;
}
- /* "handlers/payments/yookassa_pay.py":173
+ /* "handlers/payments/yookassa_pay.py":174
* )
* else:
* await callback_query.message.answer(" .") # <<<<<<<<<<<<<<
@@ -6270,9 +6282,9 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_5generator1(__pyx_C
*
*/
/*else*/ {
- __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 173, __pyx_L1_error)
+ __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 174, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_answer); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 173, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_answer); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 174, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
__pyx_t_12 = NULL;
@@ -6290,10 +6302,10 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_5generator1(__pyx_C
}
#endif
{
- PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_kp_u__13};
+ PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_kp_u__10};
__pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11);
__Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
- if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 173, __pyx_L1_error)
+ if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 174, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
@@ -6308,19 +6320,19 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_5generator1(__pyx_C
__pyx_generator->resume_label = 4;
return __pyx_r;
__pyx_L17_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 173, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 174, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 173, __pyx_L1_error)
+ else __PYX_ERR(0, 174, __pyx_L1_error)
}
}
}
__pyx_L15:;
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "handlers/payments/yookassa_pay.py":101
+ /* "handlers/payments/yookassa_pay.py":102
*
*
* @router.callback_query(F.data.startswith("yookassa_amount|")) # <<<<<<<<<<<<<<
@@ -6353,7 +6365,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_5generator1(__pyx_C
}
static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "handlers/payments/yookassa_pay.py":176
+/* "handlers/payments/yookassa_pay.py":177
*
*
* async def yookassa_webhook(request): # <<<<<<<<<<<<<<
@@ -6415,12 +6427,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
(void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
kw_args--;
}
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 176, __pyx_L3_error)
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 177, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "yookassa_webhook") < 0)) __PYX_ERR(0, 176, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "yookassa_webhook") < 0)) __PYX_ERR(0, 177, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
@@ -6431,7 +6443,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("yookassa_webhook", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 176, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("yookassa_webhook", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 177, __pyx_L3_error)
__pyx_L6_skip:;
goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
@@ -6470,7 +6482,7 @@ static PyObject *__pyx_pf_8handlers_8payments_12yookassa_pay_6yookassa_webhook(C
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(0, 176, __pyx_L1_error)
+ __PYX_ERR(0, 177, __pyx_L1_error)
} else {
__Pyx_GOTREF((PyObject *)__pyx_cur_scope);
}
@@ -6478,7 +6490,7 @@ static PyObject *__pyx_pf_8handlers_8payments_12yookassa_pay_6yookassa_webhook(C
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_request);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_request);
{
- __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_12yookassa_pay_8generator2, __pyx_codeobj__14, (PyObject *) __pyx_cur_scope, __pyx_n_s_yookassa_webhook, __pyx_n_s_yookassa_webhook, __pyx_n_s_handlers_payments_yookassa_pay); if (unlikely(!gen)) __PYX_ERR(0, 176, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_12yookassa_pay_8generator2, __pyx_codeobj__11, (PyObject *) __pyx_cur_scope, __pyx_n_s_yookassa_webhook, __pyx_n_s_yookassa_webhook, __pyx_n_s_handlers_payments_yookassa_pay); if (unlikely(!gen)) __PYX_ERR(0, 177, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -6544,16 +6556,16 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 176, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 177, __pyx_L1_error)
- /* "handlers/payments/yookassa_pay.py":180
+ /* "handlers/payments/yookassa_pay.py":181
* Yookassa .
* """
* event = await request.json() # <<<<<<<<<<<<<<
* logger.info(f"Webhook event received: {event}")
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_request, __pyx_n_s_json); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 180, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_request, __pyx_n_s_json); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 181, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
@@ -6573,7 +6585,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 180, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 181, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
@@ -6588,32 +6600,32 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L4_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 180, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 181, __pyx_L1_error)
__pyx_t_1 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_1);
} else {
__pyx_t_1 = NULL;
- if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_1) < 0) __PYX_ERR(0, 180, __pyx_L1_error)
+ if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_1) < 0) __PYX_ERR(0, 181, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
}
__Pyx_GIVEREF(__pyx_t_1);
__pyx_cur_scope->__pyx_v_event = __pyx_t_1;
__pyx_t_1 = 0;
- /* "handlers/payments/yookassa_pay.py":181
+ /* "handlers/payments/yookassa_pay.py":182
* """
* event = await request.json()
* logger.info(f"Webhook event received: {event}") # <<<<<<<<<<<<<<
*
* payment_object = event.get("object", {})
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 181, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 182, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_info); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 181, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_info); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 182, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_event, __pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 181, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_event, __pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 182, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Webhook_event_received, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 181, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Webhook_event_received, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 182, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -6635,22 +6647,22 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 181, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 182, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "handlers/payments/yookassa_pay.py":183
+ /* "handlers/payments/yookassa_pay.py":184
* logger.info(f"Webhook event received: {event}")
*
* payment_object = event.get("object", {}) # <<<<<<<<<<<<<<
* payment_id = payment_object.get("id")
* if not payment_id:
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_event, __pyx_n_s_get); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 183, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_event, __pyx_n_s_get); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 184, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 183, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 184, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_2 = NULL;
__pyx_t_4 = 0;
@@ -6671,7 +6683,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 183, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 184, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
@@ -6679,14 +6691,14 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
__pyx_cur_scope->__pyx_v_payment_object = __pyx_t_1;
__pyx_t_1 = 0;
- /* "handlers/payments/yookassa_pay.py":184
+ /* "handlers/payments/yookassa_pay.py":185
*
* payment_object = event.get("object", {})
* payment_id = payment_object.get("id") # <<<<<<<<<<<<<<
* if not payment_id:
* logger.error(" ID ")
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_payment_object, __pyx_n_s_get); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 184, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_payment_object, __pyx_n_s_get); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 185, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_5 = NULL;
__pyx_t_4 = 0;
@@ -6706,7 +6718,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_n_u_id};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 184, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 185, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
@@ -6714,27 +6726,27 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
__pyx_cur_scope->__pyx_v_payment_id = __pyx_t_1;
__pyx_t_1 = 0;
- /* "handlers/payments/yookassa_pay.py":185
+ /* "handlers/payments/yookassa_pay.py":186
* payment_object = event.get("object", {})
* payment_id = payment_object.get("id")
* if not payment_id: # <<<<<<<<<<<<<<
* logger.error(" ID ")
* return web.Response(status=400)
*/
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_payment_id); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 185, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_payment_id); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 186, __pyx_L1_error)
__pyx_t_7 = (!__pyx_t_6);
if (__pyx_t_7) {
- /* "handlers/payments/yookassa_pay.py":186
+ /* "handlers/payments/yookassa_pay.py":187
* payment_id = payment_object.get("id")
* if not payment_id:
* logger.error(" ID ") # <<<<<<<<<<<<<<
* return web.Response(status=400)
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 186, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 187, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_error); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 186, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_error); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 187, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -6755,13 +6767,13 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_kp_u_ID};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 186, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 187, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "handlers/payments/yookassa_pay.py":187
+ /* "handlers/payments/yookassa_pay.py":188
* if not payment_id:
* logger.error(" ID ")
* return web.Response(status=400) # <<<<<<<<<<<<<<
@@ -6769,15 +6781,15 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
* try:
*/
__Pyx_XDECREF(__pyx_r);
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_web); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 187, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_web); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 188, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_Response); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 187, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_Response); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 188, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 187, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 188, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_status, __pyx_int_400) < 0) __PYX_ERR(0, 187, __pyx_L1_error)
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 187, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_status, __pyx_int_400) < 0) __PYX_ERR(0, 188, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 188, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -6785,7 +6797,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
goto __pyx_L0;
- /* "handlers/payments/yookassa_pay.py":185
+ /* "handlers/payments/yookassa_pay.py":186
* payment_object = event.get("object", {})
* payment_id = payment_object.get("id")
* if not payment_id: # <<<<<<<<<<<<<<
@@ -6794,7 +6806,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
*/
}
- /* "handlers/payments/yookassa_pay.py":189
+ /* "handlers/payments/yookassa_pay.py":190
* return web.Response(status=400)
*
* try: # <<<<<<<<<<<<<<
@@ -6808,16 +6820,16 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
__Pyx_XGOTREF(__pyx_t_10);
/*try:*/ {
- /* "handlers/payments/yookassa_pay.py":190
+ /* "handlers/payments/yookassa_pay.py":191
*
* try:
* payment = Payment.find_one(payment_id) # <<<<<<<<<<<<<<
* logger.info(f" API Yookassa: {payment}")
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Payment); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 190, __pyx_L6_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Payment); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 191, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_find_one); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 190, __pyx_L6_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_find_one); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 191, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = NULL;
@@ -6838,7 +6850,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_cur_scope->__pyx_v_payment_id};
__pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 190, __pyx_L6_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 191, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
@@ -6846,21 +6858,21 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
__pyx_cur_scope->__pyx_v_payment = __pyx_t_3;
__pyx_t_3 = 0;
- /* "handlers/payments/yookassa_pay.py":191
+ /* "handlers/payments/yookassa_pay.py":192
* try:
* payment = Payment.find_one(payment_id)
* logger.info(f" API Yookassa: {payment}") # <<<<<<<<<<<<<<
*
* if payment.status == "succeeded" and payment.paid:
*/
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_logger); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 191, __pyx_L6_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_logger); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 192, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_info); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 191, __pyx_L6_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_info); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 192, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_payment, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 191, __pyx_L6_error)
+ __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_payment, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 192, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_API_Yookassa, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 191, __pyx_L6_error)
+ __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_API_Yookassa, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 192, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = NULL;
@@ -6882,67 +6894,67 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
__pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 191, __pyx_L6_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 192, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "handlers/payments/yookassa_pay.py":193
+ /* "handlers/payments/yookassa_pay.py":194
* logger.info(f" API Yookassa: {payment}")
*
* if payment.status == "succeeded" and payment.paid: # <<<<<<<<<<<<<<
* web.Response(status=200)
* user_id_str = payment.metadata.get("user_id")
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_payment, __pyx_n_s_status); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 193, __pyx_L6_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_payment, __pyx_n_s_status); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 194, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_6 = (__Pyx_PyUnicode_Equals(__pyx_t_3, __pyx_n_u_succeeded, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 193, __pyx_L6_error)
+ __pyx_t_6 = (__Pyx_PyUnicode_Equals(__pyx_t_3, __pyx_n_u_succeeded, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 194, __pyx_L6_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (__pyx_t_6) {
} else {
__pyx_t_7 = __pyx_t_6;
goto __pyx_L13_bool_binop_done;
}
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_payment, __pyx_n_s_paid); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 193, __pyx_L6_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_payment, __pyx_n_s_paid); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 194, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 193, __pyx_L6_error)
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 194, __pyx_L6_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_7 = __pyx_t_6;
__pyx_L13_bool_binop_done:;
if (__pyx_t_7) {
- /* "handlers/payments/yookassa_pay.py":194
+ /* "handlers/payments/yookassa_pay.py":195
*
* if payment.status == "succeeded" and payment.paid:
* web.Response(status=200) # <<<<<<<<<<<<<<
* user_id_str = payment.metadata.get("user_id")
* amount_str = payment.amount["value"]
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_web); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 194, __pyx_L6_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_web); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 195, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_Response); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 194, __pyx_L6_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_Response); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 195, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 194, __pyx_L6_error)
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 195, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_status, __pyx_int_200) < 0) __PYX_ERR(0, 194, __pyx_L6_error)
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 194, __pyx_L6_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_status, __pyx_int_200) < 0) __PYX_ERR(0, 195, __pyx_L6_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 195, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "handlers/payments/yookassa_pay.py":195
+ /* "handlers/payments/yookassa_pay.py":196
* if payment.status == "succeeded" and payment.paid:
* web.Response(status=200)
* user_id_str = payment.metadata.get("user_id") # <<<<<<<<<<<<<<
* amount_str = payment.amount["value"]
*
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_payment, __pyx_n_s_metadata); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 195, __pyx_L6_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_payment, __pyx_n_s_metadata); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 196, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_get); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 195, __pyx_L6_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_get); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 196, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -6963,7 +6975,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_n_u_user_id};
__pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 195, __pyx_L6_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 196, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
@@ -6971,23 +6983,23 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
__pyx_cur_scope->__pyx_v_user_id_str = __pyx_t_2;
__pyx_t_2 = 0;
- /* "handlers/payments/yookassa_pay.py":196
+ /* "handlers/payments/yookassa_pay.py":197
* web.Response(status=200)
* user_id_str = payment.metadata.get("user_id")
* amount_str = payment.amount["value"] # <<<<<<<<<<<<<<
*
* try:
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_payment, __pyx_n_s_amount); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 196, __pyx_L6_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_payment, __pyx_n_s_amount); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 197, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 196, __pyx_L6_error)
+ __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 197, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_GIVEREF(__pyx_t_1);
__pyx_cur_scope->__pyx_v_amount_str = __pyx_t_1;
__pyx_t_1 = 0;
- /* "handlers/payments/yookassa_pay.py":198
+ /* "handlers/payments/yookassa_pay.py":199
* amount_str = payment.amount["value"]
*
* try: # <<<<<<<<<<<<<<
@@ -7001,42 +7013,42 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
__Pyx_XGOTREF(__pyx_t_13);
/*try:*/ {
- /* "handlers/payments/yookassa_pay.py":199
+ /* "handlers/payments/yookassa_pay.py":200
*
* try:
* user_id = int(user_id_str) # <<<<<<<<<<<<<<
* amount = float(amount_str)
* logger.info(f"Payment succeeded for user_id: {user_id}, amount: {amount}")
*/
- __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_user_id_str); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 199, __pyx_L15_error)
+ __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_user_id_str); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 200, __pyx_L15_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_cur_scope->__pyx_v_user_id = __pyx_t_1;
__pyx_t_1 = 0;
- /* "handlers/payments/yookassa_pay.py":200
+ /* "handlers/payments/yookassa_pay.py":201
* try:
* user_id = int(user_id_str)
* amount = float(amount_str) # <<<<<<<<<<<<<<
* logger.info(f"Payment succeeded for user_id: {user_id}, amount: {amount}")
*
*/
- __pyx_t_14 = __Pyx_PyObject_AsDouble(__pyx_cur_scope->__pyx_v_amount_str); if (unlikely(__pyx_t_14 == ((double)((double)-1)) && PyErr_Occurred())) __PYX_ERR(0, 200, __pyx_L15_error)
+ __pyx_t_14 = __Pyx_PyObject_AsDouble(__pyx_cur_scope->__pyx_v_amount_str); if (unlikely(__pyx_t_14 == ((double)((double)-1)) && PyErr_Occurred())) __PYX_ERR(0, 201, __pyx_L15_error)
__pyx_cur_scope->__pyx_v_amount = __pyx_t_14;
- /* "handlers/payments/yookassa_pay.py":201
+ /* "handlers/payments/yookassa_pay.py":202
* user_id = int(user_id_str)
* amount = float(amount_str)
* logger.info(f"Payment succeeded for user_id: {user_id}, amount: {amount}") # <<<<<<<<<<<<<<
*
* await add_payment(user_id, amount, "yookassa")
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 201, __pyx_L15_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 202, __pyx_L15_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_info); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 201, __pyx_L15_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_info); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 202, __pyx_L15_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 201, __pyx_L15_error)
+ __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 202, __pyx_L15_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_15 = 0;
__pyx_t_16 = 127;
@@ -7044,7 +7056,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
__pyx_t_15 += 31;
__Pyx_GIVEREF(__pyx_kp_u_Payment_succeeded_for_user_id);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_u_Payment_succeeded_for_user_id);
- __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_user_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 201, __pyx_L15_error)
+ __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_user_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 202, __pyx_L15_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_16 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_16) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_16;
__pyx_t_15 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5);
@@ -7055,9 +7067,9 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
__pyx_t_15 += 10;
__Pyx_GIVEREF(__pyx_kp_u_amount_2);
PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_kp_u_amount_2);
- __pyx_t_5 = PyFloat_FromDouble(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 201, __pyx_L15_error)
+ __pyx_t_5 = PyFloat_FromDouble(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 202, __pyx_L15_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_17 = __Pyx_PyObject_FormatSimple(__pyx_t_5, __pyx_empty_unicode); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 201, __pyx_L15_error)
+ __pyx_t_17 = __Pyx_PyObject_FormatSimple(__pyx_t_5, __pyx_empty_unicode); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 202, __pyx_L15_error)
__Pyx_GOTREF(__pyx_t_17);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_16 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_17) > __pyx_t_16) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_17) : __pyx_t_16;
@@ -7065,7 +7077,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
__Pyx_GIVEREF(__pyx_t_17);
PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_17);
__pyx_t_17 = 0;
- __pyx_t_17 = __Pyx_PyUnicode_Join(__pyx_t_2, 4, __pyx_t_15, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 201, __pyx_L15_error)
+ __pyx_t_17 = __Pyx_PyUnicode_Join(__pyx_t_2, 4, __pyx_t_15, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 202, __pyx_L15_error)
__Pyx_GOTREF(__pyx_t_17);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -7087,22 +7099,22 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 201, __pyx_L15_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 202, __pyx_L15_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "handlers/payments/yookassa_pay.py":203
+ /* "handlers/payments/yookassa_pay.py":204
* logger.info(f"Payment succeeded for user_id: {user_id}, amount: {amount}")
*
* await add_payment(user_id, amount, "yookassa") # <<<<<<<<<<<<<<
* await update_balance(user_id, amount)
* await send_payment_success_notification(user_id, amount)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_add_payment); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 203, __pyx_L15_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_add_payment); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 204, __pyx_L15_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_17 = PyFloat_FromDouble(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 203, __pyx_L15_error)
+ __pyx_t_17 = PyFloat_FromDouble(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 204, __pyx_L15_error)
__Pyx_GOTREF(__pyx_t_17);
__pyx_t_2 = NULL;
__pyx_t_4 = 0;
@@ -7123,7 +7135,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 3+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 203, __pyx_L15_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 204, __pyx_L15_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
@@ -7168,90 +7180,6 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
__pyx_t_13 = __pyx_cur_scope->__pyx_t_5;
__pyx_cur_scope->__pyx_t_5 = 0;
__Pyx_XGOTREF(__pyx_t_13);
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 203, __pyx_L15_error)
- } else {
- PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 203, __pyx_L15_error)
- }
- }
-
- /* "handlers/payments/yookassa_pay.py":204
- *
- * await add_payment(user_id, amount, "yookassa")
- * await update_balance(user_id, amount) # <<<<<<<<<<<<<<
- * await send_payment_success_notification(user_id, amount)
- * except ValueError as e:
- */
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_update_balance); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 204, __pyx_L15_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_17 = PyFloat_FromDouble(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 204, __pyx_L15_error)
- __Pyx_GOTREF(__pyx_t_17);
- __pyx_t_2 = NULL;
- __pyx_t_4 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_3))) {
- __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
- if (likely(__pyx_t_2)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
- __Pyx_INCREF(__pyx_t_2);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_3, function);
- __pyx_t_4 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_cur_scope->__pyx_v_user_id, __pyx_t_17};
- __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4);
- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 204, __pyx_L15_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- }
- __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_XGOTREF(__pyx_r);
- if (likely(__pyx_r)) {
- __Pyx_XGIVEREF(__pyx_t_8);
- __pyx_cur_scope->__pyx_t_0 = __pyx_t_8;
- __Pyx_XGIVEREF(__pyx_t_9);
- __pyx_cur_scope->__pyx_t_1 = __pyx_t_9;
- __Pyx_XGIVEREF(__pyx_t_10);
- __pyx_cur_scope->__pyx_t_2 = __pyx_t_10;
- __Pyx_XGIVEREF(__pyx_t_11);
- __pyx_cur_scope->__pyx_t_3 = __pyx_t_11;
- __Pyx_XGIVEREF(__pyx_t_12);
- __pyx_cur_scope->__pyx_t_4 = __pyx_t_12;
- __Pyx_XGIVEREF(__pyx_t_13);
- __pyx_cur_scope->__pyx_t_5 = __pyx_t_13;
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
- /* return from generator, awaiting value */
- __pyx_generator->resume_label = 3;
- return __pyx_r;
- __pyx_L22_resume_from_await:;
- __pyx_t_8 = __pyx_cur_scope->__pyx_t_0;
- __pyx_cur_scope->__pyx_t_0 = 0;
- __Pyx_XGOTREF(__pyx_t_8);
- __pyx_t_9 = __pyx_cur_scope->__pyx_t_1;
- __pyx_cur_scope->__pyx_t_1 = 0;
- __Pyx_XGOTREF(__pyx_t_9);
- __pyx_t_10 = __pyx_cur_scope->__pyx_t_2;
- __pyx_cur_scope->__pyx_t_2 = 0;
- __Pyx_XGOTREF(__pyx_t_10);
- __pyx_t_11 = __pyx_cur_scope->__pyx_t_3;
- __pyx_cur_scope->__pyx_t_3 = 0;
- __Pyx_XGOTREF(__pyx_t_11);
- __pyx_t_12 = __pyx_cur_scope->__pyx_t_4;
- __pyx_cur_scope->__pyx_t_4 = 0;
- __Pyx_XGOTREF(__pyx_t_12);
- __pyx_t_13 = __pyx_cur_scope->__pyx_t_5;
- __pyx_cur_scope->__pyx_t_5 = 0;
- __Pyx_XGOTREF(__pyx_t_13);
if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 204, __pyx_L15_error)
} else {
PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
@@ -7262,13 +7190,13 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
}
/* "handlers/payments/yookassa_pay.py":205
+ *
* await add_payment(user_id, amount, "yookassa")
- * await update_balance(user_id, amount)
- * await send_payment_success_notification(user_id, amount) # <<<<<<<<<<<<<<
+ * await update_balance(user_id, amount) # <<<<<<<<<<<<<<
+ * await send_payment_success_notification(user_id, amount)
* except ValueError as e:
- * logger.error(f" user_id amount: {e}")
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_send_payment_success_notificatio); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 205, __pyx_L15_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_update_balance); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 205, __pyx_L15_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_17 = PyFloat_FromDouble(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 205, __pyx_L15_error)
__Pyx_GOTREF(__pyx_t_17);
@@ -7315,9 +7243,9 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
__Pyx_RefNannyFinishContext();
__Pyx_Coroutine_ResetAndClearException(__pyx_generator);
/* return from generator, awaiting value */
- __pyx_generator->resume_label = 4;
+ __pyx_generator->resume_label = 3;
return __pyx_r;
- __pyx_L23_resume_from_await:;
+ __pyx_L22_resume_from_await:;
__pyx_t_8 = __pyx_cur_scope->__pyx_t_0;
__pyx_cur_scope->__pyx_t_0 = 0;
__Pyx_XGOTREF(__pyx_t_8);
@@ -7345,7 +7273,91 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
}
}
- /* "handlers/payments/yookassa_pay.py":198
+ /* "handlers/payments/yookassa_pay.py":206
+ * await add_payment(user_id, amount, "yookassa")
+ * await update_balance(user_id, amount)
+ * await send_payment_success_notification(user_id, amount) # <<<<<<<<<<<<<<
+ * except ValueError as e:
+ * logger.error(f" user_id amount: {e}")
+ */
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_send_payment_success_notificatio); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 206, __pyx_L15_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_17 = PyFloat_FromDouble(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 206, __pyx_L15_error)
+ __Pyx_GOTREF(__pyx_t_17);
+ __pyx_t_2 = NULL;
+ __pyx_t_4 = 0;
+ #if CYTHON_UNPACK_METHODS
+ if (unlikely(PyMethod_Check(__pyx_t_3))) {
+ __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
+ if (likely(__pyx_t_2)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+ __Pyx_INCREF(__pyx_t_2);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_3, function);
+ __pyx_t_4 = 1;
+ }
+ }
+ #endif
+ {
+ PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_cur_scope->__pyx_v_user_id, __pyx_t_17};
+ __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 206, __pyx_L15_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ }
+ __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_XGOTREF(__pyx_r);
+ if (likely(__pyx_r)) {
+ __Pyx_XGIVEREF(__pyx_t_8);
+ __pyx_cur_scope->__pyx_t_0 = __pyx_t_8;
+ __Pyx_XGIVEREF(__pyx_t_9);
+ __pyx_cur_scope->__pyx_t_1 = __pyx_t_9;
+ __Pyx_XGIVEREF(__pyx_t_10);
+ __pyx_cur_scope->__pyx_t_2 = __pyx_t_10;
+ __Pyx_XGIVEREF(__pyx_t_11);
+ __pyx_cur_scope->__pyx_t_3 = __pyx_t_11;
+ __Pyx_XGIVEREF(__pyx_t_12);
+ __pyx_cur_scope->__pyx_t_4 = __pyx_t_12;
+ __Pyx_XGIVEREF(__pyx_t_13);
+ __pyx_cur_scope->__pyx_t_5 = __pyx_t_13;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
+ /* return from generator, awaiting value */
+ __pyx_generator->resume_label = 4;
+ return __pyx_r;
+ __pyx_L23_resume_from_await:;
+ __pyx_t_8 = __pyx_cur_scope->__pyx_t_0;
+ __pyx_cur_scope->__pyx_t_0 = 0;
+ __Pyx_XGOTREF(__pyx_t_8);
+ __pyx_t_9 = __pyx_cur_scope->__pyx_t_1;
+ __pyx_cur_scope->__pyx_t_1 = 0;
+ __Pyx_XGOTREF(__pyx_t_9);
+ __pyx_t_10 = __pyx_cur_scope->__pyx_t_2;
+ __pyx_cur_scope->__pyx_t_2 = 0;
+ __Pyx_XGOTREF(__pyx_t_10);
+ __pyx_t_11 = __pyx_cur_scope->__pyx_t_3;
+ __pyx_cur_scope->__pyx_t_3 = 0;
+ __Pyx_XGOTREF(__pyx_t_11);
+ __pyx_t_12 = __pyx_cur_scope->__pyx_t_4;
+ __pyx_cur_scope->__pyx_t_4 = 0;
+ __Pyx_XGOTREF(__pyx_t_12);
+ __pyx_t_13 = __pyx_cur_scope->__pyx_t_5;
+ __pyx_cur_scope->__pyx_t_5 = 0;
+ __Pyx_XGOTREF(__pyx_t_13);
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 206, __pyx_L15_error)
+ } else {
+ PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
+ if (exc_type) {
+ if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
+ else __PYX_ERR(0, 206, __pyx_L15_error)
+ }
+ }
+
+ /* "handlers/payments/yookassa_pay.py":199
* amount_str = payment.amount["value"]
*
* try: # <<<<<<<<<<<<<<
@@ -7364,7 +7376,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "handlers/payments/yookassa_pay.py":206
+ /* "handlers/payments/yookassa_pay.py":207
* await update_balance(user_id, amount)
* await send_payment_success_notification(user_id, amount)
* except ValueError as e: # <<<<<<<<<<<<<<
@@ -7374,7 +7386,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
__pyx_t_18 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
if (__pyx_t_18) {
__Pyx_AddTraceback("handlers.payments.yookassa_pay.yookassa_webhook", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_17) < 0) __PYX_ERR(0, 206, __pyx_L17_except_error)
+ if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_17) < 0) __PYX_ERR(0, 207, __pyx_L17_except_error)
__Pyx_XGOTREF(__pyx_t_1);
__Pyx_XGOTREF(__pyx_t_3);
__Pyx_XGOTREF(__pyx_t_17);
@@ -7383,21 +7395,21 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
__pyx_cur_scope->__pyx_v_e = __pyx_t_3;
/*try:*/ {
- /* "handlers/payments/yookassa_pay.py":207
+ /* "handlers/payments/yookassa_pay.py":208
* await send_payment_success_notification(user_id, amount)
* except ValueError as e:
* logger.error(f" user_id amount: {e}") # <<<<<<<<<<<<<<
* return web.Response(status=400)
* else:
*/
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_logger); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 207, __pyx_L29_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_logger); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 208, __pyx_L29_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_error); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 207, __pyx_L29_error)
+ __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_error); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 208, __pyx_L29_error)
__Pyx_GOTREF(__pyx_t_19);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_e, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 207, __pyx_L29_error)
+ __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_e, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 208, __pyx_L29_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_20 = __Pyx_PyUnicode_Concat(__pyx_kp_u_user_id_amount, __pyx_t_5); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 207, __pyx_L29_error)
+ __pyx_t_20 = __Pyx_PyUnicode_Concat(__pyx_kp_u_user_id_amount, __pyx_t_5); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 208, __pyx_L29_error)
__Pyx_GOTREF(__pyx_t_20);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = NULL;
@@ -7419,13 +7431,13 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
__pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_19, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 207, __pyx_L29_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 208, __pyx_L29_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "handlers/payments/yookassa_pay.py":208
+ /* "handlers/payments/yookassa_pay.py":209
* except ValueError as e:
* logger.error(f" user_id amount: {e}")
* return web.Response(status=400) # <<<<<<<<<<<<<<
@@ -7433,15 +7445,15 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
* logger.warning(f" ID {payment_id} ")
*/
__Pyx_XDECREF(__pyx_r);
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_web); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 208, __pyx_L29_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_web); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 209, __pyx_L29_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Response); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 208, __pyx_L29_error)
+ __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Response); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 209, __pyx_L29_error)
__Pyx_GOTREF(__pyx_t_19);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 208, __pyx_L29_error)
+ __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 209, __pyx_L29_error)
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_status, __pyx_int_400) < 0) __PYX_ERR(0, 208, __pyx_L29_error)
- __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_19, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 208, __pyx_L29_error)
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_status, __pyx_int_400) < 0) __PYX_ERR(0, 209, __pyx_L29_error)
+ __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_19, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 209, __pyx_L29_error)
__Pyx_GOTREF(__pyx_t_20);
__Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -7453,7 +7465,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
goto __pyx_L28_return;
}
- /* "handlers/payments/yookassa_pay.py":206
+ /* "handlers/payments/yookassa_pay.py":207
* await update_balance(user_id, amount)
* await send_payment_success_notification(user_id, amount)
* except ValueError as e: # <<<<<<<<<<<<<<
@@ -7530,7 +7542,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
}
goto __pyx_L17_except_error;
- /* "handlers/payments/yookassa_pay.py":198
+ /* "handlers/payments/yookassa_pay.py":199
* amount_str = payment.amount["value"]
*
* try: # <<<<<<<<<<<<<<
@@ -7552,7 +7564,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
__pyx_L20_try_end:;
}
- /* "handlers/payments/yookassa_pay.py":193
+ /* "handlers/payments/yookassa_pay.py":194
* logger.info(f" API Yookassa: {payment}")
*
* if payment.status == "succeeded" and payment.paid: # <<<<<<<<<<<<<<
@@ -7562,7 +7574,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
goto __pyx_L12;
}
- /* "handlers/payments/yookassa_pay.py":210
+ /* "handlers/payments/yookassa_pay.py":211
* return web.Response(status=400)
* else:
* logger.warning(f" ID {payment_id} ") # <<<<<<<<<<<<<<
@@ -7570,12 +7582,12 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
* except Exception as e:
*/
/*else*/ {
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 210, __pyx_L6_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 211, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_warning); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 210, __pyx_L6_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_warning); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 211, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 210, __pyx_L6_error)
+ __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 211, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_15 = 0;
__pyx_t_16 = 127;
@@ -7584,19 +7596,19 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
__pyx_t_15 += 12;
__Pyx_GIVEREF(__pyx_kp_u_ID_2);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_u_ID_2);
- __pyx_t_20 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_payment_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 210, __pyx_L6_error)
+ __pyx_t_20 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_payment_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 211, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_20);
__pyx_t_16 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_20) > __pyx_t_16) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_20) : __pyx_t_16;
__pyx_t_15 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_20);
__Pyx_GIVEREF(__pyx_t_20);
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_20);
__pyx_t_20 = 0;
- __Pyx_INCREF(__pyx_kp_u__15);
+ __Pyx_INCREF(__pyx_kp_u__12);
__pyx_t_16 = (65535 > __pyx_t_16) ? 65535 : __pyx_t_16;
__pyx_t_15 += 27;
- __Pyx_GIVEREF(__pyx_kp_u__15);
- PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_kp_u__15);
- __pyx_t_20 = __Pyx_PyUnicode_Join(__pyx_t_3, 3, __pyx_t_15, __pyx_t_16); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 210, __pyx_L6_error)
+ __Pyx_GIVEREF(__pyx_kp_u__12);
+ PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_kp_u__12);
+ __pyx_t_20 = __Pyx_PyUnicode_Join(__pyx_t_3, 3, __pyx_t_15, __pyx_t_16); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 211, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_20);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -7618,13 +7630,13 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
__pyx_t_17 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
- if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 210, __pyx_L6_error)
+ if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 211, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_17);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
- /* "handlers/payments/yookassa_pay.py":211
+ /* "handlers/payments/yookassa_pay.py":212
* else:
* logger.warning(f" ID {payment_id} ")
* return web.Response(status=400) # <<<<<<<<<<<<<<
@@ -7632,15 +7644,15 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
* logger.error(f" : {e}")
*/
__Pyx_XDECREF(__pyx_r);
- __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_web); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 211, __pyx_L6_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_web); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 212, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_17);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_Response); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 211, __pyx_L6_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_Response); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 212, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
- __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 211, __pyx_L6_error)
+ __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 212, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_17);
- if (PyDict_SetItem(__pyx_t_17, __pyx_n_s_status, __pyx_int_400) < 0) __PYX_ERR(0, 211, __pyx_L6_error)
- __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_17); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 211, __pyx_L6_error)
+ if (PyDict_SetItem(__pyx_t_17, __pyx_n_s_status, __pyx_int_400) < 0) __PYX_ERR(0, 212, __pyx_L6_error)
+ __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_17); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 212, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_20);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
@@ -7650,7 +7662,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
}
__pyx_L12:;
- /* "handlers/payments/yookassa_pay.py":189
+ /* "handlers/payments/yookassa_pay.py":190
* return web.Response(status=400)
*
* try: # <<<<<<<<<<<<<<
@@ -7671,7 +7683,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "handlers/payments/yookassa_pay.py":212
+ /* "handlers/payments/yookassa_pay.py":213
* logger.warning(f" ID {payment_id} ")
* return web.Response(status=400)
* except Exception as e: # <<<<<<<<<<<<<<
@@ -7681,7 +7693,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
__pyx_t_21 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
if (__pyx_t_21) {
__Pyx_AddTraceback("handlers.payments.yookassa_pay.yookassa_webhook", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_20, &__pyx_t_17, &__pyx_t_1) < 0) __PYX_ERR(0, 212, __pyx_L8_except_error)
+ if (__Pyx_GetException(&__pyx_t_20, &__pyx_t_17, &__pyx_t_1) < 0) __PYX_ERR(0, 213, __pyx_L8_except_error)
__Pyx_XGOTREF(__pyx_t_20);
__Pyx_XGOTREF(__pyx_t_17);
__Pyx_XGOTREF(__pyx_t_1);
@@ -7691,21 +7703,21 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
__Pyx_GIVEREF(__pyx_t_17);
/*try:*/ {
- /* "handlers/payments/yookassa_pay.py":213
+ /* "handlers/payments/yookassa_pay.py":214
* return web.Response(status=400)
* except Exception as e:
* logger.error(f" : {e}") # <<<<<<<<<<<<<<
* return web.Response(status=500)
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 213, __pyx_L40_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 214, __pyx_L40_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_error); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 213, __pyx_L40_error)
+ __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_error); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 214, __pyx_L40_error)
__Pyx_GOTREF(__pyx_t_19);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_e, __pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 213, __pyx_L40_error)
+ __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_e, __pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 214, __pyx_L40_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u__16, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 213, __pyx_L40_error)
+ __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u__13, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 214, __pyx_L40_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -7727,13 +7739,13 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
__pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_19, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 213, __pyx_L40_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 214, __pyx_L40_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "handlers/payments/yookassa_pay.py":214
+ /* "handlers/payments/yookassa_pay.py":215
* except Exception as e:
* logger.error(f" : {e}")
* return web.Response(status=500) # <<<<<<<<<<<<<<
@@ -7741,15 +7753,15 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
* return web.Response(status=200)
*/
__Pyx_XDECREF(__pyx_r);
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_web); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 214, __pyx_L40_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_web); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 215, __pyx_L40_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_Response); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 214, __pyx_L40_error)
+ __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_Response); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 215, __pyx_L40_error)
__Pyx_GOTREF(__pyx_t_19);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 214, __pyx_L40_error)
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 215, __pyx_L40_error)
__Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_status, __pyx_int_500) < 0) __PYX_ERR(0, 214, __pyx_L40_error)
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_19, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 214, __pyx_L40_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_status, __pyx_int_500) < 0) __PYX_ERR(0, 215, __pyx_L40_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_19, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 215, __pyx_L40_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -7761,7 +7773,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
goto __pyx_L39_return;
}
- /* "handlers/payments/yookassa_pay.py":212
+ /* "handlers/payments/yookassa_pay.py":213
* logger.warning(f" ID {payment_id} ")
* return web.Response(status=400)
* except Exception as e: # <<<<<<<<<<<<<<
@@ -7838,7 +7850,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
}
goto __pyx_L8_except_error;
- /* "handlers/payments/yookassa_pay.py":189
+ /* "handlers/payments/yookassa_pay.py":190
* return web.Response(status=400)
*
* try: # <<<<<<<<<<<<<<
@@ -7866,7 +7878,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
__pyx_L11_try_end:;
}
- /* "handlers/payments/yookassa_pay.py":216
+ /* "handlers/payments/yookassa_pay.py":217
* return web.Response(status=500)
*
* return web.Response(status=200) # <<<<<<<<<<<<<<
@@ -7874,15 +7886,15 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
*
*/
__Pyx_XDECREF(__pyx_r);
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_web); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 216, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_web); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 217, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_Response); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 216, __pyx_L1_error)
+ __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_Response); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 217, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_17);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 216, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 217, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_status, __pyx_int_200) < 0) __PYX_ERR(0, 216, __pyx_L1_error)
- __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 216, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_status, __pyx_int_200) < 0) __PYX_ERR(0, 217, __pyx_L1_error)
+ __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 217, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_20);
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -7891,7 +7903,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
goto __pyx_L0;
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "handlers/payments/yookassa_pay.py":176
+ /* "handlers/payments/yookassa_pay.py":177
*
*
* async def yookassa_webhook(request): # <<<<<<<<<<<<<<
@@ -7922,7 +7934,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_C
}
static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_11generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "handlers/payments/yookassa_pay.py":220
+/* "handlers/payments/yookassa_pay.py":221
*
*
* @router.callback_query(F.data == "enter_custom_amount_yookassa") # <<<<<<<<<<<<<<
@@ -7986,7 +7998,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
(void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
kw_args--;
}
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 220, __pyx_L3_error)
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 221, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
@@ -7994,14 +8006,14 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
(void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
kw_args--;
}
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 220, __pyx_L3_error)
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 221, __pyx_L3_error)
else {
- __Pyx_RaiseArgtupleInvalid("process_enter_custom_amount", 1, 2, 2, 1); __PYX_ERR(0, 220, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("process_enter_custom_amount", 1, 2, 2, 1); __PYX_ERR(0, 221, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "process_enter_custom_amount") < 0)) __PYX_ERR(0, 220, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "process_enter_custom_amount") < 0)) __PYX_ERR(0, 221, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
@@ -8014,7 +8026,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("process_enter_custom_amount", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 220, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("process_enter_custom_amount", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 221, __pyx_L3_error)
__pyx_L6_skip:;
goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
@@ -8053,7 +8065,7 @@ static PyObject *__pyx_pf_8handlers_8payments_12yookassa_pay_9process_enter_cust
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_enter_custom_amount *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(0, 220, __pyx_L1_error)
+ __PYX_ERR(0, 221, __pyx_L1_error)
} else {
__Pyx_GOTREF((PyObject *)__pyx_cur_scope);
}
@@ -8064,7 +8076,7 @@ static PyObject *__pyx_pf_8handlers_8payments_12yookassa_pay_9process_enter_cust
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_state);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_state);
{
- __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_12yookassa_pay_11generator3, __pyx_codeobj__17, (PyObject *) __pyx_cur_scope, __pyx_n_s_process_enter_custom_amount, __pyx_n_s_process_enter_custom_amount, __pyx_n_s_handlers_payments_yookassa_pay); if (unlikely(!gen)) __PYX_ERR(0, 220, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_12yookassa_pay_11generator3, __pyx_codeobj__14, (PyObject *) __pyx_cur_scope, __pyx_n_s_process_enter_custom_amount, __pyx_n_s_process_enter_custom_amount, __pyx_n_s_handlers_payments_yookassa_pay); if (unlikely(!gen)) __PYX_ERR(0, 221, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -8104,16 +8116,16 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_11generator3(__pyx_
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 220, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 221, __pyx_L1_error)
- /* "handlers/payments/yookassa_pay.py":224
+ /* "handlers/payments/yookassa_pay.py":225
* callback_query: types.CallbackQuery, state: FSMContext
* ):
* builder = InlineKeyboardBuilder() # <<<<<<<<<<<<<<
- * builder.row(InlineKeyboardButton(text=" ", callback_data="pay_yookassa"))
+ * builder.row(InlineKeyboardButton(text=BACK, callback_data="pay_yookassa"))
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 224, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 225, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
@@ -8133,7 +8145,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_11generator3(__pyx_
PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 224, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 225, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
@@ -8141,22 +8153,25 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_11generator3(__pyx_
__pyx_cur_scope->__pyx_v_builder = __pyx_t_1;
__pyx_t_1 = 0;
- /* "handlers/payments/yookassa_pay.py":225
+ /* "handlers/payments/yookassa_pay.py":226
* ):
* builder = InlineKeyboardBuilder()
- * builder.row(InlineKeyboardButton(text=" ", callback_data="pay_yookassa")) # <<<<<<<<<<<<<<
+ * builder.row(InlineKeyboardButton(text=BACK, callback_data="pay_yookassa")) # <<<<<<<<<<<<<<
*
* await callback_query.message.answer(
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 225, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 226, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 225, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 226, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_5 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 225, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 226, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_text, __pyx_kp_u__18) < 0) __PYX_ERR(0, 225, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_callback_data, __pyx_n_u_pay_yookassa) < 0) __PYX_ERR(0, 225, __pyx_L1_error)
- __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 225, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_BACK); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 226, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_6);
+ if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_text, __pyx_t_6) < 0) __PYX_ERR(0, 226, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_callback_data, __pyx_n_u_pay_yookassa) < 0) __PYX_ERR(0, 226, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 226, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
@@ -8179,35 +8194,35 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_11generator3(__pyx_
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 225, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 226, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "handlers/payments/yookassa_pay.py":227
- * builder.row(InlineKeyboardButton(text=" ", callback_data="pay_yookassa"))
+ /* "handlers/payments/yookassa_pay.py":228
+ * builder.row(InlineKeyboardButton(text=BACK, callback_data="pay_yookassa"))
*
* await callback_query.message.answer( # <<<<<<<<<<<<<<
* ", .",
* reply_markup=builder.as_markup(),
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 227, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 228, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_answer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 227, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_answer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 228, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "handlers/payments/yookassa_pay.py":229
+ /* "handlers/payments/yookassa_pay.py":230
* await callback_query.message.answer(
* ", .",
* reply_markup=builder.as_markup(), # <<<<<<<<<<<<<<
* )
*
*/
- __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 229, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 230, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 229, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 230, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
@@ -8227,21 +8242,21 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_11generator3(__pyx_
PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
__pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 229, __pyx_L1_error)
+ if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 230, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_reply_markup, __pyx_t_6) < 0) __PYX_ERR(0, 229, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_reply_markup, __pyx_t_6) < 0) __PYX_ERR(0, 230, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "handlers/payments/yookassa_pay.py":227
- * builder.row(InlineKeyboardButton(text=" ", callback_data="pay_yookassa"))
+ /* "handlers/payments/yookassa_pay.py":228
+ * builder.row(InlineKeyboardButton(text=BACK, callback_data="pay_yookassa"))
*
* await callback_query.message.answer( # <<<<<<<<<<<<<<
* ", .",
* reply_markup=builder.as_markup(),
*/
- __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__20, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 227, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__16, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 228, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -8256,27 +8271,27 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_11generator3(__pyx_
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L4_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 227, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 228, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 227, __pyx_L1_error)
+ else __PYX_ERR(0, 228, __pyx_L1_error)
}
}
- /* "handlers/payments/yookassa_pay.py":232
+ /* "handlers/payments/yookassa_pay.py":233
* )
*
* await state.set_state(ReplenishBalanceState.entering_custom_amount_yookassa) # <<<<<<<<<<<<<<
*
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_set_state); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 232, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_set_state); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 233, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_ReplenishBalanceState); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 232, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_ReplenishBalanceState); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 233, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_entering_custom_amount_yookassa); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 232, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_entering_custom_amount_yookassa); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 233, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -8298,7 +8313,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_11generator3(__pyx_
__pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 232, __pyx_L1_error)
+ if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 233, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
@@ -8313,17 +8328,17 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_11generator3(__pyx_
__pyx_generator->resume_label = 2;
return __pyx_r;
__pyx_L5_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 232, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 233, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 232, __pyx_L1_error)
+ else __PYX_ERR(0, 233, __pyx_L1_error)
}
}
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "handlers/payments/yookassa_pay.py":220
+ /* "handlers/payments/yookassa_pay.py":221
*
*
* @router.callback_query(F.data == "enter_custom_amount_yookassa") # <<<<<<<<<<<<<<
@@ -8354,7 +8369,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_11generator3(__pyx_
}
static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_14generator4(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "handlers/payments/yookassa_pay.py":235
+/* "handlers/payments/yookassa_pay.py":236
*
*
* @router.message(ReplenishBalanceState.entering_custom_amount_yookassa) # <<<<<<<<<<<<<<
@@ -8418,7 +8433,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
(void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
kw_args--;
}
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 235, __pyx_L3_error)
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 236, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
@@ -8426,14 +8441,14 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
(void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
kw_args--;
}
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 235, __pyx_L3_error)
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 236, __pyx_L3_error)
else {
- __Pyx_RaiseArgtupleInvalid("process_custom_amount_input", 1, 2, 2, 1); __PYX_ERR(0, 235, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("process_custom_amount_input", 1, 2, 2, 1); __PYX_ERR(0, 236, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "process_custom_amount_input") < 0)) __PYX_ERR(0, 235, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "process_custom_amount_input") < 0)) __PYX_ERR(0, 236, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
@@ -8446,7 +8461,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("process_custom_amount_input", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 235, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("process_custom_amount_input", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 236, __pyx_L3_error)
__pyx_L6_skip:;
goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
@@ -8485,7 +8500,7 @@ static PyObject *__pyx_pf_8handlers_8payments_12yookassa_pay_12process_custom_am
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_custom_amount_input *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(0, 235, __pyx_L1_error)
+ __PYX_ERR(0, 236, __pyx_L1_error)
} else {
__Pyx_GOTREF((PyObject *)__pyx_cur_scope);
}
@@ -8496,7 +8511,7 @@ static PyObject *__pyx_pf_8handlers_8payments_12yookassa_pay_12process_custom_am
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_state);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_state);
{
- __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_12yookassa_pay_14generator4, __pyx_codeobj__21, (PyObject *) __pyx_cur_scope, __pyx_n_s_process_custom_amount_input, __pyx_n_s_process_custom_amount_input, __pyx_n_s_handlers_payments_yookassa_pay); if (unlikely(!gen)) __PYX_ERR(0, 235, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_12yookassa_pay_14generator4, __pyx_codeobj__17, (PyObject *) __pyx_cur_scope, __pyx_n_s_process_custom_amount_input, __pyx_n_s_process_custom_amount_input, __pyx_n_s_handlers_payments_yookassa_pay); if (unlikely(!gen)) __PYX_ERR(0, 236, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -8558,18 +8573,18 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_14generator4(__pyx_
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 235, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 236, __pyx_L1_error)
- /* "handlers/payments/yookassa_pay.py":237
+ /* "handlers/payments/yookassa_pay.py":238
* @router.message(ReplenishBalanceState.entering_custom_amount_yookassa)
* async def process_custom_amount_input(message: types.Message, state: FSMContext):
* if message.text.isdigit(): # <<<<<<<<<<<<<<
* amount = int(message.text)
* if amount <= 0:
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_text); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 237, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_text); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 238, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_isdigit); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 237, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_isdigit); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 238, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -8590,50 +8605,50 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_14generator4(__pyx_
PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 237, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 238, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 237, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 238, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_5) {
- /* "handlers/payments/yookassa_pay.py":238
+ /* "handlers/payments/yookassa_pay.py":239
* async def process_custom_amount_input(message: types.Message, state: FSMContext):
* if message.text.isdigit():
* amount = int(message.text) # <<<<<<<<<<<<<<
* if amount <= 0:
* await message.answer(
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_text); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 238, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_text); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 239, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 238, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 239, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GIVEREF(__pyx_t_3);
__pyx_cur_scope->__pyx_v_amount = __pyx_t_3;
__pyx_t_3 = 0;
- /* "handlers/payments/yookassa_pay.py":239
+ /* "handlers/payments/yookassa_pay.py":240
* if message.text.isdigit():
* amount = int(message.text)
* if amount <= 0: # <<<<<<<<<<<<<<
* await message.answer(
* " . , :"
*/
- __pyx_t_3 = PyObject_RichCompare(__pyx_cur_scope->__pyx_v_amount, __pyx_int_0, Py_LE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 239, __pyx_L1_error)
- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 239, __pyx_L1_error)
+ __pyx_t_3 = PyObject_RichCompare(__pyx_cur_scope->__pyx_v_amount, __pyx_int_0, Py_LE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 240, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 240, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (__pyx_t_5) {
- /* "handlers/payments/yookassa_pay.py":240
+ /* "handlers/payments/yookassa_pay.py":241
* amount = int(message.text)
* if amount <= 0:
* await message.answer( # <<<<<<<<<<<<<<
* " . , :"
* )
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_answer); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 240, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_answer); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 241, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = NULL;
__pyx_t_4 = 0;
@@ -8650,10 +8665,10 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_14generator4(__pyx_
}
#endif
{
- PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_kp_u__22};
+ PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_kp_u__18};
__pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 240, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 241, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
@@ -8668,16 +8683,16 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_14generator4(__pyx_
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L6_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 240, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 241, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 240, __pyx_L1_error)
+ else __PYX_ERR(0, 241, __pyx_L1_error)
}
}
- /* "handlers/payments/yookassa_pay.py":243
+ /* "handlers/payments/yookassa_pay.py":244
* " . , :"
* )
* return # <<<<<<<<<<<<<<
@@ -8688,7 +8703,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_14generator4(__pyx_
__pyx_r = NULL;
goto __pyx_L0;
- /* "handlers/payments/yookassa_pay.py":239
+ /* "handlers/payments/yookassa_pay.py":240
* if message.text.isdigit():
* amount = int(message.text)
* if amount <= 0: # <<<<<<<<<<<<<<
@@ -8697,19 +8712,19 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_14generator4(__pyx_
*/
}
- /* "handlers/payments/yookassa_pay.py":245
+ /* "handlers/payments/yookassa_pay.py":246
* return
*
* await state.update_data(amount=amount) # <<<<<<<<<<<<<<
* await state.set_state(
* ReplenishBalanceState.waiting_for_payment_confirmation_yookassa
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_update_data); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 245, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_update_data); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 246, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 245, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 246, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_amount, __pyx_cur_scope->__pyx_v_amount) < 0) __PYX_ERR(0, 245, __pyx_L1_error)
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 245, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_amount, __pyx_cur_scope->__pyx_v_amount) < 0) __PYX_ERR(0, 246, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 246, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -8724,35 +8739,35 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_14generator4(__pyx_
__pyx_generator->resume_label = 2;
return __pyx_r;
__pyx_L7_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 245, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 246, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 245, __pyx_L1_error)
+ else __PYX_ERR(0, 246, __pyx_L1_error)
}
}
- /* "handlers/payments/yookassa_pay.py":246
+ /* "handlers/payments/yookassa_pay.py":247
*
* await state.update_data(amount=amount)
* await state.set_state( # <<<<<<<<<<<<<<
* ReplenishBalanceState.waiting_for_payment_confirmation_yookassa
* )
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_set_state); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 246, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_set_state); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 247, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- /* "handlers/payments/yookassa_pay.py":247
+ /* "handlers/payments/yookassa_pay.py":248
* await state.update_data(amount=amount)
* await state.set_state(
* ReplenishBalanceState.waiting_for_payment_confirmation_yookassa # <<<<<<<<<<<<<<
* )
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ReplenishBalanceState); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 247, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ReplenishBalanceState); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 248, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_waiting_for_payment_confirmation); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 247, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_waiting_for_payment_confirmation); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 248, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -8774,7 +8789,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_14generator4(__pyx_
__pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 246, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 247, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
@@ -8789,16 +8804,16 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_14generator4(__pyx_
__pyx_generator->resume_label = 3;
return __pyx_r;
__pyx_L8_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 246, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 247, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 246, __pyx_L1_error)
+ else __PYX_ERR(0, 247, __pyx_L1_error)
}
}
- /* "handlers/payments/yookassa_pay.py":250
+ /* "handlers/payments/yookassa_pay.py":251
* )
*
* try: # <<<<<<<<<<<<<<
@@ -8812,205 +8827,205 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_14generator4(__pyx_
__Pyx_XGOTREF(__pyx_t_9);
/*try:*/ {
- /* "handlers/payments/yookassa_pay.py":251
+ /* "handlers/payments/yookassa_pay.py":252
*
* try:
* payment = Payment.create( # <<<<<<<<<<<<<<
* {
* "amount": {"value": str(amount), "currency": "RUB"},
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Payment); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 251, __pyx_L9_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Payment); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 252, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_create); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 251, __pyx_L9_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_create); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 252, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "handlers/payments/yookassa_pay.py":253
+ /* "handlers/payments/yookassa_pay.py":254
* payment = Payment.create(
* {
* "amount": {"value": str(amount), "currency": "RUB"}, # <<<<<<<<<<<<<<
* "confirmation": {
* "type": "redirect",
*/
- __pyx_t_1 = __Pyx_PyDict_NewPresized(6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 253, __pyx_L9_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 254, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 253, __pyx_L9_error)
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 254, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 253, __pyx_L9_error)
+ __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 254, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_10);
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_u_value, __pyx_t_10) < 0) __PYX_ERR(0, 253, __pyx_L9_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_u_value, __pyx_t_10) < 0) __PYX_ERR(0, 254, __pyx_L9_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_u_currency, __pyx_n_u_RUB) < 0) __PYX_ERR(0, 253, __pyx_L9_error)
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_u_amount, __pyx_t_3) < 0) __PYX_ERR(0, 253, __pyx_L9_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_u_currency, __pyx_n_u_RUB) < 0) __PYX_ERR(0, 254, __pyx_L9_error)
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_u_amount, __pyx_t_3) < 0) __PYX_ERR(0, 254, __pyx_L9_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "handlers/payments/yookassa_pay.py":255
+ /* "handlers/payments/yookassa_pay.py":256
* "amount": {"value": str(amount), "currency": "RUB"},
* "confirmation": {
* "type": "redirect", # <<<<<<<<<<<<<<
* "return_url": f"{REDIRECT_LINK}",
* },
*/
- __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 255, __pyx_L9_error)
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 256, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_u_type, __pyx_n_u_redirect) < 0) __PYX_ERR(0, 255, __pyx_L9_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_u_type, __pyx_n_u_redirect) < 0) __PYX_ERR(0, 256, __pyx_L9_error)
- /* "handlers/payments/yookassa_pay.py":256
+ /* "handlers/payments/yookassa_pay.py":257
* "confirmation": {
* "type": "redirect",
* "return_url": f"{REDIRECT_LINK}", # <<<<<<<<<<<<<<
* },
* "capture": True,
*/
- __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_REDIRECT_LINK); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 256, __pyx_L9_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_REDIRECT_LINK); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 257, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_10);
- __pyx_t_11 = __Pyx_PyObject_FormatSimple(__pyx_t_10, __pyx_empty_unicode); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 256, __pyx_L9_error)
+ __pyx_t_11 = __Pyx_PyObject_FormatSimple(__pyx_t_10, __pyx_empty_unicode); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 257, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_u_return_url, __pyx_t_11) < 0) __PYX_ERR(0, 255, __pyx_L9_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_u_return_url, __pyx_t_11) < 0) __PYX_ERR(0, 256, __pyx_L9_error)
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_u_confirmation, __pyx_t_3) < 0) __PYX_ERR(0, 253, __pyx_L9_error)
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_u_confirmation, __pyx_t_3) < 0) __PYX_ERR(0, 254, __pyx_L9_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "handlers/payments/yookassa_pay.py":258
+ /* "handlers/payments/yookassa_pay.py":259
* "return_url": f"{REDIRECT_LINK}",
* },
* "capture": True, # <<<<<<<<<<<<<<
* "description": " ",
* "receipt": {
*/
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_u_capture, Py_True) < 0) __PYX_ERR(0, 253, __pyx_L9_error)
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_u_description, __pyx_kp_u__9) < 0) __PYX_ERR(0, 253, __pyx_L9_error)
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_u_capture, Py_True) < 0) __PYX_ERR(0, 254, __pyx_L9_error)
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_u_description, __pyx_kp_u__7) < 0) __PYX_ERR(0, 254, __pyx_L9_error)
- /* "handlers/payments/yookassa_pay.py":261
+ /* "handlers/payments/yookassa_pay.py":262
* "description": " ",
* "receipt": {
* "customer": { # <<<<<<<<<<<<<<
* "full_name": message.from_user.full_name,
* "email": f"{message.chat.id}@solo.net",
*/
- __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 261, __pyx_L9_error)
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 262, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_3);
- /* "handlers/payments/yookassa_pay.py":262
+ /* "handlers/payments/yookassa_pay.py":263
* "receipt": {
* "customer": {
* "full_name": message.from_user.full_name, # <<<<<<<<<<<<<<
* "email": f"{message.chat.id}@solo.net",
* "phone": "79000000000",
*/
- __pyx_t_11 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 262, __pyx_L9_error)
+ __pyx_t_11 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 263, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_11);
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_from_user); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 262, __pyx_L9_error)
+ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_from_user); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 263, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_10);
- __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_full_name); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 262, __pyx_L9_error)
+ __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_full_name); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 263, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_12);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (PyDict_SetItem(__pyx_t_11, __pyx_n_u_full_name, __pyx_t_12) < 0) __PYX_ERR(0, 262, __pyx_L9_error)
+ if (PyDict_SetItem(__pyx_t_11, __pyx_n_u_full_name, __pyx_t_12) < 0) __PYX_ERR(0, 263, __pyx_L9_error)
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
- /* "handlers/payments/yookassa_pay.py":263
+ /* "handlers/payments/yookassa_pay.py":264
* "customer": {
* "full_name": message.from_user.full_name,
* "email": f"{message.chat.id}@solo.net", # <<<<<<<<<<<<<<
* "phone": "79000000000",
* },
*/
- __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_chat); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 263, __pyx_L9_error)
+ __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_chat); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 264, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_12);
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_id); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 263, __pyx_L9_error)
+ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_id); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 264, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
- __pyx_t_12 = __Pyx_PyObject_FormatSimple(__pyx_t_10, __pyx_empty_unicode); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 263, __pyx_L9_error)
+ __pyx_t_12 = __Pyx_PyObject_FormatSimple(__pyx_t_10, __pyx_empty_unicode); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 264, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_12);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_12, __pyx_kp_u_solo_net); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 263, __pyx_L9_error)
+ __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_12, __pyx_kp_u_solo_net); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 264, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
- if (PyDict_SetItem(__pyx_t_11, __pyx_n_u_email, __pyx_t_10) < 0) __PYX_ERR(0, 262, __pyx_L9_error)
+ if (PyDict_SetItem(__pyx_t_11, __pyx_n_u_email, __pyx_t_10) < 0) __PYX_ERR(0, 263, __pyx_L9_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (PyDict_SetItem(__pyx_t_11, __pyx_n_u_phone, __pyx_kp_u_79000000000) < 0) __PYX_ERR(0, 262, __pyx_L9_error)
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_u_customer, __pyx_t_11) < 0) __PYX_ERR(0, 261, __pyx_L9_error)
+ if (PyDict_SetItem(__pyx_t_11, __pyx_n_u_phone, __pyx_kp_u_79000000000) < 0) __PYX_ERR(0, 263, __pyx_L9_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_u_customer, __pyx_t_11) < 0) __PYX_ERR(0, 262, __pyx_L9_error)
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
- /* "handlers/payments/yookassa_pay.py":268
+ /* "handlers/payments/yookassa_pay.py":269
* "items": [
* {
* "description": " ", # <<<<<<<<<<<<<<
* "quantity": "1.00",
* "amount": {
*/
- __pyx_t_11 = __Pyx_PyDict_NewPresized(6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 268, __pyx_L9_error)
+ __pyx_t_11 = __Pyx_PyDict_NewPresized(6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 269, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_11);
- if (PyDict_SetItem(__pyx_t_11, __pyx_n_u_description, __pyx_kp_u__9) < 0) __PYX_ERR(0, 268, __pyx_L9_error)
- if (PyDict_SetItem(__pyx_t_11, __pyx_n_u_quantity, __pyx_kp_u_1_00) < 0) __PYX_ERR(0, 268, __pyx_L9_error)
+ if (PyDict_SetItem(__pyx_t_11, __pyx_n_u_description, __pyx_kp_u__7) < 0) __PYX_ERR(0, 269, __pyx_L9_error)
+ if (PyDict_SetItem(__pyx_t_11, __pyx_n_u_quantity, __pyx_kp_u_1_00) < 0) __PYX_ERR(0, 269, __pyx_L9_error)
- /* "handlers/payments/yookassa_pay.py":271
+ /* "handlers/payments/yookassa_pay.py":272
* "quantity": "1.00",
* "amount": {
* "value": str(amount), # <<<<<<<<<<<<<<
* "currency": "RUB",
* },
*/
- __pyx_t_10 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 271, __pyx_L9_error)
+ __pyx_t_10 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 272, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_10);
- __pyx_t_12 = __Pyx_PyObject_Unicode(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 271, __pyx_L9_error)
+ __pyx_t_12 = __Pyx_PyObject_Unicode(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 272, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_12);
- if (PyDict_SetItem(__pyx_t_10, __pyx_n_u_value, __pyx_t_12) < 0) __PYX_ERR(0, 271, __pyx_L9_error)
+ if (PyDict_SetItem(__pyx_t_10, __pyx_n_u_value, __pyx_t_12) < 0) __PYX_ERR(0, 272, __pyx_L9_error)
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
- if (PyDict_SetItem(__pyx_t_10, __pyx_n_u_currency, __pyx_n_u_RUB) < 0) __PYX_ERR(0, 271, __pyx_L9_error)
- if (PyDict_SetItem(__pyx_t_11, __pyx_n_u_amount, __pyx_t_10) < 0) __PYX_ERR(0, 268, __pyx_L9_error)
+ if (PyDict_SetItem(__pyx_t_10, __pyx_n_u_currency, __pyx_n_u_RUB) < 0) __PYX_ERR(0, 272, __pyx_L9_error)
+ if (PyDict_SetItem(__pyx_t_11, __pyx_n_u_amount, __pyx_t_10) < 0) __PYX_ERR(0, 269, __pyx_L9_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (PyDict_SetItem(__pyx_t_11, __pyx_n_u_vat_code, __pyx_int_1) < 0) __PYX_ERR(0, 268, __pyx_L9_error)
- if (PyDict_SetItem(__pyx_t_11, __pyx_n_u_payment_subject, __pyx_n_u_payment) < 0) __PYX_ERR(0, 268, __pyx_L9_error)
- if (PyDict_SetItem(__pyx_t_11, __pyx_n_u_payment_mode, __pyx_n_u_full_payment) < 0) __PYX_ERR(0, 268, __pyx_L9_error)
+ if (PyDict_SetItem(__pyx_t_11, __pyx_n_u_vat_code, __pyx_int_1) < 0) __PYX_ERR(0, 269, __pyx_L9_error)
+ if (PyDict_SetItem(__pyx_t_11, __pyx_n_u_payment_subject, __pyx_n_u_payment) < 0) __PYX_ERR(0, 269, __pyx_L9_error)
+ if (PyDict_SetItem(__pyx_t_11, __pyx_n_u_payment_mode, __pyx_n_u_full_payment) < 0) __PYX_ERR(0, 269, __pyx_L9_error)
- /* "handlers/payments/yookassa_pay.py":266
+ /* "handlers/payments/yookassa_pay.py":267
* "phone": "79000000000",
* },
* "items": [ # <<<<<<<<<<<<<<
* {
* "description": " ",
*/
- __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 266, __pyx_L9_error)
+ __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 267, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_GIVEREF(__pyx_t_11);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_11)) __PYX_ERR(0, 266, __pyx_L9_error);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_11)) __PYX_ERR(0, 267, __pyx_L9_error);
__pyx_t_11 = 0;
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_u_items, __pyx_t_10) < 0) __PYX_ERR(0, 261, __pyx_L9_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_u_items, __pyx_t_10) < 0) __PYX_ERR(0, 262, __pyx_L9_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_u_receipt, __pyx_t_3) < 0) __PYX_ERR(0, 253, __pyx_L9_error)
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_u_receipt, __pyx_t_3) < 0) __PYX_ERR(0, 254, __pyx_L9_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "handlers/payments/yookassa_pay.py":280
+ /* "handlers/payments/yookassa_pay.py":281
* ],
* },
* "metadata": {"user_id": message.chat.id}, # <<<<<<<<<<<<<<
* },
* uuid.uuid4(),
*/
- __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 280, __pyx_L9_error)
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 281, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_chat); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 280, __pyx_L9_error)
+ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_chat); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 281, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_10);
- __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_id); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 280, __pyx_L9_error)
+ __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_id); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 281, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_u_user_id, __pyx_t_11) < 0) __PYX_ERR(0, 280, __pyx_L9_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_u_user_id, __pyx_t_11) < 0) __PYX_ERR(0, 281, __pyx_L9_error)
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_u_metadata, __pyx_t_3) < 0) __PYX_ERR(0, 253, __pyx_L9_error)
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_u_metadata, __pyx_t_3) < 0) __PYX_ERR(0, 254, __pyx_L9_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "handlers/payments/yookassa_pay.py":282
+ /* "handlers/payments/yookassa_pay.py":283
* "metadata": {"user_id": message.chat.id},
* },
* uuid.uuid4(), # <<<<<<<<<<<<<<
* )
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_uuid); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 282, __pyx_L9_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_uuid); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 283, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_11);
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_uuid4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 282, __pyx_L9_error)
+ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_uuid4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 283, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__pyx_t_11 = NULL;
@@ -9031,7 +9046,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_14generator4(__pyx_
PyObject *__pyx_callargs[2] = {__pyx_t_11, NULL};
__pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 282, __pyx_L9_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 283, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
}
@@ -9055,7 +9070,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_14generator4(__pyx_
__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 251, __pyx_L9_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 252, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
@@ -9063,127 +9078,133 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_14generator4(__pyx_
__pyx_cur_scope->__pyx_v_payment = __pyx_t_2;
__pyx_t_2 = 0;
- /* "handlers/payments/yookassa_pay.py":285
+ /* "handlers/payments/yookassa_pay.py":286
* )
*
* if payment["status"] == "pending": # <<<<<<<<<<<<<<
* payment_url = payment["confirmation"]["confirmation_url"]
*
*/
- __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_payment, __pyx_n_u_status); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 285, __pyx_L9_error)
+ __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_payment, __pyx_n_u_status); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 286, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_t_2, __pyx_n_u_pending, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 285, __pyx_L9_error)
+ __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_t_2, __pyx_n_u_pending, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 286, __pyx_L9_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_5) {
- /* "handlers/payments/yookassa_pay.py":286
+ /* "handlers/payments/yookassa_pay.py":287
*
* if payment["status"] == "pending":
* payment_url = payment["confirmation"]["confirmation_url"] # <<<<<<<<<<<<<<
*
* confirm_keyboard = InlineKeyboardMarkup(
*/
- __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_payment, __pyx_n_u_confirmation); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 286, __pyx_L9_error)
+ __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_payment, __pyx_n_u_confirmation); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 287, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_6 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_n_u_confirmation_url); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 286, __pyx_L9_error)
+ __pyx_t_6 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_n_u_confirmation_url); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 287, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_GIVEREF(__pyx_t_6);
__pyx_cur_scope->__pyx_v_payment_url = __pyx_t_6;
__pyx_t_6 = 0;
- /* "handlers/payments/yookassa_pay.py":288
+ /* "handlers/payments/yookassa_pay.py":289
* payment_url = payment["confirmation"]["confirmation_url"]
*
* confirm_keyboard = InlineKeyboardMarkup( # <<<<<<<<<<<<<<
* inline_keyboard=[
- * [InlineKeyboardButton(text="", url=payment_url)],
+ * [InlineKeyboardButton(text=PAY, url=payment_url)],
*/
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_InlineKeyboardMarkup); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 288, __pyx_L9_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_InlineKeyboardMarkup); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 289, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_6);
- /* "handlers/payments/yookassa_pay.py":289
+ /* "handlers/payments/yookassa_pay.py":290
*
* confirm_keyboard = InlineKeyboardMarkup(
* inline_keyboard=[ # <<<<<<<<<<<<<<
- * [InlineKeyboardButton(text="", url=payment_url)],
- * [InlineKeyboardButton(text=" ", callback_data="pay")],
+ * [InlineKeyboardButton(text=PAY, url=payment_url)],
+ * [InlineKeyboardButton(text=BACK, callback_data="pay")],
*/
- __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 289, __pyx_L9_error)
+ __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 290, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_2);
- /* "handlers/payments/yookassa_pay.py":290
+ /* "handlers/payments/yookassa_pay.py":291
* confirm_keyboard = InlineKeyboardMarkup(
* inline_keyboard=[
- * [InlineKeyboardButton(text="", url=payment_url)], # <<<<<<<<<<<<<<
- * [InlineKeyboardButton(text=" ", callback_data="pay")],
+ * [InlineKeyboardButton(text=PAY, url=payment_url)], # <<<<<<<<<<<<<<
+ * [InlineKeyboardButton(text=BACK, callback_data="pay")],
* ]
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 290, __pyx_L9_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 291, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 290, __pyx_L9_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 291, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_text, __pyx_n_u__10) < 0) __PYX_ERR(0, 290, __pyx_L9_error)
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_url, __pyx_cur_scope->__pyx_v_payment_url) < 0) __PYX_ERR(0, 290, __pyx_L9_error)
- __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 290, __pyx_L9_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_PAY); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 291, __pyx_L9_error)
+ __Pyx_GOTREF(__pyx_t_10);
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_text, __pyx_t_10) < 0) __PYX_ERR(0, 291, __pyx_L9_error)
+ __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_url, __pyx_cur_scope->__pyx_v_payment_url) < 0) __PYX_ERR(0, 291, __pyx_L9_error)
+ __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 291, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 290, __pyx_L9_error)
+ __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 291, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_10);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 0, __pyx_t_10)) __PYX_ERR(0, 290, __pyx_L9_error);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 0, __pyx_t_10)) __PYX_ERR(0, 291, __pyx_L9_error);
__pyx_t_10 = 0;
- /* "handlers/payments/yookassa_pay.py":291
+ /* "handlers/payments/yookassa_pay.py":292
* inline_keyboard=[
- * [InlineKeyboardButton(text="", url=payment_url)],
- * [InlineKeyboardButton(text=" ", callback_data="pay")], # <<<<<<<<<<<<<<
+ * [InlineKeyboardButton(text=PAY, url=payment_url)],
+ * [InlineKeyboardButton(text=BACK, callback_data="pay")], # <<<<<<<<<<<<<<
* ]
* )
*/
- __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 291, __pyx_L9_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 292, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_10);
- __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 291, __pyx_L9_error)
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 292, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_kp_u__4) < 0) __PYX_ERR(0, 291, __pyx_L9_error)
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_data, __pyx_n_u_pay) < 0) __PYX_ERR(0, 291, __pyx_L9_error)
- __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 291, __pyx_L9_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_BACK); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 292, __pyx_L9_error)
+ __Pyx_GOTREF(__pyx_t_11);
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_t_11) < 0) __PYX_ERR(0, 292, __pyx_L9_error)
+ __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_data, __pyx_n_u_pay) < 0) __PYX_ERR(0, 292, __pyx_L9_error)
+ __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 292, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 291, __pyx_L9_error)
+ __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 292, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_11);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_11)) __PYX_ERR(0, 291, __pyx_L9_error);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_11)) __PYX_ERR(0, 292, __pyx_L9_error);
__pyx_t_11 = 0;
- /* "handlers/payments/yookassa_pay.py":289
+ /* "handlers/payments/yookassa_pay.py":290
*
* confirm_keyboard = InlineKeyboardMarkup(
* inline_keyboard=[ # <<<<<<<<<<<<<<
- * [InlineKeyboardButton(text="", url=payment_url)],
- * [InlineKeyboardButton(text=" ", callback_data="pay")],
+ * [InlineKeyboardButton(text=PAY, url=payment_url)],
+ * [InlineKeyboardButton(text=BACK, callback_data="pay")],
*/
- __pyx_t_11 = PyList_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 289, __pyx_L9_error)
+ __pyx_t_11 = PyList_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 290, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_GIVEREF(__pyx_t_1);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_t_1)) __PYX_ERR(0, 289, __pyx_L9_error);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_t_1)) __PYX_ERR(0, 290, __pyx_L9_error);
__Pyx_GIVEREF(__pyx_t_3);
- if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 1, __pyx_t_3)) __PYX_ERR(0, 289, __pyx_L9_error);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 1, __pyx_t_3)) __PYX_ERR(0, 290, __pyx_L9_error);
__pyx_t_1 = 0;
__pyx_t_3 = 0;
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_inline_keyboard, __pyx_t_11) < 0) __PYX_ERR(0, 289, __pyx_L9_error)
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_inline_keyboard, __pyx_t_11) < 0) __PYX_ERR(0, 290, __pyx_L9_error)
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
- /* "handlers/payments/yookassa_pay.py":288
+ /* "handlers/payments/yookassa_pay.py":289
* payment_url = payment["confirmation"]["confirmation_url"]
*
* confirm_keyboard = InlineKeyboardMarkup( # <<<<<<<<<<<<<<
* inline_keyboard=[
- * [InlineKeyboardButton(text="", url=payment_url)],
+ * [InlineKeyboardButton(text=PAY, url=payment_url)],
*/
- __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 288, __pyx_L9_error)
+ __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 289, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -9191,69 +9212,69 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_14generator4(__pyx_
__pyx_cur_scope->__pyx_v_confirm_keyboard = __pyx_t_11;
__pyx_t_11 = 0;
- /* "handlers/payments/yookassa_pay.py":295
+ /* "handlers/payments/yookassa_pay.py":296
* )
*
* await message.answer( # <<<<<<<<<<<<<<
* text=f" {amount} .",
* reply_markup=confirm_keyboard,
*/
- __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_answer); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 295, __pyx_L9_error)
+ __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_answer); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 296, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_11);
- /* "handlers/payments/yookassa_pay.py":296
+ /* "handlers/payments/yookassa_pay.py":297
*
* await message.answer(
* text=f" {amount} .", # <<<<<<<<<<<<<<
* reply_markup=confirm_keyboard,
* )
*/
- __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 296, __pyx_L9_error)
+ __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 297, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 296, __pyx_L9_error)
+ __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 297, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_13 = 0;
__pyx_t_14 = 127;
- __Pyx_INCREF(__pyx_kp_u__11);
+ __Pyx_INCREF(__pyx_kp_u__8);
__pyx_t_14 = (65535 > __pyx_t_14) ? 65535 : __pyx_t_14;
__pyx_t_13 += 25;
- __Pyx_GIVEREF(__pyx_kp_u__11);
- PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_kp_u__11);
- __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_amount, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 296, __pyx_L9_error)
+ __Pyx_GIVEREF(__pyx_kp_u__8);
+ PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_kp_u__8);
+ __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_amount, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 297, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_14 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) > __pyx_t_14) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) : __pyx_t_14;
__pyx_t_13 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_3);
PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_3);
__pyx_t_3 = 0;
- __Pyx_INCREF(__pyx_kp_u__12);
+ __Pyx_INCREF(__pyx_kp_u__9);
__pyx_t_14 = (65535 > __pyx_t_14) ? 65535 : __pyx_t_14;
__pyx_t_13 += 8;
- __Pyx_GIVEREF(__pyx_kp_u__12);
- PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_kp_u__12);
- __pyx_t_3 = __Pyx_PyUnicode_Join(__pyx_t_6, 3, __pyx_t_13, __pyx_t_14); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 296, __pyx_L9_error)
+ __Pyx_GIVEREF(__pyx_kp_u__9);
+ PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_kp_u__9);
+ __pyx_t_3 = __Pyx_PyUnicode_Join(__pyx_t_6, 3, __pyx_t_13, __pyx_t_14); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 297, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_text, __pyx_t_3) < 0) __PYX_ERR(0, 296, __pyx_L9_error)
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_text, __pyx_t_3) < 0) __PYX_ERR(0, 297, __pyx_L9_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "handlers/payments/yookassa_pay.py":297
+ /* "handlers/payments/yookassa_pay.py":298
* await message.answer(
* text=f" {amount} .",
* reply_markup=confirm_keyboard, # <<<<<<<<<<<<<<
* )
* else:
*/
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_reply_markup, __pyx_cur_scope->__pyx_v_confirm_keyboard) < 0) __PYX_ERR(0, 296, __pyx_L9_error)
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_reply_markup, __pyx_cur_scope->__pyx_v_confirm_keyboard) < 0) __PYX_ERR(0, 297, __pyx_L9_error)
- /* "handlers/payments/yookassa_pay.py":295
+ /* "handlers/payments/yookassa_pay.py":296
* )
*
* await message.answer( # <<<<<<<<<<<<<<
* text=f" {amount} .",
* reply_markup=confirm_keyboard,
*/
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 295, __pyx_L9_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 296, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -9283,16 +9304,16 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_14generator4(__pyx_
__pyx_t_9 = __pyx_cur_scope->__pyx_t_2;
__pyx_cur_scope->__pyx_t_2 = 0;
__Pyx_XGOTREF(__pyx_t_9);
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 295, __pyx_L9_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 296, __pyx_L9_error)
} else {
PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 295, __pyx_L9_error)
+ else __PYX_ERR(0, 296, __pyx_L9_error)
}
}
- /* "handlers/payments/yookassa_pay.py":285
+ /* "handlers/payments/yookassa_pay.py":286
* )
*
* if payment["status"] == "pending": # <<<<<<<<<<<<<<
@@ -9302,7 +9323,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_14generator4(__pyx_
goto __pyx_L15;
}
- /* "handlers/payments/yookassa_pay.py":300
+ /* "handlers/payments/yookassa_pay.py":301
* )
* else:
* await message.answer(" .") # <<<<<<<<<<<<<<
@@ -9310,7 +9331,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_14generator4(__pyx_
* except Exception as e:
*/
/*else*/ {
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_answer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 300, __pyx_L9_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_answer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 301, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_11 = NULL;
__pyx_t_4 = 0;
@@ -9327,10 +9348,10 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_14generator4(__pyx_
}
#endif
{
- PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_kp_u__13};
+ PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_kp_u__10};
__pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 300, __pyx_L9_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 301, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
@@ -9360,18 +9381,18 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_14generator4(__pyx_
__pyx_t_9 = __pyx_cur_scope->__pyx_t_2;
__pyx_cur_scope->__pyx_t_2 = 0;
__Pyx_XGOTREF(__pyx_t_9);
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 300, __pyx_L9_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 301, __pyx_L9_error)
} else {
PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 300, __pyx_L9_error)
+ else __PYX_ERR(0, 301, __pyx_L9_error)
}
}
}
__pyx_L15:;
- /* "handlers/payments/yookassa_pay.py":250
+ /* "handlers/payments/yookassa_pay.py":251
* )
*
* try: # <<<<<<<<<<<<<<
@@ -9392,7 +9413,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_14generator4(__pyx_
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "handlers/payments/yookassa_pay.py":302
+ /* "handlers/payments/yookassa_pay.py":303
* await message.answer(" .")
*
* except Exception as e: # <<<<<<<<<<<<<<
@@ -9402,7 +9423,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_14generator4(__pyx_
__pyx_t_15 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
if (__pyx_t_15) {
__Pyx_AddTraceback("handlers.payments.yookassa_pay.process_custom_amount_input", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_11) < 0) __PYX_ERR(0, 302, __pyx_L11_except_error)
+ if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_11) < 0) __PYX_ERR(0, 303, __pyx_L11_except_error)
__Pyx_XGOTREF(__pyx_t_3);
__Pyx_XGOTREF(__pyx_t_2);
__Pyx_XGOTREF(__pyx_t_11);
@@ -9411,21 +9432,21 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_14generator4(__pyx_
__pyx_cur_scope->__pyx_v_e = __pyx_t_2;
/*try:*/ {
- /* "handlers/payments/yookassa_pay.py":303
+ /* "handlers/payments/yookassa_pay.py":304
*
* except Exception as e:
* logger.error(f" : {e}") # <<<<<<<<<<<<<<
* await message.answer(" .")
* else:
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 303, __pyx_L23_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 304, __pyx_L23_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_error); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 303, __pyx_L23_error)
+ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_error); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 304, __pyx_L23_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_e, __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 303, __pyx_L23_error)
+ __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_e, __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 304, __pyx_L23_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_12 = __Pyx_PyUnicode_Concat(__pyx_kp_u__23, __pyx_t_1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 303, __pyx_L23_error)
+ __pyx_t_12 = __Pyx_PyUnicode_Concat(__pyx_kp_u__19, __pyx_t_1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 304, __pyx_L23_error)
__Pyx_GOTREF(__pyx_t_12);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = NULL;
@@ -9447,20 +9468,20 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_14generator4(__pyx_
__pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
- if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 303, __pyx_L23_error)
+ if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 304, __pyx_L23_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "handlers/payments/yookassa_pay.py":304
+ /* "handlers/payments/yookassa_pay.py":305
* except Exception as e:
* logger.error(f" : {e}")
* await message.answer(" .") # <<<<<<<<<<<<<<
* else:
* await message.answer(" . , :")
*/
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_answer); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 304, __pyx_L23_error)
+ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_answer); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 305, __pyx_L23_error)
__Pyx_GOTREF(__pyx_t_10);
__pyx_t_12 = NULL;
__pyx_t_4 = 0;
@@ -9477,10 +9498,10 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_14generator4(__pyx_
}
#endif
{
- PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_kp_u__24};
+ PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_kp_u__20};
__pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
- if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 304, __pyx_L23_error)
+ if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 305, __pyx_L23_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
}
@@ -9525,17 +9546,17 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_14generator4(__pyx_
__pyx_t_11 = __pyx_cur_scope->__pyx_t_5;
__pyx_cur_scope->__pyx_t_5 = 0;
__Pyx_XGOTREF(__pyx_t_11);
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 304, __pyx_L23_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 305, __pyx_L23_error)
} else {
PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 304, __pyx_L23_error)
+ else __PYX_ERR(0, 305, __pyx_L23_error)
}
}
}
- /* "handlers/payments/yookassa_pay.py":302
+ /* "handlers/payments/yookassa_pay.py":303
* await message.answer(" .")
*
* except Exception as e: # <<<<<<<<<<<<<<
@@ -9592,7 +9613,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_14generator4(__pyx_
}
goto __pyx_L11_except_error;
- /* "handlers/payments/yookassa_pay.py":250
+ /* "handlers/payments/yookassa_pay.py":251
* )
*
* try: # <<<<<<<<<<<<<<
@@ -9613,7 +9634,7 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_14generator4(__pyx_
__pyx_L14_try_end:;
}
- /* "handlers/payments/yookassa_pay.py":237
+ /* "handlers/payments/yookassa_pay.py":238
* @router.message(ReplenishBalanceState.entering_custom_amount_yookassa)
* async def process_custom_amount_input(message: types.Message, state: FSMContext):
* if message.text.isdigit(): # <<<<<<<<<<<<<<
@@ -9623,13 +9644,13 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_14generator4(__pyx_
goto __pyx_L4;
}
- /* "handlers/payments/yookassa_pay.py":306
+ /* "handlers/payments/yookassa_pay.py":307
* await message.answer(" .")
* else:
* await message.answer(" . , :") # <<<<<<<<<<<<<<
*/
/*else*/ {
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_answer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 306, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_answer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 307, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
@@ -9646,10 +9667,10 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_14generator4(__pyx_
}
#endif
{
- PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_kp_u__25};
+ PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_kp_u__21};
__pyx_t_11 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 306, __pyx_L1_error)
+ if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 307, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
@@ -9664,19 +9685,19 @@ static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_14generator4(__pyx_
__pyx_generator->resume_label = 7;
return __pyx_r;
__pyx_L30_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 306, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 307, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 306, __pyx_L1_error)
+ else __PYX_ERR(0, 307, __pyx_L1_error)
}
}
}
__pyx_L4:;
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "handlers/payments/yookassa_pay.py":235
+ /* "handlers/payments/yookassa_pay.py":236
*
*
* @router.message(ReplenishBalanceState.entering_custom_amount_yookassa) # <<<<<<<<<<<<<<
@@ -10727,6 +10748,8 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
{&__pyx_kp_u_API_Yookassa, __pyx_k_API_Yookassa, sizeof(__pyx_k_API_Yookassa), 0, 1, 0, 0},
{&__pyx_kp_u_Account_ID, __pyx_k_Account_ID, sizeof(__pyx_k_Account_ID), 0, 1, 0, 0},
{&__pyx_n_s_Any, __pyx_k_Any, sizeof(__pyx_k_Any), 0, 0, 1, 1},
+ {&__pyx_n_s_BACK, __pyx_k_BACK, sizeof(__pyx_k_BACK), 0, 0, 1, 1},
+ {&__pyx_n_s_CUSTOM_SUM, __pyx_k_CUSTOM_SUM, sizeof(__pyx_k_CUSTOM_SUM), 0, 0, 1, 1},
{&__pyx_n_s_Configuration, __pyx_k_Configuration, sizeof(__pyx_k_Configuration), 0, 0, 1, 1},
{&__pyx_n_s_F, __pyx_k_F, sizeof(__pyx_k_F), 0, 0, 1, 1},
{&__pyx_n_s_FSMContext, __pyx_k_FSMContext, sizeof(__pyx_k_FSMContext), 0, 0, 1, 1},
@@ -10737,6 +10760,7 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
{&__pyx_n_s_InlineKeyboardButton, __pyx_k_InlineKeyboardButton, sizeof(__pyx_k_InlineKeyboardButton), 0, 0, 1, 1},
{&__pyx_n_s_InlineKeyboardMarkup, __pyx_k_InlineKeyboardMarkup, sizeof(__pyx_k_InlineKeyboardMarkup), 0, 0, 1, 1},
{&__pyx_n_s_MAIN_SECRET, __pyx_k_MAIN_SECRET, sizeof(__pyx_k_MAIN_SECRET), 0, 0, 1, 1},
+ {&__pyx_n_s_PAY, __pyx_k_PAY, sizeof(__pyx_k_PAY), 0, 0, 1, 1},
{&__pyx_n_s_PAYMENT_OPTIONS, __pyx_k_PAYMENT_OPTIONS, sizeof(__pyx_k_PAYMENT_OPTIONS), 0, 0, 1, 1},
{&__pyx_n_u_PIRAT0ETO7DLYA9TEBYA, __pyx_k_PIRAT0ETO7DLYA9TEBYA, sizeof(__pyx_k_PIRAT0ETO7DLYA9TEBYA), 0, 1, 0, 1},
{&__pyx_n_s_Payment, __pyx_k_Payment, sizeof(__pyx_k_Payment), 0, 0, 1, 1},
@@ -10755,26 +10779,22 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
{&__pyx_n_s_YOOKASSA_HASH, __pyx_k_YOOKASSA_HASH, sizeof(__pyx_k_YOOKASSA_HASH), 0, 0, 1, 1},
{&__pyx_n_s_YOOKASSA_SECRET_KEY, __pyx_k_YOOKASSA_SECRET_KEY, sizeof(__pyx_k_YOOKASSA_SECRET_KEY), 0, 0, 1, 1},
{&__pyx_n_s_YOOKASSA_SHOP_ID, __pyx_k_YOOKASSA_SHOP_ID, sizeof(__pyx_k_YOOKASSA_SHOP_ID), 0, 0, 1, 1},
- {&__pyx_n_u__10, __pyx_k__10, sizeof(__pyx_k__10), 0, 1, 0, 1},
- {&__pyx_kp_u__11, __pyx_k__11, sizeof(__pyx_k__11), 0, 1, 0, 0},
+ {&__pyx_kp_u__10, __pyx_k__10, sizeof(__pyx_k__10), 0, 1, 0, 0},
{&__pyx_kp_u__12, __pyx_k__12, sizeof(__pyx_k__12), 0, 1, 0, 0},
{&__pyx_kp_u__13, __pyx_k__13, sizeof(__pyx_k__13), 0, 1, 0, 0},
{&__pyx_kp_u__15, __pyx_k__15, sizeof(__pyx_k__15), 0, 1, 0, 0},
- {&__pyx_kp_u__16, __pyx_k__16, sizeof(__pyx_k__16), 0, 1, 0, 0},
{&__pyx_kp_u__18, __pyx_k__18, sizeof(__pyx_k__18), 0, 1, 0, 0},
{&__pyx_kp_u__19, __pyx_k__19, sizeof(__pyx_k__19), 0, 1, 0, 0},
{&__pyx_kp_u__2, __pyx_k__2, sizeof(__pyx_k__2), 0, 1, 0, 0},
- {&__pyx_kp_u__22, __pyx_k__22, sizeof(__pyx_k__22), 0, 1, 0, 0},
+ {&__pyx_kp_u__20, __pyx_k__20, sizeof(__pyx_k__20), 0, 1, 0, 0},
+ {&__pyx_kp_u__21, __pyx_k__21, sizeof(__pyx_k__21), 0, 1, 0, 0},
+ {&__pyx_n_s__22, __pyx_k__22, sizeof(__pyx_k__22), 0, 0, 1, 1},
{&__pyx_kp_u__23, __pyx_k__23, sizeof(__pyx_k__23), 0, 1, 0, 0},
- {&__pyx_kp_u__24, __pyx_k__24, sizeof(__pyx_k__24), 0, 1, 0, 0},
- {&__pyx_kp_u__25, __pyx_k__25, sizeof(__pyx_k__25), 0, 1, 0, 0},
- {&__pyx_n_s__26, __pyx_k__26, sizeof(__pyx_k__26), 0, 0, 1, 1},
- {&__pyx_kp_u__27, __pyx_k__27, sizeof(__pyx_k__27), 0, 1, 0, 0},
{&__pyx_kp_u__3, __pyx_k__3, sizeof(__pyx_k__3), 0, 1, 0, 0},
- {&__pyx_n_s__34, __pyx_k__34, sizeof(__pyx_k__34), 0, 0, 1, 1},
- {&__pyx_kp_u__4, __pyx_k__4, sizeof(__pyx_k__4), 0, 1, 0, 0},
+ {&__pyx_n_s__30, __pyx_k__30, sizeof(__pyx_k__30), 0, 0, 1, 1},
{&__pyx_kp_u__5, __pyx_k__5, sizeof(__pyx_k__5), 0, 1, 0, 0},
{&__pyx_kp_u__7, __pyx_k__7, sizeof(__pyx_k__7), 0, 1, 0, 0},
+ {&__pyx_kp_u__8, __pyx_k__8, sizeof(__pyx_k__8), 0, 1, 0, 0},
{&__pyx_kp_u__9, __pyx_k__9, sizeof(__pyx_k__9), 0, 1, 0, 0},
{&__pyx_n_s_account_id, __pyx_k_account_id, sizeof(__pyx_k_account_id), 0, 0, 1, 1},
{&__pyx_n_s_add_connection, __pyx_k_add_connection, sizeof(__pyx_k_add_connection), 0, 0, 1, 1},
@@ -10840,6 +10860,7 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
{&__pyx_kp_u_gc, __pyx_k_gc, sizeof(__pyx_k_gc), 0, 1, 0, 0},
{&__pyx_n_s_get, __pyx_k_get, sizeof(__pyx_k_get), 0, 0, 1, 1},
{&__pyx_n_s_get_key_count, __pyx_k_get_key_count, sizeof(__pyx_k_get_key_count), 0, 0, 1, 1},
+ {&__pyx_n_s_handlers_buttons_yookassa, __pyx_k_handlers_buttons_yookassa, sizeof(__pyx_k_handlers_buttons_yookassa), 0, 0, 1, 1},
{&__pyx_n_s_handlers_payments_gift, __pyx_k_handlers_payments_gift, sizeof(__pyx_k_handlers_payments_gift), 0, 0, 1, 1},
{&__pyx_n_s_handlers_payments_utils, __pyx_k_handlers_payments_utils, sizeof(__pyx_k_handlers_payments_utils), 0, 0, 1, 1},
{&__pyx_n_s_handlers_payments_yookassa_pay, __pyx_k_handlers_payments_yookassa_pay, sizeof(__pyx_k_handlers_payments_yookassa_pay), 0, 0, 1, 1},
@@ -10948,8 +10969,8 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
}
/* #### Code section: cached_builtins ### */
static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) {
- __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 59, __pyx_L1_error)
- __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(0, 113, __pyx_L1_error)
+ __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 60, __pyx_L1_error)
+ __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(0, 114, __pyx_L1_error)
return 0;
__pyx_L1_error:;
return -1;
@@ -10960,90 +10981,90 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
- /* "handlers/payments/yookassa_pay.py":105
+ /* "handlers/payments/yookassa_pay.py":106
* callback_query: types.CallbackQuery, state: FSMContext
* ):
* data = callback_query.data.split("|", 1) # <<<<<<<<<<<<<<
*
* if len(data) != 2:
*/
- __pyx_tuple__8 = PyTuple_Pack(2, __pyx_kp_u__7, __pyx_int_1); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(0, 105, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__8);
- __Pyx_GIVEREF(__pyx_tuple__8);
+ __pyx_tuple__6 = PyTuple_Pack(2, __pyx_kp_u__5, __pyx_int_1); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(0, 106, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__6);
+ __Pyx_GIVEREF(__pyx_tuple__6);
- /* "handlers/payments/yookassa_pay.py":227
- * builder.row(InlineKeyboardButton(text=" ", callback_data="pay_yookassa"))
+ /* "handlers/payments/yookassa_pay.py":228
+ * builder.row(InlineKeyboardButton(text=BACK, callback_data="pay_yookassa"))
*
* await callback_query.message.answer( # <<<<<<<<<<<<<<
* ", .",
* reply_markup=builder.as_markup(),
*/
- __pyx_tuple__20 = PyTuple_Pack(1, __pyx_kp_u__19); if (unlikely(!__pyx_tuple__20)) __PYX_ERR(0, 227, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__20);
- __Pyx_GIVEREF(__pyx_tuple__20);
+ __pyx_tuple__16 = PyTuple_Pack(1, __pyx_kp_u__15); if (unlikely(!__pyx_tuple__16)) __PYX_ERR(0, 228, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__16);
+ __Pyx_GIVEREF(__pyx_tuple__16);
- /* "handlers/payments/yookassa_pay.py":43
+ /* "handlers/payments/yookassa_pay.py":44
*
*
* @router.callback_query(F.data == "pay_yookassa") # <<<<<<<<<<<<<<
* async def process_callback_pay_yookassa(
* callback_query: types.CallbackQuery, state: FSMContext, session: Any
*/
- __pyx_tuple__28 = PyTuple_Pack(9, __pyx_n_s_callback_query, __pyx_n_s_state, __pyx_n_s_session, __pyx_n_s_expected_hash, __pyx_n_s_tg_id, __pyx_n_s_builder, __pyx_n_s_i, __pyx_n_s_key_count, __pyx_n_s_exists); if (unlikely(!__pyx_tuple__28)) __PYX_ERR(0, 43, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__28);
- __Pyx_GIVEREF(__pyx_tuple__28);
- __pyx_codeobj_ = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_yookassa_pay_p, __pyx_n_s_process_callback_pay_yookassa, 43, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj_)) __PYX_ERR(0, 43, __pyx_L1_error)
+ __pyx_tuple__24 = PyTuple_Pack(9, __pyx_n_s_callback_query, __pyx_n_s_state, __pyx_n_s_session, __pyx_n_s_expected_hash, __pyx_n_s_tg_id, __pyx_n_s_builder, __pyx_n_s_i, __pyx_n_s_key_count, __pyx_n_s_exists); if (unlikely(!__pyx_tuple__24)) __PYX_ERR(0, 44, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__24);
+ __Pyx_GIVEREF(__pyx_tuple__24);
+ __pyx_codeobj_ = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__24, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_yookassa_pay_p, __pyx_n_s_process_callback_pay_yookassa, 44, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj_)) __PYX_ERR(0, 44, __pyx_L1_error)
- /* "handlers/payments/yookassa_pay.py":101
+ /* "handlers/payments/yookassa_pay.py":102
*
*
* @router.callback_query(F.data.startswith("yookassa_amount|")) # <<<<<<<<<<<<<<
* async def process_amount_selection(
* callback_query: types.CallbackQuery, state: FSMContext
*/
- __pyx_tuple__29 = PyTuple_Pack(1, __pyx_kp_u_yookassa_amount); if (unlikely(!__pyx_tuple__29)) __PYX_ERR(0, 101, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__29);
- __Pyx_GIVEREF(__pyx_tuple__29);
- __pyx_tuple__30 = PyTuple_Pack(11, __pyx_n_s_callback_query, __pyx_n_s_state, __pyx_n_s_data, __pyx_n_s_amount_str, __pyx_n_s_amount, __pyx_n_s_customer_name, __pyx_n_s_customer_id, __pyx_n_s_customer_email, __pyx_n_s_payment, __pyx_n_s_payment_url, __pyx_n_s_confirm_keyboard); if (unlikely(!__pyx_tuple__30)) __PYX_ERR(0, 101, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__30);
- __Pyx_GIVEREF(__pyx_tuple__30);
- __pyx_codeobj__6 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_yookassa_pay_p, __pyx_n_s_process_amount_selection, 101, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__6)) __PYX_ERR(0, 101, __pyx_L1_error)
+ __pyx_tuple__25 = PyTuple_Pack(1, __pyx_kp_u_yookassa_amount); if (unlikely(!__pyx_tuple__25)) __PYX_ERR(0, 102, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__25);
+ __Pyx_GIVEREF(__pyx_tuple__25);
+ __pyx_tuple__26 = PyTuple_Pack(11, __pyx_n_s_callback_query, __pyx_n_s_state, __pyx_n_s_data, __pyx_n_s_amount_str, __pyx_n_s_amount, __pyx_n_s_customer_name, __pyx_n_s_customer_id, __pyx_n_s_customer_email, __pyx_n_s_payment, __pyx_n_s_payment_url, __pyx_n_s_confirm_keyboard); if (unlikely(!__pyx_tuple__26)) __PYX_ERR(0, 102, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__26);
+ __Pyx_GIVEREF(__pyx_tuple__26);
+ __pyx_codeobj__4 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_yookassa_pay_p, __pyx_n_s_process_amount_selection, 102, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__4)) __PYX_ERR(0, 102, __pyx_L1_error)
- /* "handlers/payments/yookassa_pay.py":176
+ /* "handlers/payments/yookassa_pay.py":177
*
*
* async def yookassa_webhook(request): # <<<<<<<<<<<<<<
* """
* Yookassa .
*/
- __pyx_tuple__31 = PyTuple_Pack(10, __pyx_n_s_request, __pyx_n_s_event, __pyx_n_s_payment_object, __pyx_n_s_payment_id, __pyx_n_s_payment, __pyx_n_s_user_id_str, __pyx_n_s_amount_str, __pyx_n_s_user_id, __pyx_n_s_amount, __pyx_n_s_e); if (unlikely(!__pyx_tuple__31)) __PYX_ERR(0, 176, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__31);
- __Pyx_GIVEREF(__pyx_tuple__31);
- __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_yookassa_pay_p, __pyx_n_s_yookassa_webhook, 176, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) __PYX_ERR(0, 176, __pyx_L1_error)
+ __pyx_tuple__27 = PyTuple_Pack(10, __pyx_n_s_request, __pyx_n_s_event, __pyx_n_s_payment_object, __pyx_n_s_payment_id, __pyx_n_s_payment, __pyx_n_s_user_id_str, __pyx_n_s_amount_str, __pyx_n_s_user_id, __pyx_n_s_amount, __pyx_n_s_e); if (unlikely(!__pyx_tuple__27)) __PYX_ERR(0, 177, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__27);
+ __Pyx_GIVEREF(__pyx_tuple__27);
+ __pyx_codeobj__11 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_yookassa_pay_p, __pyx_n_s_yookassa_webhook, 177, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__11)) __PYX_ERR(0, 177, __pyx_L1_error)
- /* "handlers/payments/yookassa_pay.py":220
+ /* "handlers/payments/yookassa_pay.py":221
*
*
* @router.callback_query(F.data == "enter_custom_amount_yookassa") # <<<<<<<<<<<<<<
* async def process_enter_custom_amount(
* callback_query: types.CallbackQuery, state: FSMContext
*/
- __pyx_tuple__32 = PyTuple_Pack(3, __pyx_n_s_callback_query, __pyx_n_s_state, __pyx_n_s_builder); if (unlikely(!__pyx_tuple__32)) __PYX_ERR(0, 220, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__32);
- __Pyx_GIVEREF(__pyx_tuple__32);
- __pyx_codeobj__17 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_yookassa_pay_p, __pyx_n_s_process_enter_custom_amount, 220, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__17)) __PYX_ERR(0, 220, __pyx_L1_error)
+ __pyx_tuple__28 = PyTuple_Pack(3, __pyx_n_s_callback_query, __pyx_n_s_state, __pyx_n_s_builder); if (unlikely(!__pyx_tuple__28)) __PYX_ERR(0, 221, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__28);
+ __Pyx_GIVEREF(__pyx_tuple__28);
+ __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_yookassa_pay_p, __pyx_n_s_process_enter_custom_amount, 221, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) __PYX_ERR(0, 221, __pyx_L1_error)
- /* "handlers/payments/yookassa_pay.py":235
+ /* "handlers/payments/yookassa_pay.py":236
*
*
* @router.message(ReplenishBalanceState.entering_custom_amount_yookassa) # <<<<<<<<<<<<<<
* async def process_custom_amount_input(message: types.Message, state: FSMContext):
* if message.text.isdigit():
*/
- __pyx_tuple__33 = PyTuple_Pack(7, __pyx_n_s_message, __pyx_n_s_state, __pyx_n_s_amount, __pyx_n_s_payment, __pyx_n_s_payment_url, __pyx_n_s_confirm_keyboard, __pyx_n_s_e); if (unlikely(!__pyx_tuple__33)) __PYX_ERR(0, 235, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__33);
- __Pyx_GIVEREF(__pyx_tuple__33);
- __pyx_codeobj__21 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_yookassa_pay_p, __pyx_n_s_process_custom_amount_input, 235, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__21)) __PYX_ERR(0, 235, __pyx_L1_error)
+ __pyx_tuple__29 = PyTuple_Pack(7, __pyx_n_s_message, __pyx_n_s_state, __pyx_n_s_amount, __pyx_n_s_payment, __pyx_n_s_payment_url, __pyx_n_s_confirm_keyboard, __pyx_n_s_e); if (unlikely(!__pyx_tuple__29)) __PYX_ERR(0, 236, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__29);
+ __Pyx_GIVEREF(__pyx_tuple__29);
+ __pyx_codeobj__17 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_yookassa_pay_p, __pyx_n_s_process_custom_amount_input, 236, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__17)) __PYX_ERR(0, 236, __pyx_L1_error)
__Pyx_RefNannyFinishContext();
return 0;
__pyx_L1_error:;
@@ -11112,15 +11133,15 @@ static int __Pyx_modinit_type_init_code(void) {
__Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0);
/*--- Type init code ---*/
#if CYTHON_USE_TYPE_SPECS
- __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa)) __PYX_ERR(0, 43, __pyx_L1_error)
- if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa_spec, __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa) < 0) __PYX_ERR(0, 43, __pyx_L1_error)
+ __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa)) __PYX_ERR(0, 44, __pyx_L1_error)
+ if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa_spec, __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa) < 0) __PYX_ERR(0, 44, __pyx_L1_error)
#else
__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa = &__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa;
#endif
#if !CYTHON_COMPILING_IN_LIMITED_API
#endif
#if !CYTHON_USE_TYPE_SPECS
- if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa) < 0) __PYX_ERR(0, 43, __pyx_L1_error)
+ if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa) < 0) __PYX_ERR(0, 44, __pyx_L1_error)
#endif
#if PY_MAJOR_VERSION < 3
__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa->tp_print = 0;
@@ -11131,15 +11152,15 @@ static int __Pyx_modinit_type_init_code(void) {
}
#endif
#if CYTHON_USE_TYPE_SPECS
- __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection)) __PYX_ERR(0, 101, __pyx_L1_error)
- if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection_spec, __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection) < 0) __PYX_ERR(0, 101, __pyx_L1_error)
+ __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection)) __PYX_ERR(0, 102, __pyx_L1_error)
+ if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection_spec, __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection) < 0) __PYX_ERR(0, 102, __pyx_L1_error)
#else
__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection = &__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection;
#endif
#if !CYTHON_COMPILING_IN_LIMITED_API
#endif
#if !CYTHON_USE_TYPE_SPECS
- if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection) < 0) __PYX_ERR(0, 101, __pyx_L1_error)
+ if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection) < 0) __PYX_ERR(0, 102, __pyx_L1_error)
#endif
#if PY_MAJOR_VERSION < 3
__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection->tp_print = 0;
@@ -11150,15 +11171,15 @@ static int __Pyx_modinit_type_init_code(void) {
}
#endif
#if CYTHON_USE_TYPE_SPECS
- __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook)) __PYX_ERR(0, 176, __pyx_L1_error)
- if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook_spec, __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook) < 0) __PYX_ERR(0, 176, __pyx_L1_error)
+ __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook)) __PYX_ERR(0, 177, __pyx_L1_error)
+ if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook_spec, __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook) < 0) __PYX_ERR(0, 177, __pyx_L1_error)
#else
__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook = &__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook;
#endif
#if !CYTHON_COMPILING_IN_LIMITED_API
#endif
#if !CYTHON_USE_TYPE_SPECS
- if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook) < 0) __PYX_ERR(0, 176, __pyx_L1_error)
+ if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook) < 0) __PYX_ERR(0, 177, __pyx_L1_error)
#endif
#if PY_MAJOR_VERSION < 3
__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook->tp_print = 0;
@@ -11169,15 +11190,15 @@ static int __Pyx_modinit_type_init_code(void) {
}
#endif
#if CYTHON_USE_TYPE_SPECS
- __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_enter_custom_amount = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_enter_custom_amount_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_enter_custom_amount)) __PYX_ERR(0, 220, __pyx_L1_error)
- if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_enter_custom_amount_spec, __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_enter_custom_amount) < 0) __PYX_ERR(0, 220, __pyx_L1_error)
+ __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_enter_custom_amount = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_enter_custom_amount_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_enter_custom_amount)) __PYX_ERR(0, 221, __pyx_L1_error)
+ if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_enter_custom_amount_spec, __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_enter_custom_amount) < 0) __PYX_ERR(0, 221, __pyx_L1_error)
#else
__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_enter_custom_amount = &__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_enter_custom_amount;
#endif
#if !CYTHON_COMPILING_IN_LIMITED_API
#endif
#if !CYTHON_USE_TYPE_SPECS
- if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_enter_custom_amount) < 0) __PYX_ERR(0, 220, __pyx_L1_error)
+ if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_enter_custom_amount) < 0) __PYX_ERR(0, 221, __pyx_L1_error)
#endif
#if PY_MAJOR_VERSION < 3
__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_enter_custom_amount->tp_print = 0;
@@ -11188,15 +11209,15 @@ static int __Pyx_modinit_type_init_code(void) {
}
#endif
#if CYTHON_USE_TYPE_SPECS
- __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_custom_amount_input = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_custom_amount_input_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_custom_amount_input)) __PYX_ERR(0, 235, __pyx_L1_error)
- if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_custom_amount_input_spec, __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_custom_amount_input) < 0) __PYX_ERR(0, 235, __pyx_L1_error)
+ __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_custom_amount_input = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_custom_amount_input_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_custom_amount_input)) __PYX_ERR(0, 236, __pyx_L1_error)
+ if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_custom_amount_input_spec, __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_custom_amount_input) < 0) __PYX_ERR(0, 236, __pyx_L1_error)
#else
__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_custom_amount_input = &__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_custom_amount_input;
#endif
#if !CYTHON_COMPILING_IN_LIMITED_API
#endif
#if !CYTHON_USE_TYPE_SPECS
- if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_custom_amount_input) < 0) __PYX_ERR(0, 235, __pyx_L1_error)
+ if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_custom_amount_input) < 0) __PYX_ERR(0, 236, __pyx_L1_error)
#endif
#if PY_MAJOR_VERSION < 3
__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_custom_amount_input->tp_print = 0;
@@ -11880,7 +11901,7 @@ if (!__Pyx_RefNanny) {
* from handlers.payments.utils import send_payment_success_notification
* from handlers.texts import PAYMENT_OPTIONS # <<<<<<<<<<<<<<
* from logger import logger
- *
+ * from handlers.buttons.yookassa import BACK, PAY, CUSTOM_SUM
*/
__pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
@@ -11900,8 +11921,8 @@ if (!__Pyx_RefNanny) {
* from handlers.payments.utils import send_payment_success_notification
* from handlers.texts import PAYMENT_OPTIONS
* from logger import logger # <<<<<<<<<<<<<<
+ * from handlers.buttons.yookassa import BACK, PAY, CUSTOM_SUM
*
- * router = Router()
*/
__pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
@@ -11917,126 +11938,161 @@ if (!__Pyx_RefNanny) {
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "handlers/payments/yookassa_pay.py":25
+ /* "handlers/payments/yookassa_pay.py":24
+ * from handlers.texts import PAYMENT_OPTIONS
* from logger import logger
+ * from handlers.buttons.yookassa import BACK, PAY, CUSTOM_SUM # <<<<<<<<<<<<<<
+ *
+ * router = Router()
+ */
+ __pyx_t_2 = PyList_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_INCREF(__pyx_n_s_BACK);
+ __Pyx_GIVEREF(__pyx_n_s_BACK);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_BACK)) __PYX_ERR(0, 24, __pyx_L1_error);
+ __Pyx_INCREF(__pyx_n_s_PAY);
+ __Pyx_GIVEREF(__pyx_n_s_PAY);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_PAY)) __PYX_ERR(0, 24, __pyx_L1_error);
+ __Pyx_INCREF(__pyx_n_s_CUSTOM_SUM);
+ __Pyx_GIVEREF(__pyx_n_s_CUSTOM_SUM);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 2, __pyx_n_s_CUSTOM_SUM)) __PYX_ERR(0, 24, __pyx_L1_error);
+ __pyx_t_3 = __Pyx_Import(__pyx_n_s_handlers_buttons_yookassa, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_BACK); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_BACK, __pyx_t_2) < 0) __PYX_ERR(0, 24, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PAY); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_PAY, __pyx_t_2) < 0) __PYX_ERR(0, 24, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_CUSTOM_SUM); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUSTOM_SUM, __pyx_t_2) < 0) __PYX_ERR(0, 24, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+
+ /* "handlers/payments/yookassa_pay.py":26
+ * from handlers.buttons.yookassa import BACK, PAY, CUSTOM_SUM
*
* router = Router() # <<<<<<<<<<<<<<
*
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Router); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_Router); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_router, __pyx_t_3) < 0) __PYX_ERR(0, 25, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_router, __pyx_t_2) < 0) __PYX_ERR(0, 26, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "handlers/payments/yookassa_pay.py":28
+ /* "handlers/payments/yookassa_pay.py":29
*
*
* MAIN_SECRET = "PIRAT0ETO7DLYA9TEBYA" # <<<<<<<<<<<<<<
*
* if YOOKASSA_ENABLE:
*/
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_MAIN_SECRET, __pyx_n_u_PIRAT0ETO7DLYA9TEBYA) < 0) __PYX_ERR(0, 28, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_MAIN_SECRET, __pyx_n_u_PIRAT0ETO7DLYA9TEBYA) < 0) __PYX_ERR(0, 29, __pyx_L1_error)
- /* "handlers/payments/yookassa_pay.py":30
+ /* "handlers/payments/yookassa_pay.py":31
* MAIN_SECRET = "PIRAT0ETO7DLYA9TEBYA"
*
* if YOOKASSA_ENABLE: # <<<<<<<<<<<<<<
* Configuration.account_id = YOOKASSA_SHOP_ID
* Configuration.secret_key = YOOKASSA_SECRET_KEY
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_YOOKASSA_ENABLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 30, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_YOOKASSA_ENABLE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 31, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_4) {
- /* "handlers/payments/yookassa_pay.py":31
+ /* "handlers/payments/yookassa_pay.py":32
*
* if YOOKASSA_ENABLE:
* Configuration.account_id = YOOKASSA_SHOP_ID # <<<<<<<<<<<<<<
* Configuration.secret_key = YOOKASSA_SECRET_KEY
* logger.debug(f"Account ID: {YOOKASSA_SHOP_ID}")
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_YOOKASSA_SHOP_ID); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Configuration); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_YOOKASSA_SHOP_ID); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_account_id, __pyx_t_3) < 0) __PYX_ERR(0, 31, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_Configuration); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ if (__Pyx_PyObject_SetAttrStr(__pyx_t_3, __pyx_n_s_account_id, __pyx_t_2) < 0) __PYX_ERR(0, 32, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "handlers/payments/yookassa_pay.py":32
+ /* "handlers/payments/yookassa_pay.py":33
* if YOOKASSA_ENABLE:
* Configuration.account_id = YOOKASSA_SHOP_ID
* Configuration.secret_key = YOOKASSA_SECRET_KEY # <<<<<<<<<<<<<<
* logger.debug(f"Account ID: {YOOKASSA_SHOP_ID}")
* logger.debug(f"Secret Key: {YOOKASSA_SECRET_KEY}")
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_YOOKASSA_SECRET_KEY); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_Configuration); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_YOOKASSA_SECRET_KEY); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (__Pyx_PyObject_SetAttrStr(__pyx_t_3, __pyx_n_s_secret_key, __pyx_t_2) < 0) __PYX_ERR(0, 32, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Configuration); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_secret_key, __pyx_t_3) < 0) __PYX_ERR(0, 33, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "handlers/payments/yookassa_pay.py":33
+ /* "handlers/payments/yookassa_pay.py":34
* Configuration.account_id = YOOKASSA_SHOP_ID
* Configuration.secret_key = YOOKASSA_SECRET_KEY
* logger.debug(f"Account ID: {YOOKASSA_SHOP_ID}") # <<<<<<<<<<<<<<
* logger.debug(f"Secret Key: {YOOKASSA_SECRET_KEY}")
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_YOOKASSA_SHOP_ID); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_debug); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_t_3, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 33, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_5);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Account_ID, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 33, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_YOOKASSA_SHOP_ID); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_t_2, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 34, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Account_ID, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 34, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "handlers/payments/yookassa_pay.py":34
+ /* "handlers/payments/yookassa_pay.py":35
* Configuration.secret_key = YOOKASSA_SECRET_KEY
* logger.debug(f"Account ID: {YOOKASSA_SHOP_ID}")
* logger.debug(f"Secret Key: {YOOKASSA_SECRET_KEY}") # <<<<<<<<<<<<<<
*
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_logger); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 34, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_logger); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 35, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_debug); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_YOOKASSA_SECRET_KEY); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 35, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_t_5, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_YOOKASSA_SECRET_KEY); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 34, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Secret_Key, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 35, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_t_5, __pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Secret_Key, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 34, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_5);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "handlers/payments/yookassa_pay.py":30
+ /* "handlers/payments/yookassa_pay.py":31
* MAIN_SECRET = "PIRAT0ETO7DLYA9TEBYA"
*
* if YOOKASSA_ENABLE: # <<<<<<<<<<<<<<
@@ -12045,71 +12101,37 @@ if (!__Pyx_RefNanny) {
*/
}
- /* "handlers/payments/yookassa_pay.py":37
+ /* "handlers/payments/yookassa_pay.py":38
*
*
* class ReplenishBalanceState(StatesGroup): # <<<<<<<<<<<<<<
* choosing_amount_yookassa = State()
* waiting_for_payment_confirmation_yookassa = State()
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_StatesGroup); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 37, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_5);
- __Pyx_GIVEREF(__pyx_t_2);
- if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(0, 37, __pyx_L1_error);
- __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_StatesGroup); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_6 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_ReplenishBalanceState, __pyx_n_s_ReplenishBalanceState, (PyObject *) NULL, __pyx_n_s_handlers_payments_yookassa_pay, (PyObject *) NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 37, __pyx_L1_error)
+ __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_GIVEREF(__pyx_t_3);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3)) __PYX_ERR(0, 38, __pyx_L1_error);
+ __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_6 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_3, __pyx_n_s_ReplenishBalanceState, __pyx_n_s_ReplenishBalanceState, (PyObject *) NULL, __pyx_n_s_handlers_payments_yookassa_pay, (PyObject *) NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- if (__pyx_t_2 != __pyx_t_5) {
- if (unlikely((PyDict_SetItemString(__pyx_t_6, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(0, 37, __pyx_L1_error)
+ if (__pyx_t_3 != __pyx_t_5) {
+ if (unlikely((PyDict_SetItemString(__pyx_t_6, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(0, 38, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "handlers/payments/yookassa_pay.py":38
+ /* "handlers/payments/yookassa_pay.py":39
*
* class ReplenishBalanceState(StatesGroup):
* choosing_amount_yookassa = State() # <<<<<<<<<<<<<<
* waiting_for_payment_confirmation_yookassa = State()
* entering_custom_amount_yookassa = State()
- */
- __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_State); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_7);
- __pyx_t_8 = NULL;
- __pyx_t_9 = 0;
- #if CYTHON_UNPACK_METHODS
- if (unlikely(PyMethod_Check(__pyx_t_7))) {
- __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
- if (likely(__pyx_t_8)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
- __Pyx_INCREF(__pyx_t_8);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_7, function);
- __pyx_t_9 = 1;
- }
- }
- #endif
- {
- PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL};
- __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9);
- __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_5);
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- }
- if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_choosing_amount_yookassa, __pyx_t_5) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
- /* "handlers/payments/yookassa_pay.py":39
- * class ReplenishBalanceState(StatesGroup):
- * choosing_amount_yookassa = State()
- * waiting_for_payment_confirmation_yookassa = State() # <<<<<<<<<<<<<<
- * entering_custom_amount_yookassa = State()
- *
*/
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_State); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 39, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
@@ -12135,14 +12157,14 @@ if (!__Pyx_RefNanny) {
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
}
- if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_waiting_for_payment_confirmation, __pyx_t_5) < 0) __PYX_ERR(0, 39, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_choosing_amount_yookassa, __pyx_t_5) < 0) __PYX_ERR(0, 39, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
/* "handlers/payments/yookassa_pay.py":40
+ * class ReplenishBalanceState(StatesGroup):
* choosing_amount_yookassa = State()
- * waiting_for_payment_confirmation_yookassa = State()
- * entering_custom_amount_yookassa = State() # <<<<<<<<<<<<<<
- *
+ * waiting_for_payment_confirmation_yookassa = State() # <<<<<<<<<<<<<<
+ * entering_custom_amount_yookassa = State()
*
*/
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_State); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 40, __pyx_L1_error)
@@ -12169,200 +12191,234 @@ if (!__Pyx_RefNanny) {
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
}
- if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_entering_custom_amount_yookassa, __pyx_t_5) < 0) __PYX_ERR(0, 40, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_waiting_for_payment_confirmation, __pyx_t_5) < 0) __PYX_ERR(0, 40, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "handlers/payments/yookassa_pay.py":37
+ /* "handlers/payments/yookassa_pay.py":41
+ * choosing_amount_yookassa = State()
+ * waiting_for_payment_confirmation_yookassa = State()
+ * entering_custom_amount_yookassa = State() # <<<<<<<<<<<<<<
+ *
+ *
+ */
+ __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_State); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 41, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_t_8 = NULL;
+ __pyx_t_9 = 0;
+ #if CYTHON_UNPACK_METHODS
+ if (unlikely(PyMethod_Check(__pyx_t_7))) {
+ __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
+ if (likely(__pyx_t_8)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
+ __Pyx_INCREF(__pyx_t_8);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_7, function);
+ __pyx_t_9 = 1;
+ }
+ }
+ #endif
+ {
+ PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL};
+ __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9);
+ __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 41, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ }
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_entering_custom_amount_yookassa, __pyx_t_5) < 0) __PYX_ERR(0, 41, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+ /* "handlers/payments/yookassa_pay.py":38
*
*
* class ReplenishBalanceState(StatesGroup): # <<<<<<<<<<<<<<
* choosing_amount_yookassa = State()
* waiting_for_payment_confirmation_yookassa = State()
*/
- __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_ReplenishBalanceState, __pyx_t_2, __pyx_t_6, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 37, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_ReplenishBalanceState, __pyx_t_3, __pyx_t_6, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_ReplenishBalanceState, __pyx_t_5) < 0) __PYX_ERR(0, 37, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_ReplenishBalanceState, __pyx_t_5) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "handlers/payments/yookassa_pay.py":43
+ /* "handlers/payments/yookassa_pay.py":44
*
*
* @router.callback_query(F.data == "pay_yookassa") # <<<<<<<<<<<<<<
* async def process_callback_pay_yookassa(
* callback_query: types.CallbackQuery, state: FSMContext, session: Any
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_router); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 43, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_router); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_F); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 43, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_data); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 43, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyObject_RichCompare(__pyx_t_6, __pyx_n_u_pay_yookassa, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 43, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 43, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_F); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_data); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 44, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 43, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 43, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_state, __pyx_n_s_FSMContext) < 0) __PYX_ERR(0, 43, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_session, __pyx_n_s_Any) < 0) __PYX_ERR(0, 43, __pyx_L1_error)
- __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_12yookassa_pay_1process_callback_pay_yookassa, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_process_callback_pay_yookassa, NULL, __pyx_n_s_handlers_payments_yookassa_pay, __pyx_d, ((PyObject *)__pyx_codeobj_)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 43, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = PyObject_RichCompare(__pyx_t_6, __pyx_n_u_pay_yookassa, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_process_callback_pay_yookassa, __pyx_t_2) < 0) __PYX_ERR(0, 43, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 44, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 44, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_state, __pyx_n_s_FSMContext) < 0) __PYX_ERR(0, 44, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_session, __pyx_n_s_Any) < 0) __PYX_ERR(0, 44, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_12yookassa_pay_1process_callback_pay_yookassa, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_process_callback_pay_yookassa, NULL, __pyx_n_s_handlers_payments_yookassa_pay, __pyx_d, ((PyObject *)__pyx_codeobj_)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_process_callback_pay_yookassa, __pyx_t_3) < 0) __PYX_ERR(0, 44, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "handlers/payments/yookassa_pay.py":101
+ /* "handlers/payments/yookassa_pay.py":102
*
*
* @router.callback_query(F.data.startswith("yookassa_amount|")) # <<<<<<<<<<<<<<
* async def process_amount_selection(
* callback_query: types.CallbackQuery, state: FSMContext
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_router); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 101, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 101, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_router); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 102, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_F); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 101, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_data); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 101, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_startswith); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 101, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__29, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 101, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 101, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 102, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 101, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 101, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_state, __pyx_n_s_FSMContext) < 0) __PYX_ERR(0, 101, __pyx_L1_error)
- __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_12yookassa_pay_4process_amount_selection, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_process_amount_selection, NULL, __pyx_n_s_handlers_payments_yookassa_pay, __pyx_d, ((PyObject *)__pyx_codeobj__6)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 101, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_F); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 102, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_6);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 101, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_data); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 102, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_process_amount_selection, __pyx_t_6) < 0) __PYX_ERR(0, 101, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_startswith); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 102, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__25, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 102, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 102, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_6 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 102, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_6);
+ if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 102, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_state, __pyx_n_s_FSMContext) < 0) __PYX_ERR(0, 102, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_12yookassa_pay_4process_amount_selection, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_process_amount_selection, NULL, __pyx_n_s_handlers_payments_yookassa_pay, __pyx_d, ((PyObject *)__pyx_codeobj__4)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 102, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_6);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 102, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_process_amount_selection, __pyx_t_6) < 0) __PYX_ERR(0, 102, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "handlers/payments/yookassa_pay.py":176
+ /* "handlers/payments/yookassa_pay.py":177
*
*
* async def yookassa_webhook(request): # <<<<<<<<<<<<<<
* """
* Yookassa .
*/
- __pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_12yookassa_pay_7yookassa_webhook, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_yookassa_webhook, NULL, __pyx_n_s_handlers_payments_yookassa_pay, __pyx_d, ((PyObject *)__pyx_codeobj__14)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 176, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_12yookassa_pay_7yookassa_webhook, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_yookassa_webhook, NULL, __pyx_n_s_handlers_payments_yookassa_pay, __pyx_d, ((PyObject *)__pyx_codeobj__11)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 177, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_yookassa_webhook, __pyx_t_6) < 0) __PYX_ERR(0, 176, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_yookassa_webhook, __pyx_t_6) < 0) __PYX_ERR(0, 177, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "handlers/payments/yookassa_pay.py":220
+ /* "handlers/payments/yookassa_pay.py":221
*
*
* @router.callback_query(F.data == "enter_custom_amount_yookassa") # <<<<<<<<<<<<<<
* async def process_enter_custom_amount(
* callback_query: types.CallbackQuery, state: FSMContext
*/
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_router); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 220, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_router); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 221, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 220, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_F); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 220, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 220, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 221, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = PyObject_RichCompare(__pyx_t_2, __pyx_n_u_enter_custom_amount_yookassa, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 220, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 220, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 220, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_F); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 221, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 220, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_state, __pyx_n_s_FSMContext) < 0) __PYX_ERR(0, 220, __pyx_L1_error)
- __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_12yookassa_pay_10process_enter_custom_amount, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_process_enter_custom_amount, NULL, __pyx_n_s_handlers_payments_yookassa_pay, __pyx_d, ((PyObject *)__pyx_codeobj__17)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 220, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_data); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 221, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_6);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 220, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_6 = PyObject_RichCompare(__pyx_t_3, __pyx_n_u_enter_custom_amount_yookassa, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 221, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_process_enter_custom_amount, __pyx_t_6) < 0) __PYX_ERR(0, 220, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 221, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_6 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 221, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_6);
+ if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 221, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_state, __pyx_n_s_FSMContext) < 0) __PYX_ERR(0, 221, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_12yookassa_pay_10process_enter_custom_amount, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_process_enter_custom_amount, NULL, __pyx_n_s_handlers_payments_yookassa_pay, __pyx_d, ((PyObject *)__pyx_codeobj__14)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 221, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_6);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 221, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_process_enter_custom_amount, __pyx_t_6) < 0) __PYX_ERR(0, 221, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "handlers/payments/yookassa_pay.py":235
+ /* "handlers/payments/yookassa_pay.py":236
*
*
* @router.message(ReplenishBalanceState.entering_custom_amount_yookassa) # <<<<<<<<<<<<<<
* async def process_custom_amount_input(message: types.Message, state: FSMContext):
* if message.text.isdigit():
*/
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_router); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 235, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_router); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 236, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_message); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 235, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_message); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 236, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_ReplenishBalanceState); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 236, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_6);
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_entering_custom_amount_yookassa); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 236, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_ReplenishBalanceState); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 235, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 236, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_entering_custom_amount_yookassa); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 235, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 235, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 235, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_message, __pyx_kp_s_types_Message) < 0) __PYX_ERR(0, 235, __pyx_L1_error)
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_state, __pyx_n_s_FSMContext) < 0) __PYX_ERR(0, 235, __pyx_L1_error)
- __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_12yookassa_pay_13process_custom_amount_input, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_process_custom_amount_input, NULL, __pyx_n_s_handlers_payments_yookassa_pay, __pyx_d, ((PyObject *)__pyx_codeobj__21)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 235, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 236, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 235, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_message, __pyx_kp_s_types_Message) < 0) __PYX_ERR(0, 236, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_state, __pyx_n_s_FSMContext) < 0) __PYX_ERR(0, 236, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_12yookassa_pay_13process_custom_amount_input, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_process_custom_amount_input, NULL, __pyx_n_s_handlers_payments_yookassa_pay, __pyx_d, ((PyObject *)__pyx_codeobj__17)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 236, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_process_custom_amount_input, __pyx_t_2) < 0) __PYX_ERR(0, 235, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 236, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_process_custom_amount_input, __pyx_t_3) < 0) __PYX_ERR(0, 236, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* "handlers/payments/yookassa_pay.py":1
* import uuid # <<<<<<<<<<<<<<
* from typing import Any
*
*/
- __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_3) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/*--- Wrapped vars code ---*/
@@ -16609,7 +16665,7 @@ static PyObject *__Pyx_ImportDottedModule_WalkParts(PyObject *module, PyObject *
#endif
static PyObject *__Pyx__ImportDottedModule(PyObject *name, PyObject *parts_tuple) {
#if PY_MAJOR_VERSION < 3
- PyObject *module, *from_list, *star = __pyx_n_s__26;
+ PyObject *module, *from_list, *star = __pyx_n_s__22;
CYTHON_UNUSED_VAR(parts_tuple);
from_list = PyList_New(1);
if (unlikely(!from_list))
@@ -16672,7 +16728,7 @@ static PyObject *__Pyx_ImportDottedModule(PyObject *name, PyObject *parts_tuple)
if (unlikely(!module_name_str)) { goto modbad; }
module_name = PyUnicode_FromString(module_name_str);
if (unlikely(!module_name)) { goto modbad; }
- module_dot = PyUnicode_Concat(module_name, __pyx_kp_u__27);
+ module_dot = PyUnicode_Concat(module_name, __pyx_kp_u__23);
if (unlikely(!module_dot)) { goto modbad; }
full_name = PyUnicode_Concat(module_dot, name);
if (unlikely(!full_name)) { goto modbad; }
@@ -18537,7 +18593,7 @@ __Pyx_PyType_GetName(PyTypeObject* tp)
if (unlikely(name == NULL) || unlikely(!PyUnicode_Check(name))) {
PyErr_Clear();
Py_XDECREF(name);
- name = __Pyx_NewRef(__pyx_n_s__34);
+ name = __Pyx_NewRef(__pyx_n_s__30);
}
return name;
}
diff --git a/handlers/payments/yookassa_pay.cpython-312-x86_64-linux-gnu.so b/handlers/payments/yookassa_pay.cpython-312-x86_64-linux-gnu.so
index 314bc2d8..df7b73cf 100755
Binary files a/handlers/payments/yookassa_pay.cpython-312-x86_64-linux-gnu.so and b/handlers/payments/yookassa_pay.cpython-312-x86_64-linux-gnu.so differ