Welcome, guest | Sign In | My Account | Store | Cart
'''code_module.py

The purpose of this module
is to provide functions
for the coding of strings.

This is a level 1 module.'''


#==================================
# Level 1 Functions: String To Code
#==================================

def string_to_number(string):
   
'''string_to_number(string)

    Create a starting number.
    Tranlate the string into the number.
    Return the number.'''

    number
= 1
   
for character in string:
        number
*= 256
        number
+= ord(character)
   
return number

def number_to_code(number):
   
'''number_to_code(long)

    Create a starting string.
    Translate the number into the code.
    Return the string.'''

    code
= str()
   
while number != 0:
        code
= chr(number % 255 + 1) + code
        number
/= 255
   
return code

#==================================
# Level 1 Functions: Code To String
#==================================

def code_to_number(code):
   
'''code_to_number(string)

    Create a starting number.
    Tranlate the code into the number.
    Return the number.'''

    number
= 0
   
for character in code:
        number
*= 255
        number
+= ord(character) - 1
   
return number

def number_to_string(number):
   
'''number_to_string(long)

    Create a starting string.
    Translate the number into the string.
    Return the string.'''

   
string = str()
   
while number > 1:
       
string = chr(number % 256) + string
        number
/= 256
   
return string

#===============================
# Level 2 Functions: To And From
#===============================

def string_to_code(string):
   
'''string_to_code(string)

    Returns a string converted to code.'''

   
return number_to_code(string_to_number(string))

def code_to_string(code):
   
'''code_to_string(string)

    Returns code converted to a string.'''

   
return number_to_string(code_to_number(code))

#================
# CGI: Print File
#================

if __name__ == '__main__':
   
from sys import argv
   
print 'Content-type: text/plain'
   
print
   
print file(argv[0]).read()

History