#!/usr/bin/env python3 from mmgen.cfg import Config from mmgen.util import msg,oneshot_warning,oneshot_warning_group cfg = Config() class foo(oneshot_warning): color = 'purple' message = 'foo variant {} selected' class bar(oneshot_warning): color = 'yellow' message = 'bar is experimental software' class wg(oneshot_warning_group): class foo: color = 'yellow' message = 'foo is experimental software. Proceed at your own risk' class bar: color = 'red' message = 'The bar command is {} and can break your {}!!!' class baz: color = 'orange' message = 'baz variant {} selected' for i in (1,2,3): from mmgen.crypto import Crypto msg('\npw') for k in ('A','B'): ret = Crypto.pwfile_reuse_warning(k).warning_shown assert ret == (i != 1), 'warning_shown incorrect' msg('wg1') wg('foo') msg('wg2') wg('bar',fmt_args=['dangerous','computer']) msg('wg3') wg('baz',div='alpha',fmt_args=['alpha']) msg('wg4') wg('baz',div='beta',fmt_args=['beta']) msg('w1') foo(div='alpha',fmt_args=['alpha']) msg('w2') foo(div='beta',fmt_args=['beta']) msg('w3') bar() msg('bottom')