J'utilise pyobjc pour ajouter certaines fonctionnalités OSX nécessaires à certains logiciels python aléatoires. J'aurai besoin d'accéder aux constantes objc-land définies par l'API à partir de python-land.Accéder aux constantes d'API et aux enums de python
Un exemple de telles constantes se trouve très loin dans la page NSRunningApplication, en particulier les trois valeurs possibles de NSApplicationActivationPolicy. Pour le contexte, la tâche actuelle consiste à répertorier les applications en cours d'exécution qui sont tournées vers l'utilisateur. A cet effet, le code suivant fonctionne très bien:
from Foundation import *
from Cocoa import *
import objc
for runningApp in sorted(
NSWorkspace.sharedWorkspace().runningApplications(),
key=lambda x: x.localizedName()
):
if runningApp.activationPolicy() == 0:
# Do stuff
Mais je préfère ne pas vérifier contre zéro (pour le rendre plus lisible) ni coder en dur une valeur NSApplicationActivationPolicyRegular factice à zéro dans mon propre code quand il est facilement disponible dans la bibliothèque originale.
Comment puis-je accéder à ces constantes objc de python à pyobjc?