Buckets:
| import base64 | |
| import contextlib | |
| import os | |
| import tempfile | |
| def materialize_base64(data, suffix=""): | |
| """Materialize base64 data for a path-only library and always remove it.""" | |
| descriptor, path = tempfile.mkstemp(prefix="localai-media-", suffix=suffix) | |
| try: | |
| with os.fdopen(descriptor, "wb") as output: | |
| descriptor = None | |
| output.write(base64.b64decode(data)) | |
| yield path | |
| finally: | |
| if descriptor is not None: | |
| os.close(descriptor) | |
| try: | |
| os.remove(path) | |
| except OSError: | |
| pass | |
| def cleanup_paths(): | |
| """Collect temporary paths and remove them on success or failure.""" | |
| paths = [] | |
| try: | |
| yield paths | |
| finally: | |
| for path in paths: | |
| try: | |
| os.remove(path) | |
| except OSError: | |
| pass | |
Xet Storage Details
- Size:
- 915 Bytes
- Xet hash:
- c52d6c27af7da2eca0270b1d386e889ba98cea3cc2133d16fd8961395e7fdf69
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.