Esempio n. 1
0
def _get_jokes(t):
    tp = TP()
    #try:
    if True:
      tp.fromstring(t.raw)
      if tp.parsed():
        return tp
    #except Exception as e:
    #  flash(e)
      return []
class TestTranscriptionParse(unittest.TestCase):
  def setUp(self):
    self.TP = TranscriptionParser()

  def test_01_load_transcription(self):
    self.TP.fromstring(TRANSCRIPTIONS[0])
    self.assertEquals(self.TP.parsed(), True)
    
  def test_02_load_transcription(self):
    self.TP.fromstring(TRANSCRIPTIONS[1])
    self.assertEquals(self.TP.parsed(), True)
  
  def test_03_load_garbage(self):
    self.TP.fromstring("This is a crappy <asdasdasdas><qweqweqweqwe <!--- failed thing that doesn't look like a set of jokes")
    self.assertEquals(self.TP.parsed(), False)
  
  def test_04_joke_count(self):
    self.TP.fromstring(TRANSCRIPTIONS[0])
    self.assertEquals(len(self.TP), 12)

  def test_05_joke_plain_text(self):
    self.TP.fromstring(TRANSCRIPTIONS[0])
    if self.TP.parsed():
      joke = self.TP.joke(2)
      self.assertEquals(joke.title.strip(" "), "AGREED.")
      joke = self.TP.joke(4)
      self.assertEquals(joke.title.strip(" "), "OVER ON BUSINESS.")
      joke = self.TP.joke(8)
      self.assertEquals(joke.title.strip(" "), "A 'STOCK' ACTOR.")
      joke = self.TP.joke(9)
      self.assertEquals(joke.title.strip(" "), "\"AND A GOOD JUDGE, TOO\".")
      joke = self.TP.joke(11)
      self.assertEquals(joke.title.strip(" "), "\"O'SHEA-MEFUL")
    else:
      raise Exception

  def test_06_iterate_over_jokes(self):
    self.TP.fromstring(TRANSCRIPTIONS[0])
    for idx, joke in enumerate(self.TP):
      pass
    self.assertEquals(idx, 11)
    
  def test_07_parse_book_jokes(self):
    self.TP.fromstring(TRANSCRIPTIONS[2])
    for idx, joke in enumerate(self.TP):
      pass
    self.assertEquals(idx, 0)
    
  def test_07_parse_book_jokes(self):
    self.TP.fromstring(TRANSCRIPTIONS[2])
    joke = self.TP.jokelist[0]
    self.assertEquals(joke.title.strip(" "), "A Paradox.")
    self.assertEquals(joke.attribution.strip(" "), "Unknown")
    self.assertEquals(joke.text.strip(" "), 'Two friends were discussing that interesting event in French history, the VendeanRevolt, and the character of the Vendeanhero,Henri Larochejaquelein. "What bravefellows those poor Vendean peasants were," said one. " Yes," enjoined his friend, "but yet the greater portion of themwere cow-herds."')
 def setUp(self):
   self.TP = TranscriptionParser()
Esempio n. 4
0
    if transc != None:
      print("Found existing Transcription record id {0} - reusing".format(transc.id))
      return transc
    else:
      t = Transcription(by_user = u, parsed = 1, biblio = b, pagestart = row['pagestart'], pageend = row['pageend'])
      dbsession.add(t)
      dbsession.commit()
      return t

  def get_page_position(tid, row):
    if page_list.get(tid) != None:
      page_list[tid] += 1
    else:
      page_list[tid] = 1

    return page_list[tid]
      

  for idx, item in enumerate(bookjokes):
    # get/create bib records
    t = create_or_get_Transcription(item)
    pos = get_page_position(t.id, item)
    TP = TranscriptionParser()
    TP.fromstring(item['joke'])
    joke = TP.jokelist[0]
    j = Joke(transcription = t, text = item['joke'], transcription_position = pos, title=joke.title, attribution=joke.attribution, joketext=joke.text)
    dbsession.add(j)
    dbsession.commit()
    print("Added Joke #{0} from {1}({2})".format(str(idx+1), item['title'][:30], item['year']))
  dbsession.close()