File tree Expand file tree Collapse file tree
src/Bonsai.Scripting.Python Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -44,9 +44,11 @@ public class Eval : Combinator<PyObject>
4444 /// </returns>
4545 public override IObservable < PyObject > Process < TSource > ( IObservable < TSource > source )
4646 {
47- return RuntimeManager . RuntimeSource
48- . GetModuleOrDefaultAsync ( Module )
49- . SelectMany ( module => source . Select ( _ => module . Eval ( Expression ) ) ) ;
47+ return RuntimeManager . RuntimeSource . SelectMany ( runtime =>
48+ {
49+ var module = Module ?? runtime . MainModule ;
50+ return source . Select ( _ => module . Eval ( Expression ) ) ;
51+ } ) ;
5052 }
5153
5254 /// <summary>
Original file line number Diff line number Diff line change @@ -45,9 +45,11 @@ public class Exec : Combinator<PyModule>
4545 /// </returns>
4646 public override IObservable < PyModule > Process < TSource > ( IObservable < TSource > source )
4747 {
48- return RuntimeManager . RuntimeSource
49- . GetModuleOrDefaultAsync ( Module )
50- . SelectMany ( module => source . Select ( _ => module . Exec ( Script ) ) ) ;
48+ return RuntimeManager . RuntimeSource . SelectMany ( runtime =>
49+ {
50+ var module = Module ?? runtime . MainModule ;
51+ return source . Select ( _ => module . Exec ( Script ) ) ;
52+ } ) ;
5153 }
5254
5355 /// <summary>
Original file line number Diff line number Diff line change @@ -38,10 +38,9 @@ public class Get : Source<PyObject>
3838 /// </returns>
3939 public override IObservable < PyObject > Generate ( )
4040 {
41- return RuntimeManager . RuntimeSource
42- . GetModuleOrDefaultAsync ( Module )
43- . ObserveOnGIL ( )
44- . Select ( module => module . Get ( VariableName ) ) ;
41+ return from runtime in RuntimeManager . RuntimeSource . ObserveOnGIL ( )
42+ let module = Module ?? runtime . MainModule
43+ select module . Get ( VariableName ) ;
4544 }
4645
4746 /// <summary>
@@ -60,9 +59,11 @@ public override IObservable<PyObject> Generate()
6059 /// </returns>
6160 public IObservable < PyObject > Generate < TSource > ( IObservable < TSource > source )
6261 {
63- return RuntimeManager . RuntimeSource
64- . GetModuleOrDefaultAsync ( Module )
65- . SelectMany ( module => source . Select ( _ => module . Get ( VariableName ) ) ) ;
62+ return RuntimeManager . RuntimeSource . SelectMany ( runtime =>
63+ {
64+ var module = Module ?? runtime . MainModule ;
65+ return source . Select ( _ => module . Get ( VariableName ) ) ;
66+ } ) ;
6667 }
6768
6869 /// <summary>
Original file line number Diff line number Diff line change @@ -7,13 +7,6 @@ namespace Bonsai.Scripting.Python
77{
88 static class ObservableExtensions
99 {
10- public static IObservable < PyModule > GetModuleOrDefaultAsync ( this IObservable < RuntimeManager > source , PyModule module )
11- {
12- return module != null
13- ? Observable . Return ( module )
14- : source . Select ( runtime => runtime . MainModule ) ;
15- }
16-
1710 public static IObservable < TSource > ObserveOnGIL < TSource > ( this IObservable < TSource > source )
1811 {
1912 return Observable . Create < TSource > ( observer =>
Original file line number Diff line number Diff line change @@ -45,9 +45,11 @@ public class Set : Sink
4545 /// </returns>
4646 public override IObservable < TSource > Process < TSource > ( IObservable < TSource > source )
4747 {
48- return RuntimeManager . RuntimeSource
49- . GetModuleOrDefaultAsync ( Module )
50- . SelectMany ( module => source . Do ( value => module . Set ( VariableName , value ) ) ) ;
48+ return RuntimeManager . RuntimeSource . SelectMany ( runtime =>
49+ {
50+ var module = Module ?? runtime . MainModule ;
51+ return source . Do ( value => module . Set ( VariableName , value ) ) ;
52+ } ) ;
5153 }
5254 }
5355}
You can’t perform that action at this time.
0 commit comments