コード例 #1
0
ファイル: utils.py プロジェクト: AlvaroMenduina/NCPA
def print_title(message='N C P A', font=None, random_font=False):

    nice_fonts_list = [
        'lean', 'slant', 'alligator', 'alligator2', 'c1______', 'colossal',
        'utopiab', 'mayhem_d'
    ]

    # Check the day of the week
    today = date.today()
    day = int(today.strftime("%d"))

    if font is not None:
        custom_fig = Figlet(font=font)
        print(custom_fig.renderText(message))

    else:

        if random_font is False:
            # Randomly select the font according to day
            i_font = day % len(nice_fonts_list) - 1
            custom_fig = Figlet(font=nice_fonts_list[i_font])
            print(custom_fig.renderText(message))
        else:
            custom_fig = Figlet()
            all_fonts = custom_fig.getFonts()
            i_font = np.random.choice(len(all_fonts))
            print(all_fonts[i_font])
            custom_fig = Figlet(font=all_fonts[i_font])
            print(custom_fig.renderText(message))
    return
コード例 #2
0
def main():
    parser = OptionParser(version=__version__)

    parser.add_option('-s',
                      '--show',
                      action='store_true',
                      default=False,
                      help='pause at each failure and compare output '
                      '(default: %default)')

    opts, args = parser.parse_args()

    f = Figlet()

    ok = 0
    fail = 0
    failed = []
    skip = ['runic']  # known bug..

    for font in f.getFonts():
        if font in skip: continue

        f.setFont(font=font)

        outputPyfiglet = f.renderText('foo')

        fontpath = os.path.join('pyfiglet', 'fonts', font)
        if os.path.isfile(fontpath + '.flf'):
            cmd = ('figlet', '-d', 'pyfiglet/fonts', '-f', font, 'foo')
        elif os.path.isfile(fontpath + '.tlf'):
            cmd = ('toilet', '-d', 'pyfiglet/fonts', '-f', font, 'foo')
        else:
            raise Exception('Missing font file: ' + fontpath)

        p = Popen(cmd, bufsize=1, stdout=PIPE)
        outputFiglet = p.communicate()[0].decode('ascii', 'replace')

        if outputPyfiglet == outputFiglet:
            print('[OK] %s' % font)
            ok += 1
            continue

        print('[FAIL] %s' % font)
        fail += 1
        failed.append(font)

        if opts.show is True:
            print('[PYTHON] *** %s\n\n' % font)
            dump(outputPyfiglet)
            print('[FIGLET] *** %s\n\n' % font)
            dump(outputFiglet)
            raw_input()

    print('OK = %d, FAIL = %d' % (ok, fail))
    if len(failed) > 0:
        print('FAILED = %s' % repr(failed))

    return 0
コード例 #3
0
ファイル: allPythonContent.py プロジェクト: Mondego/pyreco
def main():
    parser = OptionParser(version=__version__)

    parser.add_option('-s', '--show', action='store_true', default=False,
                      help='pause at each failure and compare output '
                           '(default: %default)')

    opts, args = parser.parse_args()

    f = Figlet()

    ok = 0
    fail = 0
    failed = []
    skip = ['runic'] # known bug..

    for font in f.getFonts():
        if font in skip: continue

        f.setFont(font=font)

        outputPyfiglet = f.renderText('foo')

        fontpath = os.path.join('pyfiglet', 'fonts', font)
        if os.path.isfile(fontpath + '.flf'):
            cmd = ('figlet', '-d', 'pyfiglet/fonts', '-f', font, 'foo')
        elif os.path.isfile(fontpath + '.tlf'):
            cmd = ('toilet', '-d', 'pyfiglet/fonts', '-f', font, 'foo')
        else:
            raise Exception('Missing font file: '+fontpath)

        p = Popen(cmd, bufsize=1,stdout=PIPE)
        outputFiglet = p.communicate()[0].decode('ascii', 'replace')

        if outputPyfiglet == outputFiglet:
            print('[OK] %s' % font)
            ok += 1
            continue

        print('[FAIL] %s' % font)
        fail += 1
        failed.append(font)

        if opts.show is True:
            print('[PYTHON] *** %s\n\n' % font)
            dump(outputPyfiglet)
            print('[FIGLET] *** %s\n\n' % font)
            dump(outputFiglet)
            raw_input()

    print('OK = %d, FAIL = %d' % (ok, fail))
    if len(failed) > 0:
        print('FAILED = %s' % repr(failed))

    return 0
コード例 #4
0
async def figlet(figletmsg):
    """ For .figlet module. """
    arg = figletmsg.pattern_match.group(1).lower()
    text = figletmsg.pattern_match.group(2).lower()
    if arg == "":
        arg = "slant"
    if arg not in Figlet.getFonts(Figlet()):
        return
    f = Figlet(font=arg)
    ft = f.renderText(text)
    await figletmsg.edit(f"`\n{ft}`")
