def snap_push_metadata(self, snap_name, updown_data, delta_format=None, delta_hash=None, source_hash=None, target_hash=None): data = { 'name': snap_name, 'series': constants.DEFAULT_SERIES, 'updown_id': updown_data['upload_id'], 'binary_filesize': updown_data['binary_filesize'], 'source_uploaded': updown_data['source_uploaded'], } if delta_format: data['delta_format'] = delta_format data['delta_hash'] = delta_hash data['source_hash'] = source_hash data['target_hash'] = target_hash auth = _macaroon_auth(self.conf) response = self.post('snap-push/', data=json.dumps(data), headers={ 'Authorization': auth, 'Content-Type': 'application/json', 'Accept': 'application/json' }) if not response.ok: raise errors.StorePushError(data['name'], response) return StatusTracker(response.json()['status_details_url'])
def snap_push_precheck(self, snap_name): data = { 'name': snap_name, 'dry_run': True, } auth = _macaroon_auth(self.conf) response = self.post( 'snap-push/', data=json.dumps(data), headers={'Authorization': auth, 'Content-Type': 'application/json', 'Accept': 'application/json'}) if not response.ok: raise errors.StorePushError(data['name'], response)