Rootsystem2101 commited on
Commit
be78d6e
·
1 Parent(s): b5918a7

Patch Jinja2 LRU cache to handle unhashable dict keys

Browse files
Files changed (1) hide show
  1. app.py +18 -0
app.py CHANGED
@@ -1,3 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import gradio as gr
2
  import re, hashlib
3
  from datetime import datetime
 
1
+ # Patch Jinja2 LRU cache to handle unhashable keys (starlette/gradio compat fix)
2
+ import jinja2.utils as _j2u
3
+
4
+ def _safe_getitem(self, key):
5
+ try:
6
+ return self._mapping[key]
7
+ except TypeError:
8
+ return self._mapping.get(str(hash(str(key))), None) or next(iter(self._mapping.values()), None)
9
+
10
+ def _safe_get(self, key, default=None):
11
+ try:
12
+ return self._mapping[key]
13
+ except (KeyError, TypeError):
14
+ return default
15
+
16
+ _j2u.LRUCache.__getitem__ = _safe_getitem
17
+ _j2u.LRUCache.get = _safe_get
18
+
19
  import gradio as gr
20
  import re, hashlib
21
  from datetime import datetime