MCPcopy Create free account
hub / github.com/RedisGears/RedisGears / registerCreateCommandArgs

Function registerCreateCommandArgs

plugins/python/redisgears_python.c:1858–1913  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1856}
1857
1858static void* registerCreateCommandArgs(PyObject *kargs){
1859 const char* trigger = NULL;
1860 const char* keyPrefix = NULL;
1861 const char* hook = NULL;
1862 int inOrder = 0;
1863 PyObject* pyTrigger = GearsPyDict_GetItemString(kargs, "trigger");
1864 if(pyTrigger){
1865 if(!PyUnicode_Check(pyTrigger)){
1866 PyErr_SetString(GearsError, "trigger argument is not string");
1867 return NULL;
1868 }
1869 trigger = PyUnicode_AsUTF8AndSize(pyTrigger, NULL);
1870 }
1871
1872 PyObject* pyInOrder = GearsPyDict_GetItemString(kargs, "inorder");
1873 if(pyInOrder){
1874 if(!PyBool_Check(pyInOrder)){
1875 PyErr_SetString(GearsError, "inorder argument is be boolean");
1876 return NULL;
1877 }
1878 inOrder = Py_True == pyInOrder ? 1 : 0;
1879 }
1880
1881 PyObject* PykeyPrefix = GearsPyDict_GetItemString(kargs, "keyprefix");
1882 if(PykeyPrefix){
1883 if(!PyUnicode_Check(PykeyPrefix)){
1884 PyErr_SetString(GearsError, "keyprefix argument is not string");
1885 return NULL;
1886 }
1887 keyPrefix = PyUnicode_AsUTF8AndSize(PykeyPrefix, NULL);
1888 }
1889
1890 PyObject* PyHook = GearsPyDict_GetItemString(kargs, "hook");
1891 if(PyHook){
1892 if(!PyUnicode_Check(PyHook)){
1893 PyErr_SetString(GearsError, "hook argument is not string");
1894 return NULL;
1895 }
1896 hook = PyUnicode_AsUTF8AndSize(PyHook, NULL);
1897 }
1898
1899 if(trigger){
1900 if(keyPrefix || hook){
1901 PyErr_SetString(GearsError, "trigger argument can not be given with keyprefix or hook");
1902 return NULL;
1903 }
1904 return RedisGears_CommandReaderTriggerArgsCreate(trigger, inOrder);
1905 }else{
1906 if(!hook){
1907 PyErr_SetString(GearsError, "no trigger or hook argument was given");
1908 return NULL;
1909 }
1910 return RedisGears_CommandReaderTriggerArgsCreateHook(hook, keyPrefix, inOrder);
1911 }
1912
1913}
1914
1915static void* registerCreateArgs(FlatExecutionPlan* fep, PyObject *kargs, ExecutionMode mode){

Callers 1

registerCreateArgsFunction · 0.85

Calls 1

Tested by

no test coverage detected