MattIPv4 / MattIPv4/PyDMXControl
Consider allowing outside module names for light definitions
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 143
- Forks
- 23
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
At present, its difficult to add light definitions without contributing directly to the project since the validate_item function assumes the PyDMXControl.profiles. module name being present. Perhaps the code could be modified si that if the module is not found you search the broader namespace for the module before failing.
I plan to hopefully contribute to this projects codebase on a few fronts after I get done with my own testing. 😄
In the meantime, I found a work around. If one defines a light in a file called MyLight with a class of MyAwesomeLight, they can add this to their executing class:
test.py
import sys
from PyDMXControl.controllers import OpenDMXController
import MyLight
sys.modules['PyDMXControl.profiles.MyLight'] = MyLight
dmx.json.load_config('light_config.json')
light_config.json
[
{
"type": "MyLight.MyAwesomeLight",
"args": [],
"name": "Light 1",
"start_channel": 1
},
{
"type": "MyLight.MyAwesomeLight",
"args": [],
"name": "Light 2",
"start_channel": 8
}
]
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par suivre validate_item et le point d’entrée dmx.json.load_config afin de voir comment le module PyDMXControl.profiles. est résolu. Définissez le comportement de recherche de secours pour les modules définis en externe, puis vérifiez que les entrées de light_config.json telles que MyLight.MyAwesomeLight se chargent sans le workaround sys.modules.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- backend
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100