Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
Archivo: repos.py Proyecto: masom/Puck
    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')
Ejemplo n.º 3
0
Archivo: repos.py Proyecto: masom/Puck
    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)
Ejemplo n.º 4
0
Archivo: repos.py Proyecto: masom/Puck
 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)
Ejemplo n.º 5
0
Archivo: repos.py Proyecto: masom/Puck
    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)
Ejemplo n.º 6
0
Archivo: api.py Proyecto: masom/Puck
 def GET(self, environment=None):
     repo = YumRepositories.first(environment=environment)
     if not repo:
         return None
     return repo.to_dict()
Ejemplo n.º 7
0
Archivo: repos.py Proyecto: masom/Puck
 def index(self):
     env = dict(
         repos=YumRepositories.all(),
         environments=Environments.all()
     )
     return self.render("/repos/index.html", crumbs=self.crumbs[:-1], **env)