#!/usr/local/bin/python

""" Grab a random grouphug string """

__author__ = 'Avleen Vig <work@silverwraith.com'

import HTMLParser
import re
import sys
import urllib

class MLStripper(HTMLParser.HTMLParser):
  def __init__(self):
    self.reset()
    self.fed = []
  def handle_data(self, d):
    self.fed.append(d)
  def get_fed_data(self):
    return ''.join(self.fed)

def main(confession='random'):
  url = 'http://grouphug.us/%s' % confession
  html = urllib.urlopen('http://grouphug.us/%s' % confession).read()
  pattern = '.*([\d]{9}).*<td class="conf-text">(.*?)</td>'
  confession_p = re.compile(pattern, re.DOTALL)
  confession_html = '%s: %s' % (confession_p.match(html).group(1),
      confession_p.match(html).group(2))
  stripper = MLStripper()
  stripper.feed(confession_html)
  confession_text = stripper.get_fed_data()
  formatted_confession_text = re.sub("([\n\t\s]+)", " ", confession_text)
  return formatted_confession_text

if __name__ == '__main__':
  try:
    sys.argv[1]
  except IndexError:
    hug = main()
  else:
    hug = main('confessions/%s' % sys.argv[1])
  print hug