コード例 #5
0
ファイル: ascii.py プロジェクト: docmeth02/rewired-bot
    def run(self, *args):
        """!ascii: Usage: !ascii (_FontName_) Your Text / !ascii ?Fonts
        Posts custom ascii text art into chat.
        ?Fonts will send you a list of fonts via pm.
        Use custom fonts like this: !ascii _starwars_ Woooo Ascii Art!
        ___"""
        font = 'slant'
        try:
            chatid = int(args[1][0])
        except:
            print "FAILED"
            return 0
        try:
            if args[0].upper() == "?FONTS":
                f = Figlet(font)
                fontlist = "Available fonts:\n"
                fontlist += formatList(f.getFonts())
                self.parent.librewired.sendPrivateMsg(int(args[1][1]), fontlist)
                return 0
        except:
            return "Usage: !ascii (%FontName%) Text / !ascii ?Fonts"

        param = regmatch(args[0], '_')
        if param:
            font = param
            text = regexclude(args[0], '_')
            if not text:
                return 0
        else:
            text = args[0]

        if not len(text):
            return "Usage: !ascii (%FontName%) Text / !ascii ?Fonts"
        asciitext = 0
        try:
            f = Figlet(font)
            asciitext = f.renderText(text)
        except FontNotFound:
            return "Unknown font: " + str(font)
        if asciitext:
            lines = asciitext.split('\n')
            sswired = chr(31).join(lines)
            for aline in lines:
                if len(aline.strip()):
                    self.parent.librewired.sendChat(chatid, chr(14) + aline)
            self.parent.librewired.sendChat(chatid, chr(129) + sswired)
        return 0
コード例 #6
0
async def figlet(figletmsg):
    """ For .figlet module. """
    if len(e.text.split(" ")) < 2:
        return

    splits = e.text.split(" ")
    arg = splits[1]
    tch = splits

    if arg not in Figlet.getFonts(Figlet()):
        arg = "slant"
    else:
        tch = splits[1:]

    f = Figlet(font=arg)
    ft =  f.renderText(' '.join(tch))
    await figletmsg.edit(f"`\n{ft}`")
コード例 #7
0
    async def ascii(self, ctx, *, param):
        """Print String to ascii art: <font> <text>"""
        f = Figlet()
        fonts = f.getFonts()
        attr = param.split(' ', 1)[0]
        if attr.lower() == "help":

            def chunks(s, n):
                """Produce `n`-character chunks from `s`."""
                for start in range(0, len(s), n):
                    yield s[start:start + n]

            fonts_string = ""
            fonts_chunks = []
            for font in fonts:
                fonts_string += "{},".format(font)
            for chunk in chunks(fonts_string, 900):
                fonts_chunks.append(chunk)
            embed = discord.Embed(
                description=
                "Usage: !ascii <fontname> <text>\nFont defaults to slant.\nAvailable fonts:"
            )
            for chunk in fonts_chunks:
                embed.add_field(name="-", value="``{}``".format(chunk))
            return await ctx.send(embed=embed)
        else:
            if attr.lower() in fonts:
                f = Figlet(font=attr.lower())
                try:
                    text = param.split(' ', 1)[1]
                except IndexError:
                    text = 'Empty'
            else:
                f = Figlet(font='slant')
                text = param
            asciistring = f.renderText(text)
            try:
                return await ctx.send("```{}```".format(asciistring))
            except discord.errors.HTTPException:
                return await ctx.send("Message too long")
コード例 #8
0
ファイル: server.py プロジェクト: benhe119/caldera
def welcome_msg(host, port):
    custom_fig = Figlet(font='contrast')
    new_font = random.choice(custom_fig.getFonts())
    custom_fig.setFont(font=new_font)
    print(custom_fig.renderText('caldera'))
    print('Enter help or go to https://%s:%s in a browser' % (host, port))
コード例 #9
0
ファイル: completion_helpers.py プロジェクト: rhroberts/yatta
def get_figlet_fonts(ctx, args, incomplete):
    f = Figlet(Config().get_user_value("formatting", "figlet_font"))
    fonts = sorted(f.getFonts())
    return [font for font in fonts if incomplete in font]
コード例 #10
0
ファイル: ascii.py プロジェクト: 777Danil777/dmascii
    /fonts?m=2 - Показать шрифты, которые работают с русским языком
    /imagerender?text=abc - Превратить текст в изображение
ChangeLog 1.2.0:
    Добавлена возможность быстрого просмотра отрендереного текста в дискорде
    Добавлены новые пути - /imagerender
