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.
- Host: GitHub
- URL: https://github.com/matkeg/robotcopy
- Owner: matkeg
- Created: 2024-12-07T21:48:06.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-03T16:33:57.000Z (about 1 year ago)
- Last Synced: 2025-03-31T08:19:40.237Z (11 months ago)
- Topics: backup, backups, file, files, pyqt5, python, qt, ui, user-interface, windows, wip, workinprogress
- Language: Python
- Homepage:
- Size: 4.82 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
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
## 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.*