def main(args): aserver_api = get_server_api(args.token, args.site) aserver_api.check_server() if args.user: username = args.user else: user = aserver_api.user() username = user['login'] uploaded_packages = [] uploaded_projects = [] # Flatten file list because of 'windows_glob' function files = [f for fglob in args.files for f in fglob] if args.all: files += get_convert_files(files) for filename in files: if not exists(filename): message = 'file %s does not exist' % (filename) logger.error(message) raise errors.BinstarError(message) package_type = determine_package_type(filename, args) if package_type == 'project': uploaded_projects.append(upload_project(filename, args, username)) else: if package_type == 'ipynb' and not args.mode == 'force': try: nbformat.read(open(filename), nbformat.NO_CONVERT) except Exception as error: logger.error("Invalid notebook file '%s': %s", filename, error) logger.info("Use --force to upload the file anyways") continue package_info = upload_package(filename, package_type=package_type, aserver_api=aserver_api, username=username, args=args) if package_info: uploaded_packages.append(package_info) for package, upload_info in uploaded_packages: package_url = upload_info.get( 'url', 'https://anaconda.org/%s/%s' % (username, package)) logger.info("{} located at:\n{}\n".format( verbose_package_type(package_type), package_url)) for project_name, url in uploaded_projects: logger.info("Project {} uploaded to {}.\n".format(project_name, url))
def main(args): config = get_config(site=args.site) aserver_api = get_server_api(token=args.token, site=args.site, config=config) aserver_api.check_server() validate_username = True if args.user: username = args.user elif 'upload_user' in config: username = config['upload_user'] else: validate_username = False user = aserver_api.user() username = user['login'] logger.info('Using "%s" as upload username', username) if validate_username: try: aserver_api.user(username) except errors.NotFound: message = 'User "{}" does not exist'.format(username) logger.error(message) raise errors.BinstarError(message) uploaded_packages = [] uploaded_projects = [] # Flatten file list because of 'windows_glob' function files = [f for fglob in args.files for f in fglob] if args.all: files += get_convert_files(files) for filename in files: if not exists(filename): message = 'File "{}" does not exist'.format(filename) logger.error(message) raise errors.BinstarError(message) else: logger.info("Processing '%s'", filename) package_type = determine_package_type(filename, args) if package_type == 'project': uploaded_projects.append(upload_project(filename, args, username)) else: if package_type == 'ipynb' and not args.mode == 'force': try: nbformat.read(open(filename), nbformat.NO_CONVERT) except Exception as error: logger.error("Invalid notebook file '%s': %s", filename, error) logger.info("Use --force to upload the file anyways") continue package_info = upload_package(filename, package_type=package_type, aserver_api=aserver_api, username=username, args=args) if package_info is not None and len(package_info) == 2: _package, _upload_info = package_info if _upload_info: uploaded_packages.append(package_info) for package, upload_info in uploaded_packages: package_url = upload_info.get( 'url', 'https://anaconda.org/%s/%s' % (username, package)) logger.info("{} located at:\n{}\n".format( verbose_package_type(package_type), package_url)) for project_name, url in uploaded_projects: logger.info("Project {} uploaded to {}.\n".format(project_name, url))
def main(args): config = get_config(site=args.site) aserver_api = get_server_api(token=args.token, site=args.site, config=config) aserver_api.check_server() validate_username = True if args.user: username = args.user elif 'upload_user' in config: username = config['upload_user'] else: validate_username = False user = aserver_api.user() username = user['login'] logger.info('Using "%s" as upload username', username) if validate_username: try: aserver_api.user(username) except errors.NotFound: message = 'User "{}" does not exist'.format(username) logger.error(message) raise errors.BinstarError(message) uploaded_packages = [] uploaded_projects = [] # Flatten file list because of 'windows_glob' function files = [f for fglob in args.files for f in fglob] if args.all: files += get_convert_files(files) for filename in files: if not exists(filename): message = 'File "{}" does not exist'.format(filename) logger.error(message) raise errors.BinstarError(message) else: logger.info("Processing '%s'", filename) package_type = determine_package_type(filename, args) if package_type == 'project': uploaded_projects.append(upload_project(filename, args, username)) else: if package_type == 'ipynb' and not args.mode == 'force': try: nbformat.read(open(filename), nbformat.NO_CONVERT) except Exception as error: logger.error("Invalid notebook file '%s': %s", filename, error) logger.info("Use --force to upload the file anyways") continue package_info = upload_package( filename, package_type=package_type, aserver_api=aserver_api, username=username, args=args) if package_info is not None and len(package_info) == 2: _package, _upload_info = package_info if _upload_info: uploaded_packages.append(package_info) for package, upload_info in uploaded_packages: package_url = upload_info.get('url', 'https://anaconda.org/%s/%s' % (username, package)) logger.info("{} located at:\n{}\n".format(verbose_package_type(package_type), package_url)) for project_name, url in uploaded_projects: logger.info("Project {} uploaded to {}.\n".format(project_name, url))