imip-agent

imiptools/handlers/scheduling/manifest.py

1309:644b7e259059
2017-10-14 Paul Boddie Support BCC sending suppression so that routines requesting it can still be used with senders that will not support it, usually because there are no outgoing routing destinations for those senders.
     1 #!/usr/bin/env python     2      3 """     4 Scheduling functions manifest.     5      6 Copyright (C) 2017 Paul Boddie <paul@boddie.org.uk>     7      8 This program is free software; you can redistribute it and/or modify it under     9 the terms of the GNU General Public License as published by the Free Software    10 Foundation; either version 3 of the License, or (at your option) any later    11 version.    12     13 This program is distributed in the hope that it will be useful, but WITHOUT    14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS    15 FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more    16 details.    17     18 You should have received a copy of the GNU General Public License along with    19 this program.  If not, see <http://www.gnu.org/licenses/>.    20 """    21     22 from imiptools.imports import get_extensions    23 from os.path import split    24     25 reserved = ["__init__", "common", "manifest"]    26     27 # Obtain details of this module's package.    28     29 dirname = split(__file__)[0]    30 package = __name__.rsplit(".", 1)[0]    31     32 # Define an attribute mapping names to modules.    33     34 modules = {}    35 get_extensions(dirname, package, modules, reserved)    36     37 # Define attributes mapping names to functions.    38     39 confirmation_functions = {}    40 locking_functions = {}    41 retraction_functions = {}    42 scheduling_functions = {}    43 unlocking_functions = {}    44     45 for module in modules.values():    46     confirmation_functions.update(module.confirmation_functions)    47     locking_functions.update(module.locking_functions)    48     retraction_functions.update(module.retraction_functions)    49     scheduling_functions.update(module.scheduling_functions)    50     unlocking_functions.update(module.unlocking_functions)    51     52 # vim: tabstop=4 expandtab shiftwidth=4