Skip to content

Commit

Permalink
Simplify _wrap functions with debugging conditional (#2215)
Browse files Browse the repository at this point in the history
  • Loading branch information
Avasam committed Apr 11, 2024
1 parent ebf39ea commit de64f6e
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 37 deletions.
9 changes: 4 additions & 5 deletions com/win32com/client/connect.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
"""Utilities for working with Connections"""

import pythoncom
import win32com.server.policy
import win32com.server.util


Expand All @@ -22,11 +23,9 @@ def __del__(self):
pass

def _wrap(self, obj):
useDispatcher = None
if self.debug:
from win32com.server import dispatcher

useDispatcher = dispatcher.DefaultDebugDispatcher
useDispatcher = (
win32com.server.policy.DispatcherWin32trace if self.debug else None
)
return win32com.server.util.wrap(obj, useDispatcher=useDispatcher)

def Connect(self, coInstance, eventInstance, eventCLSID=None):
Expand Down
22 changes: 4 additions & 18 deletions com/win32comext/axdebug/util.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import sys

import win32api
import win32com.server.policy
import win32com.server.util
import winerror
from win32com.server.exception import COMException
Expand Down Expand Up @@ -35,21 +36,9 @@ def trace(*args):
# now does ensure this.


def _wrap_nodebug(object, iid):
return win32com.server.util.wrap(object, iid)


def _wrap_debug(object, iid):
import win32com.server.policy

dispatcher = win32com.server.policy.DispatcherWin32trace
return win32com.server.util.wrap(object, iid, useDispatcher=dispatcher)


if debugging:
_wrap = _wrap_debug
else:
_wrap = _wrap_nodebug
def _wrap(object, iid):
useDispatcher = win32com.server.policy.DispatcherWin32trace if debugging else None
return win32com.server.util.wrap(object, iid, useDispatcher=useDispatcher)


def RaiseNotImpl(who=None):
Expand All @@ -69,9 +58,6 @@ def RaiseNotImpl(who=None):
raise COMException(scode=winerror.E_NOTIMPL)


import win32com.server.policy


class Dispatcher(win32com.server.policy.DispatcherWin32trace):
def __init__(self, policyClass, object):
win32com.server.policy.DispatcherTrace.__init__(self, policyClass, object)
Expand Down
17 changes: 3 additions & 14 deletions com/win32comext/axscript/client/scriptdispatch.py
Original file line number Diff line number Diff line change
Expand Up @@ -95,23 +95,12 @@ def _getdispid_(self, name, fdex):
return win32com.server.policy.DynamicPolicy._getdispid_(self, name, fdex)


def _wrap_debug(obj):
def _wrap(obj):
useDispatcher = win32com.server.policy.DispatcherWin32trace if debugging else None
return win32com.server.util.wrap(
obj,
usePolicy=StrictDynamicPolicy,
useDispatcher=win32com.server.policy.DispatcherWin32trace,
obj, usePolicy=StrictDynamicPolicy, useDispatcher=useDispatcher
)


def _wrap_nodebug(obj):
return win32com.server.util.wrap(obj, usePolicy=StrictDynamicPolicy)


if debugging:
_wrap = _wrap_debug
else:
_wrap = _wrap_nodebug


def MakeScriptDispatch(engine, namespace):
return _wrap(ScriptDispatch(engine, namespace))

0 comments on commit de64f6e

Please sign in to comment.