Skip to content

Commit

Permalink
Remove remaining thumbnail-related code and dependencies.
Browse files Browse the repository at this point in the history
  • Loading branch information
rebeccacremona committed Dec 9, 2023
1 parent d452980 commit e2cab71
Show file tree
Hide file tree
Showing 8 changed files with 24 additions and 157 deletions.
7 changes: 3 additions & 4 deletions perma_web/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,6 @@ RUN apt-get update \
postgresql-client \
libpq-dev \
libffi-dev \
libjpeg62-turbo-dev \
imagemagick \
libmagickwand-dev \
libnss3-tools `# for certutil`

# pin node version -- see https://github.com/nodesource/distributions/issues/33
Expand Down Expand Up @@ -71,7 +68,9 @@ RUN apt-get update && apt install -y --no-install-recommends libdbus-glib-1-2 \
libgbm1 \
libasound2 \
libatspi2.0-0 \
libwayland-client0
libwayland-client0 \
libpango-1.0-0 \
libcairo2

RUN mkdir -p $HOME/.pki/nssdb \
&& certutil -d $HOME/.pki/nssdb -N --empty-password \
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Generated by Django 4.2.8 on 2023-12-09 23:17

from django.db import migrations


class Migration(migrations.Migration):

dependencies = [
('perma', '0033_remove_historicalregistrar_latitude_and_more'),
]

operations = [
migrations.RemoveField(
model_name='historicallink',
name='thumbnail_status',
),
migrations.RemoveField(
model_name='link',
name='thumbnail_status',
),
]
61 changes: 0 additions & 61 deletions perma_web/perma/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -1554,10 +1554,6 @@ class Link(DeletableModel):
"InternetArchiveItem", through="InternetArchiveFile", related_name="links"
)

thumbnail_status = models.CharField(max_length=10, null=True, blank=True, choices=(
('generating', 'generating'), ('generated', 'generated'), ('failed', 'failed')))


objects = LinkManager()
tracker = FieldTracker()
history = HistoricalRecords()
Expand Down Expand Up @@ -1767,63 +1763,6 @@ def warc_presigned_url_relative(self):
parsed = urlparse(self.warc_presigned_url())
return f'{parsed.path}?{parsed.query}'.lstrip('/')

# def get_thumbnail(self, image_data=None):
# if self.thumbnail_status == 'failed' or self.thumbnail_status == 'generating':
# return None
#
# thumbnail_path = os.path.join(settings.THUMBNAIL_STORAGE_PATH, self.guid_as_path(), 'thumbnail.png')
#
# if self.thumbnail_status == 'generated' and default_storage.exists(thumbnail_path):
# return default_storage.open(thumbnail_path)
#
# try:
#
# warc_url = None
# image = None
#
# if image_data:
# image = Image(blob=image_data)
# else:
#
# if self.screenshot_capture and self.screenshot_capture.status == 'success':
# warc_url = self.screenshot_capture.url
# else:
# pdf_capture = self.captures.filter(content_type__istartswith='application/pdf').first()
# if pdf_capture:
# warc_url = pdf_capture.url
#
# if warc_url:
# self.thumbnail_status = 'generating'
# self.save(update_fields=['thumbnail_status'])
#
# headers, data = self.replay_url(warc_url)
# temp_file = tempfile.NamedTemporaryFile(suffix='.' + warc_url.rsplit('.', 1)[-1])
# for chunk in data:
# temp_file.write(chunk)
# temp_file.flush()
# image = Image(filename=temp_file.name + "[0]") # [0] limits ImageMagick to first page of PDF
#
# if image:
# with imagemagick_temp_dir():
# with image as opened_img:
# opened_img.transform(resize='600')
# # opened_img.resize(600,600)
# with Image(width=600, height=600) as dst_image:
# dst_image.composite(opened_img, 0, 0)
# dst_image.compression_quality = 60
# default_storage.store_data_to_file(dst_image.make_blob('png'), thumbnail_path, overwrite=True)
#
# self.thumbnail_status = 'generated'
# self.save(update_fields=['thumbnail_status'])
#
# return default_storage.open(thumbnail_path)
#
# except Exception as e:
# print "Thumbnail generation failed for %s: %s" % (self.guid, e)
#
# self.thumbnail_status = 'failed'
# self.save(update_fields=['thumbnail_status'])

