[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@18.225.72.181: ~ $
#! /usr/bin/env python

class Markov:
    def __init__(self, histsize, choice):
        self.histsize = histsize
        self.choice = choice
        self.trans = {}

    def add(self, state, next):
        self.trans.setdefault(state, []).append(next)

    def put(self, seq):
        n = self.histsize
        add = self.add
        add(None, seq[:0])
        for i in range(len(seq)):
            add(seq[max(0, i-n):i], seq[i:i+1])
        add(seq[len(seq)-n:], None)

    def get(self):
        choice = self.choice
        trans = self.trans
        n = self.histsize
        seq = choice(trans[None])
        while True:
            subseq = seq[max(0, len(seq)-n):]
            options = trans[subseq]
            next = choice(options)
            if not next:
                break
            seq += next
        return seq


def test():
    import sys, random, getopt
    args = sys.argv[1:]
    try:
        opts, args = getopt.getopt(args, '0123456789cdwq')
    except getopt.error:
        print 'Usage: %s [-#] [-cddqw] [file] ...' % sys.argv[0]
        print 'Options:'
        print '-#: 1-digit history size (default 2)'
        print '-c: characters (default)'
        print '-w: words'
        print '-d: more debugging output'
        print '-q: no debugging output'
        print 'Input files (default stdin) are split in paragraphs'
        print 'separated blank lines and each paragraph is split'
        print 'in words by whitespace, then reconcatenated with'
        print 'exactly one space separating words.'
        print 'Output consists of paragraphs separated by blank'
        print 'lines, where lines are no longer than 72 characters.'
        sys.exit(2)
    histsize = 2
    do_words = False
    debug = 1
    for o, a in opts:
        if '-0' <= o <= '-9': histsize = int(o[1:])
        if o == '-c': do_words = False
        if o == '-d': debug += 1
        if o == '-q': debug = 0
        if o == '-w': do_words = True
    if not args:
        args = ['-']

    m = Markov(histsize, random.choice)
    try:
        for filename in args:
            if filename == '-':
                f = sys.stdin
                if f.isatty():
                    print 'Sorry, need stdin from file'
                    continue
            else:
                f = open(filename, 'r')
            if debug: print 'processing', filename, '...'
            text = f.read()
            f.close()
            paralist = text.split('\n\n')
            for para in paralist:
                if debug > 1: print 'feeding ...'
                words = para.split()
                if words:
                    if do_words:
                        data = tuple(words)
                    else:
                        data = ' '.join(words)
                    m.put(data)
    except KeyboardInterrupt:
        print 'Interrupted -- continue with data read so far'
    if not m.trans:
        print 'No valid input files'
        return
    if debug: print 'done.'

    if debug > 1:
        for key in m.trans.keys():
            if key is None or len(key) < histsize:
                print repr(key), m.trans[key]
        if histsize == 0: print repr(''), m.trans['']
        print
    while True:
        data = m.get()
        if do_words:
            words = data
        else:
            words = data.split()
        n = 0
        limit = 72
        for w in words:
            if n + len(w) > limit:
                print
                n = 0
            print w,
            n += len(w) + 1
        print
        print

if __name__ == "__main__":
    test()

Filemanager

Name Type Size Permission Actions
.beer.pyo.40009 File 703 B 0644
.eqfix.pyo.40009 File 4.52 KB 0644
.fact.pyo.40009 File 1.14 KB 0644
.find-uname.pyo.40009 File 1.47 KB 0644
.from.pyo.40009 File 749 B 0644
.lpwatch.pyo.40009 File 2.54 KB 0644
.makedir.pyo.40009 File 732 B 0644
.markov.pyo.40009 File 3.93 KB 0644
.mboxconvert.pyo.40009 File 3.17 KB 0644
.morse.pyo.40009 File 4.33 KB 0644
.newslist.pyo.40009 File 7.55 KB 0644
.pi.pyo.40009 File 921 B 0644
.pp.pyo.40009 File 2.28 KB 0644
.primes.pyo.40009 File 921 B 0644
.queens.pyo.40009 File 2.95 KB 0644
.script.pyo.40009 File 1.21 KB 0644
.unbirthday.pyo.40009 File 2.93 KB 0644
.update.pyo.40009 File 2.69 KB 0644
README File 1009 B 0644
beer.py File 459 B 0755
beer.pyc File 703 B 0644
beer.pyo File 703 B 0644
eqfix.py File 6.16 KB 0755
eqfix.pyc File 4.52 KB 0644
eqfix.pyo File 4.52 KB 0644
fact.py File 1.11 KB 0755
fact.pyc File 1.14 KB 0644
fact.pyo File 1.14 KB 0644
find-uname.py File 1.18 KB 0755
find-uname.pyc File 1.47 KB 0644
find-uname.pyo File 1.47 KB 0644
from.py File 874 B 0755
from.pyc File 749 B 0644
from.pyo File 749 B 0644
lpwatch.py File 2.77 KB 0755
lpwatch.pyc File 2.54 KB 0644
lpwatch.pyo File 2.54 KB 0644
makedir.py File 510 B 0755
makedir.pyc File 732 B 0644
makedir.pyo File 732 B 0644
markov.py File 3.51 KB 0755
markov.pyc File 3.93 KB 0644
markov.pyo File 3.93 KB 0644
mboxconvert.py File 3.11 KB 0755
mboxconvert.pyc File 3.17 KB 0644
mboxconvert.pyo File 3.17 KB 0644
morse.py File 4.21 KB 0755
morse.pyc File 4.33 KB 0644
morse.pyo File 4.33 KB 0644
newslist.doc File 2.36 KB 0755
newslist.py File 11.17 KB 0755
newslist.pyc File 7.55 KB 0644
newslist.pyo File 7.55 KB 0644
pi.py File 888 B 0755
pi.pyc File 921 B 0644
pi.pyo File 921 B 0644
pp.py File 3.73 KB 0755
pp.pyc File 2.28 KB 0644
pp.pyo File 2.28 KB 0644
primes.py File 603 B 0755
primes.pyc File 921 B 0644
primes.pyo File 921 B 0644
queens.py File 2.19 KB 0755
queens.pyc File 2.95 KB 0644
queens.pyo File 2.95 KB 0644
script.py File 962 B 0755
script.pyc File 1.21 KB 0644
script.pyo File 1.21 KB 0644
unbirthday.py File 3.07 KB 0755
unbirthday.pyc File 2.93 KB 0644
unbirthday.pyo File 2.93 KB 0644
update.py File 2.69 KB 0755
update.pyc File 2.69 KB 0644
update.pyo File 2.69 KB 0644