Hi Everyone,

Thanks for all of your patience on this.

I finally got it to work.


Here is the completed test code showing what is going on.

Not cleaned up yet but it works for proof-of-concept purposes.



#!/usr/bin/python

import re,base64

# Evaluate captured character as hex
def ret_hex(value):
        return '%'+base64.b16encode(value)

# Evaluate the value of whatever was matched
def enc_hex_match(match):
        return ret_hex(match.group(0))

def ret_ascii(value):
        return base64.b16decode(value)

# Evaluate the value of whatever was matched
def enc_ascii_match(match):

        arg=match.group()

        #remove the artifically inserted % sign
        arg=arg[1:]

        # decode the result
        return ret_ascii(arg)

def file_encoder():
        # Read each line, pass any matches on line to function for
        # line in file.readlines():
        output=open(r'e:\pycode\sigh.new','wb')
        for line in open(r'e:\pycode\sigh.txt','rb'):
                 output.write( (re.sub('[^\w\s]',enc_hex_match, line)) )
        output.close()


def file_decoder():
        # Read each line, pass any matches on line to function for
        # line in file.readlines():

        output=open(r'e:\pycode\sigh.new2','wb')
        for line in open(r'e:\pycode\sigh.new','rb'):
                output.write(re.sub('%[0-9A-F][0-9A-F]',enc_ascii_match, line))
        output.close()




file_encoder()

file_decoder()
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to