linkchecker/util1.py
2000-06-24 15:17:21 +00:00

186 lines
5.2 KiB
Python

"""
Copyright (C) 2000 Bastian Kleineidam
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
"""
import sys,time,rotor,types
_curses = None
try:
from ncurses import curses
_curses = curses
except ImportError:
try:
import curses
_curses = curses
except ImportError:
pass
_bs = [
['\023\335\233\203\2323\016',
'\023\335\233\215\324\244\016',
'\023\335v\215.\244\377K',
'\023\245\304\304.\205\027\2730',
'\023\335\377{\232\207\372K'],
['\023\335\233q\005\016\016',
'\023\335\233\215\324\244\016',
'\023\335v\215.\244\377K',
'\023\245\304\304.\205\027\2730',
'\023\335\377{\232\207\372K'],
['\023\335\233J\232\233\016',
'\023\335\233\215\324\244\016',
'\023\335v\215.\244\377K',
'\023\245\304\304.\205\027\2730',
'\023\335\377{\232\207\372K']]
_ss = [
['\023\335\340\275\247\205',
'\023\335v\347\216\205',
'\023\245\304\304\363\244\016',
'\023\303\377J\005\354\016'],
['\023\335\340\275\247\205',
'\023\335v\370\216\205',
'\023\245\304\304\363\244\016',
'\023\303\377J\005\354\016'],
['\023\335\340\305\330\205',
'\023\335v\347\216\205',
'\023\245\304\304\363\244\016',
'\023\303\377J\005\354\016']]
_1 = '\001\347k\304}\203\265(Y\261\357\220\240lL\026\377\234lz\362w\372\015)\366\232p\267\220nL\3238%\343\310\362\037\331\022\355r\334\237$\203w\037C:^\240_\2351\217'
_2 = '\035\177\271uC\203\016\306h\2016OHT\352Gw\3770\202fl\013S\021\016\370'
_3 = '\236\177\246\304\351F\203(\005z\375\220\324)\201\266z*j\342\344l\323\0325\374:Z\313\212hD\256\334?a\034\274\315\004r\012a\334\237$\203w\037'
_4 = '\222\360P\277\330\300\246\3670\256\303\223\036\311['
def abbuzze():
if not _curses:
print "Sorry, this operating system can not wash clothes."
return
w = _curses.initscr() # initialize the curses library
config_curses()
my,mx = w.getmaxyx()
b = w.subwin(my-2, mx, 0, 0)
s = w.subwin(2, mx, my-2, 0)
if color:
s.color_set(1)
bs = nassmache(_bs)
ss = nassmache(_ss)
allahopp(s, nassmache(_1))
tadaaa(b, ss[0])
allahopp(s, nassmache(_2))
wischi(b, ss)
allahopp(s, nassmache(_3))
tadaaa(b, bs[0])
waschi(b, bs)
allahopp(s, nassmache(_4))
abspann(curses.newwin(8, 30, 0, 0))
w.erase()
w.refresh()
_curses.endwin()
def config_curses():
_curses.nonl() # tell curses not to do NL->CR/NL on output
_curses.noecho() # don't echo input
_curses.cbreak() # take input chars one at a time, no wait for \n
global color
if hasattr(_curses, "start_color"):
color = 1
_curses.start_color() # start the colour system
if _curses.has_colors():
if _curses.can_change_color():
pass
else:
_curses.init_pair(1, curses.COLOR_MAGENTA, curses.COLOR_BLACK)
_curses.init_pair(2, curses.COLOR_MAGENTA, curses.COLOR_BLACK)
_curses.init_pair(3, curses.COLOR_MAGENTA, curses.COLOR_BLACK)
_curses.init_pair(4, curses.COLOR_MAGENTA, curses.COLOR_BLACK)
else:
color = 0
def waddemol(f):
time.sleep(float(f))
def nassmache(henne):
if type(henne) == types.StringType:
return rotor.newrotor('ramdoesiger Malaker').decrypt(henne)
hase = []
for ei in henne:
hase.append(nassmache(ei))
return hase
def allahopp(w, s, y=2):
w.erase()
w.move(0,y)
for i in range(len(s)):
w.addch(ord(s[i]))
waddemol(0.14)
w.refresh()
waddemol(0.7)
def tadaaa(w, l):
w.erase()
my,mx = w.getmaxyx()
for p in range(mx/2):
hotzenplotz(w, my/3, p, l)
w.refresh()
waddemol(0.15)
def hotzenplotz(w,y,x,l):
for li in l:
w.move(y,x)
w.addstr(li)
y = y+1
def wischi(w, ls):
my,mx = w.getmaxyx()
f = 0.2
i=0
j=0
up = 1
w.erase()
while i<11:
i = i+1
j = j + (up and 1 or -1)
if j==-1: up = 1
elif j==1: up = 0
hotzenplotz(w,my/3,mx/2+j,ls[j+1])
w.refresh()
waddemol(f)
def waschi(w, l):
wischi(w,l)
def abspann(w):
w.erase()
w.border(0, 0, 0, 0, 0, 0, 0, 0)
w.refresh()
w1 = w.subwin(1, 20, 3, 4)
w2 = w.subwin(1, 20, 5, 4)
allahopp(w1, "Tux wishy washy", 0)
allahopp(w1, "Author:", 0)
allahopp(w2, "Bastian Kleineidam", 0)
allahopp(w1, "Featuring:", 0)
allahopp(w2, "Little Tux", 0)
allahopp(w2, "Big Tux", 0)
waddemol(1)
if __name__=='__main__':
try:
abbuzze()
except:
_curses.endwin()
print sys.exc_info()[:2]
print "Sorry, your washing machine is broken!"