init
This commit is contained in:
commit
02c2d520c5
1 changed files with 55 additions and 0 deletions
55
vxorg.py
Normal file
55
vxorg.py
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
# simple script to organize the vxheaven collection
|
||||||
|
#
|
||||||
|
# Usage:
|
||||||
|
# Create input list with "ls > ../list" ran inside where you extracted the vxheaven archive
|
||||||
|
# Run this script
|
||||||
|
# ... Watch it go?
|
||||||
|
|
||||||
|
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
|
from pathlib import Path, PurePath
|
||||||
|
|
||||||
|
class VxFolderInfo:
|
||||||
|
def __init__(self, vtype, platform, family, filename):
|
||||||
|
self.vtype = vtype
|
||||||
|
self.platform = platform
|
||||||
|
self.family = family
|
||||||
|
self.filename = filename
|
||||||
|
|
||||||
|
def MakePath(self):
|
||||||
|
return Path(os.getcwd()) / self.vtype / self.platform / self.family
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
folderInfo = []
|
||||||
|
listfile = open('../list', 'r')
|
||||||
|
|
||||||
|
for line in listfile:
|
||||||
|
line = line.strip()
|
||||||
|
split = line.split(".")
|
||||||
|
|
||||||
|
try:
|
||||||
|
folderInfo.append(VxFolderInfo(split[0], split[1], split[2], line))
|
||||||
|
except:
|
||||||
|
print(f'invalid format for {split}/{line}')
|
||||||
|
|
||||||
|
listfile.close()
|
||||||
|
|
||||||
|
for item in folderInfo:
|
||||||
|
srcPath = Path(item.filename)
|
||||||
|
dstPath = item.MakePath()
|
||||||
|
|
||||||
|
if not dstPath.is_dir():
|
||||||
|
print(f'making directory tree {str(dstPath)}')
|
||||||
|
dstPath.mkdir(parents=True)
|
||||||
|
|
||||||
|
if srcPath.is_file():
|
||||||
|
newDst = dstPath / item.filename
|
||||||
|
print(f'moving {str(srcPath)} to {str(newDst)}')
|
||||||
|
srcPath.rename(newDst)
|
||||||
|
|
||||||
|
main()
|
Loading…
Reference in a new issue