Initial commit
This commit is contained in:
65
_/_.py
Normal file
65
_/_.py
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
#import atexit
|
||||||
|
|
||||||
|
def to_i(num, b):
|
||||||
|
n = 0
|
||||||
|
for d in num:
|
||||||
|
if int(d) > b:
|
||||||
|
return 0
|
||||||
|
n = b * n + int(d)
|
||||||
|
return n
|
||||||
|
|
||||||
|
def to_c(digit):
|
||||||
|
if digit < 10:
|
||||||
|
return str(digit)
|
||||||
|
return chr(ord('a') + digit - 10)
|
||||||
|
|
||||||
|
def to_s(number, base):
|
||||||
|
if number < 0:
|
||||||
|
return '-' + to_s(-number, base)
|
||||||
|
(d, m) = divmod(number, base)
|
||||||
|
if d > 0:
|
||||||
|
return to_s(d, base) + to_c(m)
|
||||||
|
return to_c(m)
|
||||||
|
|
||||||
|
def chunks(li, n):
|
||||||
|
r = []
|
||||||
|
for i in range(0, len(li), n):
|
||||||
|
r.append(li[i:i+n])
|
||||||
|
return r
|
||||||
|
|
||||||
|
def __script__(src):
|
||||||
|
code = []
|
||||||
|
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]
|
||||||
|
for n in src:
|
||||||
|
if code:
|
||||||
|
if len(code[-1]) + n + 1 >= 60: code.append("")
|
||||||
|
else: code[-1] += " "
|
||||||
|
code[-1] += ("_" * n)
|
||||||
|
else: code.append("_" * n)
|
||||||
|
return "\n".join(code)
|
||||||
|
|
||||||
|
def __ruby_script__(src):
|
||||||
|
return "require '_'\n\n" + __script__(src)
|
||||||
|
|
||||||
|
def __py_script__(src):
|
||||||
|
return "import _\n\n" + __script__(src)
|
||||||
|
|
||||||
|
code, fragment = [], []
|
||||||
|
def to_be_exec(name):
|
||||||
|
global code
|
||||||
|
global fragment
|
||||||
|
code.extend(fragment)
|
||||||
|
del fragment[:]
|
||||||
|
for i in name.split():
|
||||||
|
fragment.append(str((len(i)-1)))
|
||||||
|
_()
|
||||||
|
|
||||||
|
def _():
|
||||||
|
global code
|
||||||
|
global fragment
|
||||||
|
code.extend(fragment)
|
||||||
|
eval(''.join([chr(to_i(c, 6)) for c in chunks(''.join(code), 3)]))
|
||||||
|
code, fragment = [], []
|
||||||
|
|
||||||
|
#atexit.register(_)
|
Reference in New Issue
Block a user