Difference between revisions of "Template dictionary python"

From Second Life Wiki
Jump to navigation Jump to search
Line 3: Line 3:
<python>
<python>
# uses the client's message_template.msg file to create a dictionary of name and other relevant packet info...
# uses the client's message_template.msg file to create a dictionary of name and other relevant packet info...
# make sure that message_template.msg has had all leading spaces removed and replaced with the correct number of  tabs --I was exceedingly lazy when I wrote this and assumed a consisting tabbing scheme in the template


import re
import re

Revision as of 16:00, 10 April 2008

name this file makepacketdict.py in order to use it

<python>

  1. uses the client's message_template.msg file to create a dictionary of name and other relevant packet info...
  2. make sure that message_template.msg has had all leading spaces removed and replaced with the correct number of tabs --I was exceedingly lazy when I wrote this and assumed a consisting tabbing scheme in the template

import re


def makepacketdict():

   dict = {}
   for line in open("message_template.msg", ).xreadlines():
       results = re.match("^\t([^\t{}]+.+)",line)
       if results:
           aline = results.group(1)
           aline = aline.split()
           if aline[1] == "Fixed": 
               dict[(aline[1],int("0x"+aline[2][8:],16))] = (aline[0],aline[3], aline[4])
           else:
               dict[(aline[1],int(aline[2]))] = (aline[0],aline[3], aline[4])
   return dict

</python>