-
Notifications
You must be signed in to change notification settings - Fork 974
/
rest_routes.py
124 lines (96 loc) · 3.18 KB
/
rest_routes.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
class RestRoutes(object):
ping = "ping"
common_search = "conans/search"
common_authenticate = "users/authenticate"
oauth_authenticate = "users/token"
common_check_credentials = "users/check_credentials"
def __init__(self, matrix_params=False):
if matrix_params:
self.base = 'conans{matrix_params}'
self.files_base = 'files{matrix_params}'
else:
self.base = 'conans'
self.files_base = 'files'
@property
def recipe(self):
return self.base + '/{name}/{version}/{username}/{channel}'
@property
def recipe_latest(self):
return '%s/latest' % self.recipe
@property
def recipe_revision(self):
return '%s/revisions/{revision}' % self.recipe
@property
def recipe_revision_files(self):
return '%s/files' % self.recipe_revision
@property
def recipe_revisions(self):
return '%s/revisions' % self.recipe
@property
def recipe_revision_file(self):
return '%s/files/{path}' % self.recipe_revision
@property
def packages(self):
return '%s/packages' % self.recipe
@property
def packages_revision(self):
return '%s/packages' % self.recipe_revision
@property
def package(self):
return '%s/{package_id}' % self.packages
@property
def package_files(self):
return '%s/files' % self.package
@property
def package_recipe_revision(self):
"""Route for a package specifying the recipe revision but not the package revision"""
return '%s/{package_id}' % self.packages_revision
@property
def package_revisions(self):
return '%s/revisions' % self.package_recipe_revision
@property
def package_revision(self):
return '%s/{p_revision}' % self.package_revisions
@property
def package_revision_files(self):
return '%s/files' % self.package_revision
@property
def package_revision_latest(self):
return '%s/latest' % self.package_recipe_revision
@property
def package_revision_file(self):
return '%s/files/{path}' % self.package_revision
# ONLY V1
@property
def v1_updown_file(self):
return "%s/{path}" % self.files_base
@property
def v1_recipe_digest(self):
return "%s/digest" % self.recipe
@property
def v1_package_digest(self):
return "%s/digest" % self.package
@property
def v1_recipe_download_urls(self):
return "%s/download_urls" % self.recipe
@property
def v1_package_download_urls(self):
return "%s/download_urls" % self.package
@property
def v1_recipe_upload_urls(self):
return "%s/upload_urls" % self.recipe
@property
def v1_package_upload_urls(self):
return "%s/upload_urls" % self.package
@property
def v1_remove_recipe_files(self):
return "%s/remove_files" % self.recipe
@property
def v1_remove_packages(self):
return "%s/packages/delete" % self.recipe
@property
def common_search_packages(self):
return "%s/search" % self.recipe
@property
def common_search_packages_revision(self):
return "%s/search" % self.recipe_revision