2 Commits
1.0.0 ... 1.2.0

Author SHA1 Message Date
Majjcom
5fb37056aa 1.2.0
- auto set max thread count
2022-02-27 15:12:38 +08:00
Majjcom
50e07068c9 1.1.0 2022-02-01 19:36:38 +08:00

View File

@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
from multiprocessing import cpu_count
import threading
import binascii
import struct
@@ -78,7 +79,7 @@ def dump(file_path):
return file_name
class dumper(threading.Thread):
class Dumper(threading.Thread):
def __init__(self, fpath, basket):
super().__init__()
self._fpath = fpath
@@ -119,9 +120,7 @@ def printBar(now:int, total:int, threads:int):
print(bar_text, end='', flush=True)
if __name__ == '__main__':
if not os.path.exists('./unlock'):
os.mkdir('./unlock')
def main():
dirs = os.listdir()
musicFiles = dict()
for i in dirs:
@@ -129,18 +128,24 @@ if __name__ == '__main__':
if os.path.splitext(i)[1] == '.ncm':
musicFiles[os.path.abspath(i)] = 0
totalCount = len(musicFiles)
if totalCount == 0:
print('\033[33m未找到需要解密的文件 nothing to do...\033[0m')
input('按下回车继续...')
return
process = [0, 0, 0]
if not os.path.exists('./unlock'):
os.mkdir('./unlock')
maxCount = cpu_count()
while True:
count = 0
tmp = None
for key in musicFiles:
if musicFiles[key] == 1:
count += 1
if count < 5 and musicFiles[key] == 0:
if count < maxCount and musicFiles[key] == 0:
upperPrint('解密中...\t{}'.format(key))
musicFiles[key] = 1
tmp = dumper(key, musicFiles)
tmp.start()
Dumper(key, musicFiles).start()
count += 1
fcount = 0
for key in musicFiles:
@@ -154,3 +159,7 @@ if __name__ == '__main__':
print('\n\033[32m解密完成存放在unlock目录中\033[0m')
input('按下回车继续...')
if __name__ == '__main__':
main()