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.package import PackageApi
22 from pulp.server.webservices import mongo
23 from pulp.server.webservices.controllers.base import JSONController
24 from pulp.server.webservices.role_check import RoleCheck
25
26
27
28 api = PackageApi()
29 log = logging.getLogger('pulp')
34
35 @JSONController.error_handler
36 @RoleCheck(admin=True)
46
47 @JSONController.error_handler
48 @RoleCheck(admin=True)
50 """
51 Delete all packages.
52 @return: True on success
53 """
54 api.clean()
55 return self.ok(True)
56
57 @JSONController.error_handler
58 @RoleCheck(admin=True)
60 """
61 Create a new package.
62 @return: package meta data on successful creation of package
63 """
64 data = self.params()
65 package = api.create(data['name'], data['epoch'],data['version'],
66 data['release'], data['arch'], data['description'],
67 data['checksum_type'], data['checksum'], data['filename'])
68 return self.created(None, package)
69
72
73 @JSONController.error_handler
74 @RoleCheck(admin=True)
76 """
77 Get information on a sinble package.
78 @param id: package id
79 @return: package meta data corresponding to id
80 """
81 return self.ok(api.package(id))
82
83 @JSONController.error_handler
85 '''
86 @param id: package id
87 '''
88 api.delete(id)
89 return self.ok(True)
90
93
94
95 exposed_fields = (
96 )
97
98 @JSONController.error_handler
99 @RoleCheck(admin=True)
100 - def GET(self, id, field_name):
101 field = getattr(self, field_name, None)
102 if field is None:
103 return self.internal_server_error('No implementation for %s found' % field_name)
104 return field(id)
105
122
125
126 @JSONController.error_handler
127 @RoleCheck(admin=True)
128 - def GET(self, name, version, release, epoch, arch):
131
132
133
134 URLS = (
135 '/$', 'Packages',
136 '/([^/]+)/$', 'Package',
137
138
139 '/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/', 'Versions',
140 )
141
142 application = web.application(URLS, globals())
143