2025-09-19 10:39:48 +04:00
2025-07-22 12:44:17 +04:00
2025-07-22 12:44:17 +04:00
2025-07-22 12:44:17 +04:00
2025-07-22 13:16:08 +04:00

🐍 Python Requirements

For Users Running Scripts:

For Developers Building the Executable:

pip install pyinstaller

🛠️ Development Instructions

Building the Executable:

python build.py

This will:

  1. Create a zip file with all folders
  2. Encode it as base64
  3. Build the executable with PyInstaller
  4. Output: dist/ScriptsInstaller.exe

Scripts Installer Tool

This tool creates an executable that contains all your scripts within itself. When users run it, they can choose where to install all the scripts and tools.

Your executable will be ready at: dist\ScriptsInstaller.exe

How it works:

  1. All scripts are embedded inside the exe - The executable contains all your scripts and tools as compressed data
  2. Users only need the exe file - No other files needed
  3. Users run the exe anywhere - They can place it on desktop, downloads, etc.
  4. Scripts get extracted and installed - All scripts are extracted to their chosen location

User Experience:

What users get:

  • Single file: ScriptsInstaller.exe (11MB)
  • No installation required: Just run the exe
  • Choose any location: Install scripts wherever they want

What gets installed:

When users run the executable, a single SCRIPTS folder will be installed to their chosen location, containing:

  • SCRIPTS/PLACE DPMS/
  • SCRIPTS/PLACE DPM DEVICES/
  • SCRIPTS/OTHER SCRIPTS/
  • SCRIPTS/RESET IGNITION/
  • SCRIPTS/TAGS/

📁 Detailed Folder Descriptions

PLACE DPMS/

Purpose: Creates MCM views with DPM configurations.

What it does:

  • Reads DPM mapping from dpm_mapping.txt
  • Creates MCM folders with proper view.json files
  • Configures DPM names and IP addresses in the views
  • Applies bindings to every DPM/MCM
  • Generates resource.json and thumbnail.png files
  • MISSING: tagProps generation in root (not enough information)

How to use:

  1. Edit dpm_mapping.txt with your MCM and DPM information
  2. Run python main.py
  3. Check the MCMs/ output folder for generated files

File format for dpm_mapping.txt:

MCM_NAME
DPM_NAME1 DPM_IP1
DPM_NAME2 DPM_IP2
...
DPM_NAMEN DPM_IPN
MCM_NAMEN
...

PLACE DPM DEVICES/

Purpose: Creates DPM device configurations with VFD and FIO/SIO device layouts.

What it does:

  • Reads device mapping from device_mapping.txt
  • Creates DPM folders with device configurations
  • Positions VFD and FIO/SIO devices on the layout
  • Generates view.json with proper device positioning
  • Applies bindings to every VFD/FIO/SIO
  • MISSING: tagProps generation in root (not enough information)

How to use:

  1. Edit device_mapping.txt with your DPM and device information
  2. Run python main.py
  3. Check the MCM/ output folder for generated files

File format for device_mapping.txt:

DPM_NAME
DEVICE_NAME1 DEVICE_IP1
DEVICE_NAME2 DEVICE_IP2
...
DEVICE_NAMEN DEVICE_IPN
DPM_NAMEN
...

OTHER SCRIPTS/

Purpose: Contains various utility scripts for DPM and MCM management.

Subfolders:

  • CHANGE DPM NAMES TO DEFAULT/: Resets DPM names to default values
  • CHANGE EXISTING DPM VIEW NAMES/: Modifies existing DPM view names
  • CREATE MCM VIEWS/: Creates new MCM view configurations

How to use:

  1. Navigate to the specific subfolder
  2. Open main.py and follow the steps
  3. Run python main.py in each folder as needed

RESET IGNITION/

Purpose: Resets Ignition every 1 minute.

How to use:

  1. Run python main.py
  2. Keep your console open so it will be running constantly

TAGS/

Purpose: Manages tag configurations for MCM systems.

What it does:

  • Generates tag configurations
  • Applies tags to MCM systems
  • Keeps unique tag entries
  • Manages MCM tag mappings

Scripts included:

  • generate-tags.py -- Creates tag configurations, picks devices from view.json and generates tags
  • apply-tags.py -- Applies already generated tags to already existing view.json files to tagProps
  • keep-unique.py -- Removes duplicate tags (not necessary)

How to use:

  1. Run python generate-tags.py to create tags
  2. Run python apply-tags.py to apply them
  3. Run python keep-unique.py to clean duplicates

Project Structure:

SCRIPTS/
├── build.py              # Build script for executable
├── README.md             # This documentation
├── .gitignore            # Git ignore rules
├── PLACE DPMS/           # DPM configuration tool
├── PLACE DPM DEVICES/    # Device layout tool
├── OTHER SCRIPTS/        # Utility scripts
├── RESET IGNITION/       # Ignition reset tool
└── TAGS/                 # Tag management tools

📋 Quick Start Guide for Users

  1. Install Python (if not already installed)
  2. Run ScriptsInstaller.exe to install all tools
  3. Navigate to the SCRIPTS folder where you installed
  4. Choose the tool you need:
    • For DPM configuration: Use PLACE DPMS/
    • For device layout: Use PLACE DPM DEVICES/
    • For tag management: Use TAGS/
    • For Ignition reset: Use RESET IGNITION/
  5. Edit the configuration files (txt files) with your data
  6. Run python main.py in the respective folder

Distribution:

You only need to give users the ScriptsInstaller.exe file. That's it!

  • No additional files needed
  • No installation process
  • Works on any Windows computer
  • Users choose installation location
  • Complete folder structure preserved

Technical Details:

  • File size: ~11MB (contains all your scripts compressed)
  • Dependencies: None (self-contained)
  • Requirements: Windows 7 or later
  • Method: Uses base64 encoding to embed zip data within the executable
Description
No description provided
Readme 361 KiB
Languages
Python 100%