Je souhaite étendre certaines fonctionnalités locales d'une application python nommée OpenERP. Tout ce dont j'ai besoin, c'est d'implémenter un module.function qui serait appelé chaque fois que OpenERP appelle la fonction locale.setlocale() sans changer le code source d'OpenERP ou du module de locale. La seule façon que je peux imaginer est de fournir un module nommé locale.py dans le répertoire principal de l'application, mais il semble que ce soit une solution de contournement non pythonienne.Comment étendre/corriger un module ou un paquet existant?
1
A
Répondre
2
Rechercher Monkey Patching. Ce n'est pas la technique la plus élégante, mais parfois c'est la seule option.
Dans votre cas, vous pouvez remplacer votre propre fonction par locale.setlocale()
qui fera ce que vous voulez. Cela ressemblerait à quelque chose comme ça:
import locale
original_setlocale = locale.setlocale
def my_setlocale(category, locale=None):
# Do anything you want
# optionally call original function
original_setlocale(category, locale)
Questions connexes
- 1. Comment nommez-vous une classe/un module/un module comme
- 2. Comment faire un paquet supprimer un autre (plus ancien) paquet?
- 3. Ajouter un bloc dans le module existant de magento
- 4. Manière plus facile de tester un module DNN existant?
- 5. Importer un paquet ou un chargement automatique pour PHP?
- 6. Quel paquet Haskell contient le module
- 7. Comment renommer un fichier existant
- 8. Comment ajouter un groupe ou un champ de page dans un rapport .rdl existant
- 9. Comment créer un module ou un widget Magento qui apparaîtra sur la page du panier?
- 10. Comment fermer un module CVS
- 11. Injecter dans un domaine privé, paquet ou public ou fournir un setter?
- 12. Importer un module avec contexte
- 13. Comment puis-je lister les méthodes disponibles sur un objet ou un paquet donné en Perl?
- 14. Drupal - Remplacer le crochet d'un module existant?
- 15. Comment installer le paquet MySQLdb? (ImportError: aucun module nommé setuptools)
- 16. Comment organiser correctement un arbre de dépendance de module/module?
- 17. Comment importer un projet ROR existant?
- 18. Comment installer un paquet dans LaTeX
- 19. comment utiliser un paquet de poire?
- 20. sql2005- comment lancer un paquet ssis?
- 21. Comment envoyer un paquet IP en Python?
- 22. Comment créer un paquet pour ClearQuest?
- 23. Comment ajouter un paquet à nuget/nupack?
- 24. Comment exclure un paquet particulier d'une dépendance?
- 25. Comment importer un paquet à partir d'Eclipse?
- 26. Comment déboguer un paquet en XCode?
- 27. PHP Comment envoyer un paquet HTTP brut
- 28. Django Admin: Comment savoir quand l'utilisateur modifie un objet existant ou enregistre un nouvel objet?
- 29. Rendre un paquet virtuel disponible via sys.modules
- 30. Drupal: Comment thématiser un module