def download_package(package): fb_versions = fallback_versions(package) cached_package = Package.query.filter_by(name=package).first() if not cached_package: cached_package = Package(name=package) db_session.add(cached_package) for version in fb_versions: filtered_version = cached_package.versions.filter_by( version_code=version).first() if filtered_version == None: filename = urlparse.urlparse( fb_versions[version])[2].split('/')[-1] fb_file = requests.get(fb_versions[version]).content with open(filename, 'w') as tempfile: tempfile.write(fb_file) storage.store_package(package, filename) db_session.add( Version( package=cached_package, version_code=version, filename=filename, date_cached=datetime.datetime.now(), )) os.remove(filename) db_session.commit()
def get_package(package): package = secure_filename(package) versions = fallback_versions(package) cached_package = Package.query.filter_by(name=package).first() if cached_package: for fb_version in versions: filtered_version = cached_package.versions.filter_by(version_code=fb_version).first() if filtered_version == None: download_package.delay(package) break for cached_version in cached_package.versions.all(): version_url = url_for("get_file", package=cached_package.name, filename=cached_version.filename) versions[cached_version.version_code] = version_url else: download_package.delay(package) return render_template("versions.html", versions=versions, package_name=package)
def get_package(package): package = secure_filename(package) versions = fallback_versions(package) cached_package = Package.query.filter_by(name=package).first() if cached_package: for fb_version in versions: filtered_version = cached_package.versions.filter_by( version_code=fb_version).first() if filtered_version == None: download_package.delay(package) break for cached_version in cached_package.versions.all(): version_url = url_for( 'get_file', package=cached_package.name, filename=cached_version.filename, ) versions[cached_version.version_code] = version_url else: download_package.delay(package) return render_template('versions.html', versions=versions, package_name=package)
def download_package(package): fb_versions = fallback_versions(package) cached_package = Package.query.filter_by(name=package).first() if not cached_package: cached_package = Package(name=package) db_session.add(cached_package) for version in fb_versions: filtered_version = cached_package.versions.filter_by(version_code=version).first() if filtered_version == None: filename = urlparse.urlparse(fb_versions[version])[2].split('/')[-1] fb_file = requests.get(fb_versions[version]).content with open(filename, 'w') as tempfile: tempfile.write(fb_file) storage.store_package(package, filename) db_session.add( Version( package=cached_package, version_code=version, filename=filename, date_cached=datetime.datetime.now(), ) ) os.remove(filename) db_session.commit()