# Path: log_calls/used_unused_kwds.py
# class used_unused_keywords():
#     def __init__(self, enabled=True):
#     def get_used_keywords(self):
#     def get_unused_keywords(self):
#     def __call__(self, f):
#         def f_used_unused_keywords_wrapper_(*args, **kwargs):
# def main():
# 
# Path: log_calls/used_unused_kwds.py
# class used_unused_keywords():
#     """TODO
#     """
#     def __init__(self, enabled=True):
#         _ = enabled             # enabled is um not used
#         self._used_kwds = {}
#         self._unused_kwds = {}
# 
#     def get_used_keywords(self):
#         return self._used_kwds
# 
#     def get_unused_keywords(self):
#         return self._unused_kwds
# 
#     def __call__(self, f):
# 
#         # (nada)
# 
#         @wraps(f)
#         def f_used_unused_keywords_wrapper_(*args, **kwargs):
# 
#             # Figure out which parameters were NOT supplied
#             # by the actual call - the 'defaulted' arguments
#             f_params = inspect.signature(f).parameters
#             bound_args = inspect.signature(f).bind(*args, **kwargs)
# 
#             # These return OrderedDicts
#             self._used_kwds = get_explicit_kwargs_OD(f_params, bound_args, kwargs)
#             self._unused_kwds = get_defaulted_kwargs_OD(f_params, bound_args)
# 
#             return f(*args, **kwargs)
# 
#         setattr(
#             f_used_unused_keywords_wrapper_,
#             'get_used_keywords',
#             self.get_used_keywords,
#         )
#         setattr(
#             f_used_unused_keywords_wrapper_,
#             'get_unused_keywords',
#             self.get_unused_keywords,
#         )
# 
#         return f_used_unused_keywords_wrapper_


from log_calls import used_unused_kwds
from log_calls.used_unused_kwds  import used_unused_keywords
import doctest
import unittest
__author__ = "Brian O'Neill"
__version__ = '0.2.4'



# For unittest integration
def load_tests(loader, tests, ignore):
    tests.addTests(doctest.DocTestSuite(used_unused_kwds))
    return tests


if __name__ == "__main__":

# Path: log_calls/used_unused_kwds.py
# class used_unused_keywords():
#     def __init__(self, enabled=True):
#     def get_used_keywords(self):
#     def get_unused_keywords(self):
#     def __call__(self, f):
#         def f_used_unused_keywords_wrapper_(*args, **kwargs):
# def main():
# 
# Path: log_calls/used_unused_kwds.py
# class used_unused_keywords():
#     """TODO
#     """
#     def __init__(self, enabled=True):
#         _ = enabled             # enabled is um not used
#         self._used_kwds = {}
#         self._unused_kwds = {}
# 
#     def get_used_keywords(self):
#         return self._used_kwds
# 
#     def get_unused_keywords(self):
#         return self._unused_kwds
# 
#     def __call__(self, f):
# 
#         # (nada)
# 
#         @wraps(f)
#         def f_used_unused_keywords_wrapper_(*args, **kwargs):
# 
#             # Figure out which parameters were NOT supplied
#             # by the actual call - the 'defaulted' arguments
#             f_params = inspect.signature(f).parameters
#             bound_args = inspect.signature(f).bind(*args, **kwargs)
# 
#             # These return OrderedDicts
#             self._used_kwds = get_explicit_kwargs_OD(f_params, bound_args, kwargs)
#             self._unused_kwds = get_defaulted_kwargs_OD(f_params, bound_args)
# 
#             return f(*args, **kwargs)
# 
#         setattr(
#             f_used_unused_keywords_wrapper_,
#             'get_used_keywords',
#             self.get_used_keywords,
#         )
#         setattr(
#             f_used_unused_keywords_wrapper_,
#             'get_unused_keywords',
#             self.get_unused_keywords,
#         )
# 
#         return f_used_unused_keywords_wrapper_


# Path: tests/test_used_unused_kwds.py
from log_calls import used_unused_kwds
from log_calls.used_unused_kwds  import used_unused_keywords
import doctest
import unittest

__author__ = "Brian O'Neill"
__version__ = '0.2.4'



# For unittest integration
def load_tests(loader, tests, ignore):
    tests.addTests(doctest.DocTestSuite(used_unused_kwds))
    return tests


if __name__ == "__main__":

    doctest.testmod(used_unused_kwds)   # (verbose=True)