-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscan.py
More file actions
84 lines (73 loc) · 2.47 KB
/
scan.py
File metadata and controls
84 lines (73 loc) · 2.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
from pathlib import Path
import sys
jpeg_files = list()
png_files = list()
jpg_files = list()
svg_files = list()
gif_files = list()
bmp_files = list()
tif_files = list()
tiff_files = list()
txt_files = list()
docx_files = list()
doc_files = list()
pdf_files = list()
xlsx_files = list()
pptx_files = list()
folders = list()
archives = list()
mp3_files = list()
ogg_files = list()
wav_files = list()
amr_files = list()
avi_files = list()
mp4_files = list()
mov_files = list()
mkv_files = list()
others = list()
unknown = set()
extensions = set()
registered_extensions = dict(JPEG=jpeg_files, PNG=png_files, SVG=svg_files, GIF=gif_files, BMP=bmp_files, TIF=tif_files,
TIFF=tiff_files, JPG=jpg_files, TXT=txt_files, DOCX=docx_files, DOC=doc_files,
PDF=pdf_files, XLSX=xlsx_files, PPTX=pptx_files, ZIP=archives, GZ=archives, TAR=archives,
RAR=archives, MP3=mp3_files, OGG=ogg_files, WAV=wav_files, AMR=amr_files, AVI=avi_files,
MP4=mp4_files, MOV=mov_files, MKV=mkv_files)
def get_extensions(file_name):
return Path(file_name).suffix[1:].upper()
def scan(folder):
for item in folder.iterdir():
if item.is_dir():
if item.name not in ('JPEG', 'PNG', 'JPG', 'TXT', 'DOCX', 'OTHERS', 'ARCHIVE',
'SVG', 'GIF', 'BMP', 'TIF', 'TIFF', 'DOC', 'PDF', 'XLSX', 'PPTX',
'GZ', 'TAR', 'RAR', 'MP3', 'OGG', 'WAV', 'AMR', 'AVI', 'MP4', 'MOV', 'MKV'):
folders.append(item)
scan(item)
continue
extension = get_extensions(file_name=item.name)
new_name = folder/item.name
if not extension:
others.append(new_name)
else:
try:
container = registered_extensions[extension]
extensions.add(extension)
container.append(new_name)
except KeyError:
unknown.add(extension)
others.append(new_name)
"""
if __name__ == '__main__':
path = sys.argv[1]
print(f"Start in {path}")
arg = Path(path)
scan(arg)
print(f"jpeg: {jpeg_files}\n")
print(f"jpg: {jpg_files}\n")
print(f"png: {png_files}\n")
print(f"txt: {txt_files}\n")
print(f"docx: {docx_files}\n")
print(f"archive: {archives}\n")
print(f"unknown: {others}\n")
print(f"All extensions: {extensions}\n")
print(f"Unknown extensions: {unknown}\n")
"""