Beispiel #1
0
 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)
Beispiel #2
0
 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)
Beispiel #3
0
 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)
Beispiel #4
0
 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)
Beispiel #5
0
 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)
Beispiel #6
0
 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)
Beispiel #7
0
 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)
Beispiel #8
0
 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)
Beispiel #9
0
 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)
Beispiel #10
0
 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)
Beispiel #11
0
 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)
Beispiel #12
0
 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)
Beispiel #13
0
 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)
Beispiel #14
0
 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)
Beispiel #15
0
 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)
Beispiel #16
0
 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)
Beispiel #17
0
 def _do_check(self, rdp):
     types = []
     for po in rdp.metadata.contributors:
         types.append(po.type)
     return ListResult(types, "", True)
Beispiel #18
0
 def _do_check(self, rdp):
     valid = []
     for po in rdp.metadata.contributors:
         valid.append(has_family_and_given_name(po))
     return ListResult(valid, "", True)