X-Git-Url: https://git.ucc.asn.au/?p=uccvend-vendserver.git;a=blobdiff_plain;f=codesnippets%2Fhorizscroll.py;fp=codesnippets%2Fhorizscroll.py;h=5dca5299c3c6468dbbef78a80a69bbfd9b4cb089;hp=0000000000000000000000000000000000000000;hb=e89bbaedaa6bce8be525cec4d19ca1521b86d6ab;hpb=60850d87c4e40d87e4a7718517256fa4a1377583 diff --git a/codesnippets/horizscroll.py b/codesnippets/horizscroll.py new file mode 100644 index 0000000..5dca529 --- /dev/null +++ b/codesnippets/horizscroll.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python + +import string +import sys +import time + +class HorizScroll: + def __init__(self, text): + self.text = text + pass + + def expand(self, padding=None, paddingchar=" ", dir=None): + if len(self.text) <= 10: + return [text] + + if not padding: + padding = len(self.text) / 2 + + format = "%-" + str(padding) + "." + str(padding) + "s" + pad = string.replace(format % " "," ",paddingchar) + padtext = self.text + pad + expansion = [] + + for x in range(0,len(padtext)): + expansion.append(padtext[x:] + padtext[:x]) + + if dir == -1: + expansion.reverse() + + return expansion + +if __name__ == '__main__': + h = HorizScroll("hello cruel world") + eh = h.expand() + while 1: + for x in eh: + sys.stdout.write("\r") + print "%-10.10s" % x, + sys.stdout.flush() + time.sleep(0.1) +