Skip to content
This repository has been archived by the owner on Feb 27, 2023. It is now read-only.

Commit

Permalink
#7 Update version
Browse files Browse the repository at this point in the history
Signed-off-by: Uilian Ries <uilianries@gmail.com>
  • Loading branch information
uilianries committed Jul 13, 2019
1 parent 5dcca89 commit 7f47a58
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 6 deletions.
48 changes: 43 additions & 5 deletions bintray/bintray.py
Original file line number Diff line number Diff line change
Expand Up @@ -1086,7 +1086,7 @@ def get_version(self, subject, repo, package, version="_latest", attribute_value
self._logger.info("Get successfully")
return response

def create_version(self, subject, repo, package, name, description=None,
def create_version(self, subject, repo, package, version, description=None,
released=None, github_release_notes_file=None,
github_use_tag_release_notes=None, vcs_tag=None):
""" Creates a new version in the specified package (user has to be owner of the package)
Expand All @@ -1097,7 +1097,7 @@ def create_version(self, subject, repo, package, name, description=None,
:param subject: repository owner
:param repo: repository name
:param package: package name
:param name: version name
:param version: version name
:param description: version description
:param released: release date ISO8601
:param github_release_notes_file: file path for release notes e.g. RELEASE.txt
Expand All @@ -1106,7 +1106,7 @@ def create_version(self, subject, repo, package, name, description=None,
:return: request response
"""
url = "{}/packages/{}/{}/{}/versions".format(Bintray.BINTRAY_URL, subject, repo, package)
json_data = {'name': name}
json_data = {'name': version}
if isinstance(description, str):
json_data["desc"] = description
if isinstance(released, str):
Expand Down Expand Up @@ -1141,8 +1141,46 @@ def delete_version(self, subject, repo, package, version):
self._logger.info("Delete successfully")
return response

def update_versions(self):
pass
def update_version(self, subject, repo, package, version, description=None,
github_release_notes_file=None, github_use_tag_release_notes=None,
vcs_tag=None):
""" Update the information of the specified version
Security: Authenticated user with 'publish' permission, or package read/write
entitlement.
:param subject: repository owner
:param repo: repository name
:param package: package name
:param version: version name to be updated
:param description: version description
:param github_release_notes_file: file path for release notes e.g. RELEASE.txt
:param github_use_tag_release_notes: True when contain release notes file
:param vcs_tag: tag name in VCS
:return: request response
"""
url = "{}/packages/{}/{}/{}/versions/{}".format(Bintray.BINTRAY_URL, subject, repo,
package, version)
json_data = {}
if isinstance(description, str):
json_data["desc"] = description
if isinstance(github_release_notes_file, str):
json_data["github_release_notes_file"] = github_release_notes_file
if isinstance(github_use_tag_release_notes, bool):
json_data["github_use_tag_release_notes"] = github_use_tag_release_notes
if isinstance(vcs_tag, str):
json_data["vcs_tag"] = vcs_tag

if not json_data:
raise ValueError("At lease one parameter must be filled.")

response = self._requester.patch(url, json=json_data)
self._logger.info("Create successfully")
return response

# PATCH /packages/:subject/:repo/:package/versions/:version



def version_for_file(self):
pass
10 changes: 9 additions & 1 deletion tests/test_versions.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ def create_version():
PACKAGE_VERSION = now.strftime("%Y%m%d%H%M%S%f")
released = now.strftime("%Y-%m-%d")

return bintray.create_version("uilianries", "generic", "statistics", name=PACKAGE_VERSION,
return bintray.create_version("uilianries", "generic", "statistics", version=PACKAGE_VERSION,
released=released, vcs_tag="0.1.0")


Expand All @@ -38,3 +38,11 @@ def test_delete_version(create_version):
response = bintray.delete_version("uilianries", "generic", "statistics",
version=PACKAGE_VERSION)
assert {'error': False, 'message': 'success', 'statusCode': 200} == response


def test_update_version(create_version):
bintray = Bintray()
response = bintray.update_version("uilianries", "generic", "statistics",
version=PACKAGE_VERSION, description="foobar",
vcs_tag="0.1.1")
assert {'error': False, 'message': 'success', 'statusCode': 200} == response

0 comments on commit 7f47a58

Please sign in to comment.