def FileJSONMetadata(ctx, filenode, edge_metadata): rw_uri = filenode.get_write_uri() ro_uri = filenode.get_readonly_uri() data = ("filenode", {}) data[1]['size'] = filenode.get_size() if ro_uri: data[1]['ro_uri'] = ro_uri if rw_uri: data[1]['rw_uri'] = rw_uri verifycap = filenode.get_verify_cap() if verifycap: data[1]['verify_uri'] = verifycap.to_string() data[1]['mutable'] = filenode.is_mutable() if edge_metadata is not None: data[1]['metadata'] = edge_metadata if filenode.is_mutable(): mutable_type = filenode.get_version() assert mutable_type in (SDMF_VERSION, MDMF_VERSION) if mutable_type == MDMF_VERSION: file_format = "MDMF" else: file_format = "SDMF" else: file_format = "CHK" data[1]['format'] = file_format return text_plain(simplejson.dumps(data, indent=1) + "\n", ctx)
def _file_json_metadata(req, filenode, edge_metadata): rw_uri = filenode.get_write_uri() ro_uri = filenode.get_readonly_uri() data = ("filenode", get_filenode_metadata(filenode)) if ro_uri: data[1]['ro_uri'] = ro_uri if rw_uri: data[1]['rw_uri'] = rw_uri verifycap = filenode.get_verify_cap() if verifycap: data[1]['verify_uri'] = verifycap.to_string() if edge_metadata is not None: data[1]['metadata'] = edge_metadata return text_plain(json.dumps(data, indent=1) + "\n", req)
def FileJSONMetadata(ctx, filenode, edge_metadata): rw_uri = filenode.get_write_uri() ro_uri = filenode.get_readonly_uri() data = ("filenode", get_filenode_metadata(filenode)) if ro_uri: data[1]['ro_uri'] = ro_uri if rw_uri: data[1]['rw_uri'] = rw_uri verifycap = filenode.get_verify_cap() if verifycap: data[1]['verify_uri'] = verifycap.to_string() if edge_metadata is not None: data[1]['metadata'] = edge_metadata return text_plain(json.dumps(data, indent=1) + "\n", ctx)
def FileJSONMetadata(ctx, filenode, edge_metadata): rw_uri = filenode.get_write_uri() ro_uri = filenode.get_readonly_uri() data = ("filenode", {}) data[1]['size'] = filenode.get_size() if ro_uri: data[1]['ro_uri'] = ro_uri if rw_uri: data[1]['rw_uri'] = rw_uri verifycap = filenode.get_verify_cap() if verifycap: data[1]['verify_uri'] = verifycap.to_string() data[1]['mutable'] = filenode.is_mutable() if edge_metadata is not None: data[1]['metadata'] = edge_metadata return text_plain(simplejson.dumps(data, indent=1) + "\n", ctx)
def UnknownJSONMetadata(ctx, node, edge_metadata, is_parent_known_immutable): rw_uri = node.get_write_uri() ro_uri = node.get_readonly_uri() data = ("unknown", {}) if ro_uri: data[1]['ro_uri'] = ro_uri if rw_uri: data[1]['rw_uri'] = rw_uri data[1]['mutable'] = True elif is_parent_known_immutable or node.is_alleged_immutable(): data[1]['mutable'] = False # else we don't know whether it is mutable. if edge_metadata is not None: data[1]['metadata'] = edge_metadata return text_plain(simplejson.dumps(data, indent=1) + "\n", ctx)
def UnknownJSONMetadata(ctx, node, edge_metadata, is_parent_known_immutable): rw_uri = node.get_write_uri() ro_uri = node.get_readonly_uri() data = ("unknown", {}) if ro_uri: data[1]['ro_uri'] = ro_uri if rw_uri: data[1]['rw_uri'] = rw_uri data[1]['mutable'] = True elif is_parent_known_immutable or node.is_alleged_immutable(): data[1]['mutable'] = False # else we don't know whether it is mutable. if edge_metadata is not None: data[1]['metadata'] = edge_metadata return text_plain(json.dumps(data, indent=1) + "\n", ctx)
def FileJSONMetadata(ctx, filenode, edge_metadata): rw_uri = filenode.get_write_uri() ro_uri = filenode.get_readonly_uri() data = ("filenode", {}) data[1]["size"] = filenode.get_size() if ro_uri: data[1]["ro_uri"] = ro_uri if rw_uri: data[1]["rw_uri"] = rw_uri verifycap = filenode.get_verify_cap() if verifycap: data[1]["verify_uri"] = verifycap.to_string() data[1]["mutable"] = filenode.is_mutable() if edge_metadata is not None: data[1]["metadata"] = edge_metadata return text_plain(simplejson.dumps(data, indent=1) + "\n", ctx)
def render_PUT(self, ctx): req = IRequest(ctx) t = get_arg(req, "t", "").strip() replace = parse_replace_arg(get_arg(req, "replace", "true")) if t == "mkdir": # our job was done by the traversal/create-intermediate-directory # process that got us here. return text_plain(self.node.get_uri(), ctx) # TODO: urlencode if t == "uri": if not replace: # they're trying to set_uri and that name is already occupied # (by us). raise ExistingChildError() d = self.replace_me_with_a_childcap(req, self.client, replace) # TODO: results return d raise WebError("PUT to a directory")
def _file_read_only_uri(req, filenode): if filenode.is_readonly(): return text_plain(filenode.get_uri(), req) return text_plain(filenode.get_readonly_uri(), req)
def _file_uri(req, filenode): return text_plain(filenode.get_uri(), req)
def FileURI(ctx, filenode): return text_plain(filenode.get_uri(), ctx)
def DirectoryReadonlyURI(ctx, dirnode): return text_plain(dirnode.get_readonly_uri(), ctx)
def DirectoryURI(ctx, dirnode): return text_plain(dirnode.get_uri(), ctx)
def FileReadOnlyURI(ctx, filenode): if filenode.is_readonly(): return text_plain(filenode.get_uri(), ctx) return text_plain(filenode.get_readonly_uri(), ctx)