Esempio n. 1
0
 def test_sonnets(self):
     self.assertTrue(
         poetrytools.guess_form(self.open_poem('sonnet.txt')) ==
         'Shakespearean sonnet')
     self.assertTrue(
         poetrytools.guess_form(self.open_poem('brokensonnet.txt')) ==
         'sonnet with trochaic pentameter or irregular meter')
Esempio n. 2
0
 def test_sonnets(self):
     self.assertTrue(
         poetrytools.guess_form(self.open_poem('sonnet.txt')) ==
         'Shakespearean sonnet')
     self.assertTrue(
         poetrytools.guess_form(self.open_poem('brokensonnet.txt')) ==
         'sonnet with unusual meter')
Esempio n. 3
0
def analysis(x):
    print(len(temp_form))
    print(type(x))
    poem = poetrytools.tokenize(x)
    temp_form.append(poetrytools.guess_form(poem, verbose=False))
    temp_metre.append(poetrytools.guess_metre(poem)[3])
    temp_rhyme.append(poetrytools.guess_rhyme_type(poem)[1])
    temp_stanza_type.append(poetrytools.guess_stanza_type(poem)[1])
Esempio n. 4
0
def add_poem_form(poems_file_loc):

    form = {}

    with open(poems_file_loc, 'rb') as f:
        poems = cPickle.load(f)

    print "nbr of poems: %d" % count_poems(poems)
    iter = 0
    for author, author_dct in poems.iteritems():
        for poem_title, poem in author_dct.iteritems():
            try:
                form[poem_title] = poetrytools.guess_form(poem)
            except:
                pass
            iter += 1
            if iter % 100 == 0:
                print "%s: processed %d poems" % (datetime.now(), iter)

    return form
Esempio n. 5
0
 def test_rondeau(self):
     self.assertTrue(
         poetrytools.guess_form(self.open_poem('rondeau.txt')) == 'rondeau')
Esempio n. 6
0
 def test_heroiccouplets(self):
     self.assertTrue(
         poetrytools.guess_form(self.open_poem('heroiccouplets.txt')) ==
         'heroic couplets')
Esempio n. 7
0
 def test_ottavarima(self):
     self.assertTrue(
         poetrytools.guess_form(self.open_poem('ottavarima.txt')) ==
         'ottava rima')
Esempio n. 8
0
 def test_cinquain(self):
     self.assertTrue(
         poetrytools.guess_form(self.open_poem('cinquain.txt')) ==
         'cinquain')
Esempio n. 9
0
 def test_blankverse(self):
     self.assertTrue(
         poetrytools.guess_form(self.open_poem('blankverse.txt')) ==
         'blank verse')
Esempio n. 10
0
 def test_haiku(self):
     self.assertTrue(
         poetrytools.guess_form(self.open_poem('haiku.txt')) == 'haiku')
     self.assertTrue(
         poetrytools.guess_form(self.open_poem('tanka.txt')) == 'tanka')
Esempio n. 11
0
if TEST:
    OUTPUT = r"../data/test/input.txt"
    VOCAB = 300
    SUFFIX = ""    
else:
    OUTPUT = r"../data/large/gutenberg.txt"
    VOCAB = 40000
    SUFFIX = "NEW"    

def write_out(text, f):        
    # Write out
    with open(f, "w") as fobj:
        fobj.write(text)


def read_in(ff):
    with open(ff, "r") as fobj:
        return fobj.read()


# Prune vocab for most common words
text = read_in(OUTPUT)

#write_out(text, out)
poem = poetrytools.tokenize(text) # need to tokenize the poem first
print(poem)
x = poetrytools.scanscion(poem)
print(x)

poetrytools.guess_form(poem, verbose=True)