FileStore: fix metadata overwriting path #736
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When a user adds metadata to
FileStore
it is stored on disk. Both thefile_id
and thepath
are retained in the .json file to make it possible to manually associated metadata with specific files. However, when the metadata was read into theFileStore
, thepath
attribute stored on disk was overwriting thepath
attribute determine byFileStore.__init__
. This was not intended behavior, and caused problems when working with aFileStore
across different computers where the absolute path of files is different (but the path relative to theFileStore
root is the same). (For example, syncing a directory of files containing aFileStore
across different computers using Dropbox, etc.)This PR fixes the bug as follows:
path_relative
instead ofpath
in the metadata .json file on disk. This preserves manual identifiability of metdatapath
andlast_updated
fields cannot be overwritten by metadata updates