Skip to content

Commit

Permalink
Update Flickr image URLs and video preview
Browse files Browse the repository at this point in the history
- Changed from using the `farm*n*.static.flickr.com` domains to
  `live.staticflickr.com` domain for the URLs of Flickr-hosted images
  (see https://www.flickr.com/services/api/misc.urls.html )
- Fixed missing preview image for videos when viewed in lists
- Added "(Video)" after the title of any Flickr videos when viewed in lists.
  • Loading branch information
philgyford committed Jan 21, 2025
1 parent 576b036 commit 0d2d74c
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 12 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed

- Move main code within an `src/` directory
- Improved Flickr image URLs and videos:
- Changed from using the `farm*n*.static.flickr.com` domains to `live.staticflickr.com` domain for the URLs of Flickr-hosted images.
- Fixed missing image for videos when viewed in lists.
- Added "(Video)" after the title of any Flickr videos when viewed in lists.

## [3.3] - 2024--08-13

Expand Down
7 changes: 3 additions & 4 deletions src/ditto/flickr/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -671,8 +671,7 @@ def _remote_image_url(self, size):
size -- One of the keys from self.PHOTO_SIZES.
"""
if size == "original":
return "https://farm{}.static.flickr.com/{}/{}_{}_{}.{}".format(
self.farm,
return "https://live.staticflickr.com/{}/{}_{}_{}.{}".format(
self.server,
self.flickr_id,
self.original_secret,
Expand All @@ -685,7 +684,7 @@ def _remote_image_url(self, size):
if self.PHOTO_SIZES[size]["suffix"]:
size_ext = "_{}".format(self.PHOTO_SIZES[size]["suffix"])
return (
f"https://farm{self.farm}.static.flickr.com/{self.server}/"
f"https://live.staticflickr.com/{self.server}/"
f"{self.flickr_id}_{self.secret}{size_ext}.jpg"
)

Expand Down Expand Up @@ -913,7 +912,7 @@ def original_icon_url(self):
"""URL of the avatar/profile pic at Flickr."""
if self.iconserver:
return (
f"https://farm{self.iconfarm}.staticflickr.com/{self.iconserver}"
f"https://live.staticflickr.com/{self.iconserver}"
f"/buddyicons/{self.nsid}.jpg"
)
else:
Expand Down
2 changes: 1 addition & 1 deletion src/ditto/flickr/templates/flickr/includes/photo.html
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

<div class="media-body">
<h3 class="h6 flickr-photo-title">
<a href="{% url 'flickr:photo_detail' nsid=photo.user.nsid flickr_id=photo.flickr_id %}">{{ photo.title }}</a>
<a href="{% url 'flickr:photo_detail' nsid=photo.user.nsid flickr_id=photo.flickr_id %}">{{ photo.title }}</a>{% if photo.media == 'video' %} (Video){% endif %}
</h3>
<p class="mb-0 flickr-photo-summary">{{ photo.summary|safe }}</p>
<p class="flickr-photo-muted">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
{% for photo in photo_list %}
<div class="flickr-photo col-12 col-sm-6 col-md-4 p-3">
<h3 class="h6">
<a href="{% url 'flickr:photo_detail' nsid=photo.user.nsid flickr_id=photo.flickr_id %}">{{ photo.title }}</a>
<a href="{% url 'flickr:photo_detail' nsid=photo.user.nsid flickr_id=photo.flickr_id %}">{{ photo.title }}</a>{% if photo.media == 'video' %} (Video){% endif %}
</h3>
<p class="flickr-photo-img mb-0">
<a href="{% url 'flickr:photo_detail' nsid=photo.user.nsid flickr_id=photo.flickr_id %}">
Expand Down
12 changes: 6 additions & 6 deletions tests/flickr/test_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ def test_original_icon_url(self):
user = UserFactory(iconfarm=8, iconserver=7420, nsid="35034346050@N01")
self.assertEqual(
user.original_icon_url,
"https://farm8.staticflickr.com/7420/buddyicons/[email protected]",
"https://live.staticflickr.com/7420/buddyicons/[email protected]",
)

def test_original_icon_url_default(self):
Expand Down Expand Up @@ -409,7 +409,7 @@ def test_original_url(self):
original_format="gif",
)
self.assertEqual(
photo.original_url, "https://farm3.static.flickr.com/1234/4567_7777_o.gif"
photo.original_url, "https://live.staticflickr.com/1234/4567_7777_o.gif"
)

def test_remote_original_url(self):
Expand All @@ -424,14 +424,14 @@ def test_remote_original_url(self):
)
self.assertEqual(
photo.remote_original_url,
"https://farm3.static.flickr.com/1234/4567_7777_o.gif",
"https://live.staticflickr.com/1234/4567_7777_o.gif",
)

def test_medium_url(self):
"Has a different format to most other image sizes."
photo = PhotoFactory(farm=3, server="1234", flickr_id=4567, secret="9876")
self.assertEqual(
photo.medium_url, "https://farm3.static.flickr.com/1234/4567_9876.jpg"
photo.medium_url, "https://live.staticflickr.com/1234/4567_9876.jpg"
)

def test_image_urls(self):
Expand All @@ -440,7 +440,7 @@ def test_image_urls(self):
for size, prop in self.photo_sizes.items():
self.assertEqual(
getattr(photo, prop),
f"https://farm3.static.flickr.com/1234/4567_9876_{size}.jpg",
f"https://live.staticflickr.com/1234/4567_9876_{size}.jpg",
)

def test_image_url_with_invalid_size(self):
Expand Down Expand Up @@ -504,7 +504,7 @@ def test_remote_original_url(self):
)
self.assertEqual(
photo.remote_original_url,
"https://farm3.static.flickr.com/1234/4567_7777_o.gif",
"https://live.staticflickr.com/1234/4567_7777_o.gif",
)

def test_medium_url(self):
Expand Down

0 comments on commit 0d2d74c

Please sign in to comment.