from config import config from mcoll import Collection import os class Model(object): def allcollections(self): return config.get('collections', 'entry').split(), config.get('collections', 'media').split() def ismedia(self, name): return name in config.get('collections', 'media').split() def collection(self, name): trash = None if name != 'trash': trash = config.get('trash', 'dir') return Collection(config.get(name, 'dir'), trash) def __getattr__(self, name): return self.collection(name) def comments(self, collection, entry_id): return Collection(os.path.join(config.get(collection, 'comments'), entry_id), config.get('trash', 'dir')) def recent_comments(self, collection): """Returns a list of tuples, (entry_id, comment_id) for each recent comment. The list is returned in reverse chronological order""" lines = open(os.path.join(config.get(collection, 'comments'), "recent"), "r").readlines() lines.reverse() return [x.strip().split(" ", 1) for x in lines] model = Model()