Esempio n. 1
0
  def getFileMetadataFields(self, credDict):
    """ Get all the defined metadata fields

        :param dict credDict: client credential dictionary
        :return: standard Dirac result object
    """
    result = super(MultiVOFileMetadata, self)._getFileMetadataFields(credDict)
    if not result['OK']:
      return result

    metaDict = _stripSuffix(result['Value'], credDict)
    return S_OK(metaDict)
Esempio n. 2
0
  def getFileUserMetadata(self, path, credDict):
    """
    Get metadata for the given file.

    :param str path:  file path
    :param dict credDict: client credential dictionary
    :return: standard Dirac result object
    """

    result = super(MultiVOFileMetadata, self).getFileUserMetadata(path, credDict)
    if not result['OK']:
      return result

    result['Value'] = _stripSuffix(result['Value'], credDict)
    return result
Esempio n. 3
0
  def removeMetadata(self, dPath, metaList, credDict):
    """
    Remove the specified metadata for the given directory for users own VO.

    :param str dPath: directory path
    :param dict metaList: metadata names list
    :param dict credDict: client credential dictionary
    :return: standard Dirac result object
    """

    metaList = [_getMetaName(meta, credDict) for meta in metaList]
    result = super(MultiVOFileMetadata, self).removeMetadata(dPath, metaList, credDict)
    if not result['OK']:
      if "FailedMetadata" in result:
        failedDict = _stripSuffix(result['FailedMetadata'], credDict)
        result['FailedMetadata'] = failedDict
      return result

    return S_OK()