metadata: FIeld names are now case insensative.

This commit is contained in:
Joey Hess 2014-02-25 18:45:09 -04:00
parent 6272c10818
commit 06e9080f01
9 changed files with 33 additions and 32 deletions

View file

@ -180,14 +180,7 @@ So, possible approaches:
2 directories representing a metadata field.
Solution might be to compare fields names case-insensitively, and
pick one representation consistently.
Alternatively, it could escape `A` to `_A` when such a filesystem
is detected and avoid collisions that way (double `_` to escape it).
This latter option is ugly, but so are non-posix filesystems.. and it
also solves any similar issues with case-colliding filenames.
TODO: Check current state of this.
pick one representation consistently. **done**
* Assistant needs to know about views, so it can update metadata when
files are moved around inside them. TODO

View file

@ -26,6 +26,7 @@ quite a lot.
* [extensible-exceptions](http://hackage.haskell.org/package/extensible-exceptions)
* [feed](http://hackage.haskell.org/package/feed)
* [async](http://hackage.haskell.org/package/async)
* [case-insensitive](http://hackage.haskell.org/package/case-insensitive)
* [stm](http://hackage.haskell.org/package/stm)
(version 2.3 or newer)
* Optional haskell stuff, used by the [[assistant]] and its webapp
@ -36,7 +37,6 @@ quite a lot.
* [yesod-static](http://hackage.haskell.org/package/yesod-static)
* [yesod-default](http://hackage.haskell.org/package/yesod-default)
* [data-default](http://hackage.haskell.org/package/data-default)
* [case-insensitive](http://hackage.haskell.org/package/case-insensitive)
* [http-types](http://hackage.haskell.org/package/http-types)
* [wai](http://hackage.haskell.org/package/wai)
* [wai-logger](http://hackage.haskell.org/package/wai-logger)

View file

@ -19,9 +19,9 @@ fields, which each can have any number of values. For example, to tag
files, the `tag` field is typically used, with values set to each tag that
applies to the file.
The field names are limited to alphanumerics (and `[_-.]`). The metadata
values can contain absolutely anything you like -- but you're recommended
to keep it simple and reasonably short.
The field names are limited to alphanumerics (and `[_-.]`), and are case
insensitive. The metadata values can contain absolutely anything you
like -- but you're recommended to keep it simple and reasonably short.
Here are some recommended metadata fields to use: