def test_get_license_url_version(): """The license URL method should return the expected URL for a license version""" assert "https://creativecommons.org/licenses/by/3.0" == licenses.get_license_url("by", "3.0") assert "https://creativecommons.org/licenses/by-sa/3.0" == licenses.get_license_url("by-sa", "3.0") assert "https://creativecommons.org/licenses/by-nc/3.0" == licenses.get_license_url("by-nc", "3.0") assert "https://creativecommons.org/licenses/by-nc-nd/3.0" == licenses.get_license_url("by-nc-nd", "3.0") assert "https://creativecommons.org/licenses/by-nc-sa/3.0" == licenses.get_license_url("by-nc-sa", "3.0")
def test_get_license_url_license(): """The license URL method should return the expected URL for a license type""" assert "https://creativecommons.org/licenses/by/4.0" == licenses.get_license_url("by", "4.0") assert "https://creativecommons.org/licenses/by-sa/4.0" == licenses.get_license_url("by-sa", "4.0") assert "https://creativecommons.org/licenses/by-nc/4.0" == licenses.get_license_url("by-nc", "4.0") assert "https://creativecommons.org/licenses/by-nc-nd/4.0" == licenses.get_license_url("by-nc-nd", "4.0") assert "https://creativecommons.org/licenses/by-nc-sa/4.0" == licenses.get_license_url("by-nc-sa", "4.0")
def by_image(): """Load an image in detail view, passing parameters by query string so that we can either load an image from an external provider or from our own datastore.""" url = request.args.get('url') provider_url = request.args.get('provider_url') title = request.args.get('title') license = request.args.get('license') creator = request.args.get('creator') provider = request.args.get('provider') license_version = licenses.license_map_from_partners()[provider]['version'] license_url = licenses.get_license_url(license, license_version) return render_template('detail.html', url=url, title=title, provider_url=provider_url, license=license, license_url=license_url, creator=creator)
def detail(identifier): """Get a detailed representation of an item in the ledger""" image = Image.query.filter_by(google_imageid=identifier).first() # Eventually we'll want our own identifer here url = image.image_url provider_url = image.original_landing_url title = image.title provider = 'flickr' # These images are Flickr-sourced, so treat this like a Flickr provider license_version = licenses.license_map_from_partners()[provider]['version'] license = 'BY' # This source contains only CC license_url = licenses.get_license_url(license, license_version) creator = image.author return render_template('detail.html', image=image, url=url, title=title, provider_url=provider_url, license=license, license_url=license_url, creator=creator)
def test_get_license_url_pd_licenses(): """The license URL method should return the correct public domain licenses regardless of version""" assert "https://creativecommons.org/publicdomain/zero/1.0" == licenses.get_license_url("cc0", "10.0") assert "https://creativecommons.org/publicdomain/mark/1.0" == licenses.get_license_url("pdm", "10.0")
def test_get_license_url_unknown_license(): """The license URL method should return None if passed an unknown license""" assert licenses.get_license_url("FAKE", "3.0") is None
def test_get_license_url_no_license(): """The license URL method should return an exception if not passed a license""" with pytest.raises(Exception) as exc: licenses.get_license_url(None, "3.0") assert 'No license' in str(exc.value)
def test_get_license_url_no_version(): """The license URL method should return an exception if not passed a version""" with pytest.raises(Exception) as exc: licenses.get_license_url("by", None) assert 'No version' in str(exc.value)