diff --git a/README.md b/README.md index 73f45e0..e547970 100644 --- a/README.md +++ b/README.md @@ -35,10 +35,10 @@ Caching is performed at different levels: * The code should be made cache-aware and use the Requests-Cache `CachedSession` sessions. This allows for more granular control over where in the code cache is (not) used. -* Downloaded thumbnails are cached (by us) in `$CACHE/thumbnails/node_uuid/filename`. +* Downloaded thumbnails are cached (by us) in `$CACHE/thumbnails/{node_uuid}/{filename}`. * Use a non-cached HTTP GET to download these (using [session.cache_disabled()](http://requests-cache.readthedocs.org/en/stable/api.html#requests_cache.core.CachedSession.cache_disabled)). - * HTTP headers are stored as JSON key/value pairs in `$CACHE/thumbnails/node_uuid/filename.headers`. + * HTTP headers are stored as JSON key/value pairs in `$CACHE/thumbnails/{node_uuid}/{filename}.headers`. * Use the ETag and If-Modified-Since headers to prevent unnecessary re-downloading. * Check Content-Length header against actual file size to detect partially-downloaded files that need re-downloading. @@ -50,13 +50,16 @@ Caching is performed at different levels: * Top-level texture directory, referred to as `$TEXTURES` in this document, can be configured per Blender scene. It defaults to a global addon preference, which in turns defaults to `//textures`. * Texture files are stored in `$TEXTURES/{project_name}/{node_name}/{node_name}/.../{file_variant}-{file_name}`. - `file_variant` is "col" for colour/diffuse textures, "nor" for normal/bump textures, etc. + `{file_variant}` is "col" for colour/diffuse textures, "nor" for normal/bump textures, etc. * Metadata is stored in `$TEXTURES/.blender_cloud`, with the following subdirectories: + * `files/{file_uuid}.json` containing the file document from Pillar + * `files/{file_uuid}.headers` containing a subset of the HTTP headers received while downloading the file + +In the future we might add: + * `projects/{project_uuid}.json` containing the project document from Pillar * `nodes/{node_uuid}.json` containing the node document from Pillar - * `files/{file_uuid}.json` containing the file document from Pillar * `index.sqlite` containing a mapping from `{project_name}/{node_name}/{node_name}/...` to the UUID of the last-named path component (project, node, or file). This allows us to map the path of a filesystem path to its Pillar document. -