Spaces:
Paused
Paused
Download toolbox/json/misc.py from miyuki2026/OpenMiniMind: direct link, hf CLI and curl.
- Browser
- Download file 1.61 kB
-
https://huggingface.co/spaces/miyuki2026/OpenMiniMind/resolve/61ba079db070fdfd59dff306f78e320ca508b402/toolbox/json/misc.py
- Command line
-
hf download hf://spaces/miyuki2026/OpenMiniMind@61ba079db070fdfd59dff306f78e320ca508b402/toolbox/json/misc.py
-
curl -L -o misc.py https://huggingface.co/spaces/miyuki2026/OpenMiniMind/resolve/61ba079db070fdfd59dff306f78e320ca508b402/toolbox/json/misc.py
1.61 kB
| #!/usr/bin/python3 | |
| # -*- coding: utf-8 -*- | |
| from typing import Callable | |
| def traverse(js, callback: Callable, *args, **kwargs): | |
| if isinstance(js, list): | |
| result = list() | |
| for l in js: | |
| l = traverse(l, callback, *args, **kwargs) | |
| result.append(l) | |
| return result | |
| elif isinstance(js, tuple): | |
| result = list() | |
| for l in js: | |
| l = traverse(l, callback, *args, **kwargs) | |
| result.append(l) | |
| return tuple(result) | |
| elif isinstance(js, dict): | |
| result = dict() | |
| for k, v in js.items(): | |
| k = traverse(k, callback, *args, **kwargs) | |
| v = traverse(v, callback, *args, **kwargs) | |
| result[k] = v | |
| return result | |
| elif isinstance(js, int): | |
| return callback(js, *args, **kwargs) | |
| elif isinstance(js, str): | |
| return callback(js, *args, **kwargs) | |
| else: | |
| return js | |
| def demo1(): | |
| d = { | |
| "env": "ppe", | |
| "mysql_connect": { | |
| "host": "$mysql_connect_host", | |
| "port": 3306, | |
| "user": "callbot", | |
| "password": "NxcloudAI2021!", | |
| "database": "callbot_ppe", | |
| "charset": "utf8" | |
| }, | |
| "es_connect": { | |
| "hosts": ["10.20.251.8"], | |
| "http_auth": ["elastic", "ElasticAI2021!"], | |
| "port": 9200 | |
| } | |
| } | |
| def callback(s): | |
| if isinstance(s, str) and s.startswith('$'): | |
| return s[1:] | |
| return s | |
| result = traverse(d, callback=callback) | |
| print(result) | |
| return | |
| if __name__ == '__main__': | |
| demo1() | |