Created
July 4, 2016 13:10
-
-
Save omerfarukz/1ac932aa709c8a1752e365802d173066 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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