Package pulp :: Package server :: Package webservices :: Package controllers :: Module errata
[hide private]
[frames] | no frames]

Source Code for Module pulp.server.webservices.controllers.errata

  1  #!/usr/bin/env python 
  2  # -*- coding: utf-8 -*- 
  3  # 
  4  # Copyright © 2010 Red Hat, Inc. 
  5  # 
  6  # This software is licensed to you under the GNU General Public License, 
  7  # version 2 (GPLv2). There is NO WARRANTY for this software, express or 
  8  # implied, including the implied warranties of MERCHANTABILITY or FITNESS 
  9  # FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 
 10  # along with this software; if not, see 
 11  # http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. 
 12  # 
 13  # Red Hat trademarks are not licensed under GPLv2. No permission is 
 14  # granted to use or replicate Red Hat trademarks that are incorporated 
 15  # in this software or its documentation. 
 16   
 17  import logging 
 18   
 19  import web 
 20   
 21  from pulp.server.api.errata import ErrataApi 
 22  from pulp.server.webservices import http 
 23  from pulp.server.webservices import mongo 
 24  from pulp.server.webservices.controllers.base import JSONController, AsyncController 
 25  from pulp.server.webservices.role_check import RoleCheck 
 26   
 27  # globals --------------------------------------------------------------------- 
 28   
 29  api = ErrataApi() 
 30  log = logging.getLogger('pulp') 
31 32 -class Errata(JSONController):
33 34 @JSONController.error_handler 35 @RoleCheck(admin=True)
36 - def GET(self):
37 """ 38 List all available errata. 39 @return: a list of all users 40 """ 41 # implement filters 42 return self.ok(api.errata())
43 44 @JSONController.error_handler 45 @RoleCheck(admin=True)
46 - def PUT(self):
47 """ 48 Create a new errata 49 @return: errata that was created 50 """ 51 errata_data = self.params() 52 errata = api.create(errata_data['id'], 53 errata_data['title'], 54 errata_data['description'], 55 errata_data['version'], 56 errata_data['release'], 57 errata_data['type'], 58 errata_data.get('status', ""), 59 errata_data.get('updated', ""), 60 errata_data.get('issued', ""), 61 errata_data.get('pushcount', ""), 62 errata_data.get('from_str', ""), 63 errata_data.get('reboot_suggested', ""), 64 errata_data.get('references', []), 65 errata_data.get('pkglist', []), 66 errata_data.get('repo_defined', False), 67 errata_data.get('immutable', False)) 68 return self.created(errata['id'], errata)
69 70 @JSONController.error_handler 71 @RoleCheck(admin=True)
72 - def DELETE(self):
73 """ 74 @return: True on successful deletion of all users 75 """ 76 api.clean() 77 return self.ok(True)
78
79 80 -class Erratum(JSONController):
81 82 @JSONController.error_handler 83 @RoleCheck(admin=True)
84 - def GET(self, id):
85 """ 86 Get a erratum information 87 @param id: erratum id 88 @return: erratum metadata 89 """ 90 return self.ok(api.erratum(id))
91 92 @JSONController.error_handler 93 @RoleCheck(admin=True)
94 - def PUT(self, id):
95 """ 96 Update errata 97 @param id: The erratum id 98 """ 99 erratum = self.params() 100 erratum = api.update(erratum) 101 return self.ok(True)
102 103 @JSONController.error_handler 104 @RoleCheck(admin=True)
105 - def DELETE(self, id):
106 """ 107 Delete an errata 108 @param id: errata id to delete 109 @return: True on successful deletion of erratum 110 """ 111 api.delete(id=id) 112 return self.ok(True)
113 # web.py application ---------------------------------------------------------- 114 115 URLS = ( 116 '/$', 'Errata', 117 '/([^/]+)/$', 'Erratum', 118 ) 119 120 application = web.application(URLS, globals()) 121