Most editors I know use tabs by default. And also most C++ code or other code I have seen in the wild prefer tabs over spaces. I hate it when I open some source and the editor have used 8 spaces instead of a tab; or sometimes also 2 spaces, I have also seen 3 spaces and 5 spaces. All different from what I prefer: 4 spaces.
I actually don't even know what the other devs prefer. It never has mattered because we uses tabs in the whole OLX code for indentation.
I didn't know that the Python project officially recommends spaces. And I also don't really agree with that recommendation (mostly for the reasons given above). Up to know, we really didn't had any problems using tabs and I also don't see any case where it could lead to problems (unless somebody mixes them in a wrong way with spaces somewhere). On the other side, I really see my given reasons as a huge advantage.
Also, you have the same flexibility with tabs. You probably mean such case ('S' = space, 'T' = tab):
SSSSa = [
The way I would to do that normally:
Ta = [
But you even can get the same flexibility, by doing this:
Ta = [
In fact, I know some editors which does exactly that automatically.
Well but anyway, I think all this is a bit off-topic and not really that important here.
How is your progress with the ded script? Got something working? I hope my explanations how you communicate with OLX were mostly clear.
Btw., some further notes on the ded script system which might be interesting for you:
In the past, our ded scripts looked very ugly/complicated because we wanted to have some handler in the background which does something after a while. We did that by another Python thread and a lot of hacks here and there to make it more or less working (and it was all the time buggy).
We solved that in a way that it should never be needed to have a background thread in your script. Your script, after it has done something, should send "nextsignal\n" and wait just for the next signal - doing nothing else. So, to get the same functionallity, we introduced a timer. You will get a default timer signal each second. I.e. that means that OLX wakes up the ded script every second. You can just ignore these signals and just wait for the next "backtolobby" or whatever - or you can do actually some further checks, perhaps you have internal timeouts in your script for something or so.
I also thought of giving some more possibilities here: For example create own timers with different time values, or just countdown-timers which will send a signal after time X, also start/stop timers, and such stuff. But that was not added yet as there was no urgent need for it.
Also, you may need some further signals about some stuff. If so, just say that, it's not really a problem to add a signal for something. The current workaround would be to just check it somehow manually after each timer signal. You can get a lot of information via all the functions. If you miss some functionality, also just say that.