Bläddra i källkod

[fix] regenerate_if_none option for frappe.local_cache

version-14
Anand Doshi 9 år sedan
förälder
incheckning
ac9c61d812
1 ändrade filer med 5 tillägg och 1 borttagningar
  1. +5
    -1
      frappe/__init__.py

+ 5
- 1
frappe/__init__.py Visa fil

@@ -1045,7 +1045,7 @@ def publish_realtime(*args, **kwargs):


return frappe.async.publish_realtime(*args, **kwargs) return frappe.async.publish_realtime(*args, **kwargs)


def local_cache(namespace, key, generator):
def local_cache(namespace, key, generator, regenerate_if_none=False):
"""A key value store for caching within a request """A key value store for caching within a request


:param namespace: frappe.local.cache[namespace] :param namespace: frappe.local.cache[namespace]
@@ -1059,4 +1059,8 @@ def local_cache(namespace, key, generator):
if key not in local.cache[namespace]: if key not in local.cache[namespace]:
local.cache[namespace][key] = generator() local.cache[namespace][key] = generator()


elif local.cache[namespace][key]==None and regenerate_if_none:
# if key exists but the previous result was None
local.cache[namespace][key] = generator()

return local.cache[namespace][key] return local.cache[namespace][key]

Laddar…
Avbryt
Spara