1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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
28
29 api = ErrataApi()
30 log = logging.getLogger('pulp')
31
32 -class Errata(JSONController):
33
34 @JSONController.error_handler
35 @RoleCheck(admin=True)
37 """
38 List all available errata.
39 @return: a list of all users
40 """
41
42 return self.ok(api.errata())
43
44 @JSONController.error_handler
45 @RoleCheck(admin=True)
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)
73 """
74 @return: True on successful deletion of all users
75 """
76 api.clean()
77 return self.ok(True)
78
81
82 @JSONController.error_handler
83 @RoleCheck(admin=True)
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)
102
103 @JSONController.error_handler
104 @RoleCheck(admin=True)
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
114
115 URLS = (
116 '/$', 'Errata',
117 '/([^/]+)/$', 'Erratum',
118 )
119
120 application = web.application(URLS, globals())
121