Created
May 9, 2017 21:49
-
-
Save eliasdorneles/1cda89090491e267d4bfbc6b141172b6 to your computer and use it in GitHub Desktop.
RC Logo -- Code Dojo for NGW
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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