def testGET(self): ay = ApiYum() self.assertEqual(ay.GET(), None) self.assertEqual(ay.GET('nope'), None) YumRepositories.add(YumRepositories.new(environment='test'), persist=False) expected = OrderedDict([('environment', 'test'), ('data', None)]) self.assertEqual(ay.GET('test'), expected)
def delete(self, environment): repo = YumRepositories.first(environment=environment) msg = "The repository could not be deleted." if repo: if YumRepositories.delete(repo): msg = "Repository deleted." cherrypy.session['flash'] = msg raise cherrypy.HTTPRedirect('/repos')
def edit(self, id, **post): repo = YumRepositories.first(id=id) if not repo: raise cherrypy.HTTPRedirect('/repos') if 'repo' in post: if repo.validates(post['repo']): for k in post['repo']: setattr(repo, k, post['repo'][k]) YumRepositories.update(repo, ['data']) raise cherrypy.HTTPRedirect('/repos/view/%s' % id) env = dict( repo=repo, env=Environments.first(id=repo.environment) ) return self.render("/repos/edit.html", crumbs=self.crumbs, **env)
def view(self, environment): repo = YumRepositories.first(environment=environment) if not repo: cherrypy.session['flash'] = '404 Repository Not Found' raise cherrypy.HTTPRedirect('/repos/index') env = dict( repo=repo, env=Environments.first(id=repo.environment) ) return self.render("/repos/view.html", crumbs=self.crumbs, **env)
def add(self, **post): repo = YumRepositories.new(data="", environment="") if post: fields = ['data', 'environment'] data = self._get_data('repo', fields, post) self._set_data(repo, data) if repo.validates() and YumRepositories.add(repo): cherrypy.session['flash'] = "Repo successfully added" raise cherrypy.HTTPRedirect("/repos/index") cherrypy.session['flash'] = "The repository data contains errors." # Only list environments not having a repo. repos = YumRepositories.all() environments = Environments.all() envs = [env.code for env in environments] repos = [repo.environment for repo in repos] available = set(envs) - set(repos) return self.render("/repos/add.html", crumbs=self.crumbs, environments=environments, available=available, repo=repo)
def GET(self, environment=None): repo = YumRepositories.first(environment=environment) if not repo: return None return repo.to_dict()
def index(self): env = dict( repos=YumRepositories.all(), environments=Environments.all() ) return self.render("/repos/index.html", crumbs=self.crumbs[:-1], **env)