From b604a12bc31c3b2d865bee16cbc910bbbb691ff6 Mon Sep 17 00:00:00 2001 From: Julien Lengrand-Lambert Date: Fri, 4 Jan 2013 15:42:24 +0100 Subject: [PATCH] All current tweets have been processed. Sets counter to 1 when new Member is created Unicode problems temporarly solved, but some work to be done there. Also have to create something to store problematic tweets and try to correct them later (and search for patterns). --- twiderboard.db | Bin 113664 -> 149504 bytes twiderboard/counter.py | 11 ++++++----- twiderboard/datamodel.py | 10 +++++++--- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/twiderboard.db b/twiderboard.db index bd9d09cf48704d8f2b8f240fd4e486404b563801..426f468d62be5cb402b24a2f49e7ffc66e171a69 100644 GIT binary patch delta 30151 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 F|Njt5G=u;E delta 3443 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 WA!gPnj!0^uTr~fvwy2<2X8#3rw!vfo diff --git a/twiderboard/counter.py b/twiderboard/counter.py index 1f76bb5..804a8b4 100644 --- a/twiderboard/counter.py +++ b/twiderboard/counter.py @@ -64,18 +64,19 @@ class Counter(): # Checking if we already have such a member reslen = len(m_query.all()) if reslen == 1: - print "I found a member. I have to update it" + #print "I found a member. I have to update it" self.update(m_query.first(), tweet) elif reslen == 0: - print "I have to create a new member." + #print "I have to create a new member." self.create(tweet) else: - print "Error, can't get more than one member. Exiting" + #print "Error, can't get more than one member. Exiting" raise ElementException # FIXME : Take care self.flush() except ElementException: print "Exception on %s " % (tweet) + def update(self, member, tweet): """ Updates member values. @@ -101,7 +102,7 @@ class Counter(): author/hashtag couple. """ if (tweet.has_author() and tweet.has_hashtag()): - member = Member(tweet.author, tweet.hashtag) + member = Member(tweet.author, tweet.hashtag, 1) self.session.add(member) # sets tweet to crawled state @@ -148,4 +149,4 @@ class ElementException(Exception): c = Counter(engine_url) c.count() -c.member_show() \ No newline at end of file +#c.member_show() \ No newline at end of file diff --git a/twiderboard/datamodel.py b/twiderboard/datamodel.py index f51e556..257f996 100644 --- a/twiderboard/datamodel.py +++ b/twiderboard/datamodel.py @@ -30,12 +30,12 @@ class Member(Base): updated = Column(DateTime) # date of last count update count = Column(Integer) # Number of tweets for this couple author/hashtag - def __init__(self, author, hashtag): + def __init__(self, author, hashtag, count=0): self.author = author self.hashtag = hashtag self.created = datetime.datetime.now() self.updated = datetime.datetime.now() - self.count = 0 + self.count = count def increment(self): """ @@ -122,4 +122,8 @@ class Tweet(Base): return (len(self.hashtag) != 0 and self.hashtag is not None) def __repr__(self): - return "<%s('%s','%s', '%s')>" % (self.author.encode("UTF-8"), self.created, self.hashtag.encode("UTF-8"), self.text.encode("UTF-8")) + # FIXME: Solve this! + try: + return "<%s('%s','%s', '%s')>" % (self.author.encode("UTF-8"), self.created, self.hashtag.encode("UTF-8"), self.text.encode("UTF-8")) + except UnicodeDecodeError: + return "Contains Unicode!!"