def _do_check(self, rdp): types = [] if len(rdp.metadata.descriptions) == 0: return ListResult(types, "No descriptions retrievable", True) for d in rdp.metadata.descriptions: if d.type: types.append(d.type) return ListResult(types, "", True)
def _do_check(self, rdp): qualified = [] msg = "" if len(rdp.metadata.subjects) == 0: msg = "No subjects retrievable" return ListResult(qualified, msg, False) for so in rdp.metadata.subjects: if so.uri or so.scheme: qualified.append(True) else: qualified.append(False) return ListResult(qualified, msg, True)
def _do_check(self, rdp): lengths = [] msg = "No descriptions retrievable" for d in rdp.metadata.descriptions: msg = "" lengths.append(len(d.text.split())) return ListResult(lengths, msg, True)
def _do_check(self, rdp): types = [] msg = "No dates retrievable" for d in rdp.metadata.dates: msg = "" types.append(d.type) return ListResult(types, msg, True)
def _do_check(self, rdp): information = [] msg = "No dates retrievable" for d in rdp.metadata.dates: msg = "" information.append(d.information) return ListResult(information, msg, True)
def _do_check(self, rdp): relationTypes = [] msg = "No related resources retrievable" for r in rdp.metadata.relatedResources: msg = "" relationTypes.append(r.relationType) return ListResult(relationTypes, msg, True)
def _do_check(self, rdp): lengths = [] msg = "No titles retrievable" for t in rdp.metadata.titles: msg = "" lengths.append(len(t.text.split())) return ListResult(lengths, msg, True)
def _do_check(self, rdp): rv = set() for service_name in rdp.services: service = rdp.services.get(service_name) for cap in service.serviceCapacities: rv.add(cap.__name__) return ListResult(list(rv), "", True)
def _do_check(self, rdp): valid = [] for po in rdp.metadata.contributors: if po.orcid is None: valid.append(False) continue valid.append(is_valid_orcid(po.orcid)) return ListResult(valid, "", True)
def _do_check(self, rdp): languages = [] msg = "No descriptions retrievable" for d in rdp.metadata.descriptions: msg = "" try: languages.append(detect(d.text)) except LangDetectException: languages.append(None) return ListResult(languages, msg, True)
def _do_check(self, rdp): institutions = [] success = False for po in rdp.metadata.contributors: success = True if po.person: institutions.append(False) else: institutions.append(True) return ListResult(institutions, "", success)
def _do_check(self, rdp): valid = [] msg = "no sizes specified" for s in rdp.metadata.sizes: msg = "" if re.match(r"^\d+\s*(k|m|g|t|p|e|z|y){0,1}i{0,1}b$", s, re.IGNORECASE): valid.append(True) else: valid.append(False) return ListResult(valid, msg, True)
def _do_check(self, rdp): linkedProperly = [] msg = "No related resources retrievable" for r in rdp.metadata.relatedResources: msg = "" if r.relationType == "HasMetadata": if r.schemeURI is None or r.schemeType is None: linkedProperly.append(False) continue linkedProperly.append(True) return ListResult(linkedProperly, msg, True)
def _do_check(self, rdp): valid = [] msg = "No rights objects found!" for r in rdp.metadata.rights: msg = "" if r.spdx not in self.licenses.licenseId.tolist(): msg += "{} is not a valid SPDX identifier".format(r.spdx) valid.append(False) else: valid.append(True) return ListResult(valid, msg, True)
def _do_check(self, rdp): bools = [] msg = "" if len(rdp.metadata.titles) == 0: msg = "No titles retrievable" for t in rdp.metadata.titles: msg = "" if re.match(r"^\s*\S+\.\S+\s*$", t.text): msg += "{} is probably just a file name;".format(t.text) bools.append(True) else: bools.append(False) return ListResult(bools, msg, True)
def _do_check(self, rdp): valid = [] iana_file_path = os.path.join( os.path.dirname(os.path.abspath(__file__)), 'resources', 'mediatypes.csv' ) iana = pd.read_csv(iana_file_path) if len(rdp.metadata.formats) == 0: msg = "No formats found!" else: msg= "" for f in rdp.metadata.formats: if f not in iana.Template.tolist(): msg += "{} is not a valid format ".format(f) valid.append(False) else: valid.append(True) return ListResult(valid, msg, True)
def _do_check(self, rdp): types = [] for po in rdp.metadata.contributors: types.append(po.type) return ListResult(types, "", True)
def _do_check(self, rdp): valid = [] for po in rdp.metadata.contributors: valid.append(has_family_and_given_name(po)) return ListResult(valid, "", True)