@@ -1826,7 +1826,7 @@ def escape_html(self, input_data):
18261826 result = markupsafe .escape (mapping )
18271827 return mapping
18281828
1829- def check_cache_contains (self , key , value , append ):
1829+ def check_cache_contains (self , key , value , append , category = "" ):
18301830 org_id = self .full_execution ["workflow" ]["execution_org" ]["id" ]
18311831 url = "%s/api/v1/orgs/%s/get_cache" % (self .url , org_id )
18321832 data = {
@@ -1837,8 +1837,11 @@ def check_cache_contains(self, key, value, append):
18371837 "search" : str (value ),
18381838 "key" : key ,
18391839 }
1840- directcall = False
18411840
1841+ if category :
1842+ data ["category" ] = category
1843+
1844+ directcall = False
18421845 allvalues = {}
18431846 try :
18441847 for item in self .local_storage :
@@ -1879,6 +1882,9 @@ def check_cache_contains(self, key, value, append):
18791882 allvalues = self .shared_cache
18801883
18811884 if "success" not in allvalues :
1885+ if category :
1886+ data ["category" ] = category
1887+
18821888 get_response = requests .post (url , json = data , verify = False )
18831889 allvalues = get_response .json ()
18841890 directcall = True
@@ -1893,22 +1899,28 @@ def check_cache_contains(self, key, value, append):
18931899 if append == True :
18941900 new_value = [str (value )]
18951901 data ["value" ] = json .dumps (new_value )
1902+ if category :
1903+ data ["category" ] = category
18961904
18971905 set_url = "%s/api/v1/orgs/%s/set_cache" % (self .url , org_id )
18981906 set_response = requests .post (set_url , json = data , verify = False )
18991907 try :
19001908 allvalues = set_response .json ()
19011909 self .shared_cache = self .preload_cache (key = key )
1902- #allvalues["key"] = key
1903- #return allvalues
19041910
1911+
1912+ newvalue = data ["value" ]
1913+ try :
1914+ newvalue = json .loads (data ["value" ])
1915+ except json .JSONDecodeError :
1916+ pass
19051917
19061918 return {
19071919 "success" : True ,
19081920 "found" : False ,
19091921 "key" : key ,
19101922 "search" : value ,
1911- "value" : new_value ,
1923+ "value" : newvalue ,
19121924 }
19131925 except Exception as e :
19141926 return {
@@ -2000,6 +2012,7 @@ def check_cache_contains(self, key, value, append):
20002012 if value not in allvalues ["value" ] and isinstance (allvalues ["value" ], list ):
20012013 self .cache_update_buffer .append (value )
20022014 allvalues ["value" ].append (value )
2015+
20032016 exception = ""
20042017 try :
20052018 # FIXME: This is a hack, but it works
@@ -2009,20 +2022,26 @@ def check_cache_contains(self, key, value, append):
20092022 new_value = [value ]
20102023
20112024 data ["value" ] = json .dumps (new_value )
2025+ if category :
2026+ data ["category" ] = category
20122027
20132028 set_url = "%s/api/v1/orgs/%s/set_cache" % (self .url , org_id )
20142029 response = requests .post (set_url , json = data , verify = False )
20152030 allvalues = response .json ()
20162031
2017- #return allvalues
2032+ newvalue = data ["value" ]
2033+ try :
2034+ newvalue = json .loads (data ["value" ])
2035+ except :
2036+ pass
20182037
20192038 return {
20202039 "success" : True ,
20212040 "found" : False ,
20222041 "reason" : f"Appended as it didn't exist" ,
20232042 "key" : key ,
20242043 "search" : value ,
2025- "value" : data [ "value" ] ,
2044+ "value" : newvalue ,
20262045 }
20272046 except Exception as e :
20282047 exception = e
@@ -2059,7 +2078,7 @@ def check_cache_contains(self, key, value, append):
20592078 ## subkey = "hi", value = "test3", overwrite=False
20602079 ## {"subkey": "hi", "value": ["test2", "test3"]}
20612080
2062- def change_cache_subkey (self , key , subkey , value , overwrite ):
2081+ def change_cache_subkey (self , key , subkey , value , overwrite , category = "" ):
20632082 org_id = self .full_execution ["workflow" ]["execution_org" ]["id" ]
20642083 url = "%s/api/v1/orgs/%s/set_cache" % (self .url , org_id )
20652084
@@ -2081,6 +2100,9 @@ def change_cache_subkey(self, key, subkey, value, overwrite):
20812100 "value" : value ,
20822101 }
20832102
2103+ if category :
2104+ data ["category" ] = category
2105+
20842106 response = requests .post (url , json = data , verify = False )
20852107 try :
20862108 allvalues = response .json ()
@@ -2101,10 +2123,10 @@ def change_cache_subkey(self, key, subkey, value, overwrite):
21012123 self .logger .info ("Value couldn't be parsed" )
21022124 return response .text
21032125
2104- def delete_cache_value (self , key ):
2105- return self .delete_cache (key )
2126+ def delete_cache_value (self , key , category = "" ):
2127+ return self .delete_cache (key , category = category )
21062128
2107- def get_cache_value (self , key ):
2129+ def get_cache_value (self , key , category = "" ):
21082130 org_id = self .full_execution ["workflow" ]["execution_org" ]["id" ]
21092131 url = "%s/api/v1/orgs/%s/get_cache" % (self .url , org_id )
21102132 data = {
@@ -2115,6 +2137,9 @@ def get_cache_value(self, key):
21152137 "key" : key ,
21162138 }
21172139
2140+ if category :
2141+ data ["category" ] = category
2142+
21182143 value = requests .post (url , json = data , verify = False )
21192144 try :
21202145 allvalues = value .json ()
@@ -2138,7 +2163,7 @@ def get_cache_value(self, key):
21382163 self .logger .info ("Value couldn't be parsed, or json dump of value failed" )
21392164 return value .text
21402165
2141- def set_cache_value (self , key , value ):
2166+ def set_cache_value (self , key , value , category = "" ):
21422167 org_id = self .full_execution ["workflow" ]["execution_org" ]["id" ]
21432168 url = "%s/api/v1/orgs/%s/set_cache" % (self .url , org_id )
21442169
@@ -2160,6 +2185,9 @@ def set_cache_value(self, key, value):
21602185 "value" : value ,
21612186 }
21622187
2188+ if category :
2189+ data ["category" ] = category
2190+
21632191 response = requests .post (url , json = data , verify = False )
21642192 try :
21652193 allvalues = response .json ()
@@ -2175,6 +2203,9 @@ def set_cache_value(self, key, value):
21752203 else :
21762204 allvalues ["value" ] = str (value )
21772205
2206+ if category :
2207+ allvalues ["category" ] = category
2208+
21782209 return json .dumps (allvalues )
21792210 except :
21802211 self .logger .info ("Value couldn't be parsed" )
0 commit comments