def delete_related_captures(self):
Capture.objects.filter(link_id=self.pk).delete()

Expand Down
11 changes: 0 additions & 11 deletions perma_web/perma/settings/deployments/settings_common.py
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,6 @@
# third party apps
'ratelimit',
'mptt',
'sorl.thumbnail',
'settings_context_processor',
'simple_history', # record model changes
'taggit', # model tagging
Expand Down Expand Up @@ -575,16 +574,6 @@
WARC_AVAILABLE_RETRIES = 9
CHECK_WARC_BEFORE_PLAYBACK = False

# Sorl settings. This relates to our thumbnail creation.
# The prod and dev configs are considerably different. See those configs for details.
THUMBNAIL_ENGINE = 'sorl.thumbnail.engines.wand_engine.Engine'
THUMBNAIL_FORMAT = 'PNG'
THUMBNAIL_COLORSPACE = None
# Temporarily work around for https://github.com/jazzband/sorl-thumbnail/issues/476
TEMPLATE_DEBUG = False
# Relative to MEDIA_ROOT
THUMBNAIL_STORAGE_PATH = 'thumbnails'

# tests
TEST_RUNNER = 'django.test.runner.DiscoverRunner' # In Django 1.7, including this silences a warning about tests
TESTING = False
Expand Down
5 changes: 0 additions & 5 deletions perma_web/perma/settings/deployments/settings_dev.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,11 +62,6 @@
pass


# Our Sorl thumbnail stuff. In prod we use Redis, we'll just use
# the local uncached DB here in dev.
THUMBNAIL_KVSTORE = 'sorl.thumbnail.kvstores.cached_db_kvstore.KVStore'


#
# Perma Payments
#
Expand Down
6 changes: 0 additions & 6 deletions perma_web/perma/settings/deployments/settings_prod.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,6 @@
# logging
LOGGING['handlers']['file']['filename'] = '/var/log/perma/perma.log'

# Our sorl thumbnail settings
# We only use this redis config in prod. dev envs use the local db.
THUMBNAIL_KVSTORE = 'sorl.thumbnail.kvstores.redis_kvstore.KVStore'
THUMBNAIL_REDIS_HOST = 'localhost'
THUMBNAIL_REDIS_PORT = '6379'

