@@ -48,13 +48,119 @@ def get_package_files(self, subject, repo, package, include_unpublished=False):
4848 :return: List with all files
4949 """
5050 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 )
5655 return self ._requester .get (url , parameters )
5756
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+
58164 # Content Uploading & Publishing
59165
60166 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):
188294 :return: request answer
189295 """
190296 url = "{}/users/{}/licenses/{}" .format (Bintray .BINTRAY_URL , user , custom_license_name )
191- return self ._requester .patch (url )
297+ return self ._requester .delete (url )
192298
193299 def get_oss_licenses (self ):
194300 """ Returns a list of all the OSS licenses.
0 commit comments