Skip to content

Instantly share code, notes, and snippets.

@saltavenger
Created November 14, 2012 21:51
Show Gist options
  • Save saltavenger/4075079 to your computer and use it in GitHub Desktop.
Save saltavenger/4075079 to your computer and use it in GitHub Desktop.
triggers2
# Enter your code for WordTrigger, TitleTrigger,
class WordTrigger(Trigger):
def __init__(self, word):
self.word = word.lower()
def isWordIn(self, text):
newtext=[]
self.text = text.lower()
for c in string.punctuation:
self.text = self.text.replace(c, ' ').lower()
newText = self.text.split(' ')
return self.word in newText
# TODO: TitleTrigger
class TitleTrigger(WordTrigger):
def evaluate(self, story):
return self.isWordIn(story.getTitle())
# NotTrigger, AndTrigger, and OrTrigger in this box
# TODO: NotTrigger
class NotTrigger(Trigger):
def __init__(self, T):
self.T = T
def evaluate(self, story):
return not self.T.evaluate(story)
# TODO: AndTrigger
class AndTrigger(Trigger):
def __init__(self, t1, t2):
self.t1= t1
self.t2= t2
def evaluate(self, story):
if self.t1.evaluate(story) == True and self.t2.evaluate(story) == True:
return True
else:
return False
# TODO: OrTrigger
class OrTrigger(Trigger):
def __init__(self, trigger1, trigger2):
self.trigger1= trigger1
self.trigger2= trigger2
def evaluate(self, story):
return self.trigger1.evaluate(story) or self.trigger2.evaluate(story)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment