def post(self): """Save settings.""" try: buildouts_to_keep = int(self.request.params['buildouts_to_keep']) settings = DBSession.query(Settings).first() if not settings: settings = Settings(buildouts_to_keep) else: if buildouts_to_keep != settings.buildouts_to_keep: settings.buildouts_to_keep = buildouts_to_keep DBSession.add(settings) return HTTPFound(location=self.request.route_url('settings')) except: pass
def remove_old_buildouts(self, name): """Remove old buildouts.""" buildouts_to_keep = Settings.get_buildouts_to_keep() buildouts = Buildout.get_by_name(name) if buildouts.count() > buildouts_to_keep and buildouts_to_keep > 0: for buildout in buildouts[buildouts_to_keep:]: DBSession.delete(buildout)
def __call__(self): """Settings main view.""" buildouts_to_keep = Settings.get_buildouts_to_keep() return {'buildouts_to_keep': buildouts_to_keep, 'main': self.main}