def _s3_upload(self, root, project, unique_id, version=None): from moztreedocs.package import distribution_files from moztreedocs.upload import s3_upload, s3_set_redirects # Files are uploaded to multiple locations: # # <project>/latest # <project>/<version> # # This allows multiple projects and versions to be stored in the # S3 bucket. files = list(distribution_files(root)) key_prefixes = [] if version: key_prefixes.append('%s/%s' % (project, version)) # Until we redirect / to main/latest, upload the main docs # to the root. if project == 'main': key_prefixes.append('') key_prefixes.append(unique_id) with open(os.path.join(DOC_ROOT, 'config.yml'), 'r') as fh: redirects = yaml.safe_load(fh)['redirects'] redirects = {k.strip("/"): v.strip("/") for k, v in redirects.items()} all_redirects = {} for prefix in key_prefixes: s3_upload(files, prefix) # Don't setup redirects for the "version" prefix since we are # exceeding a 50 redirect limit and external things are unlikely to # link there anyway (see bug 1614908). if version and prefix.endswith(version): continue if prefix: prefix += '/' all_redirects.update( {prefix + k: prefix + v for k, v in redirects.items()}) print("Redirects currently staged") pprint(all_redirects, indent=1) s3_set_redirects(all_redirects)
def _s3_upload(self, root, project, version=None): from moztreedocs.package import distribution_files from moztreedocs.upload import s3_upload, s3_set_redirects # Files are uploaded to multiple locations: # # <project>/latest # <project>/<version> # # This allows multiple projects and versions to be stored in the # S3 bucket. files = list(distribution_files(root)) key_prefixes = ['%s/latest' % project] if version: key_prefixes.append('%s/%s' % (project, version)) # Until we redirect / to main/latest, upload the main docs # to the root. if project == 'main': key_prefixes.append('') with open(os.path.join(here, 'redirects.yml'), 'r') as fh: redirects = yaml.safe_load(fh)['redirects'] redirects = {k.strip("/"): v.strip("/") for k, v in redirects.items()} all_redirects = {} for prefix in key_prefixes: s3_upload(files, prefix) if prefix: prefix += '/' all_redirects.update( {prefix + k: prefix + v for k, v in redirects.items()}) print("Redirects currently staged") pprint(all_redirects, indent=1) s3_set_redirects(all_redirects)
def _s3_upload(self, root, project, version=None): self.virtualenv_manager.install_pip_package('boto3==1.4.4') from moztreedocs import distribution_files from moztreedocs.upload import s3_upload # Files are uploaded to multiple locations: # # <project>/latest # <project>/<version> # # This allows multiple projects and versions to be stored in the # S3 bucket. files = list(distribution_files(root)) s3_upload(files, key_prefix='%s/latest' % project) if version: s3_upload(files, key_prefix='%s/%s' % (project, version)) # Until we redirect / to main/latest, upload the main docs # to the root. if project == 'main': s3_upload(files)