These links are ordered by their time last-updated -- rightmost is newest.
Show code - CODE/python/color_parser.py

import string

#'%R' => '\026'
#'%U' => '\037'
#'%B' => '\002'
#'%C' => '\003'
#'%O' => '\017'

color = '\03%s'
reverse = '\026'
restore = '\017'
bold = '\002'
underline = '\036'
feep = '\a'

class color_parser:
        '''Class for parsing MUD color codes'''
        def __init__( self ):
                self.token = None

        def fix_colors( self, text ):
                buff = ''
                size = len(text)
                text = text + "  "

                for num in range(size):

                        if self.token == '%%':
                                self.token = None
                        elif self.token == '%C':
                                buff = buff + color % text[num]
                                self.token = "pass"
                        elif self.token == '%B':
                                buff = buff + bold
                                self.token = "pass"
                        elif self.token == '%U':
				buff = buff + underline
                                self.token = "pass"
                        elif self.token == '%R':
                                buff = buff + reverse
                                self.token = "pass"
			elif self.token == '%O':
				buff = buff + restore
				self.token = "pass"

                        if text[num] == "%" and self.token == None:
                                self.token = '%'
                        elif text[num] == '%' and self.token == '%':  # Convert to a single %
                                self.token = '%%'
                        elif text[num] == 'C' and self.token == '%':  # Color
                                self.token = '%C'
                        elif text[num] == 'B' and self.token == '%':  # Bold
                                self.token = '%B'
                        elif text[num] == 'U' and self.token == "%":  # Underline
                                self.token = '%U'
                        elif text[num] == 'R' and self.token == '%':  # Reverse
				self.token = '%R'
			elif text[num] == 'O' and self.token == '%':  # Restore attributes
                                self.token = '%O'

                        if self.token == None:
                                buff = buff + text[num]
                        if self.token == "pass":
                                self.token = None
                return buff


This web page and related elements are for informative purposes only and thus the use of any of this information is at your risk! In accordance with Title 17 U.S.C. Section 107 and The Berne Convention on Literary and Artistic Works, Article 10, news clippings on this site are made available without profit for research and educational purposes. Any trademarks, trade names, service marks, or service names used on this site are the property of their respective owners.