horizontal scrolling snippet
authorMark Tearle <mtearle@ucc.gu.uwa.edu.au>
Sun, 27 Jun 2004 13:12:33 +0000 (13:12 +0000)
committerMark Tearle <mtearle@ucc.gu.uwa.edu.au>
Sun, 27 Jun 2004 13:12:33 +0000 (13:12 +0000)
codesnippets/horizscroll.py [new file with mode: 0644]

diff --git a/codesnippets/horizscroll.py b/codesnippets/horizscroll.py
new file mode 100644 (file)
index 0000000..5dca529
--- /dev/null
@@ -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)
+

UCC git Repository :: git.ucc.asn.au