lokale Rollen im Skript auflisten

  • Hallo, ich hoffe, ihr könnt mir wieder helfen.

    Ich möchte in einem Workflow-Skript herausfinden, wer im aktuellen Dokument die lokale Rolle xyz hat.

    Bisher habe ich das nur beim Löschen von allen lokalen Rollen im Dokument gebraucht, und da hatte ich nur die Lösung, alle Members durchzugehen:

    Code
    obj = state_change.object
    mship = context.portal_membership 
    for user in mship.listMembers():
      memberID = mship.getMemberById(user.id)
      obj.manage_delLocalRoles([str(memberID)])

    Das wird aber bei zunehmender Mitgliederzahl ziemlich ineffizient.
    Deswegen würde ich gerne wissen, ob es eine Funktion gibt, die eine ähnliche Ausgabe hat wie im ZMI localhost/dokument/manage_listLocalRoles?
    Wenn man diese Funktion im Skript aufruft, erhält man nur den Quellcode für diese Seite.

    Vielen Dank für's Lesen!