# # # SPDX-FileCopyrightText: 2022 Beat Jäckle # SPDX-License-Identifier: GPL-3.0-or-later # from os import listdir class DataReader: def __init__(self, datadir, indexname='index.txt', skippFirstLine=True ): if datadir[-1] != '/': datadir += '/' self.datadir = datadir self.skippFirstLine = skippFirstLine self.__readTree__() self.indexname = indexname def __readTree__(self): self.articles = listdir(self.datadir) def __iter__(self): self.indexnext = 0 return self def __next__(self): try: articlename = self.articles[self.indexnext] path = self.datadir +\ articlename +\ '/'+self.indexname self.indexnext += 1 except IndexError: raise StopIteration return None with open(path, "r") as f: if self.skippFirstLine: f.readline() return [articlename, f.read()]