Exemplo n.º 1
0
async def markov(ctx, id):
    url = "https://www.fimfiction.net/story/download/" + id + "/txt"
    markovgenerate = MarkovText()
    print('Getting story with id {0}...'.format(id))
    markovgenerate.data(requests.get(url).content.decode(encoding="UTF-8"))
    print('Story received.')
    response = markovgenerate(max_length=5000)
    print('Markov chain response generated.')
    await ctx.send(response)
Exemplo n.º 2
0
 def __init__(self, input_db=None, output_db=None):
     malayalam_scanner = RegExpScanner(expr=MALAYALAM_EXPR)
     malayalam_formatter = Formatter(replace=MALAYALAM_REPLACE)
     if input_db:
         storage = SqliteStorage(db=input_db)
     elif output_db:
         storage = SqliteStorage(db=output_db)
     self.markov = MarkovText(scanner=malayalam_scanner,
                              formatter=malayalam_formatter,
                              storage=storage)
Exemplo n.º 3
0
    async def markovgen(self, ctx):
        randomized_int = random.randint(1, 602)
        async with aiofiles.open(f"markov/markov ({randomized_int}).txt") as f:
            text = MarkovText()
            async for line in f:
                text.data(line, part=True)

        clean = await commands.clean_content(fix_channel_mentions=True
                                             ).convert(ctx, text())
        await ctx.send(clean)
Exemplo n.º 4
0
def markovchain_example():
    markov = MarkovText()

    with open('word_generation/definitions.txt') as fp:
        for line in fp:
            markov.data(line, part=True)
    markov.data('', part=False)

    print(markov(max_length=16) + '\n')
    print(markov(max_length=16, reply_to='sentence start',
                 reply_mode=ReplyMode.END) + '\n')
Exemplo n.º 5
0
def test_markov_text_generate(mocker, ss, data, args, res):
    fmt = mocker.patch('markovchain.text.MarkovText.format', wraps=list)
    markov = MarkovText(parser=Parser(state_sizes=[ss]),
                        scanner=Scanner(lambda x: x),
                        storage=JsonStorage(backward=True))
    markov.data(data)
    if isinstance(res, type):
        with pytest.raises(res):
            markov(*args)
    else:
        assert markov(*args) == res
        assert fmt.call_count == 1
Exemplo n.º 6
0
#Not my code, this was just to test the Markov Chain Python in-built library. Source of the setup and code goes to: http://dead-beef.tk/markovchain/
from markovchain import JsonStorage
from markovchain.text import MarkovText, ReplyMode

markov = MarkovText()

#with open('data_extracted_6.txt') as fp:
with open('NoPrefaceEmilyDickinsonBooks12242.txt') as fp:
    markov.data(fp.read())

with open('NoPrefaceEmilyDickinsonBooks12242.txt') as fp:
    for line in fp:
        markov.data(line, part=True)
markov.data('', part=False)

print(markov())
print(markov(max_length=40, reply_to='sentence start', reply_mode=ReplyMode.END))

markov.save('markov.json')

markov = MarkovText.from_file('markov.json')


#NOTE: Fix the whole Sentence Start. Shinanigan in the output - why is it even printing that out?
Exemplo n.º 7
0
def generate_markov(input_path):
    markov = MarkovText()
    with open(input_path) as fp:
        markov.data(fp.read())

    return markov
Exemplo n.º 8
0
def construct_model():
    return MarkovText(parser=Parser([3]))
Exemplo n.º 9
0
def test_markov_text_data(mocker):
    mock = mocker.patch('markovchain.Markov.data', return_value=1)
    markov = MarkovText()
    assert markov.data([1, 2], True) == 1
    mock.assert_called_once_with([1, 2], True)
Exemplo n.º 10
0
def test_markov_text_format(test, join_with):
    fmt = Mock(return_value=2)
    markov = MarkovText(formatter=fmt)
    markov.storage.state_separator = join_with
    assert markov.format(test) == 2
    fmt.assert_called_with(join_with.join(test))