mirror of
https://github.com/Hopiu/linkchecker.git
synced 2026-03-21 16:30:28 +00:00
git-svn-id: https://linkchecker.svn.sourceforge.net/svnroot/linkchecker/trunk/linkchecker@127 e7d03fd6-7b0d-0410-9947-9c21f3af8025
186 lines
5.2 KiB
Python
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!"
|