Skip to content

Instantly share code, notes, and snippets.

@omerfarukz
Created July 4, 2016 13:10
Show Gist options
  • Select an option

  • Save omerfarukz/1ac932aa709c8a1752e365802d173066 to your computer and use it in GitHub Desktop.

Select an option

Save omerfarukz/1ac932aa709c8a1752e365802d173066 to your computer and use it in GitHub Desktop.
import os
import datetime
class Display(object):
def __init__(self):
self.__messageIndex = 0
self.__lighsOn = False
self.__messages = []
def AddMessage(self, text):
self.AddMessageWith(text, None, False)
def AddMessageWithDateExpired(self, text, dateExpired):
self.AddMessageWith(text, dateExpired, False)
def AddMessageWithHighPriority(self, text):
self.AddMessageWith(text, None, True)
def AddMessageWith(self, text, dateExpired, highPriority):
message = Message(text, dateExpired, highPriority)
self.__messages.append(message)
def UpdateCurrent(self):
self.Update(None)
def Update(self, direction):
os.system('cls' if os.name=='nt' else 'clear')
self.RemoveExpired()
if len(self.__messages) == 0:
self.ShowDefault()
else:
self.UpdateLight()
if direction is None:
self.ShowMessage()
elif direction == "next":
self.ShowNext()
elif direction == "prev":
self.ShowPrevious()
else:
self.ShowNext()
def DeleteCurrent(self):
if self.__messageIndex < len(self.__messages):
del self.__messages[self.__messageIndex]
if self.__messageIndex > 0:
self.__messageIndex = self.__messageIndex - 1
def ShowPrevious(self):
if self.__messageIndex == 0:
self.__messageIndex = len(self.__messages) - 1
else:
self.__messageIndex = self.__messageIndex - 1
self.ShowMessage()
def ShowNext(self):
self.__messageIndex = (self.__messageIndex + 1) % len(self.__messages)
self.ShowMessage()
def ShowMessage(self):
message = self.__messages[self.__messageIndex]
print str(self.__messageIndex + 1) + "/" + str(len(self.__messages))
print message.DateCreated
print message.Text
def ShowDefault(self):
print "Date&Time: " + str(datetime.datetime.now())
def UpdateLight(self):
i = 0
tmpLighsOn = False
if self.__lighsOn:
tmpLighsOn = True
else:
while i < len(self.__messages):
if self.__messages[i].HighPriority:
tmpLighsOn = not tmpLighsOn
break
i += 1
if tmpLighsOn:
print "!!!!!"
else:
print "_____"
def RemoveExpired(self):
i = 0
while i < len(self.__messages):
if self.__messages[i].DateExpired is not None and self.__messages[i].DateExpired < datetime.datetime.now():
del self.__messages[i]
i = i - 1
i += 1
class Message(object):
def __init__(self, text, dateExpired, highPriority):
self.Text = text
self.DateExpired = dateExpired
self.HighPriority = highPriority
self.DateCreated = datetime.datetime.now()
i = 0
d = Display()
while 1 == 1 :
input = raw_input()
if input == "d":
d.DeleteCurrent()
d.Update("")
elif input == "a":
i = i + 10
d.AddMessage(str(i))
d.Update("")
elif input == "h":
i = i + 10
d.AddMessageWithHighPriority("High " + str(i))
d.Update("")
elif input == "e":
i = i + 10
d.AddMessageWithDateExpired("Expired after 5 seconds", datetime.datetime.now() + datetime.timedelta(seconds=5))
d.Update("")
elif input == "x":
i = i + 10
d.AddMessageWith("High priority and Expired in ten seconds", datetime.datetime.now() + datetime.timedelta(seconds=10), True)
d.Update("")
elif input == "n":
d.Update("next")
elif input == "p":
d.Update("prev")
else:
d.UpdateCurrent()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment