OnJava8-Examples/tools/backup.bat
Bruce Eckel 94469c299a tooling
2015-05-29 12:09:16 -07:00

57 lines
1.6 KiB
Batchfile

@setlocal enabledelayedexpansion && py -3 -x "%~f0" %* & exit /b !ERRORLEVEL!
#start python code here
import zipfile
import datetime
import os, sys, shutil
from glob import glob
import pathlib
from pathlib import Path
import pprint
import msvcrt
verbose = True
root = Path('.').resolve().parent.parent
boxdir = root / "Box Sync" / "TIJ4-ebook-Backups"
gdrive = root / "Google Drive" / "TIJ4RefreshedBackups"
idrive = root / "IDrive-Sync" / "TIJ4-ebook-Backups"
def cp(src, dest, display=True, shortForm=False):
if type(src) is pathlib.WindowsPath:
name = src.name
else:
name = src
if display:
if shortForm:
print(name)
else:
print("\ncopying", name)
print("to:", dest)
shutil.copy(str(src), str(dest))
now = datetime.datetime.now().strftime("%Y-%m-%d_%H-%M")
zip_file_name = 'TIJDirectorsCut-' + now + '.zip'
dest = boxdir / zip_file_name
print(dest)
tozip = ["Notes.txt", "backup.bat", "go.bat"] + glob("*.py") + glob("*.docx") + glob("*.docm")
with zipfile.ZipFile(str(dest), 'w') as myzip:
for f in tozip:
myzip.write(f)
if verbose:
print("adding {}".format(f))
cp(dest, gdrive)
cp(dest, idrive)
shortcut = Path(r"C:\Python34\Scripts")
tools = ["Examples.py", "Validate.py", "backup.bat", "go.bat", "StripLastBlankLine.py", "update_git.py",
shortcut / "v.bat", shortcut / "e.bat", shortcut / "g.bat"]
print("\nCopying tools to Github")
for tool in tools:
cp(tool, root / "Documents" / "GitHub" / "TIJ-Directors-Cut" / "tools", shortForm=True)
# Touch this file to indicate most recent update time:
os.utime("backup.bat", None)
msvcrt.getch()