diff --git a/python/plugin/banana.py b/python/plugin/banana.py index edb0917..639905c 100644 --- a/python/plugin/banana.py +++ b/python/plugin/banana.py @@ -2,22 +2,17 @@ import vim import re -import sys - -def dec2banana(num, dictstart = None, shiftend = None, minlength = None, dictionary = None): - #defaults - if dictstart is None: dictstart = 0 - if shiftend is None: shiftend = 0 - if minlength is None: minlength = 0 - if dictionary is None: dictionary = [list("bcdfglmnprstvz"), list("aeiou")] - + +def dec2banana(num): + dictionary = [list("bcdfglmnprstvz"), list("aeiou")] numdict = len(dictionary) + v = num st = "" l = 0 - i = (numdict - 1 + dictstart + shiftend) % numdict - while not (v == 0 and i == (numdict - 1 + dictstart) % numdict and l >= minlength): + i = (numdict - 1) % numdict + while not (v == 0 and i == (numdict - 1) % numdict and l >= 0): r = v % len(dictionary[i]) v = int(v / len(dictionary[i])) st = dictionary[i][r] + st @@ -27,18 +22,15 @@ def dec2banana(num, dictstart = None, shiftend = None, minlength = None, diction return(st) -def banana2dec(banana, dictstart = None, shiftend = None, dictionary = None): - #defaults - if dictstart is None: dictstart = 0 - if shiftend is None: shiftend = 0 - if dictionary is None: dictionary = [list("bcdfglmnprstvz"), list("aeiou")] #, list("123456") +def banana2dec(banana): + dictionary = [list("bcdfglmnprstvz"), list("aeiou")] numdict = len(dictionary) - if (len(banana) - shiftend) % numdict != 0: + if len(banana) % numdict != 0: return("Banana non valida") v = 0 for i in range(len(banana)): - r = (numdict + i + dictstart) % numdict + r = (numdict + i) % numdict try: v = v * len(dictionary[r]) + dictionary[r].index(banana[i]) except: @@ -46,17 +38,14 @@ def banana2dec(banana, dictstart = None, shiftend = None, dictionary = None): return(v) -def isbanana(banana, dictstart = None, shiftend = None, dictionary = None): - #defaults - if dictstart is None: dictstart = 0 - if shiftend is None: shiftend = 0 - if dictionary is None: dictionary = [list("bcdfglmnprstvz"), list("aeiou")] #, list("123456") - +def isbanana(banana): + dictionary = [list("bcdfglmnprstvz"), list("aeiou")] #, list("123456") numdict = len(dictionary) - if (len(banana) - shiftend) % numdict != 0: + + if len(banana) % numdict != 0: return(False) for i in range(len(banana)): - r = (numdict + i + dictstart) % numdict + r = (numdict + i) % numdict if banana[i] not in dictionary[r]: return(False) @@ -66,8 +55,7 @@ def callback(x): return "%s" % dec2banana(int(x[0], base=10)).upper() def text2banana(text): - text = re.sub(r"[0-9][0-9]*",callback,text) - return text + return re.sub(r"[0-9][0-9]*",callback,text) def callback_dec(x): b = x[0].strip().lower() @@ -77,8 +65,7 @@ def callback_dec(x): return x[0] def text2dec(text): - text = re.sub(r"[A-Z][A-Z]*",callback_dec,text) - return text + return re.sub(r"[A-Z][A-Z]*",callback_dec,text) def get_selected_text(): buf = vim.current.buffer diff --git a/python/plugin/banana.vim b/python/plugin/banana.vim index 7df2329..acf4e54 100644 --- a/python/plugin/banana.vim +++ b/python/plugin/banana.vim @@ -1,3 +1,7 @@ +" banana.vim - Convert Base Banana (https://git.lattuga.net/itec/banana) and back +" T4 - totem4@tropici.net +" Version: 0.1 + if exists("g:loaded_Banana") || &cp finish endif