From 3bb04954779325a934e3e7f29656594f62e44320 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ferit=20Yi=C4=9Fit=20BALABAN?= Date: Tue, 19 Apr 2022 23:41:22 +0300 Subject: [PATCH] Rename most obfuscated rename utility to rnm --- rnm | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100755 rnm diff --git a/rnm b/rnm new file mode 100755 index 0000000..76aef5f --- /dev/null +++ b/rnm @@ -0,0 +1,60 @@ +#!/usr/bin/env python3 +# +# Ferit Yiğit BALABAN , 2022 +# +import os + + +def f_c(l: list[str], p: int, n: int, i: str): + r = [] + if p == 0: + r = [i + x[n:] for x in l] + elif p > 0: + r = [x[:n + 1] + i for x in l] + return r + + +def f_r(l: list[str], p: str, i: str): + r = [x.replace(p, i) for x in l] + return r + + +def main(): + d = os.getcwd() + f = [] + r = [] + m = 0 + f = os.listdir(d) + + while True: + q = input('# ').strip() + e = q.split(' ') + m = 1 if e[0] == 'sr' else 0 + if e[0] == 'fn' and e[1].isnumeric(): + r = f_c(*(f, 0, int(e[1]), '') if m == 0 else (f, 0, int(e[1]), e[2])) + elif e[0] == 'ln' and e[1].isnumeric(): + r = f_c(*(f, 1, int(e[1]), '') if m == 0 else (f, 1, int(e[1]), e[2])) + elif e[0] == 'em': + r = f_r(*(f, e[1], '') if m == 0 else (f, e[1], e[2])) + elif e[0] == 'pd': + print(d) + elif e[0] == 'cd': + os.chdir(e[1]) + f = os.listdir(d) + elif e[0] == 'lf': + print(*f, sep='\n') + elif e[0] == 'lr': + print(*r, sep='\n') + elif e[0] == 'rf' and e[1].isalnum() and e[1] in f: + f.remove(e[1]) + elif e[0] == 'rr' and e[1].isalnum() and e[1] in r: + r.remove(e[1]) + elif e[0] == 'ex' or e[0] == 'qq': + break + [print(f'{f[c]} => {r[c]}') if f[c] != r[c] else False for c in range(0, len(f))] + if input('# ?').lower() == 'y': + [os.rename(f[c], r[c]) if f[c] != r[c] else False for c in range(0, len(f))] + + +if __name__ == '__main__': + main()