diff --git a/minecraft-backup.py b/minecraft-backup.py index d0bff40..1d37c64 100644 --- a/minecraft-backup.py +++ b/minecraft-backup.py @@ -1,5 +1,5 @@ #-*- conding: utf-8 -*- -#This file is part of Minecraft Backup +# This file is part of Minecraft Backup import minecraft_backup diff --git a/minecraft_backup/core/configuration.py b/minecraft_backup/core/configuration.py index 87508db..7af72a7 100644 --- a/minecraft_backup/core/configuration.py +++ b/minecraft_backup/core/configuration.py @@ -1,19 +1,19 @@ #*-* coding: utf-8 *-* # This file is part of Minecraft Backup -# Minecraft Backup Imports +# Minecraft Backup from minecraft_backup.resources import D_TEMPLATE_CONFIG_JSON from minecraft_backup.resources import CONFIG_FOLDER -# Others imports +# platform from platform import system -# Import os +# os from os import path from os import mkdir from os import chdir -# Import json +# json from json import dumps from json import loads diff --git a/minecraft_backup/core/make_backup.py b/minecraft_backup/core/make_backup.py new file mode 100644 index 0000000..c635196 --- /dev/null +++ b/minecraft_backup/core/make_backup.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 *-* +# This file is part of Minecraft Backup + +# Minecraft Backup +from minecraft_backup.resources import GAME_PATH +from minecraft_backup.core.configuration import get_os + +# OS +from os import listdir +from os import mkdir +from os import path + +# Shutil +from shutil import copytree +from shutil import copy2 +from shutil import copystat + + +def make_backup(dst): + """This function make a Minecraft backup""" + + os = get_os() + + names = listdir(GAME_PATH[os]) + mkdir(dst) + + for name in names: + src_name = path.join(GAME_PATH[os], name) + dst_name = path.join(dst, name) + + if path.isdir(src_name): + copytree(src_name, dst_name) + else: + copy2(src_name, dst_name) + + copystat(GAME_PATH[os], dst) diff --git a/minecraft_backup/gui/__init__.py b/minecraft_backup/gui/__init__.py index 7c88588..529039e 100644 --- a/minecraft_backup/gui/__init__.py +++ b/minecraft_backup/gui/__init__.py @@ -1,3 +1,2 @@ #-*- coding: utf-8 -*- - # This file is part of Minecraft backup diff --git a/minecraft_backup/gui/center_widget.py b/minecraft_backup/gui/center_widget.py index 3636b33..e0ae7d2 100644 --- a/minecraft_backup/gui/center_widget.py +++ b/minecraft_backup/gui/center_widget.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 *-* # This fail is part of Minecraft Backup +# PyQt4.QtGui from PyQt4.QtGui import QDesktopWidget diff --git a/minecraft_backup/gui/dialogs/config_window.py b/minecraft_backup/gui/dialogs/config_window.py index cf2a20b..1ccadf4 100644 --- a/minecraft_backup/gui/dialogs/config_window.py +++ b/minecraft_backup/gui/dialogs/config_window.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 *-* # This file is part of Minecraft Backup -# Minecraft Backu Imports +# Minecraft Backu from minecraft_backup.core.configuration import load_config from minecraft_backup.core.configuration import save_new_config from minecraft_backup.gui.center_widget import center_widget -# PyQt4.QtGui Imports +# PyQt4.QtGui from PyQt4.QtGui import QDialog from PyQt4.QtGui import QLabel from PyQt4.QtGui import QLineEdit @@ -70,7 +70,7 @@ def change_save_folder(self): self.input_save_folder.setText(self.file_dialog) def save_configurations(self): - self.backup_folder = str(self.input_save_folder.text()) + self.backup_folder = str(self.input_save_folder.text().toUtf8()) save_new_config(self.backup_folder) self.close() diff --git a/minecraft_backup/gui/dialogs/new_backup_window.py b/minecraft_backup/gui/dialogs/new_backup_window.py index 00f1733..9a74c3f 100644 --- a/minecraft_backup/gui/dialogs/new_backup_window.py +++ b/minecraft_backup/gui/dialogs/new_backup_window.py @@ -1,21 +1,25 @@ # -*- coding: utf-8 *-* # This file is part of Minecraft Backup -# Minecraft Backup imports +# Minecraft Backup from minecraft_backup.core.configuration import load_config from minecraft_backup.gui.center_widget import center_widget +from minecraft_backup.core.make_backup import make_backup -# PyQt4.QtGui imports +# PyQt4.QtGui from PyQt4.QtGui import QDialog from PyQt4.QtGui import QLabel from PyQt4.QtGui import QLineEdit from PyQt4.QtGui import QPushButton from PyQt4.QtGui import QFileDialog -# PyQt4.QtCore imports +# PyQt4.QtCore from PyQt4.QtCore import QRect from PyQt4.QtCore import SIGNAL +# os +from os import path + class new_backup_window(QDialog): @@ -54,6 +58,8 @@ def __init__(self, parent=None): self.connect(self.btn_change_save_backup, SIGNAL('clicked()'), self.change_save_backup) self.connect(self.btn_cancel, SIGNAL('clicked()'), self.close) + self.connect(self.btn_create_backup, SIGNAL('clicked()'), + self.create_backup) def generate_label(self, text, h, v): self.label = QLabel(self) @@ -68,3 +74,10 @@ def change_save_backup(self): if self.file_dialog != '': self.btn_change_save_backup.setText(self.file_dialog) + + def create_backup(self): + self.dst = path.join(str(self.btn_change_save_backup.text().toUtf8()), + str(self.input_backup_name.text().toUtf8())) + make_backup(self.dst) + + self.close() diff --git a/minecraft_backup/gui/main.py b/minecraft_backup/gui/main.py index 94a5355..d968a81 100644 --- a/minecraft_backup/gui/main.py +++ b/minecraft_backup/gui/main.py @@ -1,10 +1,10 @@ # -*- coding: utf-8 *-* # This file is part of Minecraft backup -# Others imports +# sys import sys -# Minecraft Backup imports +# Minecraft Backup from minecraft_backup.resources import IMAGES from minecraft_backup.core import configuration from minecraft_backup.gui.center_widget import center_widget diff --git a/minecraft_backup/resources.py b/minecraft_backup/resources.py index c5b16d6..3711ad0 100644 --- a/minecraft_backup/resources.py +++ b/minecraft_backup/resources.py @@ -2,7 +2,7 @@ # This file is part of Minecraft Backup -# Others imports +# os from os import path