Example #1
0
    def dump_json(self, template=False, doc_metadata=False, obj_metadata={}):
        """Dump Entity data to JSON-formatted text.
        
        @param template: [optional] Boolean. If true, write default field values.
        @param doc_metadata: boolean. Insert object_metadata().
        @param obj_metadata: dict Cached results of object_metadata.
        @returns: JSON-formatted text
        """
        module = self.identifier.fields_module()
        self.children()
        data = common.dump_json(
            self,
            module,
            exceptions=['files', 'filemeta'],
            template=template,
        )
        if obj_metadata:
            data.insert(0, obj_metadata)
        elif doc_metadata:
            data.insert(0, common.object_metadata(module, self.parent_path))

        data.append({
            'children': [
                entity_to_childrenmeta(o) for o in self.children()
                if o.identifier.model in ['entity', 'segment']
            ]
        })
        data.append({
            'file_groups':
            files_to_filegroups(
                [o for o in self.children() if o.identifier.model == 'file'])
        })
        return format_json(data)
Example #2
0
 def dump_json(self, template=False, doc_metadata=False, obj_metadata={}):
     """Dump Entity data to JSON-formatted text.
     
     @param template: [optional] Boolean. If true, write default field values.
     @param doc_metadata: boolean. Insert object_metadata().
     @param obj_metadata: dict Cached results of object_metadata.
     @returns: JSON-formatted text
     """
     module = self.identifier.fields_module()
     self.children(force_read=True)
     data = common.dump_json(self, module,
                      exceptions=['files', 'filemeta'],
                      template=template,)
     if obj_metadata:
         data.insert(0, obj_metadata)
     elif doc_metadata:
         data.insert(0, common.object_metadata(module, self.parent_path))
     
     data.append({
         'children': [
             entity_to_childrenmeta(o)
             for o in self.children()
             if o.identifier.model in ['entity', 'segment']
         ]
     })
     data.append({
         'file_groups': files_to_filegroups([
             o for o in self.children()
             if o.identifier.model == 'file'
         ])
     })
     return format_json(data)
Example #3
0
 def dump_json(self, template=False, doc_metadata=False, obj_metadata={}):
     """Dump Collection data to JSON-formatted text.
     
     @param template: [optional] Boolean. If true, write default values for fields.
     @param doc_metadata: boolean. Insert object_metadata().
     @param obj_metadata: dict Cached results of object_metadata.
     @returns: JSON-formatted text
     """
     module = self.identifier.fields_module()
     data = common.dump_json(self, module, template=template)
     if obj_metadata:
         data.insert(0, obj_metadata)
     elif doc_metadata:
         data.insert(0, common.object_metadata(module, self.path))
     return format_json(data)
Example #4
0
 def dump_json(self, doc_metadata=False, obj_metadata={}):
     """Dump File data to JSON-formatted text.
     
     @param doc_metadata: boolean. Insert object_metadata().
     @param obj_metadata: dict Cached results of object_metadata.
     @returns: JSON-formatted text
     """
     module = self.identifier.fields_module()
     if self.basename and not self.mimetype:
         self.mimetype = self.get_mimetype(force=True)
     data = common.dump_json(self, module)
     if obj_metadata:
         data.insert(0, obj_metadata)
     elif doc_metadata:
         data.insert(0, common.object_metadata(module, self.collection_path))
     # what we call path_rel in the .json is actually basename
     data.insert(1, {'path_rel': self.basename})
     return format_json(data)
Example #5
0
 def dump_json(self, doc_metadata=False, obj_metadata={}):
     """Dump File data to JSON-formatted text.
     
     @param doc_metadata: boolean. Insert object_metadata().
     @param obj_metadata: dict Cached results of object_metadata.
     @returns: JSON-formatted text
     """
     module = self.identifier.fields_module()
     if self.basename and not self.mimetype:
         self.mimetype = self.get_mimetype(force=True)
     data = common.dump_json(self, module)
     if obj_metadata:
         data.insert(0, obj_metadata)
     elif doc_metadata:
         data.insert(0, common.object_metadata(module,
                                               self.collection_path))
     # what we call path_rel in the .json is actually basename
     data.insert(1, {'path_rel': self.basename})
     return format_json(data)