@@ -48,13 +48,119 @@ def get_package_files(self, subject, repo, package, include_unpublished=False):
48
48
:return: List with all files
49
49
"""
50
50
parameters = {"include_unpublished" : bool_to_number (include_unpublished )}
51
- url = "{}/packages/{}/{}/{}/files?include_unpublished={}" .format (Bintray .BINTRAY_URL ,
52
- subject ,
53
- repo ,
54
- package ,
55
- include_unpublished )
51
+ url = "{}/packages/{}/{}/{}/files" .format (Bintray .BINTRAY_URL ,
52
+ subject ,
53
+ repo ,
54
+ package )
56
55
return self ._requester .get (url , parameters )
57
56
57
+ def get_version_files (self , subject , repo , package , version , include_unpublished = False ):
58
+ """ Get all files in a given version.
59
+
60
+ Returns an array of results, where elements are similar to the result of getting
61
+ package files.
62
+
63
+ When called by a user with publishing rights on the package, includes unpublished
64
+ files in the list.
65
+
66
+ By default only published files are shown.
67
+
68
+ Security: Authenticated user with 'read' permission for private repositories,
69
+ or version read entitlement.
70
+
71
+ :param subject: username or organization
72
+ :param repo: repository name
73
+ :param package: package name
74
+ :param version: package version
75
+ :param include_unpublished: Show not published files
76
+ :return: List with all files
77
+ """
78
+ parameters = {"include_unpublished" : bool_to_number (include_unpublished )}
79
+ url = "{}/packages/{}/{}/{}/versions/{}/files" .format (Bintray .BINTRAY_URL ,
80
+ subject ,
81
+ repo ,
82
+ package ,
83
+ version )
84
+ return self ._requester .get (url , parameters )
85
+
86
+ def file_search_by_name (self , name , subject = None , repo = None , start_pos = None ,
87
+ created_after = None ):
88
+ """ Search for a file by its name. name can take the * and ? wildcard characters.
89
+
90
+ May take an optional subject and/or repo name to search in and/or created_after
91
+ search from the 'dateCreatedAfter' until today.
92
+ The 'dateCreatedAfter' is defined in the following ISO8601 format (yyyy-MM-
93
+ dd’T’HH:mm:ss.SSSZ). Returns an array of results, where elements are similar
94
+ to the result of getting package files. Search results will not contain private files.
95
+
96
+ Security: Authentication is not required
97
+
98
+ :param name: File to be searched
99
+ :param subject: File subject to filter
100
+ :param repo: File repo filter
101
+ :param start_pos: Start position name to filter
102
+ :param created_after: Creation date to filter
103
+ :return: Package found. Otherwise, error.
104
+ """
105
+ parameters = {"name" : name }
106
+ if subject :
107
+ parameters ["subject" ] = str (subject )
108
+ if repo :
109
+ parameters ["repo" ] = str (repo )
110
+ if start_pos :
111
+ parameters ["start_pos" ] = str (start_pos )
112
+ if created_after :
113
+ parameters ["created_after" ] = str (created_after )
114
+ url = "{}/search/file" .format (Bintray .BINTRAY_URL )
115
+ return self ._requester .get (url , parameters )
116
+
117
+ def file_search_by_checksum (self , sha1 , subject = None , repo = None , start_pos = None ,
118
+ created_after = None ):
119
+ """ Search for a file by its sha1 checksum.
120
+
121
+ May take an optional subject and/or repo name to search in.
122
+
123
+ Returns an array of results, where elements are similar to the result of getting
124
+ package files. Search results will not contain private files.
125
+
126
+ Security: Authentication is not required
127
+
128
+ :param sha1: File SHA-1
129
+ :param subject: File subject to filter
130
+ :param repo: File repo filter
131
+ :param start_pos: Start position name to filter
132
+ :param created_after: Creation date to filter
133
+ :return: Package found. Otherwise, error.
134
+ """
135
+ parameters = {"sha1" : sha1 }
136
+ if subject :
137
+ parameters ["subject" ] = str (subject )
138
+ if repo :
139
+ parameters ["repo" ] = str (repo )
140
+ if start_pos :
141
+ parameters ["start_pos" ] = str (start_pos )
142
+ if created_after :
143
+ parameters ["created_after" ] = str (created_after )
144
+ url = "{}/search/file" .format (Bintray .BINTRAY_URL )
145
+ return self ._requester .get (url , parameters )
146
+
147
+ def file_in_download_list (self , subject , repo , file_path , add_or_remove ):
148
+ """ Add or remove a file from/to the 'Download List'.
149
+
150
+ Security: Authenticated user with 'publish' permission,
151
+ or version read/write entitlement.
152
+
153
+ :param subject: File subject to filter
154
+ :param repo: File repo filter
155
+ :param file_path: File path to be added or removed
156
+ :param add_or_remove: True to add in Download list. False to remove.
157
+ :return: Request response.
158
+ """
159
+ action = 'true' if add_or_remove else 'false'
160
+ json_data = {'list_in_downloads' : action }
161
+ url = "{}/file_metadata/{}/{}/{}" .format (Bintray .BINTRAY_URL , subject , repo , file_path )
162
+ return self ._requester .put (url , json = json_data )
163
+
58
164
# Content Uploading & Publishing
59
165
60
166
def upload_content (self , subject , repo , package , version , remote_file_path , local_file_path ,
@@ -188,7 +294,7 @@ def delete_user_proprietary_license(self, user, custom_license_name):
188
294
:return: request answer
189
295
"""
190
296
url = "{}/users/{}/licenses/{}" .format (Bintray .BINTRAY_URL , user , custom_license_name )
191
- return self ._requester .patch (url )
297
+ return self ._requester .delete (url )
192
298
193
299
def get_oss_licenses (self ):
194
300
""" Returns a list of all the OSS licenses.
0 commit comments