Custom RAP installer (python module)
Mit diesem Modul können eigene Module über deren RAP Dateien in PiCtory eingebunden werden. Die RAP-Dateien und die dazugehörigen Bilder liegen in einem Ordner, zusammen mit einer "meta.json", welche Informationen für die Installation enthält.
install_source
Für den Aufruf der PiCtoryManager Klasse muss der Parameter install_source übergeben werden. Dieser zeigt auf den Ordner, welcher die Moduldateien und "meta.json" enthält.
meta.json
Die "meta.json" Datei enthält eine Liste mit Objekten, die jeweils ein Modul zur Installation beschreiben. Diese Beschreibungen sind Texte, welche nicht über die RAP-Datei geliefert werden und den Installationsprozess steuern.
Beispiel
[
{
"dir_title": "Virtual OPC UA Devices",
"id": "OPCUARevPiServer",
"title": "OPC UA Server",
"tooltip": "OPC UA server to share the IOs of the Revolution Pi",
"action_rules": [
"ONADD_FIRST",
"ONDELETE_LAST"
]
}
]
- "dir_title": Name für den Katalogordner in dem das neue Modul installiert werden soll. Dieser Name kann ein bestehender sein, in dem Fall wird das Modul in einen bestehenden Ordner installiert. Wenn der Name neu ist, wie in dem Beispiel, wird ein neuer Ordner mit dem Namen angelegt, in dem das neue Modul installiert wird.
- "id": Dies ist die Modul-ID. Dieser Name muss eindeutig sein und wird ebenfalls verwendet umd die RAP-Datei und das Devicebild im "install_source"-Ordner zu finden.
- "title": Dies ist der Titel, mit dem das Device im Katalog von PiCtory angezeigt wird.
- "tooltip": Dieser Text wird angezeigt, wenn die Maus über dem Modul verweilt. Er dient für weiter Informationen zum Modul.
- "action_rules": Wenn in der RAP-Datei "actions" angegeben sind, welche zu verschiedenen Events wie "onAdd" oder "onDelete" ausgeführt werden müssen, werden hier die Rollen definiert. Diese können nicht aus der RAP-Datei entnommen werden, da mit den "action_rules" auch die Bedingung angegeben wird wie "_FIRST" / "_LAST".
RAP-Datei und Devicebild
Zusätzlich im "install_source"-Ordner liegen für jeden Eintrag der meta.json jeweils eine RAP-Datei und ein Devicebild im PNG-Format. Das Devicebild muss als Namen die "id".png tragen.
Der Name der RAP-Datei muss folgendem Schema folgen:
|--- module key ---|
xxxxxx_yyyymmdd_a_b.rap
| | | |
| | | |-- version number part 2
| | |---- version number part 1
| |---------- creation timestamp
|----------------- module id / name
Über dieses Namensschema wird innerhalb des Moduls automatisch der Version ermittelt und mit der installierten Version verglichen.
Der Teil "xxxxxx" ist exakt die "id" aus der "meta.json". Das Datum "yyyymmdd" kann frei gewählt werden. Am Ende durch "a" und "b" erfolgt die Versionierung der RAP-Datei.
Release files for custom-rap-installer 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| custom_rap_installer-0.0.1.tar.gz | 41.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| custom_rap_installer-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 59.6 kB
Release files / custom_rap_installer-0.0.1.tar.gz
| Download URL | custom_rap_installer-0.0.1.tar.gz |
|---|---|
| Size | 41.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c84a81d032a154c9bcd1c61ea9565a03801afff1c152a3cf7f27dddcde7a858e
|
|
BLAKE2b-256 checksum How to use checksums |
9e0ea810e97f4030263b20b8e60b60253fb2156682f4b83a33e04f5908b21996
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.2
|
Release files / custom_rap_installer-0.0.1-py3-none-any.whl
| Download URL | custom_rap_installer-0.0.1-py3-none-any.whl |
|---|---|
| Size | 18.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
89e41a4b03a0680958e872f248035c793740221505eafef6d4162617a9692f6b
|
|
BLAKE2b-256 checksum How to use checksums |
36f7f1e59bcbe6daeae48c68569a8064695842be8af4d56bda9c007a7863fde9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.2
|