master
parent
cf25017490
commit
9d3e9bd248
BIN
papiez.jpg
BIN
papiez.jpg
Binary file not shown.
Before Width: | Height: | Size: 132 KiB |
|
@ -1,28 +1,31 @@
|
|||
from papiezator.models import Pope, PerfectPope, decimal_places
|
||||
from PIL import Image
|
||||
from os import path
|
||||
import decimal
|
||||
PREFIX = "popes"
|
||||
|
||||
|
||||
class ENOPopeException(Exception): pass
|
||||
|
||||
|
||||
def select_best_pope(aspect_ratio):
|
||||
aspect_ratio = decimal.Decimal(
|
||||
round(aspect_ratio, decimal_places)
|
||||
)
|
||||
pp = PerfectPope.objects.filter(aspect_ratio=aspect_ratio)
|
||||
if pp:
|
||||
return pp[0].pope.path
|
||||
aspect_ratio = decimal.Decimal(aspect_ratio)
|
||||
lte = Pope.objects.filter(aspect_ratio__lte=aspect_ratio).order_by('-aspect_ratio')
|
||||
gte = Pope.objects.filter(aspect_ratio__gte=aspect_ratio).order_by('aspect_ratio')
|
||||
|
||||
if not gte:
|
||||
if not gte and not lte:
|
||||
raise ENOPopeException
|
||||
elif not gte:
|
||||
return lte[0].path
|
||||
elif not lte:
|
||||
return gte[0].path
|
||||
elif not gte and not lte:
|
||||
return "papiez.jpg"
|
||||
else:
|
||||
r_lte = abs(aspect_ratio/lte[0].aspect_ratio)
|
||||
r_gte = abs(aspect_ratio/gte[0].aspect_ratio)
|
||||
r_lte = abs(aspect_ratio - lte[0].aspect_ratio)
|
||||
r_gte = abs(aspect_ratio - gte[0].aspect_ratio)
|
||||
if r_lte >= r_gte:
|
||||
pp = PerfectPope(aspect_ratio=aspect_ratio, pope=gte[0]).save()
|
||||
return gte[0].path
|
||||
|
@ -30,11 +33,11 @@ def select_best_pope(aspect_ratio):
|
|||
pp = PerfectPope(aspect_ratio=aspect_ratio, pope=lte[0]).save()
|
||||
return lte[0].path
|
||||
|
||||
|
||||
class PopeMaster:
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
|
||||
def parse_popes(self):
|
||||
self.parse_pope("papiez.jpg")
|
||||
|
||||
|
|
Loading…
Reference in New Issue