From a187045c0c3c6ead383219bdaaac9b54ede14e27 Mon Sep 17 00:00:00 2001 From: Jonathan Harker Date: Fri, 4 Jun 2010 05:01:37 +1200 Subject: [PATCH] URLs are now unique. --- lolbot.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/lolbot.py b/lolbot.py index a83bf69..5d629f2 100755 --- a/lolbot.py +++ b/lolbot.py @@ -78,7 +78,7 @@ class Url(SqlBase): id = Column(Integer, primary_key=True) timestamp = Column(DateTime) nickname = Column(String(20)) - url = Column(String(200)) + url = Column(String(200), unique=True) title = Column(Text) def __init__(self, nickname, url, title=None, timestamp=None): @@ -193,10 +193,18 @@ class LolBot(SingleServerIRCBot): return datetime.today().strftime("%Y-%m-%d %H:%M:%S") def save_url(self, nickname, url): - theurl = Url(nickname, url) db = self.get_session() - db.add(theurl) - db.commit() + if not db.query(Url).filter(Url.url == url).count(): + theurl = Url(nickname, url) + db.add(theurl) + db.commit() + else: + try: + theurl = db.query(Url).filter(Url.url == url).one() + except MultipleResultsFound, ex: + print ex #wtf + except NoResultsFound, ex: + print ex #wtf print theurl return theurl.title