# caching
CACHES["default"] = {
"BACKEND": "django_redis.cache.RedisCache",
Expand Down
6 changes: 0 additions & 6 deletions perma_web/requirements.in
Original file line number Diff line number Diff line change
Expand Up @@ -33,15 +33,9 @@ django-settings-context-processor # make settings available in templates

# assets
django-webpack-loader~=1.0 # frontend assets building
Pillow # Used by the Django admin for ImageField display
whitenoise # serve static assets


# thumbnails (carousel? anything else?)
sorl-thumbnail
Wand


# capture related stuff
tempdir # create temp dirs to be deleted at end of function -- handy for archive creation
ua-parser # user agent parsing to detect mobile browsers during playbacks
Expand Down
64 changes: 0 additions & 64 deletions perma_web/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -712,62 +712,6 @@ pickleshare==0.7.5 \
--hash=sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca \
--hash=sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56
# via ipython
pillow==10.0.1 \
--hash=sha256:0462b1496505a3462d0f35dc1c4d7b54069747d65d00ef48e736acda2c8cbdff \
--hash=sha256:186f7e04248103482ea6354af6d5bcedb62941ee08f7f788a1c7707bc720c66f \
--hash=sha256:19e9adb3f22d4c416e7cd79b01375b17159d6990003633ff1d8377e21b7f1b21 \
--hash=sha256:28444cb6ad49726127d6b340217f0627abc8732f1194fd5352dec5e6a0105635 \
--hash=sha256:2872f2d7846cf39b3dbff64bc1104cc48c76145854256451d33c5faa55c04d1a \
--hash=sha256:2cc6b86ece42a11f16f55fe8903595eff2b25e0358dec635d0a701ac9586588f \
--hash=sha256:2d7e91b4379f7a76b31c2dda84ab9e20c6220488e50f7822e59dac36b0cd92b1 \
--hash=sha256:2fa6dd2661838c66f1a5473f3b49ab610c98a128fc08afbe81b91a1f0bf8c51d \
--hash=sha256:32bec7423cdf25c9038fef614a853c9d25c07590e1a870ed471f47fb80b244db \
--hash=sha256:3855447d98cced8670aaa63683808df905e956f00348732448b5a6df67ee5849 \
--hash=sha256:3a04359f308ebee571a3127fdb1bd01f88ba6f6fb6d087f8dd2e0d9bff43f2a7 \
--hash=sha256:3a0d3e54ab1df9df51b914b2233cf779a5a10dfd1ce339d0421748232cea9876 \
--hash=sha256:44e7e4587392953e5e251190a964675f61e4dae88d1e6edbe9f36d6243547ff3 \
--hash=sha256:459307cacdd4138edee3875bbe22a2492519e060660eaf378ba3b405d1c66317 \
--hash=sha256:4ce90f8a24e1c15465048959f1e94309dfef93af272633e8f37361b824532e91 \
--hash=sha256:50bd5f1ebafe9362ad622072a1d2f5850ecfa44303531ff14353a4059113b12d \
--hash=sha256:522ff4ac3aaf839242c6f4e5b406634bfea002469656ae8358644fc6c4856a3b \
--hash=sha256:552912dbca585b74d75279a7570dd29fa43b6d93594abb494ebb31ac19ace6bd \
--hash=sha256:5d6c9049c6274c1bb565021367431ad04481ebb54872edecfcd6088d27edd6ed \
--hash=sha256:697a06bdcedd473b35e50a7e7506b1d8ceb832dc238a336bd6f4f5aa91a4b500 \
--hash=sha256:71671503e3015da1b50bd18951e2f9daf5b6ffe36d16f1eb2c45711a301521a7 \
--hash=sha256:723bd25051454cea9990203405fa6b74e043ea76d4968166dfd2569b0210886a \
--hash=sha256:764d2c0daf9c4d40ad12fbc0abd5da3af7f8aa11daf87e4fa1b834000f4b6b0a \
--hash=sha256:787bb0169d2385a798888e1122c980c6eff26bf941a8ea79747d35d8f9210ca0 \
--hash=sha256:7f771e7219ff04b79e231d099c0a28ed83aa82af91fd5fa9fdb28f5b8d5addaf \
--hash=sha256:847e8d1017c741c735d3cd1883fa7b03ded4f825a6e5fcb9378fd813edee995f \
--hash=sha256:84efb46e8d881bb06b35d1d541aa87f574b58e87f781cbba8d200daa835b42e1 \
--hash=sha256:898f1d306298ff40dc1b9ca24824f0488f6f039bc0e25cfb549d3195ffa17088 \
--hash=sha256:8b451d6ead6e3500b6ce5c7916a43d8d8d25ad74b9102a629baccc0808c54971 \
--hash=sha256:8f06be50669087250f319b706decf69ca71fdecd829091a37cc89398ca4dc17a \
--hash=sha256:92a23b0431941a33242b1f0ce6c88a952e09feeea9af4e8be48236a68ffe2205 \
--hash=sha256:93139acd8109edcdeffd85e3af8ae7d88b258b3a1e13a038f542b79b6d255c54 \
--hash=sha256:98533fd7fa764e5f85eebe56c8e4094db912ccbe6fbf3a58778d543cadd0db08 \
--hash=sha256:9f665d1e6474af9f9da5e86c2a3a2d2d6204e04d5af9c06b9d42afa6ebde3f21 \
--hash=sha256:b059ac2c4c7a97daafa7dc850b43b2d3667def858a4f112d1aa082e5c3d6cf7d \
--hash=sha256:b1be1c872b9b5fcc229adeadbeb51422a9633abd847c0ff87dc4ef9bb184ae08 \
--hash=sha256:b7cf63d2c6928b51d35dfdbda6f2c1fddbe51a6bc4a9d4ee6ea0e11670dd981e \
--hash=sha256:bc2e3069569ea9dbe88d6b8ea38f439a6aad8f6e7a6283a38edf61ddefb3a9bf \
--hash=sha256:bcf1207e2f2385a576832af02702de104be71301c2696d0012b1b93fe34aaa5b \
--hash=sha256:ca26ba5767888c84bf5a0c1a32f069e8204ce8c21d00a49c90dabeba00ce0145 \
--hash=sha256:cbe68deb8580462ca0d9eb56a81912f59eb4542e1ef8f987405e35a0179f4ea2 \
--hash=sha256:d6caf3cd38449ec3cd8a68b375e0c6fe4b6fd04edb6c9766b55ef84a6e8ddf2d \
--hash=sha256:d72967b06be9300fed5cfbc8b5bafceec48bf7cdc7dab66b1d2549035287191d \
--hash=sha256:d889b53ae2f030f756e61a7bff13684dcd77e9af8b10c6048fb2c559d6ed6eaf \
--hash=sha256:de596695a75496deb3b499c8c4f8e60376e0516e1a774e7bc046f0f48cd620ad \
--hash=sha256:e6a90167bcca1216606223a05e2cf991bb25b14695c518bc65639463d7db722d \
--hash=sha256:ed2d9c0704f2dc4fa980b99d565c0c9a543fe5101c25b3d60488b8ba80f0cce1 \
--hash=sha256:ee7810cf7c83fa227ba9125de6084e5e8b08c59038a7b2c9045ef4dde61663b4 \
--hash=sha256:f0b4b06da13275bc02adfeb82643c4a6385bd08d26f03068c2796f60d125f6f2 \
--hash=sha256:f11c9102c56ffb9ca87134bd025a43d2aba3f1155f508eff88f694b33a9c6d19 \
--hash=sha256:f5bb289bb835f9fe1a1e9300d011eef4d69661bb9b34d5e196e5e82c4cb09b37 \
--hash=sha256:f6d3d4c905e26354e8f9d82548475c46d8e0889538cb0657aa9c6f0872a37aa4 \
--hash=sha256:fcb59711009b0168d6ee0bd8fb5eb259c4ab1717b2f538bbf36bacf207ef7a68 \
--hash=sha256:fd2a5403a75b54661182b75ec6132437a181209b901446ee5724b589af8edef1
# via -r requirements.in
pip-tools==6.6.0 \
--hash=sha256:66318bc2e884b61fafa1cb2cf01b35fdd779ab9ce82cc1bce277adb8cf3ab845 \
--hash=sha256:98aa24004440a1c0489d71a567a4e8afdf23c7782bff483d1219881e7302de83
Expand Down Expand Up @@ -980,10 +924,6 @@ six==1.16.0 \
# requests-file
# surt
# warcio
sorl-thumbnail==12.10.0 \
--hash=sha256:733eb2eee392d4a874f88fb3ed6f0572fa9c361b06e0411b83e435ba69c51f52 \
--hash=sha256:de95a49217fdfeced222fa3ceaa01d312ee2f8aad56ba34d6c70f2dee9a84938
# via -r requirements.in
sortedcontainers==2.4.0 \
--hash=sha256:25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88 \
--hash=sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0
Expand Down Expand Up @@ -1072,10 +1012,6 @@ vine==5.0.0 \
# amqp
# celery
# kombu
wand==0.6.7 \
--hash=sha256:5ba497e90741a05ebce4603b04ee843150c566482a753554da54dc57d8503bba \
--hash=sha256:ebc01bccc25dba68414ab55b482341f9ad2b197d7f49d5e724f339bbf63fb6db
# via -r requirements.in
warcio==1.7.4 \
--hash=sha256:ced1a162d76434d56abd81b37ac152821d1a11e1db835ead5d649f58068c2203 \
--hash=sha256:e1889dad9ecac654de5b0973247f335a55827b1b14a8203772d18c749143ea51
Expand Down

0 comments on commit e2cab71

Please sign in to comment.