#!/usr/bin/env python2 # This is -*- Python -*- import sys, string, time, random sys.path.append("../src") sys.path.append("../engine/build/lib.linux-i686-2.2") import gnoetics from template import * from fragment import * markov = gnoetics.markov_new() if not sys.argv[1:]: print "No texts specified." sys.exit(1) for filename in sys.argv[1:]: print "Loading", filename txt = gnoetics.text_new(filename) markov.add_text(txt) sonnet_stanza = Template( Fragment(is_start=1), Fragment(iambs=5, rhyme="A"), Fragment(is_break=1), Fragment(iambs=5, rhyme="B"), Fragment(is_break=1), Fragment(iambs=5, rhyme="A"), Fragment(is_break=1), Fragment(iambs=5, rhyme="B"), Fragment(is_stop=1) ) heroic_couplet = Template( Fragment(is_start=1), Fragment(iambs=5, rhyme="A"), Fragment(is_break=1), Fragment(iambs=5, rhyme="A"), Fragment(is_stop=1) ) t1 = time.time() count = 0 while 1: st1 = sonnet_stanza.solve(markov, max_metric_error=3) st2 = sonnet_stanza.solve(markov, max_metric_error=3) st3 = sonnet_stanza.solve(markov, max_metric_error=3) hc = heroic_couplet.solve(markov, max_metric_error=0) if 1: st1.pretty_print() st2.pretty_print() st3.pretty_print() hc.pretty_print() print print print else: count += 1 t2 = time.time() sps = count / (t2-t1) print "sonnets per second:", sps print " per minute:", sps*60 print " per hour:", sps*3600 print