#NEWLINE# def get_includes_and_excludes( self ) : #NEWLINE# #INDENT# '\n        Get a list of all targeting objects that\n        are included in the target (do not live under a NOT),\n        and a list of excluded targets(live under a NOT).\n\n        WARNING: This functionality only works for simple\n        targeting criterion that do not have very complex\n        boolean construction. This only works for targeting\n        criterion that have a scheme like:\n            (OR: [1,2,3]) & (NOT: OR: [4,5,6])\n        In more complex targeting setups, you cannot guarantee that\n        this function will output what you actually want.\n\n        @return: list(ObjectModel), list(ObjectModel)\n        ' #NEWLINE# all_targets = set ( self . flatten ( ) ) #NEWLINE# includes = set ( self . _get_includes ( ) ) #NEWLINE# excludes = ( all_targets - excludes ) #NEWLINE# return ( list ( includes ) , list ( excludes ) )