summaryrefslogtreecommitdiff
path: root/scripts/trollette.py
blob: aa073312f3164592d96feaef4dc90b5b0eb5d28d (plain)
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
#!/usr/bin/python

import random
import os
import time

def choose_image(imagepath, lastonefile):

    lastonefile = os.path.join(imagepath, lastonefile)
    dice = random.random()
    now = time.strftime("%H", time.localtime())

    # Do we remember the last image we sent out?
    if os.path.exists(lastonefile):

        #first we decide if the previous image will be used again
        if dice < 0.8:
            with open(lastonefile, "r") as f:
                lastone = f.readline()
                return lastone

    # There is a 10% chance that the light is on
    # This state is not saved in the lastonelog, so the chance, that this
    # image will be serverd next time again are reduced.
    # It also helps saving some energy.
    if dice > 0.9:
        newone = random.randint(0, len(onimages)-1)
        return os.path.join(imagepath, "on", onimages[newone])

    # Between 6 a.m. and 6 p.m. theres a good chance that the toilet is
    # quite bright even if noone is there
    elif now < 18 and now > 5:
        newone = random.randint(0, len(dayimages)-1)
        newimage = os.path.join(imagepath, "day", dayimages[newone])
        f = open(lastonefile, "w")
        f.write(newimage)
        f.close()
        return newimage

    # At night, this place is super-dark, or blue :-)
    else:
        newone = random.randint(0, len(onimages)-1)
        newimage = os.path.join(imagepath, "night", nightimages[newone])
        f = open(lastonefile, "w")
        f.write(newimage)
        f.close()
        return newimage

def read_images(imagepath):

    global dayimages
    global nightimages
    global onimages

    #images for different illumination settings are in on folder each
    dayimages = os.listdir(os.path.join(imagepath, "day"))
    nightimages = os.listdir(os.path.join(imagepath, "night"))
    onimages = os.listdir(os.path.join(imagepath, "on"))

if __name__ == "__main__":

    #Configuration stuff
    imagepath = "../template/klocam"
    lastonefile = "lastone.log"

    read_images(imagepath)
    newimage = choose_image(imagepath, lastonefile)
    print newimage