awesomearms <the number of lines of awesome arms>
awesomearms -v
awesomearms --version
awesomearms --help
awesomearms animate
awesomearms 5
\ /
\ /
\ /
\ /
\ /
\o/
| #!/usr/bin/env python | |
| """Awesome Arms v1.0.0 | |
| Usage: awesomearms <the number of lines of awesome arms> | |
| Or: awesomearms -v | |
| Or: awesomearms --version | |
| Or: awesomearms --help | |
| If your want an animation: awesomearms animate | |
| Example: | |
| awesomearms 5 | |
| \ / | |
| \ / | |
| \ / | |
| \ / | |
| \ / | |
| \o/ | |
| """ | |
| import sys | |
| import os | |
| import time | |
| def get_console_size(): | |
| rows, columns = os.popen('stty size', 'r').read().split() | |
| rows = int(rows) | |
| columns = int(columns) | |
| return rows, columns | |
| def print_arms(lines_, centered=False): | |
| columns = get_console_size()[1] | |
| offset = (columns - ((lines_) * 2)) / 2 | |
| for i in xrange(lines_): | |
| print " " * (i + offset) + "\\" + " " * ((lines_ - i) * 2) + " /" | |
| print " " * (lines_ + offset) + "\o/" | |
| def exit(code=1): | |
| print """Usage: awesomearms <the number of lines of awesome arms> | |
| Or: awesomearms -v | |
| Or: awesomearms --version | |
| If your want an animation: awesomearms animate""" | |
| sys.exit(code) | |
| if len(sys.argv) != 2: | |
| print "Awesome Arms takes 1 arguments, not %d." % (len(sys.argv) - 1) | |
| exit() | |
| if sys.argv[1] in ["-v", "--version"]: | |
| print "You are speaking to Awesome Arms v1.0.0!" | |
| sys.exit() | |
| if sys.argv[1] == "--help": | |
| exit(0) | |
| if sys.argv[1] == "animate": | |
| lines = 0 | |
| dir = 1 | |
| while True: | |
| max_lines = get_console_size()[0] | |
| max_lines -= 2 | |
| os.system("tput reset") | |
| if lines >= max_lines: | |
| dir = -1 | |
| lines = max_lines | |
| if lines == 0: | |
| dir = 1 | |
| lines = 0 | |
| for i in xrange(max_lines - lines): | |
| print_arms(lines, True) | |
| lines += dir | |
| time.sleep(0.1) | |
| else: | |
| try: | |
| lines = int(sys.argv[1]) | |
| except: | |
| print "Sorry, I do not understand \"%s\"." % sys.argv[1] | |
| exit() | |
| print_arms(lines) |