Esempio n. 1
0
def add_sss_scholars(process_list, affiliation):
    for name in process_list:
        words = name.split()
        # check if author has a running number
        if not words[len(words) - 1].isdigit():
            sss_scholars.append(SSSScholar(name, -1, affiliation))
            tmp_aff = SSSAffiliation(affiliation)
            if tmp_aff not in sss_affiliations:
                tmp_aff.nbr_scholars += 1
                sss_affiliations.append(tmp_aff)
            else:
                curr = next(
                    (x for x in sss_affiliations if affiliation == x.name),
                    None)
                curr.nbr_scholars += 1
        else:
            # author has a running number
            tmp_scholar = SSSScholar(
                ' '.join(map(str, words[0:len(words) - 1])),
                str(words[len(words) - 1]), affiliation)
            sss_scholars.append(tmp_scholar)
            tmp_aff = SSSAffiliation(affiliation)
            if tmp_aff not in sss_affiliations:
                tmp_aff.nbr_scholars += 1
                sss_affiliations.append(tmp_aff)
            else:
                curr = next(
                    (x for x in sss_affiliations if affiliation == x.name),
                    None)
                curr.nbr_scholars += 1
Esempio n. 2
0
    def add_sss_scholars(self, process_list, affiliation):
        for person in process_list:
            name = person[0]
            running_number = person[1]
            url = person[2]
            # extract the pid from the url by substringing
            try:
                split1 = url.split("pid/")
                split2 = split1[1].split(".xml")
                pid = split2[0]
            except IndexError:
                print("Invalid format of input XML URL.")
                return

            self.scholars.append(
                SSSScholar(name, running_number, pid, url, affiliation, -1))
            tmp_aff = SSSAffiliation(affiliation)
            if tmp_aff not in self.affiliations:
                tmp_aff.nbr_scholars += 1
                self.affiliations.append(tmp_aff)
            else:
                curr = next(
                    (x for x in self.affiliations if affiliation == x.name),
                    None)
                curr.nbr_scholars += 1