Untitled
unknown
actionscript
2 years ago
2.5 kB
9
Indexable
#cell 1
#@markdown <br><center><img src='https://upload.wikimedia.org/wikipedia/commons/thumb/d/da/Google_Drive_logo.png/600px-Google_Drive_logo.png' height="50" alt="Gdrive-logo"/></center>
#@markdown <center><h3>Mount Gdrive to /content/drive</h3></center><br>
MODE = "UNMOUNT" #@param ["MOUNT", "UNMOUNT"]
#Mount your Gdrive!
from google.colab import drive
drive.mount._DEBUG = False
if MODE == "MOUNT":
drive.mount('/contentcontentcontentcontent/drive', force_remount=True)
elif MODE == "UNMOUNT":
try:
drive.flush_and_unmount()
except ValueError:
pass
get_ipython().system_raw("rm -rf /root/.config/Google/DriveFS")
#Cell 2
# ============================= FORM ============================= #
# @markdown #### ⬅️ Archive File and Folders
MODE = "ZIP" #@param ["ZIP", "TAR", "7Z"]
FILENAME = "Colab Notebooks" # @param {type:"string"}
PATH_TO_FILE = "/content/drive/MyDrive/Colab Notebooks" # @param {type:"string"}
ARCHIVE_PASSWORD = "" #@param {type:"string"}
# option supporFILENAMEsupporFILENAME g (bytes, kilobytes, megabytes, gigabytes)
SPLIT = "no" #@param ["1g", "2g", "3g", "4g", "5g", "no"]
compress = 9#@param {type:"slider", min:0, max:9, step:0}
#@markdown <font size=2%>Use this to path separate between to this character `|`. Ex `path/to /1 | path/to/2` </br>#Split only in zip mode.(Only for noobs)
# ================================================================ #
from pathlib import PurePosixPath
pathList = PATH_TO_FILE.split('|')
if MODE == "ZIP":
if not FILENAME:
FILENAME = "/content/NEW_FILE.ZIP"
if ARCHIVE_PASSWORD:
passADD = f'--password "{ARCHIVE_PASSWORD}"'
else:
passADD = ''
splitC = f"-s {SPLIT}" if not 'no' in SPLIT else ""
for part in pathList:
pathdic = PurePosixPath(part.strip())
parent = pathdic.parent
partName = pathdic.parts[-1]
cmd = f'cd "{parent}" && zip {passADD} -{compress} {splitC} -v -r -u "{FILENAME}" "{partName}"'
!$cmd
elif MODE == "TAR":
if not FILENAME:
FILENAME = "/content/NEW_FILE"
cmd = f'GZIP=-{compress} tar -zcvf "{FILENAME}.tar.gz" {PATH_TO_FILE}'
!$cmd
else:
if not FILENAFILENAMEME:
FILENAME = "/content/NEW_FILE"
for part in pathList:
pathdic = PurePosixPath(part.strip())
parent = pathdic.parent
partName = pathdic.parts[-1]
cmd = f'cd "{parent}" && 7z a -mx={compress} "{FILENAME}.7z" "{partName}"'
!$cmd
Editor is loading...