def sort_cache_generic(self, field): if (self.header_cache[field] == "Author" or self.header_cache[field] == "Author Name" ): sorted_pubs = sorted(self.cache, key=lambda pub: utils.convertAuthorNameToList(pub[field]),\ reverse = self.sorted_cache[field]) else: index = None reverse = self.sorted_cache[field] if "Author" in self.header_cache: index = self.header_cache.index("Author") if not index == None: sorted_pubs = sorted(self.cache, key=lambda pub: utils.convertAuthorNameToList(pub[index])) self.cache = sorted_pubs try: sorted_pubs = sorted(self.cache, key=lambda pub: int(pub[field]), reverse = reverse) except: sorted_pubs = sorted(self.cache, key=lambda pub: pub[field], reverse = reverse) self.cache = sorted_pubs self.sorted_cache[field] = not self.sorted_cache[field] return self.cache
def testConvertingAuthorNameToListWhichMatches(self): authorName = "George V. Chairepetis" author_parts = ["Chairepetis", "George", "V."] self.assertEqual(author_parts, utils.convertAuthorNameToList(authorName))