diff options
author | Christopher Allan Webber <cwebber@dustycloud.org> | 2014-05-09 17:33:58 -0500 |
---|---|---|
committer | Christopher Allan Webber <cwebber@dustycloud.org> | 2014-05-09 17:34:11 -0500 |
commit | fd7069632b0aa6064e0abe1f3c0c129fb316faa6 (patch) | |
tree | b67d2534d57685739d689ea42ce9536d4c533c07 | |
parent | a468db099c20fc666fafa4ce399fd04e7e6f2cbe (diff) | |
download | mediagoblin-fd7069632b0aa6064e0abe1f3c0c129fb316faa6.tar.lz mediagoblin-fd7069632b0aa6064e0abe1f3c0c129fb316faa6.tar.xz mediagoblin-fd7069632b0aa6064e0abe1f3c0c129fb316faa6.zip |
Splitting up compact_json from compact_and_validate
This commit sponsored by Harry Rogoff. Thank you!
-rw-r--r-- | mediagoblin/tools/metadata.py | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/mediagoblin/tools/metadata.py b/mediagoblin/tools/metadata.py index dde5753e..7de5a514 100644 --- a/mediagoblin/tools/metadata.py +++ b/mediagoblin/tools/metadata.py @@ -157,6 +157,25 @@ def load_context(url): DEFAULT_CONTEXT = "http://www.w3.org/2013/json-ld-context/rdfa11" +def compact_json(metadata, context=DEFAULT_CONTEXT): + """ + Compact json with supplied context. + + Note: Free floating" nodes are removed (eg a key just named + "bazzzzzz" which isn't specified in the context... something like + bazzzzzz:blerp will stay though. This is jsonld.compact behavior. + """ + compacted = jsonld.compact( + metadata, context, + options={ + "documentLoader": load_context, + # This allows for things like "license" and etc to be preserved + "expandContext": context, + "keepFreeFloatingNodes": False}) + + return compacted + + def compact_and_validate(metadata, context=DEFAULT_CONTEXT, schema=DEFAULT_SCHEMA): """ @@ -171,13 +190,7 @@ def compact_and_validate(metadata, context=DEFAULT_CONTEXT, You may wish to do this validation yourself... this is just for convenience. """ - compacted = jsonld.compact( - metadata, context, - options={ - "documentLoader": load_context, - # This allows for things like "license" and etc to be preserved - "expandContext": context, - "keepFreeFloatingNodes": False}) + compacted = compact_json(metadata, context) validate(metadata, schema, format_checker=DEFAULT_CHECKER) return compacted |