diff --git a/gawa/gawa/settings.py b/gawa/gawa/settings.py index 363d28f..25546ad 100644 --- a/gawa/gawa/settings.py +++ b/gawa/gawa/settings.py @@ -146,8 +146,8 @@ USE_TZ = True # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/3.2/howto/static-files/ -STATIC_URL = '/static/' STATIC_ROOT = '/app/static' +STATIC_URL = '/static/' # something for compiling bootstrap @@ -295,6 +295,6 @@ LOGGING = { # this is where user uploaded files will go. # TODO change this for prod #MEDIA_ROOT = "/home/plex/Documents/code/python/gawa/media" -MEDIA_ROOT = "media/" -MEDIA_URL = "/app/media/" +MEDIA_ROOT = "/app/media" +MEDIA_URL = "/media/" FILE_UPLOAD_TEMP_DIR = "/tmp/gawa/upload" diff --git a/gawa/gawa/urls.py b/gawa/gawa/urls.py index 19ffa09..2acddd5 100644 --- a/gawa/gawa/urls.py +++ b/gawa/gawa/urls.py @@ -32,6 +32,7 @@ urlpatterns += i18n_patterns( # use my fancy error pages # better yet, don't let it come to that -handler400 = 'start.views.Error400' -handler404 = 'start.views.Error404' -handler500 = 'start.views.Error500' +# FIXME these break the server. something is wrong with them +#handler400 = 'start.views.Error400' +#handler404 = 'start.views.Error404' +#handler500 = 'start.views.Error500' diff --git a/gawa/media/img/links/favicons/favicon-22558_nlng2Cf.png b/gawa/media/img/links/favicons/favicon-22558_nlng2Cf.png deleted file mode 100644 index 6d0105c..0000000 Binary files a/gawa/media/img/links/favicons/favicon-22558_nlng2Cf.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-23100_T09axyX.png b/gawa/media/img/links/favicons/favicon-23100_T09axyX.png deleted file mode 100644 index 83b9a86..0000000 Binary files a/gawa/media/img/links/favicons/favicon-23100_T09axyX.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-26962.png b/gawa/media/img/links/favicons/favicon-26962.png deleted file mode 100644 index 6d0105c..0000000 Binary files a/gawa/media/img/links/favicons/favicon-26962.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-26962_VpqxCgD.png b/gawa/media/img/links/favicons/favicon-26962_VpqxCgD.png deleted file mode 100644 index 6d0105c..0000000 Binary files a/gawa/media/img/links/favicons/favicon-26962_VpqxCgD.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-28203.png b/gawa/media/img/links/favicons/favicon-28203.png deleted file mode 100644 index 6d0105c..0000000 Binary files a/gawa/media/img/links/favicons/favicon-28203.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-28203_RFw83jI.png b/gawa/media/img/links/favicons/favicon-28203_RFw83jI.png deleted file mode 100644 index 6d0105c..0000000 Binary files a/gawa/media/img/links/favicons/favicon-28203_RFw83jI.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-31235.png b/gawa/media/img/links/favicons/favicon-31235.png deleted file mode 100644 index 83b9a86..0000000 Binary files a/gawa/media/img/links/favicons/favicon-31235.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-31235_MCfHdfH.png b/gawa/media/img/links/favicons/favicon-31235_MCfHdfH.png deleted file mode 100644 index 83b9a86..0000000 Binary files a/gawa/media/img/links/favicons/favicon-31235_MCfHdfH.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-31594.png b/gawa/media/img/links/favicons/favicon-31594.png deleted file mode 100644 index 6d0105c..0000000 Binary files a/gawa/media/img/links/favicons/favicon-31594.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-31594_pem4zd8.png b/gawa/media/img/links/favicons/favicon-31594_pem4zd8.png deleted file mode 100644 index 6d0105c..0000000 Binary files a/gawa/media/img/links/favicons/favicon-31594_pem4zd8.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-35483_ptjrYXm.png b/gawa/media/img/links/favicons/favicon-35483_ptjrYXm.png deleted file mode 100644 index 8cb4334..0000000 Binary files a/gawa/media/img/links/favicons/favicon-35483_ptjrYXm.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-35496.png b/gawa/media/img/links/favicons/favicon-35496.png deleted file mode 100644 index 6d0105c..0000000 Binary files a/gawa/media/img/links/favicons/favicon-35496.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-35496_fp6Ii8D.png b/gawa/media/img/links/favicons/favicon-35496_fp6Ii8D.png deleted file mode 100644 index 6d0105c..0000000 Binary files a/gawa/media/img/links/favicons/favicon-35496_fp6Ii8D.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-35500.png b/gawa/media/img/links/favicons/favicon-35500.png deleted file mode 100644 index 83b9a86..0000000 Binary files a/gawa/media/img/links/favicons/favicon-35500.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-35500_KAYKsHp.png b/gawa/media/img/links/favicons/favicon-35500_KAYKsHp.png deleted file mode 100644 index 83b9a86..0000000 Binary files a/gawa/media/img/links/favicons/favicon-35500_KAYKsHp.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-39596.png b/gawa/media/img/links/favicons/favicon-39596.png deleted file mode 100644 index 83b9a86..0000000 Binary files a/gawa/media/img/links/favicons/favicon-39596.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-39596_ZXU2LiR.png b/gawa/media/img/links/favicons/favicon-39596_ZXU2LiR.png deleted file mode 100644 index 83b9a86..0000000 Binary files a/gawa/media/img/links/favicons/favicon-39596_ZXU2LiR.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-40440.png b/gawa/media/img/links/favicons/favicon-40440.png deleted file mode 100644 index 6d0105c..0000000 Binary files a/gawa/media/img/links/favicons/favicon-40440.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-42249.png b/gawa/media/img/links/favicons/favicon-42249.png deleted file mode 100644 index 6d0105c..0000000 Binary files a/gawa/media/img/links/favicons/favicon-42249.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-42249_HebLTem.png b/gawa/media/img/links/favicons/favicon-42249_HebLTem.png deleted file mode 100644 index 6d0105c..0000000 Binary files a/gawa/media/img/links/favicons/favicon-42249_HebLTem.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-42369.png b/gawa/media/img/links/favicons/favicon-42369.png deleted file mode 100644 index 83b9a86..0000000 Binary files a/gawa/media/img/links/favicons/favicon-42369.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-42369_HRD6l75.png b/gawa/media/img/links/favicons/favicon-42369_HRD6l75.png deleted file mode 100644 index 83b9a86..0000000 Binary files a/gawa/media/img/links/favicons/favicon-42369_HRD6l75.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-45502.png b/gawa/media/img/links/favicons/favicon-45502.png deleted file mode 100644 index 83b9a86..0000000 Binary files a/gawa/media/img/links/favicons/favicon-45502.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-52973.png b/gawa/media/img/links/favicons/favicon-52973.png deleted file mode 100644 index 8cb4334..0000000 Binary files a/gawa/media/img/links/favicons/favicon-52973.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-52973_BYEeReK.png b/gawa/media/img/links/favicons/favicon-52973_BYEeReK.png deleted file mode 100644 index 8cb4334..0000000 Binary files a/gawa/media/img/links/favicons/favicon-52973_BYEeReK.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-53284.png b/gawa/media/img/links/favicons/favicon-53284.png deleted file mode 100644 index 83b9a86..0000000 Binary files a/gawa/media/img/links/favicons/favicon-53284.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-53284_MLRCSPK.png b/gawa/media/img/links/favicons/favicon-53284_MLRCSPK.png deleted file mode 100644 index 83b9a86..0000000 Binary files a/gawa/media/img/links/favicons/favicon-53284_MLRCSPK.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-56750.png b/gawa/media/img/links/favicons/favicon-56750.png deleted file mode 100644 index 8cb4334..0000000 Binary files a/gawa/media/img/links/favicons/favicon-56750.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-56750_uiae5s7.png b/gawa/media/img/links/favicons/favicon-56750_uiae5s7.png deleted file mode 100644 index 8cb4334..0000000 Binary files a/gawa/media/img/links/favicons/favicon-56750_uiae5s7.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-56788.png b/gawa/media/img/links/favicons/favicon-56788.png deleted file mode 100644 index 8cb4334..0000000 Binary files a/gawa/media/img/links/favicons/favicon-56788.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-56954.png b/gawa/media/img/links/favicons/favicon-56954.png deleted file mode 100644 index 8cb4334..0000000 Binary files a/gawa/media/img/links/favicons/favicon-56954.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-56954_9dJvozc.png b/gawa/media/img/links/favicons/favicon-56954_9dJvozc.png deleted file mode 100644 index 8cb4334..0000000 Binary files a/gawa/media/img/links/favicons/favicon-56954_9dJvozc.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-57343.png b/gawa/media/img/links/favicons/favicon-57343.png deleted file mode 100644 index 83b9a86..0000000 Binary files a/gawa/media/img/links/favicons/favicon-57343.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-57343_tpkQh5a.png b/gawa/media/img/links/favicons/favicon-57343_tpkQh5a.png deleted file mode 100644 index 83b9a86..0000000 Binary files a/gawa/media/img/links/favicons/favicon-57343_tpkQh5a.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-59068.png b/gawa/media/img/links/favicons/favicon-59068.png deleted file mode 100644 index 8cb4334..0000000 Binary files a/gawa/media/img/links/favicons/favicon-59068.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-59068_7JoCTKP.png b/gawa/media/img/links/favicons/favicon-59068_7JoCTKP.png deleted file mode 100644 index 8cb4334..0000000 Binary files a/gawa/media/img/links/favicons/favicon-59068_7JoCTKP.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-59184.png b/gawa/media/img/links/favicons/favicon-59184.png deleted file mode 100644 index 8cb4334..0000000 Binary files a/gawa/media/img/links/favicons/favicon-59184.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-59184_1ypR2m9.png b/gawa/media/img/links/favicons/favicon-59184_1ypR2m9.png deleted file mode 100644 index 8cb4334..0000000 Binary files a/gawa/media/img/links/favicons/favicon-59184_1ypR2m9.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-59959.png b/gawa/media/img/links/favicons/favicon-59959.png deleted file mode 100644 index 6d0105c..0000000 Binary files a/gawa/media/img/links/favicons/favicon-59959.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-59959_dwMkkk7.png b/gawa/media/img/links/favicons/favicon-59959_dwMkkk7.png deleted file mode 100644 index 6d0105c..0000000 Binary files a/gawa/media/img/links/favicons/favicon-59959_dwMkkk7.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-35483.png b/gawa/media/img/links/favicons/favicon-60670.png similarity index 100% rename from gawa/media/img/links/favicons/favicon-35483.png rename to gawa/media/img/links/favicons/favicon-60670.png diff --git a/gawa/media/img/links/favicons/favicon-22558.png b/gawa/media/img/links/favicons/favicon-61296.png similarity index 100% rename from gawa/media/img/links/favicons/favicon-22558.png rename to gawa/media/img/links/favicons/favicon-61296.png diff --git a/gawa/media/img/links/favicons/favicon-23100.png b/gawa/media/img/links/favicons/favicon-8906.png similarity index 100% rename from gawa/media/img/links/favicons/favicon-23100.png rename to gawa/media/img/links/favicons/favicon-8906.png diff --git a/gawa/media/img/links/favicons/favicon-9205.png b/gawa/media/img/links/favicons/favicon-9205.png deleted file mode 100644 index 8cb4334..0000000 Binary files a/gawa/media/img/links/favicons/favicon-9205.png and /dev/null differ diff --git a/gawa/media/img/links/favicons/favicon-9205_53R3Ab9.png b/gawa/media/img/links/favicons/favicon-9205_53R3Ab9.png deleted file mode 100644 index 8cb4334..0000000 Binary files a/gawa/media/img/links/favicons/favicon-9205_53R3Ab9.png and /dev/null differ diff --git a/gawa/start/migrations/0009_alter_link_favicon.py b/gawa/start/migrations/0009_alter_link_favicon.py new file mode 100644 index 0000000..e9aecdf --- /dev/null +++ b/gawa/start/migrations/0009_alter_link_favicon.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.19 on 2023-06-05 23:01 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('start', '0008_link_status'), + ] + + operations = [ + migrations.AlterField( + model_name='link', + name='favicon', + field=models.ImageField(blank=True, null=True, upload_to='img/links/favicons'), + ), + ] diff --git a/gawa/start/models.py b/gawa/start/models.py index 80c1ce4..a377519 100644 --- a/gawa/start/models.py +++ b/gawa/start/models.py @@ -97,7 +97,7 @@ class Link(Searchable): # the actual link url = models.URLField(unique=True, null=False, primary_key=True) favicon_dir: str = "img/links/favicons" - favicon = models.ImageField(blank=True, upload_to=favicon_dir) + favicon = models.ImageField(blank=True, upload_to=favicon_dir, null=True) status = models.BooleanField(default=False) def __str__(self): @@ -110,6 +110,8 @@ class Link(Searchable): Implements the abstract method of Searchable Searches for a favicon in the urr, if one is found, it will be stored in MEDIA_ROOT + + TODO filepathings here suck and are too error prone """ logger.info(f"regenerating {self.__class__.__name__} object: {self}") self.suburl = f"/links#{self.title_en}" @@ -128,14 +130,23 @@ class Link(Searchable): else: response = requests.get(icons[0].url, stream=True) filename: str = f"favicon-{random.randint(0x1000, 0xffff)}.{icons[0].format}" - with open(f"{settings.MEDIA_ROOT}/{self.favicon_dir}/{filename}", 'wb') as image: - for chunk in response.iter_content(1024): - image.write(chunk) - logger.debug(image) - with open(f"{settings.MEDIA_ROOT}/{self.favicon_dir}/{filename}", 'rb') as image: - self.favicon.save(filename, File(image)) - logger.info(f"downloaded favicon for {self}") - self.status = True + try: + with open(f"/tmp/{filename}", 'wb') as image: + for chunk in response.iter_content(1024): + image.write(chunk) + logger.debug(image) + with open(f"/tmp/{filename}", 'rb') as image: + self.favicon.save(filename, File(image)) + logger.info(f"downloaded favicon for {self}") + self.status = True + + except FileNotFoundError as fe: + logger.error(f"cant write favicon to file for {self}: {fe}") + self.favicon = None + + except Exception as e: + logger.warn(f"Unexpected Exception while downloading {self}: {e.with_traceback(None)}") + self.favicon = None self.save()