Пример #1
0
    def _serialize_meta(self, obj):
        """
        Transform pairs in a Json-friendly form.

        Assumes that pairs is sorted according to the first component (key).
        """
        ret = {}
        umps = iter(self.unserialized_meta_prefixes)
        ump = umps.next()

        for k, v in iter_filtered_meta_ids(obj):
            while ump and k >= ump:
                if k.startswith(ump):
                    k = None  # used below to continue outer loop
                    break
                else:
                    ump = umps.next()
            if k is None:
                continue

            ns, tag = split_uri_ref(k)
            if (ns == DC_NS_PREFIX and tag in UNPREFIXED_DC) or ns == CAM_NS_PREFIX:
                k = tag.replace("-", "_")
            else:
                prefix = self.namespaces.get(ns)
                if prefix is not None:
                    k = "%s:%s" % (prefix, tag)
            if v.is_id:
                v = {"id_ref": v}

            ret[k] = v

        return ret
Пример #2
0
    def _serialize_meta(self, obj, uri):
        """
        Transform pairs in a Json-friendly form.

        Assumes that pairs is sorted according to the first component (key).
        """
        ret = {}
        umps = iter(self.unserialized_meta_prefixes)
        ump = umps.next()

        for k, v in iter_filtered_meta_ids(obj):
            while ump and k >= ump:
                if k.startswith(ump):
                    k = None # used below to continue outer loop
                    break
                else:
                    ump = umps.next()
            if k is None:
                continue

            if getattr(v, "is_id", None):
                obj = self._coin_uri_from_id(v)
            else:
                obj = Literal(v)
            yield (uri, URIRef(k), obj)
Пример #3
0
 def _serialize_meta(self, obj, xobj):
     xm = SubElement(xobj, "meta")
     self._serialize_meta_pairs(xm, iter_filtered_meta_ids(obj))
     if len(xm) == 0:
         xobj.remove(xm)