| 1913 | } |
| 1914 | |
| 1915 | static void* registerCreateArgs(FlatExecutionPlan* fep, PyObject *kargs, ExecutionMode mode){ |
| 1916 | const char* reader = RedisGears_GetReader(fep); |
| 1917 | if (strcmp(reader, "CommandReader") == 0){ |
| 1918 | return registerCreateCommandArgs(kargs); |
| 1919 | } |
| 1920 | |
| 1921 | char* defaultPrefixStr = "*"; |
| 1922 | const char* prefixStr = defaultPrefixStr; |
| 1923 | PyObject* prefix = GearsPyDict_GetItemString(kargs, "prefix"); |
| 1924 | if(prefix){ |
| 1925 | if(PyUnicode_Check(prefix)){ |
| 1926 | prefixStr = PyUnicode_AsUTF8AndSize(prefix, NULL); |
| 1927 | }else{ |
| 1928 | PyErr_SetString(GearsError, "regex argument must be a string"); |
| 1929 | return NULL; |
| 1930 | } |
| 1931 | } |
| 1932 | |
| 1933 | if (strcmp(reader, "KeysReader") == 0){ |
| 1934 | return registerCreateKeysArgs(kargs, prefixStr, mode); |
| 1935 | }else if (strcmp(reader, "StreamReader") == 0){ |
| 1936 | return registerCreateStreamArgs(kargs, prefixStr, mode); |
| 1937 | } |
| 1938 | PyErr_SetString(GearsError, "given reader does not exists or does not support register"); |
| 1939 | return NULL; |
| 1940 | } |
| 1941 | |
| 1942 | static PyObject* registerExecution(PyObject *self, PyObject *args, PyObject *kargs){ |
| 1943 | PythonThreadCtx* ptctx = GetPythonThreadCtx(); |
no test coverage detected