I'm using this method. It was the easiest for me to understand. Here's a little snippet of the script I'm using.
cpass1=AVISource().trim()
cpass2=AVISource().trim()
cpass3=AVISource().trim()
tootc=twooutofthree(cpass1,cpass2,cpass3).trim(345,0)
spass1=AVISource().trim()
spass2=AVISource().trim()
spass3=AVISource().trim()
toots=twooutofthree(spass1,spass2,spass3).trim(326,0)
mix=overlay(tootc,toots,mode="luma",opacity=1)
p1=mix.separatefields().selectevery(10,0,1,2,3,4,5,6,9).weave().trim(0,1090)
p2=mix.separatefields().trim(2726,0).selectevery(10,0,1,2,5,6,7,8,9).weave().trim(0,2832)
p3=mix.separatefields().trim(9810,0).selectevery(10,0,1,2,3,4,5,6,9).weave().trim(0,2935)return(p3)