Login Register






Simple Scrolling ASCII Art Banner filter_list
Author
Message
Simple Scrolling ASCII Art Banner #1
This is a little something special for the 500k posts of Sinister.ly!! You'll learn how to create a simple scrolling ASCII art banner in the Linux or Windows terminal.
So, for us, it will scroll the following text across the screen:
Quote:HAPPY 500K POSTS SINISTER.LY
But that text will be in huge ASCII art form.


If you're lazy like me, and just want the zip...
[attachment=291]

Below is the commented code that you can look through and understand.
Save it as banner.py
http://pastebin.com/0z8AMYYP
NOTE: I couldn't embed the main code directly here because of CloudFlare blocking me thinking I'm trying to mess with SQL...

Code:
#!/usr/bin/python # This is not my code, I got it from https://gist.github.com/jtriley/1108174 # "Get current terminal size on Linux, Mac, and Windows " import os import shlex import struct import platform import subprocess def get_terminal_size(): """ getTerminalSize() - get width and height of console - works on linux,os x,windows,cygwin(windows) originally retrieved from: http://stackoverflow.com/questions/566746/how-to-get-console-window-width-in-python """ current_os = platform.system() tuple_xy = None if current_os == 'Windows': tuple_xy = _get_terminal_size_windows() if tuple_xy is None: tuple_xy = _get_terminal_size_tput() # needed for window's python in cygwin's xterm! if current_os in ['Linux', 'Darwin'] or current_os.startswith('CYGWIN'): tuple_xy = _get_terminal_size_linux() if tuple_xy is None: print "default" tuple_xy = (80, 25) # default value return tuple_xy def _get_terminal_size_windows(): try: from ctypes import windll, create_string_buffer # stdin handle is -10 # stdout handle is -11 # stderr handle is -12 h = windll.kernel32.GetStdHandle(-12) csbi = create_string_buffer(22) res = windll.kernel32.GetConsoleScreenBufferInfo(h, csbi) if res: (bufx, bufy, curx, cury, wattr, left, top, right, bottom, maxx, maxy) = struct.unpack("hhhhHhhhhhh", csbi.raw) sizex = right - left + 1 sizey = bottom - top + 1 return sizex, sizey except: pass def _get_terminal_size_tput(): # get terminal width # src: http://stackoverflow.com/questions/263890/how-do-i-find-the-width-height-of-a-terminal-window try: cols = int(subprocess.check_call(shlex.split('tput cols'))) rows = int(subprocess.check_call(shlex.split('tput lines'))) return (cols, rows) except: pass def _get_terminal_size_linux(): def ioctl_GWINSZ(fd): try: import fcntl import termios cr = struct.unpack('hh', fcntl.ioctl(fd, termios.TIOCGWINSZ, '1234')) return cr except: pass cr = ioctl_GWINSZ(0) or ioctl_GWINSZ(1) or ioctl_GWINSZ(2) if not cr: try: fd = os.open(os.ctermid(), os.O_RDONLY) cr = ioctl_GWINSZ(fd) os.close(fd) except: pass if not cr: try: cr = (os.environ['LINES'], os.environ['COLUMNS']) except: return None return int(cr[1]), int(cr[0]) if __name__ == "__main__": sizex, sizey = get_terminal_size() print 'width =', sizex, 'height =', sizey

This is the ASCII art text I made.
Save it as ASCII_ART.txt in the same folder as banner.py and terminalsize.py
Code:
H H AAAAA PPPPPP PPPPPP Y Y 5555555 00000 00000 K K PPPPPP OOOOO SSSSSS TTTTTTT SSSSSS SSSSSS IIIIIII NN N IIIIIII SSSSSS TTTTTTT EEEEEEE RRRRRR L Y Y H H A A P P P P Y Y 5 0 0 0 0 0 0 K K P P O O S T S S I N N N I S T E R R L Y Y HHHHHHH AAAAAAA PPPPPP PPPPPP YYY 55555 0 0 0 0 0 0 KKK PPPPPP O O SSSSS T SSSSS SSSSS I N N N I SSSSS T EEEE RRRRRR L YYY H H A A P P YY 5 0 0 0 0 0 0 K KK P O O S T S S I N N N I S T E R R L YY H H A A P P Y 555555 00000 00000 K K P OOOOO SSSSSS T SSSSSS SSSSSS IIIIIII N NN IIIIIII SSSSSS T EEEEEEE R R @ LLLLLLL Y
NOTE: The ASCII art text looks like gibberish, but when you paste it into notepad, it will look right.


I know it's not perfect... but it's simple. I might make a v2 in the future with some new features and fixes.

[+] 2 users Like m0dem's post
Reply

RE: Simple Scrolling ASCII Art Banner #2
This is interesting. Unique tutorial.

Reply

RE: Simple Scrolling ASCII Art Banner #3
(03-12-2016, 01:15 AM)Primitive Wrote: This is interesting. Unique tutorial.

Well, thanks. Smile

Reply

RE: Simple Scrolling ASCII Art Banner #4
Don't thank me. You're the one who created the tutorial.

Reply

RE: Simple Scrolling ASCII Art Banner #5
(03-12-2016, 12:46 AM)m0dem Wrote: If you're lazy like me, and just want the zip...

Check the OP.

Reply