Exemple #1
0
 def __getitem__(self, key):
     if isinstance(key, slice):
         return [
             BaseArticle(DBController.get_article(self.articles_id[ii]))
             for ii in range(*key.indices(len(self)))
         ]
     elif np.issubdtype(type(key), np.integer):
         if key < 0:
             key += len(self)
         if key < 0 or key >= len(self):
             raise IndexError("The index {} is out of range.".format(key))
         return BaseArticle(DBController.get_article(self.articles_id[key]))
     else:
         raise TypeError("Invalid argument type.")
Exemple #2
0
 def __iter__(self):
     for id in self.articles_id:
         yield BaseArticle(DBController.get_article(id))