# push the gpg key and email to the env try: keyid = quicklyutils.get_right_gpg_key_id(launchpad) except quicklyutils.gpg_error, e: print(e) sys.exit(1) # get the project now and save the url into setup.py try: project = launchpadaccess.get_project(launchpad) except launchpadaccess.launchpad_project_error, e: print(e) sys.exit(1) project_url = launchpadaccess.launchpad_url + '/' + project.name quicklyutils.set_setup_value('url', project_url) about_dialog_file_name = quicklyutils.get_about_file_name() if about_dialog_file_name: quicklyutils.change_xml_elem(about_dialog_file_name, "object/property", "name", "website", project_url, {}) # choose right ppa parameter (users, etc.) ppa or staging if ppa_name is None try: (ppa_user, ppa_name, dput_ppa_name, ppa_url) = packaging.choose_ppa(launchpad, ppa_name) except packaging.user_team_not_found, e: print(_("User or Team %s not found on Launchpad") % e) sys.exit(1) except packaging.not_ppa_owner, e: print(_("You have to be a member of %s team to upload to its ppas") % e) sys.exit(1) try:
def updateversion(proposed_version=None, sharing=False): """Update versioning with year.month, handling intermediate release""" if proposed_version: # check manual versionning is correct try: for number in proposed_version.split("."): float(number) except ValueError: msg = _("Release version specified in command arguments is not a " "valid version scheme like 'x(.y)(.z)'.") raise invalid_versionning_scheme(msg) new_version = proposed_version else: # get previous value try: old_version = quicklyutils.get_setup_value("version") except quicklyutils.cant_deal_with_setup_value: msg = _("No previous version found in setup.py. Put one please") raise invalid_version_in_setup(msg) # sharing only add -publicX to last release, no other update, no bumping if sharing: splitted_release_version = old_version.split("-public") if len(splitted_release_version) > 1: try: share_version = float(splitted_release_version[1]) except ValueError: msg = ( _("Share version specified after -public in " "setup.py is not a valid number: %s") % splitted_release_version[1] ) raise invalid_versionning_scheme(msg) new_version = splitted_release_version[0] + "-public" + str(int(share_version + 1)) else: new_version = old_version + "-public1" # automatically version to year.month(.subversion) else: base_version = datetime.datetime.now().strftime("%y.%m") if base_version in old_version: try: # try to get a minor version, removing -public if one (year, month, minor_version) = old_version.split(".") minor_version = minor_version.split("-public")[0] try: minor_version = float(minor_version) except ValueError: msg = ( _( "Minor version specified in setup.py is not a " "valid number: %s. Fix this or specify a " "version as release command line argument" ) % minor_version ) raise invalid_versionning_scheme(msg) new_version = base_version + "." + str(int(minor_version + 1)) except ValueError: # no minor version, bump to first one (be careful, # old_version may contain -publicX) new_version = base_version + ".1" else: # new year/month new_version = base_version # write release version to setup.py and update it in aboutdialog quicklyutils.set_setup_value("version", new_version) about_dialog_file_name = quicklyutils.get_about_file_name() if about_dialog_file_name: quicklyutils.change_xml_elem(about_dialog_file_name, "object/property", "name", "version", new_version, {}) return new_version
# push the gpg key and email to the env try: keyid = quicklyutils.get_right_gpg_key_id(launchpad) except quicklyutils.gpg_error, e: print(e) sys.exit(1) # get the project now and save the url into setup.py try: project = launchpadaccess.get_project(launchpad) except launchpadaccess.launchpad_project_error, e: print(e) sys.exit(1) project_url = launchpadaccess.launchpad_url + '/' + project.name quicklyutils.set_setup_value('url', project_url) about_dialog_file_name = quicklyutils.get_about_file_name() if about_dialog_file_name: quicklyutils.change_xml_elem(about_dialog_file_name, "object/property", "name", "website", project_url, {}) # choose right ppa parameter (users, etc.) ppa or staging if ppa_name is None try: (ppa_user, ppa_name, dput_ppa_name, ppa_url) = packaging.choose_ppa(launchpad, ppa_name) except packaging.user_team_not_found, e: print(_("User or Team %s not found on Launchpad") % e) sys.exit(1) except packaging.not_ppa_owner, e: print(_("You have to be a member of %s team to upload to its ppas") % e) sys.exit(1)
def updateversion(proposed_version=None, sharing=False): '''Update versioning with year.month, handling intermediate release''' if proposed_version: # check manual versioning is correct try: for number in proposed_version.split('.'): float(number) except ValueError: msg = _("Release version specified in command arguments is not a " \ "valid version scheme like 'x(.y)(.z)'.") raise invalid_versionning_scheme(msg) new_version = proposed_version else: # get previous value try: old_version = quicklyutils.get_setup_value('version') except quicklyutils.cant_deal_with_setup_value: msg = _("No previous version found in setup.py. Put one please") raise invalid_version_in_setup(msg) # sharing only add -publicX to last release, no other update, no bumping if sharing: splitted_release_version = old_version.split("-public") if len(splitted_release_version) > 1: try: share_version = float(splitted_release_version[1]) except ValueError: msg = _("Share version specified after -public in "\ "setup.py is not a valid number: %s") \ % splitted_release_version[1] raise invalid_versionning_scheme(msg) new_version = splitted_release_version[0] + '-public' + \ str(int(share_version + 1)) else: new_version = old_version + "-public1" # automatically version to year.month(.subversion) else: base_version = datetime.datetime.now().strftime("%y.%m") if base_version in old_version: try: # try to get a minor version, removing -public if one (year, month, minor_version) = old_version.split('.') minor_version = minor_version.split('-public')[0] try: minor_version = float(minor_version) except ValueError: msg = _("Minor version specified in setup.py is not a " \ "valid number: %s. Fix this or specify a " \ "version as release command line argument") \ % minor_version raise invalid_versionning_scheme(msg) new_version = base_version + '.' + str(int(minor_version + 1)) except ValueError: # no minor version, bump to first one (be careful, # old_version may contain -publicX) new_version = base_version + '.1' else: # new year/month new_version = base_version # write release version to setup.py and update it in aboutdialog quicklyutils.set_setup_value('version', new_version) about_dialog_file_name = quicklyutils.get_about_file_name() if about_dialog_file_name: quicklyutils.change_xml_elem(about_dialog_file_name, "object/property", "name", "version", new_version, {}) return new_version