ChangeLog 1.2.0.1
    Всё что возможно - сделано читаемым из дискорда'''


def imageBuilder(host, text):
    return f'http://{host}/imagerender?text={text}'.replace(' ', '+').replace(
        '<', '%3C').replace('>', '%3E')


ru = ['banner', 'georgia11', 'graceful', 'mnemonic']
fonts = fig.getFonts()
wrfonts = [x for x in fonts if x not in ru]
stats = {'rendered': {'success': 0, 'fail': 0}}


def imageRender(text: str):
    b = BytesIO()
    font = ImageFont.truetype('Roboto-Thin.ttf', 30)
    img = Image.new('RGB', (2000, 1000))
    draw = ImageDraw.Draw(img)
    draw.text((0, 0), text, fill=(0, 0, 0), font=font)
    W, H = font.getsize(text)
    W = 0
    for line in text.splitlines():
        tmp = font.getsize(line)
        if tmp[0] > W:
コード例 #11
0
ファイル: test.py プロジェクト: orangepole/pyfiglet
class Test(object):
    def __init__(self, opts):
        self.opts = opts
        self.ok = 0
        self.fail = 0
        self.failed = []
        self.oked = []
        self.skip = ['runic','pyramid','eftifont']  # known bug..
        # Toilet fonts that we don't handle identically, yet
        self.skip += ['emboss', 'emboss2', 'future', 'letter', 'pagga',
                      'smblock', 'smbraille', 'wideterm']
        self.f = Figlet()

    def outputUsingFigletorToilet(self, text, font, fontpath):
        if os.path.isfile(fontpath + '.flf'):
            cmd = ('figlet', '-d', 'pyfiglet/fonts', '-f', font, text)
        elif os.path.isfile(fontpath + '.tlf'):
            cmd = ('toilet', '-d', 'pyfiglet/fonts', '-f', font, text)
        else:
            raise Exception('Missing font file: '+fontpath)

        p = Popen(cmd, bufsize=4096, stdout=PIPE)
        outputFiglet = p.communicate()[0].decode('utf8')
        return outputFiglet

    def validate_font_output(self, font, outputFiglet, outputPyfiglet):
        if outputPyfiglet == outputFiglet:
            win('[OK] %s' % font)
            self.ok += 1
            self.oked.append(font)
            return

        fail('[FAIL] %s' % font)
        self.fail += 1
        self.failed.append(font)
        self.show_result(outputFiglet, outputPyfiglet, font)

    def show_result(self, outputFiglet, outputPyfiglet, font):
        if self.opts.show is True:
            print('[PYTHON] *** %s\n\n' % font)
            dump(outputPyfiglet)
            print('[FIGLET] *** %s\n\n' % font)
            dump(outputFiglet)
            raw_input()

    def check_font(self, text, font):
        if font in self.skip:
            return
        fontpath = os.path.join('pyfiglet', 'fonts', font)

        self.f.setFont(font=font)

        outputPyfiglet = self.f.renderText(text)
        outputFiglet = self.outputUsingFigletorToilet(text, font, fontpath)

        # Our TLF rendering isn't perfect, yet
        strict = os.path.isfile(fontpath + '.flf')
        if not strict:
            outputPyfiglet = outputPyfiglet.strip('\n')
            outputFiglet = outputFiglet.strip('\n')

        self.validate_font_output(font, outputFiglet, outputPyfiglet)


    def check_text(self, text):
        for font in self.f.getFonts():
            self.check_font(text, font)

    def check_result(self):
        print('OK = %d, FAIL = %d' % (self.ok, self.fail))
        if len(self.failed) > 0:
            print('FAILED = %s' % repr(self.failed))

        return self.failed, self.oked
コード例 #12
0
ファイル: test.py プロジェクト: yatere/ApkSecurityAnalysis
class Test(object):
    def __init__(self, opts):
        self.opts = opts
        self.ok = 0
        self.fail = 0
        self.failed = []
        self.oked = []
        self.skip = ['runic', 'pyramid', 'eftifont']  # known bug..
        self.f = Figlet()

    def outputUsingFigletorToilet(self, text, font, fontpath):
        if os.path.isfile(fontpath + '.flf'):
            cmd = ('figlet', '-d', 'pyfiglet/fonts', '-f', font, text)
        elif os.path.isfile(fontpath + '.tlf'):
            cmd = ('toilet', '-d', 'pyfiglet/fonts', '-f', font, text)
        else:
            raise Exception('Missing font file: ' + fontpath)

        p = Popen(cmd, bufsize=4096, stdout=PIPE)
        outputFiglet = p.communicate()[0].decode('utf8')
        return outputFiglet

    def validate_font_output(self, font, outputFiglet, outputPyfiglet):
        if outputPyfiglet == outputFiglet:
            win('[OK] %s' % font)
            self.ok += 1
            self.oked.append(font)
            return

        fail('[FAIL] %s' % font)
        self.fail += 1
        self.failed.append(font)
        self.show_result(outputFiglet, outputPyfiglet, font)

    def show_result(self, outputFiglet, outputPyfiglet, font):
        if self.opts.show is True:
            print('[PYTHON] *** %s\n\n' % font)
            dump(outputPyfiglet)
            print('[FIGLET] *** %s\n\n' % font)
            dump(outputFiglet)
            raw_input()

    def check_font(self, text, font):
        if font in self.skip:
            return
        fontpath = os.path.join('pyfiglet', 'fonts', font)

        self.f.setFont(font=font)

        outputPyfiglet = self.f.renderText(text)
        outputFiglet = self.outputUsingFigletorToilet(text, font, fontpath)

        # Our TLF rendering isn't perfect, yet
        strict = os.path.isfile(fontpath + '.flf')
        if not strict:
            outputPyfiglet = outputPyfiglet.strip('\n')
            outputFiglet = outputFiglet.strip('\n')

        self.validate_font_output(font, outputFiglet, outputPyfiglet)

    def check_text(self, text):
        for font in self.f.getFonts():
            self.check_font(text, font)

    def check_result(self):
        print('OK = %d, FAIL = %d' % (self.ok, self.fail))
        if len(self.failed) > 0:
            print('FAILED = %s' % repr(self.failed))

        return self.failed, self.oked
コード例 #13
0
ファイル: test.py プロジェクト: elightcap/blackmail
class Test(object):
    def __init__(self, opts):
        self.opts = opts
        self.ok = 0
        self.fail = 0
        self.failed = []
        self.oked = []
        # known bugs...
        self.skip = ['runic', 'pyramid', 'eftifont', 'DANC4', 'dietcola']
        # Toilet fonts that we don't handle identically, yet
        self.skip += [
            'emboss', 'emboss2', 'future', 'letter', 'pagga', 'smblock',
            'smbraille', 'wideterm'
        ]
        # fonts that throw Unicode decoding errors
        self.skip += ['dosrebel', 'konto', 'kontoslant']
        self.f = Figlet()

    def outputUsingFigletorToilet(self, text, font, fontpath):
        if os.path.isfile(fontpath + '.flf'):
            cmd = ('figlet', '-d', 'pyfiglet/fonts', '-f', font, text)
        elif os.path.isfile(fontpath + '.tlf'):
            cmd = ('toilet', '-d', 'pyfiglet/fonts', '-f', font, text)
        else:
            raise Exception('Missing font file: {}'.format(fontpath))

        p = Popen(cmd, bufsize=4096, stdout=PIPE)
        try:
            outputFiglet = p.communicate()[0].decode('utf8')
        except UnicodeDecodeError as e:
            print("Unicode Error handling font {}".format(font))
            outputFiglet = ''
        return outputFiglet

    def validate_font_output(self, font, outputFiglet, outputPyfiglet):
        if outputPyfiglet == outputFiglet:
            win('[OK] %s' % font)
            self.ok += 1
            self.oked.append(font)
            return

        fail('[FAIL] %s' % font)
        self.fail += 1
        self.failed.append(font)
        self.show_result(outputFiglet, outputPyfiglet, font)

    def show_result(self, outputFiglet, outputPyfiglet, font):
        if self.opts.show is True:
            print('[PYTHON] *** %s\n\n' % font)
            dump(outputPyfiglet)
            print('[FIGLET] *** %s\n\n' % font)
            dump(outputFiglet)
            raw_input()

    def check_font(self, text, font):
        if font in self.skip:
            return
        fontpath = os.path.join('pyfiglet', 'fonts', font)

        self.f.setFont(font=font)

        outputPyfiglet = self.f.renderText(text)
        outputFiglet = self.outputUsingFigletorToilet(text, font, fontpath)

        # Our TLF rendering isn't perfect, yet
        strict = os.path.isfile(fontpath + '.flf')
        if not strict:
            outputPyfiglet = outputPyfiglet.strip('\n')
            outputFiglet = outputFiglet.strip('\n')

        self.validate_font_output(font, outputFiglet, outputPyfiglet)

    def check_text(self, text):
        for font in self.f.getFonts():
            self.check_font(text, font)

    def check_result(self):
        print('OK = %d, FAIL = %d' % (self.ok, self.fail))
        if len(self.failed) > 0:
            print('FAILED = %s' % repr(self.failed))

        return self.failed, self.oked
コード例 #14
0
def show_welcome_msg():
    custom_fig = Figlet(font='contrast')
    new_font = random.choice(custom_fig.getFonts())
    custom_fig.setFont(font=new_font)
    print(custom_fig.renderText('caldera'))