-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
80 lines (69 loc) · 2.06 KB
/
main.py
File metadata and controls
80 lines (69 loc) · 2.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
from res.Picture import Picture
from res.Slide import Slide
# FILENAME = "a_example"
FILENAME = "b_lovely_landscapes"
# FILENAME = "c_memorable_moments"
# FILENAME = "d_pet_pictures"
# FILENAME = "e_shiny_selfies"
print('RUNNING HASH CODE 2019')
pictures = []
# Load the pictures into picture classes
data = open("data/"+FILENAME+".txt", "r")
count = -1
for line in data:
if count != -1:
pictures.append(Picture(line, count))
count += 1
data.close()
print('EXTRACT VERTICALS')
# Extract verticals
slides = []
verticals = []
for pic in pictures:
if pic.isVertical():
verticals.append(pic)
else:
slides.append(Slide(pic))
# Sort verticals
print('SORT VERTICALS')
if len(verticals) > 0:
while len(verticals) > 2:
found = False
unique = verticals[0].uniqueTags(verticals[1])
for y in range(2, len(verticals) - 1):
if verticals[0].uniqueTags(verticals[y]) > unique:
slides.append(Slide(verticals[0], verticals[y]))
verticals.pop(0)
verticals.pop(y - 1)
found = True
break
if not found:
slides.append(Slide(verticals[0], verticals[1]))
verticals.pop(0)
verticals.pop(0)
slides.append(Slide(verticals[0], verticals[1]))
# Sort slides
print('SORT SLIDES')
sortedSlides = [slides[0]]
slides.pop(0)
while len(slides) > 0:
print(len(slides))
found = False
score = sortedSlides[-1].calculateScore(slides[0])
for y in range(1, len(slides) - 1):
if sortedSlides[-1].calculateScore(slides[y]) > score:
sortedSlides.append(slides[y])
slides.pop(y)
found = True
break
if not found:
sortedSlides.append(slides[0])
slides.pop(0)
# Output results
print('OUTPUT RESULTS')
resultFile = open("output/" + FILENAME + "-RESULT.txt", "w")
resultFile.write(str(len(sortedSlides)) + "\n")
for slide in sortedSlides:
resultFile.write(slide.getPictures() + "\n")
resultFile.close()
print('FINISHED RUNNING HASH CODE 2019')