Skip to content

Instantly share code, notes, and snippets.

@eliasdorneles
Created May 9, 2017 21:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save eliasdorneles/1cda89090491e267d4bfbc6b141172b6 to your computer and use it in GitHub Desktop.
Save eliasdorneles/1cda89090491e267d4bfbc6b141172b6 to your computer and use it in GitHub Desktop.
RC Logo -- Code Dojo for NGW
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import urwid
LOGO = '''
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMM MMM
MMM MMMMMMMMMMMMMMMMMMMMMMMMMMM MMM
MMM XXXMMMXXXXMMXXXXMMMMMMMMMMM MMM
MMM XXXMMMXXXXMMXXXXMMMMMMMMMMM MMM
MMM MMMMMMMMMMMMMMMMMMMMMMMMMMM MMM
MMM MMMXXXXXXXMMXXXXXXXMMMMMMMM MMM
MMM MMMXXXXXXXMMXXXXXXXMMMMMMMM MMM
MMM MMMMMMMMMMMMMMMMMMMMMMMMMMM MMM
MMM MMMMMMMMMMMMMMMMMMMMMMMMMMM MMM
MMM MMMMMMMMMMMMMMMMMMMMMMMMMMM MMM
MMM MMMMMMMMMMMMMMMMMMMMMMMMMMM MMM
MMM MMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMM
MMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMM MMM MMM MMM MMMMMMMMM
MMMMMMMMM MMM MMM MMM MMMMMMMMM
MMMMMM MMM MMM MMM MMMMMMMMMMMM
MMMMMM MMM MMM MMM MMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
'''
PALETTE = [
('green', 'dark green', ''),
('black', 'black', ''),
('none', '', 'yellow'),
]
def text_for(c):
if c == '\n':
return '\n'
if c == 'M':
return ('black', '█')
if c == 'X':
return ('green', '█')
return c
class RCLogo(urwid.WidgetWrap):
def __init__(self):
self.text = urwid.Text([text_for(c) for c in LOGO.strip()])
super(RCLogo, self).__init__(self.text)
def exit_on_q(key):
if key in ('q', 'Q', 'esc'):
raise urwid.ExitMainLoop()
return key
def main():
widget = RCLogo()
widget = urwid.Filler(RCLogo(), valign='middle')
widget = urwid.Padding(widget, align='center', left=6)
urwid.MainLoop(widget, PALETTE, unhandled_input=exit_on_q).run()
if __name__ == '__main__':
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment