Merge pull request 'Add installer and new readme' (#6) from dev into main
Reviewed-on: WorldTeacher/LibrarySystem#6
This commit is contained in:
@@ -2,4 +2,3 @@
|
|||||||
if not stated elsewhere, all Icons are part of the Material Symbols Package provided by Google
|
if not stated elsewhere, all Icons are part of the Material Symbols Package provided by Google
|
||||||
### Specific Icons
|
### Specific Icons
|
||||||
- borrow_boks.svg Credits to Maxicons, Icon downloaded frmo thenounproject.com [Link](https://thenounproject.com/icon/borrow-book-3317975/)
|
- borrow_boks.svg Credits to Maxicons, Icon downloaded frmo thenounproject.com [Link](https://thenounproject.com/icon/borrow-book-3317975/)
|
||||||
- borrow
|
|
||||||
34
README.md
34
README.md
@@ -1,30 +1,36 @@
|
|||||||
# LibrarySystem
|
# LibrarySystem
|
||||||
|
|
||||||
universal library system for facilities in the university
|
universal library system for facilities in the university. Currently hard-coded for the Library of the University of Education in Freiburg, Germany.
|
||||||
|
|
||||||
|
Other Libraries can be supported by rewriting the catalog and it's corresponding functions.
|
||||||
|
|
||||||
## What is this?
|
## What is this?
|
||||||
|
|
||||||
This is a library system for the different facilities in the university. Because some facilities lend their media, some wanted a software that allows them to keep track of who had what when.
|
This is a library system for the different facilities in our university. Because some facilities lend their media, some wanted a software that allows them to keep track of who had what when.
|
||||||
|
|
||||||
### Installation
|
### Installation
|
||||||
either clone the Repo
|
#### Windows
|
||||||
|
using the latest git commit version:
|
||||||
```
|
```
|
||||||
git clone https://git.theprivateserver.de/WorldTeacher/LibrarySystem.git
|
git clone https://git.theprivateserver.de/WorldTeacher/LibrarySystem.git
|
||||||
cd LibrarySystem
|
cd LibrarySystem
|
||||||
./build(.exe)
|
python -m venv venv
|
||||||
|
source venv/bin/activate
|
||||||
|
pip install -r requirements.txt
|
||||||
|
python main.py
|
||||||
|
```
|
||||||
|
building the software:
|
||||||
|
```
|
||||||
|
download the installer.bat
|
||||||
|
execute the file in a terminal
|
||||||
```
|
```
|
||||||
|
|
||||||
or head over to [releases](https://git.theprivateserver.de/WorldTeacher/LibrarySystem/releases)
|
|
||||||
and download the latest version
|
~~or head over to [releases](https://git.theprivateserver.de/WorldTeacher/LibrarySystem/releases)
|
||||||
|
and download the latest version~~ (not yet supported)
|
||||||
|
|
||||||
|
|
||||||
### Configuration
|
### Configuration
|
||||||
|
|
||||||
the software contains a config file in configs, as well as a config for icons, located in icons.
|
the software contains a config file in configs, as well as a config for icons, located in icons.
|
||||||
|
By default, the software will use the installation directory for all files, but you can change that in the config file, or using the settings window in the software.
|
||||||
#### config
|
|
||||||
tbd
|
|
||||||
|
|
||||||
#### icons
|
|
||||||
- color is a value to re-paint the icons
|
|
||||||
- icons/* a dict of the icons structured like: icon_Name_in_Application : icon_File_name
|
|
||||||
@@ -5,10 +5,6 @@
|
|||||||
"optionDest": "noconfirm",
|
"optionDest": "noconfirm",
|
||||||
"value": true
|
"value": true
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"optionDest": "filenames",
|
|
||||||
"value": "C:/Users/aky547/GitHub/LibrarySystem/main.py"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"optionDest": "onefile",
|
"optionDest": "onefile",
|
||||||
"value": false
|
"value": false
|
||||||
@@ -17,10 +13,6 @@
|
|||||||
"optionDest": "console",
|
"optionDest": "console",
|
||||||
"value": false
|
"value": false
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"optionDest": "icon_file",
|
|
||||||
"value": "C:/Users/aky547/Downloads/1490971308-map-icons-7_82746.ico"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"optionDest": "name",
|
"optionDest": "name",
|
||||||
"value": "LibrarySystem"
|
"value": "LibrarySystem"
|
||||||
@@ -60,14 +52,6 @@
|
|||||||
{
|
{
|
||||||
"optionDest": "bootloader_ignore_signals",
|
"optionDest": "bootloader_ignore_signals",
|
||||||
"value": false
|
"value": false
|
||||||
},
|
|
||||||
{
|
|
||||||
"optionDest": "datas",
|
|
||||||
"value": "C:/Users/aky547/GitHub/LibrarySystem/config;config/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"optionDest": "datas",
|
|
||||||
"value": "C:/Users/aky547/GitHub/LibrarySystem/icons;icons/"
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"nonPyinstallerOptions": {
|
"nonPyinstallerOptions": {
|
||||||
|
|||||||
76
installer.bat
Normal file
76
installer.bat
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
@echo off
|
||||||
|
echo print Installing Python 3.12.7
|
||||||
|
echo downloading..... please wait
|
||||||
|
curl -o python-3.12.7-amd64.exe https://www.python.org/ftp/python/3.12.7/python-3.12.7-amd64.exe
|
||||||
|
echo Installing Python 3.12.7
|
||||||
|
python-3.12.7-amd64.exe /quiet InstallAllUsers=0 PrependPath=1 Include_test=0
|
||||||
|
|
||||||
|
echo Python 3.12.7 installed
|
||||||
|
echo Please confirm the installation by opening a new terminal and typing python --version
|
||||||
|
echo If the version is 3.12.7, then the installation was successful
|
||||||
|
pause
|
||||||
|
echo downloading the repository
|
||||||
|
curl -o LibrarySystem.zip https://git.theprivateserver.de/WorldTeacher/LibrarySystem/archive/main.zip
|
||||||
|
echo Extracting the repository
|
||||||
|
tar -xf LibrarySystem.zip
|
||||||
|
|
||||||
|
cd into the extracted folder
|
||||||
|
cd librarysystem
|
||||||
|
echo Installing the required packages
|
||||||
|
python -m venv venv
|
||||||
|
call venv\Scripts\activate.bat
|
||||||
|
echo Activated the virtual environment
|
||||||
|
echo Cleaning up the environment
|
||||||
|
@echo off
|
||||||
|
echo Uninstalling all Python packages...
|
||||||
|
|
||||||
|
@REM Uninstall all packages in the virtual environment
|
||||||
|
pip freeze > temp_requirements.txt
|
||||||
|
for /F "delims=" %%i in (temp_requirements.txt) do pip uninstall -y %%i
|
||||||
|
|
||||||
|
@REM Clean up the temporary file
|
||||||
|
del temp_requirements.txt
|
||||||
|
|
||||||
|
echo All packages uninstalled.
|
||||||
|
echo Installing the required packages
|
||||||
|
|
||||||
|
pip install -r requirements.txt
|
||||||
|
echo Installation completed
|
||||||
|
echo Building the application
|
||||||
|
|
||||||
|
call pyinstaller --noconfirm --onedir --windowed --icon "icons/icon.ico" --name "LibrarySystem" --clean --add-data "config;config/" --add-data "icons;icons/" "main.py"
|
||||||
|
echo compiling done, please confirm the build by checking the dist folder
|
||||||
|
echo If the build is successful, you can run the application by running the LibrarySystem.exe file in the folder
|
||||||
|
|
||||||
|
pause
|
||||||
|
|
||||||
|
set /p compile="Build successful? (y/n) "
|
||||||
|
|
||||||
|
if %compile% == y (
|
||||||
|
echo Build successful
|
||||||
|
exit
|
||||||
|
) else (
|
||||||
|
echo Build failed
|
||||||
|
echo switching over to manual mode using auto-py-to-exe
|
||||||
|
echo installing auto-py-to-exe
|
||||||
|
pip install auto-py-to-exe
|
||||||
|
echo auto-py-to-exe installed
|
||||||
|
echo running auto-py-to-exe
|
||||||
|
echo --------------------
|
||||||
|
echo Please go to settings > Import config.json
|
||||||
|
echo Select the build.app.json
|
||||||
|
echo Change / Set these values:
|
||||||
|
echo - Script Location: main.py
|
||||||
|
echo - Icon: icons/icon.ico
|
||||||
|
echo - Additional Files:
|
||||||
|
echo - config: config/
|
||||||
|
echo - icons: icons/
|
||||||
|
echo - site: site/
|
||||||
|
|
||||||
|
echo Click on the Convert .py to .exe button
|
||||||
|
echo the completed build will be in the output folder
|
||||||
|
echo --------------------
|
||||||
|
call auto-py-to-exe
|
||||||
|
pause
|
||||||
|
)
|
||||||
|
|
||||||
Reference in New Issue
Block a user