Translations:Macros/Python Design Guide/144/fr

From The Document Foundation Wiki
Jump to navigation Jump to search

Il est courant en Python de définir des modules, ou packages, comme suit :

  • __init__.py expose les classes A, B et D héritées en dir1/, dir2/ et dans le module d.py.
  • dir1/
    • __init__.py
    • a'.py expose la classe A'
    • a".py expose la classe A" dérivée de A'
  • dir2/
    • __init__.py
    • b1.py expose la classe B1
    • b2.py expose la classe B2
    • b3.py expose la classe B3
  • c.py utilise A
  • d.py expose la classe D

Un telle organisation n'est pas supportée dns une extension LibreOffice. Elle doit être réorganisée, aux dépens d'une maintenance aisée du code, comme suit :

  • (a'+a"+b).py

En effet límport relatif n'est pas supporté dans les extensions Python:

  • from .a' import A' ne fonctionne pas
  • from . import A ne fonctionne pas