def create_msg_adiumLog(self): # Logs of the format: # (00:07:25)fetchgreebledonx:Do you know how you replace spaces in a string with nothing? # Logs are passed to TXTMessageParser, which returns a list of dicts with # timestamp, message_type, message, and sender # message_type will be either message or sender, and for now we ignore status date = self.filename.split("(")[1].split(")")[0].replace("|", "-") try: f = open(self.filename, "r") data = f.read() f.close() p = TXTMessageParser() p.parse(data) for msg in [f for f in p.messages if f["message_type"] in ["message"]]: m = Message( msg["message"], self.account, self.contact, msg["sender"], self.service, date + " " + msg["timestamp"], ) m.insert(self.connection) except IOError: print "Error: %s" % self.filename
def create_msg_html(self): # Logs of the format: # <div class="receive"> # <span class="timestamp">12:59:43 PM</span> # <span class="sender">wordsaboutmehere: </span> # <pre class="message">What up?</pre></div> # Logs are passed through whole to HTMLMessageParser, which # returns a list of dicts with the various values # [{'timestamp': '7:58:47 PM', 'message': 'Hmmmm', # 'message_type': 'receive', 'sender': 'wordsaboutmehere'}] # The message_type will be send, receive, or status # For now we ignore status # Need to get the date from the filename # wordsaboutmehere (2006-11-20).html date = self.filename.split("(")[1].split(")")[0].replace("|", "-") try: f = open(self.filename, "r") data = f.read() f.close() p = HTMLMessageParser() p.feed(data) for msg in [f for f in p.messages if f["message_type"] in ["send", "receive"]]: m = Message( msg["message"], self.account, self.contact, msg["sender"], self.service, date + " " + msg["timestamp"], ) m.insert(self.connection) except IOError: print "Error: %s" % self.filename