# A plugin for yum which notifies the FusionInventory Agent to send a inventory # # Copyright (c) 2010 Remi Collet # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # version 0.1 from yum.plugins import TYPE_CORE from urlgrabber.grabber import urlread from urlgrabber.grabber import URLGrabError requires_api_version = '2.5' plugin_type = TYPE_CORE def posttrans_hook(conduit): """ Tell FusionInventory Agent to send an inventory Run only after an rpm transaction. """ try: res = urlread('http://localhost:62354/now', 2048) except URLGrabError, e: conduit.info(4, "Unable to send connect to FusionInventory service") conduit.info(6, "%s" %(e,)) return if res and 'Done.' in res: conduit.info(2, "FusionInventory agent asked to run an inventory") else: conduit.info(4, "Bad anwser from FusionInventory agent")