def versions(server, channel, size): """ List versions. A list of the version names is returned if the query was successful, else the error dictionary from SpaceGDN is returned. """ server = spacegdn.get_id(jar=server) if server == -1: raise ValueError('Could not find server') if channel is not None: channel = spacegdn.get_id(jar=server, channel=channel) if channel == -1: raise ValueError('Could not find channel') result = spacegdn.versions(jar=server, channel=channel) if type(result) is not list: return result # Sort and limit the results result = list(reversed(sorted([version['version'] for version in result]))) if size >= 0: result = result[:min(size, len(result))] else: result = result[max(size, -len(result)):] return result
def find_newest(server, channel): """ Find the newest version and build in a channel. Returns a tuple with the version name and build number. """ channel_id = spacegdn.get_id(jar=server, channel=channel) result = spacegdn.builds(channel=channel_id) channel, version, build = find_latest_build(result) return version, build['build']
def get_id_raise_valueerror(name, jar=None, channel=None, version=None, build=None): """ Get the id for the jar, channel, version or build. A ValueError is raised if it is not found. """ result = spacegdn.get_id(jar=jar, channel=channel, version=version, build=build) if result == -1: raise ValueError('Could not find {}'.format(name)) return result
def channels(server): """ List channels. A list of the channel names is returned if the query was successful, else the error dictionary from SpaceGDN is returned. """ server = spacegdn.get_id(jar=server) if server == -1: raise ValueError('Could not find server') result = spacegdn.channels(jar=server) if type(result) is not list: return result return [channel['name'] for channel in result]