Added documentation
This commit is contained in:
@@ -3,6 +3,7 @@ import sys
|
|||||||
import imp
|
import imp
|
||||||
|
|
||||||
def to_i(num, b):
|
def to_i(num, b):
|
||||||
|
"""String to integer."""
|
||||||
n = 0
|
n = 0
|
||||||
for d in num:
|
for d in num:
|
||||||
if int(d) > b:
|
if int(d) > b:
|
||||||
@@ -11,11 +12,13 @@ def to_i(num, b):
|
|||||||
return n
|
return n
|
||||||
|
|
||||||
def to_c(digit):
|
def to_c(digit):
|
||||||
|
"""Integer to char."""
|
||||||
if digit < 10:
|
if digit < 10:
|
||||||
return str(digit)
|
return str(digit)
|
||||||
return chr(ord('a') + digit - 10)
|
return chr(ord('a') + digit - 10)
|
||||||
|
|
||||||
def to_s(number, base):
|
def to_s(number, base):
|
||||||
|
"""Integer to string."""
|
||||||
if number < 0:
|
if number < 0:
|
||||||
return '-' + to_s(-number, base)
|
return '-' + to_s(-number, base)
|
||||||
(d, m) = divmod(number, base)
|
(d, m) = divmod(number, base)
|
||||||
@@ -30,6 +33,7 @@ def chunks(li, n):
|
|||||||
return r
|
return r
|
||||||
|
|
||||||
def __script__(src):
|
def __script__(src):
|
||||||
|
"""For a documentation, consult the README."""
|
||||||
code = []
|
code = []
|
||||||
src = [list(to_s(ord(c), 6).rjust(3, "0")) for c in src]
|
src = [list(to_s(ord(c), 6).rjust(3, "0")) for c in src]
|
||||||
src = [int(x, base=6)+1 for sub in src for x in sub]
|
src = [int(x, base=6)+1 for sub in src for x in sub]
|
||||||
@@ -48,6 +52,7 @@ def __py_script__(src):
|
|||||||
return "import _\n\n" + __script__(src)
|
return "import _\n\n" + __script__(src)
|
||||||
|
|
||||||
def to_be_exec(name):
|
def to_be_exec(name):
|
||||||
|
"""Decodes _ to a fragment."""
|
||||||
global code
|
global code
|
||||||
global fragment
|
global fragment
|
||||||
code.extend(fragment)
|
code.extend(fragment)
|
||||||
@@ -58,6 +63,7 @@ def to_be_exec(name):
|
|||||||
code = []
|
code = []
|
||||||
fragment = []
|
fragment = []
|
||||||
def _():
|
def _():
|
||||||
|
"""Decodes all fragments to code and executes it."""
|
||||||
global code
|
global code
|
||||||
global fragment
|
global fragment
|
||||||
if not code and not fragment:
|
if not code and not fragment:
|
||||||
@@ -74,6 +80,7 @@ def _to_code(filename):
|
|||||||
_()
|
_()
|
||||||
|
|
||||||
def _install_importer():
|
def _install_importer():
|
||||||
|
"""Installs the module finder."""
|
||||||
sys.meta_path.insert(0, Finder())
|
sys.meta_path.insert(0, Finder())
|
||||||
|
|
||||||
class Finder:
|
class Finder:
|
||||||
@@ -84,8 +91,11 @@ class Finder:
|
|||||||
filename = os.path.join(dirname, fullname)
|
filename = os.path.join(dirname, fullname)
|
||||||
if os.path.exists(filename):
|
if os.path.exists(filename):
|
||||||
return UnderScoreLoader(filename)
|
return UnderScoreLoader(filename)
|
||||||
|
else if os.path.exists(filename + ".py"):
|
||||||
|
return UnderScoreLoader(filename + ".py")
|
||||||
|
|
||||||
class UnderScoreLoader:
|
class UnderScoreLoader:
|
||||||
|
"""Custom module loader for _ files."""
|
||||||
def __init__(self, filename):
|
def __init__(self, filename):
|
||||||
self.filename = filename
|
self.filename = filename
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user