diff options
author | say <[email protected]> | 2023-03-31 10:07:15 +0300 |
---|---|---|
committer | say <[email protected]> | 2023-03-31 10:07:15 +0300 |
commit | e163b69a87c70baac07bd99142916735e0c283fa (patch) | |
tree | 73e22c0f9e975ff6dc70f38534ec84588587d25c /library/cpp/pybind/typedesc.cpp | |
parent | 6be8bf780352147bcac5afec43505883b69229a0 (diff) |
Swith flake8 to custom lint schema
Diffstat (limited to 'library/cpp/pybind/typedesc.cpp')
-rw-r--r-- | library/cpp/pybind/typedesc.cpp | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/library/cpp/pybind/typedesc.cpp b/library/cpp/pybind/typedesc.cpp deleted file mode 100644 index 75f39fd1260..00000000000 --- a/library/cpp/pybind/typedesc.cpp +++ /dev/null @@ -1,79 +0,0 @@ -#include "typedesc.h" - -#include <util/generic/singleton.h> - -static void RegisterJSONBridgeImpl() { - PyRun_SimpleString("import json\n" - "class PyBindEncoder(json.JSONEncoder):\n" - " def default(self, obj):\n" - " if isinstance(obj, bytes):\n" - " try:\n" - " return obj.decode()\n" - " except UnicodeDecodeError:\n" - " return obj.hex()\n" - " dct = None\n" - " if hasattr(obj, '__getstate__'):\n" - " dct = obj.__getstate__()\n" - " elif hasattr(obj, '__dict__'):\n" - " dct = obj.__dict__\n" - " if dct is None:\n" - " return json.JSONEncoder.default(self, obj)\n" - " if hasattr(obj, '__class__'):\n" - " if hasattr(obj.__class__, '__name__'):\n" - " dct['__name__'] = obj.__class__.__name__\n" - " if hasattr(obj.__class__, '__module__'):\n" - " dct['__module__'] = obj.__class__.__module__\n" - " if hasattr(obj, 'GetPropertiesNames'):\n" - " dct['__properties__'] = obj.GetPropertiesNames()\n" - " return dct"); - - PyRun_SimpleString("def PyBindObjectHook(dct):\n" - " if '__name__' in dct:\n" - " name = dct['__name__']\n" - " module = dct['__module__']\n" - " del dct['__name__']\n" - " del dct['__module__']\n" - " cls = getattr(__import__(module), name)\n" - " if '__properties__' in dct:\n" - " props = dct['__properties__']\n" - " del dct['__properties__']\n" - " if len(props) == 0:\n" - " return dct\n" - " instance = cls(__properties__ = props)\n" - " else:\n" - " instance = cls()\n" - " if hasattr(instance, '__setstate__'):\n" - " instance.__setstate__(dct)\n" - " elif hasattr(instance, '__dict__'):\n" - " instance.__dict__ = dct\n" - " else:\n" - " return dct\n" - " return instance\n" - " return dct"); - - PyRun_SimpleString("def json_dump(*args, **kwargs):\n" - " kwargs['cls'] = PyBindEncoder\n" - " return json.dump(*args, **kwargs)\n" - "def json_dumps(*args, **kwargs):\n" - " kwargs['cls'] = PyBindEncoder\n" - " return json.dumps(*args, **kwargs)"); - - PyRun_SimpleString("def json_load(*args, **kwargs):\n" - " kwargs['object_hook'] = PyBindObjectHook\n" - " return json.load(*args, **kwargs)\n" - "def json_loads(*args, **kwargs):\n" - " kwargs['object_hook'] = PyBindObjectHook\n" - " return json.loads(*args, **kwargs)"); -} - -namespace { - struct TJSONBridge { - TJSONBridge() { - RegisterJSONBridgeImpl(); - } - }; -} - -void NPyBind::RegisterJSONBridge() { - Singleton<TJSONBridge>(); -} |