kaputtnik
Topic Opener
Joined: 2016-06-18, 13:48
Posts: 137
At home in WL-forums
|
Posted at: 2025-02-19, 13:37
https://github.com/widelands/widelands-website/pull/452
Top
Quote
|
|
|
janus
Joined: 2016-06-22, 20:26
Posts: 61
OS: Haiku R1/Beta3
Version: Build 42
Likes to be here
Location: some where over the rainbow
|
Posted at: 2025-02-19, 13:39
kaputtnik wrote:
ich habe da jetzt n django management commando von gemacht
wunderbar, schaue ich mir gegen 15 uhr an
Top
Quote
|
|
|
janus
Joined: 2016-06-22, 20:26
Posts: 61
OS: Haiku R1/Beta3
Version: Build 42
Likes to be here
Location: some where over the rainbow
|
Posted at: 2025-02-19, 16:30
> ./manage.py broken_images
Logging enabled
These files have no wlimage object:
/var/www/media_alpha/wlimages/WL_barbarian_tribe_1024x769middle2.png
/var/www/media_alpha/wlimages/shot0000.png
/var/www/media_alpha/wlimages/profile192.jpg
/var/www/media_alpha/wlimages/pc.png
/var/www/media_alpha/wlimages/Vertex-triangles.png
/var/www/media_alpha/wlimages/atlantean recruitment center_trans.png
/var/www/media_alpha/wlimages/water_lily_anim.gif
/var/www/media_alpha/wlimages/WL Menus schematical tables.tiff
/var/www/media_alpha/wlimages/widelands_by_night_mit_ganz_langem_namen.jpg
/var/www/media_alpha/wlimages/widelands_org_2.png
/var/www/media_alpha/wlimages/HomePage.png
/var/www/media_alpha/wlimages/coast.jpg
/var/www/media_alpha/wlimages/Fuß_Brücke.png
/var/www/media_alpha/wlimages/atlanteans_neu.png
/var/www/media_alpha/wlimages/WL_atlantean_tribe_1280x800middle.png
/var/www/media_alpha/wlimages/transifex-all-resources-1.png
/var/www/media_alpha/wlimages/WL_barbarian_tribe_1024x765middle2.png
/var/www/media_alpha/wlimages/strange__.__.png
/var/www/media_alpha/wlimages/widelands_by_night_01.jpg
These wlimage objects have no file:
flag_es.png
flag_fr.png
(wlwebsite)
Top
Quote
|
|
|
janus
Joined: 2016-06-22, 20:26
Posts: 61
OS: Haiku R1/Beta3
Version: Build 42
Likes to be here
Location: some where over the rainbow
|
Posted at: 2025-02-19, 16:48
> ./manage.py broken_images
Logging enabled
These files have no wlimage object:
/var/www/media_alpha/wlimages/WL_barbarian_tribe_1024x769middle2.png
/var/www/media_alpha/wlimages/shot0000.png
/var/www/media_alpha/wlimages/profile192.jpg
/var/www/media_alpha/wlimages/pc.png
/var/www/media_alpha/wlimages/Vertex-triangles.png
Used in article: BlueprintSoldiersNotFromWarehouse, ˇ-sowas
/var/www/media_alpha/wlimages/atlantean recruitment center_trans.png
/var/www/media_alpha/wlimages/water_lily_anim.gif
/var/www/media_alpha/wlimages/WL Menus schematical tables.tiff
/var/www/media_alpha/wlimages/widelands_by_night_mit_ganz_langem_namen.jpg
/var/www/media_alpha/wlimages/widelands_org_2.png
/var/www/media_alpha/wlimages/HomePage.png
/var/www/media_alpha/wlimages/coast.jpg
Used in article: images 2
/var/www/media_alpha/wlimages/Fuß_Brücke.png
/var/www/media_alpha/wlimages/atlanteans_neu.png
/var/www/media_alpha/wlimages/WL_atlantean_tribe_1280x800middle.png
/var/www/media_alpha/wlimages/transifex-all-resources-1.png
/var/www/media_alpha/wlimages/WL_barbarian_tribe_1024x765middle2.png
/var/www/media_alpha/wlimages/strange__.__.png
/var/www/media_alpha/wlimages/widelands_by_night_01.jpg
These wlimage objects have no file:
flag_es.png
flag_fr.png
(wlwebsite)
Top
Quote
|
|
|
janus
Joined: 2016-06-22, 20:26
Posts: 61
OS: Haiku R1/Beta3
Version: Build 42
Likes to be here
Location: some where over the rainbow
|
Posted at: Yesterday 11:15
hmmmm, django will nicht ganz wie ich das will schnief
> git diff
diff --git a/media/wlprofile/anonymous.png b/media/wlprofile/anonymous.png
deleted file mode 100644
index d68316e..0000000
Binary files a/media/wlprofile/anonymous.png and /dev/null differ
diff --git a/wlimages/management/commands/broken_images.py b/wlimages/management/commands/broken_images.py
index ea7b16b..78f16f9 100644
--- a/wlimages/management/commands/broken_images.py
+++ b/wlimages/management/commands/broken_images.py
@@ -76,6 +76,11 @@ class Command(BaseCommand):
except Exception as e:
errors.append(e)
else:
+ ask_delete = 0
+ while ask_delete > 0:
+ self.stdout.write(self.style.WARNING("Chose one: \n[1] Only Show\n[2] Ask Delete\n[3] Force Delete and Show"))
+ ask_delete = int(input("(1/2/3)?:"))
+ self.stdout.write(self.style.SUCCESS(f"Your Chose {ask_delete}"))
self.stdout.write(self.style.ERROR("These files have no wlimage object:"))
for f_path, articles in files_wo_wlimage_used.items():
self.stdout.write(f_path)
(wlwebsite)
Top
Quote
|
|
|
janus
Joined: 2016-06-22, 20:26
Posts: 61
OS: Haiku R1/Beta3
Version: Build 42
Likes to be here
Location: some where over the rainbow
|
Posted at: Yesterday 12:11
janus wrote:
hmmmm, django will nicht ganz wie ich das will schnief
einmal mit Profis, ein mal nur (das kommt davon wenn man mal eben schnell und so )
Top
Quote
|
|
|
janus
Joined: 2016-06-22, 20:26
Posts: 61
OS: Haiku R1/Beta3
Version: Build 42
Likes to be here
Location: some where over the rainbow
|
Posted at: Yesterday 14:44
> git diff
diff --git a/media/wlprofile/anonymous.png b/media/wlprofile/anonymous.png
deleted file mode 100644
index d68316e..0000000
Binary files a/media/wlprofile/anonymous.png and /dev/null differ
diff --git a/wlimages/management/commands/broken_images.py b/wlimages/management/commands/broken_images.py
index ea7b16b..b348891 100644
--- a/wlimages/management/commands/broken_images.py
+++ b/wlimages/management/commands/broken_images.py
@@ -76,6 +76,14 @@ class Command(BaseCommand):
except Exception as e:
errors.append(e)
else:
+ ask_delete = 0
+ while ask_delete == 0 or ask_delete > 3:
+ self.stdout.write(self.style.WARNING("Chose one: \n[1] Only Show\n[2] Ask Delete\n[3] Force Delete and Show"))
+ try:
+ ask_delete = int(input("(1/2/3)?: "))
+ except:
+ self.stdout.write(self.style.ERROR("Please use 1, 2 or 3"))
+ self.stdout.write(self.style.SUCCESS(f"Your Chose {ask_delete}"))
self.stdout.write(self.style.ERROR("These files have no wlimage object:"))
for f_path, articles in files_wo_wlimage_used.items():
self.stdout.write(f_path)
@@ -83,10 +91,40 @@ class Command(BaseCommand):
self.stdout.write(
" Used in article: {}".format(", ".join(articles))
)
+ if ask_delete == 2:
+ self.stdout.write(self.style.WARNING("You want to delete that file?"))
+ chose = input("Yes / No?: ").lower()
+ if chose == "yes" or chose == "y":
+ try:
+ os.remove(f_path)
+ except Exception as e:
+ self.stdout.write(self.style.ERROR(e))
+ elif ask_delete == 3:
+ self.stdout.write(self.style.WARNING(f"delete File: \"{f_path}\""))
+ try:
+ os.remove(f_path)
+ except Exception as e:
+ self.stdout.write(self.style.ERROR(e))
self.stdout.write(self.style.ERROR("These wlimage objects have no file:"))
for x in wlimage_wo_file:
self.stdout.write(x)
+ if ask_delete == 2:
+ self.stdout.write(self.style.WARNING("You want to delete that Objekt?"))
+ chose = input("Yes / No?: ").lower()
+ if chose == "yes" or chose == "y":
+ try:
+ obj = Image.objects.get(name=x)
+ obj.delete()
+ except Exception as e:
+ self.stdout.write(self.style.ERROR(e))
+ elif ask_delete == 3:
+ self.stdout.write(self.style.WARNING(f"delete objekt: \"{x}\""))
+ obj = Image.objects.get(name=x)
+ try:
+ obj.delete()
+ except Exception as e:
+ self.stdout.write(self.style.ERROR(e))
if errors:
message = ""
(wlwebsite)
Top
Quote
|
|
|
kaputtnik
Topic Opener
Joined: 2016-06-18, 13:48
Posts: 137
At home in WL-forums
|
Posted at: Yesterday 16:25
mag funktionieren
dann sollte man:
os.remove() und obj.delete() jeweils in eine eigene Funktion auslagern
- eine neue Option
--delete-interactive hinzufügen, und die Option --delete_all in --delete-auto oder so umbenennen
Wenn es funktioniert und du das haben möchtest kannst du es ja einfach comitten. Ich persönlich finde es überflüssig. Falls Angst besteht zu viel zu löschen kann man ja noch code für eine Sicherung der Bilddateien einbauen.
Für wlimage objekte könnte man noch außer dem Namen auch einen Link zum entsprechenden Eintrag im admin interface hinzufügen, braucht ja kein html
Was mir an meinem eigenen code noch nicht gefällt ist das bei --delete_all die Schleifen durchlaufen werden und ohne --delete_all die Schleifen in einem anderen codeblock ebenfalls durchlaufen werden
Edited: Yesterday 16:46
Top
Quote
|
|
|
kaputtnik
Topic Opener
Joined: 2016-06-18, 13:48
Posts: 137
At home in WL-forums
|
Posted at: Yesterday 16:28
achso, und ich werde die Datei in cleanup_images umbenennen. Entsprechend wird das management commando dann heißen.
Top
Quote
|
|
|
janus
Joined: 2016-06-22, 20:26
Posts: 61
OS: Haiku R1/Beta3
Version: Build 42
Likes to be here
Location: some where over the rainbow
|
Posted at: Yesterday 20:58
kaputtnik wrote:
dann sollte man:
os.remove() und obj.delete() jeweils in eine eigene Funktion auslagern
- eine neue Option
--delete-interactive hinzufügen, und die Option --delete_all in --delete-auto oder so umbenennen
jop, sollte man. ist mir bei schnellen zusammen frickeln auch in den sin gekommen da sich viele sachen wie .delete() und .remove(*) bzw einzelne abfragen wiederholen. ich tat erstmal nur zusammenschustern, der feinschliff kommt eh zum schluss
Top
Quote
|