1
Fork 0
This repository has been archived on 2023-03-26. You can view files and clone it, but cannot push or open issues or pull requests.
dotfile-automator/project/utils/repos.py

69 lines
1.8 KiB
Python
Raw Normal View History

import os, shutil
2015-12-06 16:27:26 +00:00
from distutils.dir_util import copy_tree
from . import config, constants, shell
def clone_public_data():
2015-12-06 16:15:04 +00:00
if os.path.isdir(constants.PUBLIC_DATA_DIR):
print("Updating public...")
2015-12-06 16:15:04 +00:00
initial = os.getcwd()
go_to_data()
out, error = shell.call("git pull")
2015-12-06 16:15:04 +00:00
os.chdir(initial)
print(out)
else:
print("Downloading public data...")
out, error = shell.call(
"git clone -b master --single-branch {} {}".format(
config.get('public_repo'),
constants.PUBLIC_DATA_DIR
)
2015-12-06 20:49:58 +00:00
)
print(out)
copy_tree(
constants.PUBLIC_DATA_DIR,
constants.ALL_DATA_DIR
)
def clone_private_data():
2015-12-06 16:15:04 +00:00
if os.path.isdir(constants.PRIVATE_DATA_DIR):
print("Updating private data...")
2015-12-06 16:15:04 +00:00
initial = os.getcwd()
os.chdir(constants.PRIVATE_DATA_DIR)
out, error = shell.call("git pull")
2015-12-06 16:15:04 +00:00
os.chdir(initial)
print(out)
return error
2015-12-06 16:15:04 +00:00
else:
print("Downloading private data...")
out, error = shell.call(
2015-12-06 20:49:58 +00:00
"git clone -b master --single-branch {} {}".format(
config.get('private_repo'),
constants.PRIVATE_DATA_DIR
)
)
print(out)
2015-12-06 14:20:55 +00:00
2015-12-06 16:27:26 +00:00
copy_tree(
2015-12-06 14:20:55 +00:00
constants.PRIVATE_DATA_DIR,
constants.ALL_DATA_DIR
2015-12-06 14:20:55 +00:00
)
2015-12-06 16:15:04 +00:00
2015-12-05 23:25:26 +00:00
def has_data(data):
public_path = os.path.join(constants.PUBLIC_DATA_DIR, data)
private_path = os.path.join(constants.PRIVATE_DATA_DIR, data)
return os.path.isdir(public_path) or os.path.isdir(private_path)
2015-12-06 14:20:55 +00:00
def go_to_data(subdir=''):
2016-01-05 18:32:51 +00:00
path = os.path.join(constants.ALL_DATA_DIR, subdir)
2015-12-06 14:20:55 +00:00
os.chdir(path)
return path
2015-12-06 20:49:58 +00:00
def clean():
shutil.rmtree(constants.PUBLIC_DATA_DIR)
shutil.rmtree(constants.PRIVATE_DATA_DIR)