Hello list,
I'm currently in the process of attempting to setup Quickfix through
the Python wrappers. It looks like they're not the best-maintained
part of the codebase (indeed, it looks like the codebase isn't really
being actively maintained).
I've pulled the latest from github/quickfix/quickfix, configured and
compiled fine, but when I try to run a test script, I get this error:
Traceback (most recent call last):
File "test.py", line 32, in <module>
acceptor = quickfix.SocketAcceptor(app, store, settings, logging)
File "/home/djc/src/quickfix/lib/python/quickfix.py", line 4529, in __init__
SocketAcceptorBase.__init__(self, application, storeFactory,
settings, logFactory)
File "/home/djc/src/quickfix/lib/python/quickfix.py", line 4441, in __init__
this = _quickfix.new_SocketAcceptorBase(*args)
NotImplementedError: Wrong number of arguments for overloaded function
'new_SocketAcceptorBase'.
Possible C/C++ prototypes are:
FIX::SocketAcceptor(FIX::Application &,FIX::MessageStoreFactory
&,FIX::SessionSettings const &)
FIX::SocketAcceptor(FIX::Application &,FIX::MessageStoreFactory
&,FIX::SessionSettings const &,FIX::LogFactory &)
The error is clear enough, but it doesn't seem to match what my code
is trying to do:
settings = quickfix.SessionSettings('config.ini')
app = Application()
store = quickfix.FileStoreFactory(settings)
logging = quickfix.FileLogFactory(settings)
acceptor = quickfix.SocketAcceptor(app, store, settings, logging)
acceptor.start()
# while condition == true: do something
acceptor.stop()
IOW, I'm already passing an Application, a StoreFactory, a
SessionSettings and a LogFactory, exactly as requested. What am I
doing wrong? Does it somehow count self? I did a little digging
(Googled, searched the mailing list), but since I don't know much
about C++ or SWIG either, I didn't get all that far. I'd be happy to
contribute back better Python support, but I'd need to get it running
first.
Thanks in advance,
Dirkjan
|