FilesystemStorage
Bases: StorageIOBase
, FullyFeaturedMixin
Implementation of storage class which operates on filesystem items to preserve saved items between sessions. Loading procedures can optionally use caching, they do by default, therefore without disabling it you can't rely on loads being always instantly up to date with stores.
Encoding used to read text files, as well as cache can be changed using .configure() method.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
__root |
str | Path
|
root dir for fs storage, if __root points to file, parent directory of this file will be used. |
required |
subdir |
Optional[str], optional
|
nested directory to use for file storage, when None, data will be stored directly in __root, by default "data". When __root is file, subdirectory in __root parent directory will be used. |
'data'
|
Example#
Source code in magic_storage/impl/_filesystem.py
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
|
configure(*, encoding=sentinel, cache=sentinel)
#
Configure FileStorage instance.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
encoding |
str | sentinel, optional
|
Change encoding used to read/write text, when sentinel, old value is kept, by default "utf-8" |
sentinel
|
cache |
Optional[Cache] | sentinel, optional
|
Change cache instance used for caching, set to None to disable caching, when sentinel, old value is kept, by default RRCache(maxsize=128) |
sentinel
|
Source code in magic_storage/impl/_filesystem.py
Created: August 5, 2022