Added 'Misc./terribly_old_scripts/filimg'
This commit is contained in:
parent
55d82f297c
commit
f338cb943b
98
Misc./terribly_old_scripts/filimg
Executable file
98
Misc./terribly_old_scripts/filimg
Executable file
@ -0,0 +1,98 @@
|
||||
#!/bin/python3
|
||||
|
||||
# Filter imageboard screenshots based on color profiles
|
||||
# Terribly broken; do not use
|
||||
|
||||
from sys import argv
|
||||
import re
|
||||
import colorthief
|
||||
|
||||
|
||||
|
||||
### Error checking: ###
|
||||
if(len(argv) < 2):
|
||||
usage()
|
||||
exit(1)
|
||||
|
||||
|
||||
|
||||
### Flags: ###
|
||||
IB = False
|
||||
q = 1
|
||||
|
||||
|
||||
|
||||
### Consts: ###
|
||||
RETURNVAL = 0
|
||||
filimg_color_ib_safe_bg_min = (230, 240, 250)
|
||||
filimg_color_ib_safe_bg_max = (240, 250, 256)
|
||||
filimg_color_ib_safe_fg_min = (210, 215, 235)
|
||||
filimg_color_ib_safe_fg_max = (220, 230, 245)
|
||||
filimg_color_ib_nsfw_bg_min = (250, 250, 230)
|
||||
filimg_color_ib_nsfw_bg_max = (256, 256, 245)
|
||||
filimg_color_ib_nsfw_fg_min = (240, 220, 210)
|
||||
filimg_color_ib_nsfw_fg_max = (250, 235, 220)
|
||||
|
||||
|
||||
|
||||
### Functions: ###
|
||||
def usage():
|
||||
print(" Filters the input and return the ones from Image Boards")
|
||||
print(" ibfind [file(s)]")
|
||||
print(" -h : print (*this) help message")
|
||||
print(" -q [int] : set ImageThief color reading quality,")
|
||||
print(" (the higher the more precise)")
|
||||
print(" -i : allow through images from Image Board")
|
||||
|
||||
def color_tuple_inrange(x, min_, max_):
|
||||
try:
|
||||
if (x[0] >= min_[0] and x[0] <= max_[0]) and\
|
||||
(x[1] >= min_[1] and x[1] <= max_[1]) and\
|
||||
(x[2] >= min_[2] and x[2] <= max_[2]):
|
||||
return True
|
||||
except:
|
||||
return False
|
||||
return False
|
||||
|
||||
|
||||
|
||||
### MAIN ###
|
||||
##### Handle Args #####
|
||||
i = 1
|
||||
while 1:
|
||||
if argv[i][0] == "-":
|
||||
if argv[i] == "-i":
|
||||
IB = True
|
||||
i = i + 1
|
||||
continue
|
||||
if argv[i] == "-h":
|
||||
RETURNVAL = 1
|
||||
if argv[i] == "-q":
|
||||
i = i + 1
|
||||
if re.match("\d+", argv[i]) != "":
|
||||
q = int(argv[i])
|
||||
i = i + 1
|
||||
continue
|
||||
RETURNVAL = 1
|
||||
usage()
|
||||
exit(RETURNVAL)
|
||||
else:
|
||||
break
|
||||
|
||||
##### Analize #####
|
||||
while i < (len(argv) - 1):
|
||||
try:
|
||||
color_thief = colorthief.ColorThief(argv[i])
|
||||
dominant_color = color_thief.get_color(quality=q)
|
||||
except:
|
||||
#print("Except file: " + argv[i])
|
||||
i = i + 1
|
||||
continue
|
||||
#print(argv[i] + ": " + str(dominant_color))
|
||||
if IB:
|
||||
if color_tuple_inrange(dominant_color, filimg_color_ib_safe_bg_min, filimg_color_ib_safe_bg_max) or\
|
||||
color_tuple_inrange(dominant_color, filimg_color_ib_safe_fg_min, filimg_color_ib_safe_fg_max) or\
|
||||
color_tuple_inrange(dominant_color, filimg_color_ib_nsfw_bg_min, filimg_color_ib_nsfw_bg_max) or\
|
||||
color_tuple_inrange(dominant_color, filimg_color_ib_nsfw_fg_min, filimg_color_ib_nsfw_fg_max):
|
||||
print(argv[i])
|
||||
i = i + 1
|
Loading…
x
Reference in New Issue
Block a user