~sinzui/juju-ci-tools/remove-jujuci-gets.

« back to all changes in this revision

Viewing changes to jujuci.py

  • Committer: Curtis Hovey
  • Date: 2016-06-14 03:24:32 UTC
  • Revision ID: curtis@canonical.com-20160614032432-kt74qw6i8k7t9pei
Removed unused functions

Show diffs side-by-side

added added

removed removed

Lines of Context:
30
30
from utility import (
31
31
    extract_deb,
32
32
    get_deb_arch,
33
 
    get_revision_build,
34
33
    print_now,
35
34
    )
36
35
 
105
104
    urllib.urlretrieve(auth_location, local_path)
106
105
 
107
106
 
108
 
def get_juju_bin_artifact(package_namer, version, build_data):
109
 
    file_name = package_namer.get_release_package(version)
110
 
    return get_filename_artifact(file_name, build_data)
111
 
 
112
 
 
113
 
def get_filename_artifact(file_name, build_data):
114
 
    by_filename = dict((a['fileName'], a) for a in build_data['artifacts'])
115
 
    bin_artifact = by_filename[file_name]
116
 
    return make_artifact(build_data, bin_artifact)
117
 
 
118
 
 
119
 
def retrieve_buildvars(credentials, build_number):
120
 
    build_data = get_build_data(JENKINS_URL, credentials, BUILD_REVISION,
121
 
                                build_number)
122
 
    artifact = get_filename_artifact('buildvars.json', build_data)
123
 
    return get_jenkins_json(credentials, artifact.location)
124
 
 
125
 
 
126
 
def get_buildvars(credentials, build_number, summary=False, env='unknown',
127
 
                  revision_build=False, version=False, branch=False,
128
 
                  short_branch=False, revision=False, short_revision=False):
129
 
    """Return requested information as text.
130
 
 
131
 
    The 'summary' kwarg returns intelligible information about the build.
132
 
    'env' is included in the summary text. Otherwise, a space-separated
133
 
    string composed of the each True kwarg is returned in this order:
134
 
        revision_build version short_branch short_revision branch revision
135
 
    Note that revision_build is always the same as build number;
136
 
    build_number can be an alias like 'lastBuild' or 'lastSuccessfulBuild'.
137
 
    """
138
 
    buildvars = retrieve_buildvars(credentials, build_number)
139
 
    buildvars['short_revision_id'] = buildvars['revision_id'][0:7]
140
 
    buildvars['short_branch'] = buildvars['branch'].split(':')[1]
141
 
    buildvars['env'] = env
142
 
    template = (
143
 
        'Testing {branch} {short_revision_id} on {env} for {revision_build}')
144
 
    if summary:
145
 
        text = template.format(**buildvars)
146
 
    else:
147
 
        data = []
148
 
        if revision_build:
149
 
            data.append(buildvars['revision_build'])
150
 
        if version:
151
 
            data.append(buildvars['version'])
152
 
        if short_branch:
153
 
            data.append(buildvars['short_branch'])
154
 
        if short_revision:
155
 
            data.append(buildvars['short_revision_id'])
156
 
        if branch:
157
 
            data.append(buildvars['branch'])
158
 
        if revision:
159
 
            data.append(buildvars['revision_id'])
160
 
        text = ' '.join(data)
161
 
    return text
162
 
 
163
 
 
164
 
def get_release_package_filename(credentials, build_data):
165
 
    revision_build = get_revision_build(build_data)
166
 
    version = retrieve_buildvars(credentials, revision_build)['version']
167
 
    return PackageNamer.factory().get_release_package(version)
168
 
 
169
 
 
170
107
def acquire_binary(package_path, workspace):
171
108
    bin_dir = os.path.join(workspace, 'extracted-bin')
172
109
    extract_deb(package_path, bin_dir)