An open API service indexing awesome lists of open source software.

https://github.com/matkeg/robotcopy

A college project written in Python 3.13.0 which handles folder backups on the Windows OS, using its robocopy command.
https://github.com/matkeg/robotcopy

backup backups file files pyqt5 python qt ui user-interface windows wip workinprogress

Last synced: 3 months ago
JSON representation

A college project written in Python 3.13.0 which handles folder backups on the Windows OS, using its robocopy command.

Awesome Lists containing this project

README

          



RobotCopy Logo


A college project written in Python which handles folder backups using the Windows **robocopy** command, currently being fully reworked for better file organization, performance, and UI.

## Uses


Qt, Python, Visual Studio

## Requirements

To run this program, you need a Windows operating system that supports the **robocopy** command (Windows Vista or later).

For development purposes, additional requirements depend on the specific aspect of the program:

### User Interface
- **Microsoft C++ Build Tools**: Desktop development with C++[^1]
- **Qt Designer**
- **PyQt5**

[^1]: *Microsoft C++ Build Tools with the Desktop development with C++ module is required to use Qt Designer.*

> *While Qt Designer was used for UI editing, you can use any similar editor or a text editor to modify `.ui` files.*

### Backend
- **Python** (version 3.13.0 recommended)
- **Packages:** PyQt5, psutil, pywin32, wmi, pyudev

> *Older or newer Python versions might be incompatible with this code.*

## Setup for Development

To modify the program, install the required tools and packages listed above. It’s recommended to use Visual Studio Code for editing.

### Modifying the User Interface
1. Edit the `.ui` files, preferably using Qt Designer for an efficient workflow.
2. Update the assets.qrc file if new assets are added (Qt Designer does this automatically).
3. In case you update the assets.qrc file, you need to compile a new assets.py file by running the following command in the directory containing assets.qrc:

```
pyrcc5 assets.qrc -o assets.py
```

### Modifying the Backend
1. Edit any `.py` files located in the project. Keep in mind that modifying certain files inside src/modules can easily cause errors in other files. Use Feature Flags inside src/Features to quickly change certain aspects of the program without much interuptions.
2. Test or debug changes by running main.py.

> *If you are using Visual Studio Code, you can start debugging from any file you've opened, thanks to the configuration in .vscode/launch.json. You can modify this file if you prefer different behavior.*