Exemple #1
0
def main():
    arguments = docopt(__doc__, version=__version__)

    quantity = int(arguments['--quantity'])

    chain = MarkovChain(
        min_length=int(arguments['--min']),
        max_length=int(arguments['--max']),
    )

    words = sort_words(arguments, list(islice(chain.unique_word(), quantity)))

    if arguments['--json']:
        output = {'quantity': quantity}
        output['names'] = words
        print(json.dumps(output))
    else:
        init(autoreset=True)

        for i, word in enumerate(words):
            if i == quantity:
                break

            line = '{:>3}. {:<12}'.format(i + 1, word)

            if arguments['--nocolour']:
                print(line)
            else:
                # alternate row colours
                colour = Fore.BLUE if i % 2 == 0 else Fore.CYAN
                print(Style.BRIGHT + colour + line)
def main():
    arguments = docopt(__doc__, version=__version__)

    quantity = int(arguments['--quantity'])

    chain = MarkovChain(
        min_length=int(arguments['--min']),
        max_length=int(arguments['--max']),
    )

    words = sort_words(arguments, list(islice(chain.unique_word(), quantity)))

    if arguments['--json']:
        output = {'quantity': quantity}
        output['names'] = words
        print(json.dumps(output))
    else:
        init(autoreset=True)

        for i, word in enumerate(words):
            if i == quantity:
                break

            line = '{:>3}. {:<12}'.format(i + 1, word)

            if arguments['--nocolour']:
                print(line)
            else:
                # alternate row colours
                colour = Fore.BLUE if i % 2 == 0 else Fore.CYAN
                print(Style.BRIGHT + colour + line)
 def test_reverse_length(self):
     self.assertEqual(
         sort_words({
             '--length': True,
             '--reverse': True
         }, self.words),
         ['marillion', 'viserys', 'tyrion', 'hodor', 'xaro'],
     )
 def test_reverse_alpha(self):
     self.assertEqual(
         sort_words({
             '--alphabetical': True,
             '--reverse': True
         }, self.words),
         ['xaro', 'viserys', 'tyrion', 'marillion', 'hodor'],
     )
 def test_length_sorting(self):
     self.assertEqual(
         sort_words({'--length': True}, self.words),
         ['xaro', 'hodor', 'tyrion', 'viserys', 'marillion'],
     )
 def test_alpha_sorting(self):
     self.assertEqual(
         sort_words({'--alphabetical': True}, self.words),
         ['hodor', 'marillion', 'tyrion', 'viserys', 'xaro'],
     )
 def test_no_sorting(self):
     self.assertEqual(sort_words({}, self.words), self.words)
 def test_reverse_length(self):
     self.assertEqual(
         sort_words({'--length': True, '--reverse': True}, self.words),
         ['marillion', 'viserys', 'tyrion', 'hodor', 'xaro'],
     )
 def test_reverse_alpha(self):
     self.assertEqual(
         sort_words({'--alphabetical': True, '--reverse': True}, self.words),
         ['xaro', 'viserys', 'tyrion', 'marillion', 'hodor'],
     )
 def test_length_sorting(self):
     self.assertEqual(
         sort_words({'--length': True}, self.words),
         ['xaro', 'hodor', 'tyrion', 'viserys', 'marillion'],
     )
 def test_alpha_sorting(self):
     self.assertEqual(
         sort_words({'--alphabetical': True}, self.words),
         ['hodor', 'marillion', 'tyrion', 'viserys', 'xaro'],
     )
 def test_no_sorting(self):
     self.assertEqual(sort_words({}, self.words), self.words)