@@ -71,15 +71,15 @@ class WorkspaceBuilder:
7171    >>> new_session.name == 'sample workspace' 
7272    True 
7373
74-     >>> len(new_session._windows ) 
74+     >>> len(new_session.windows ) 
7575    3 
7676
7777    >>> sorted([window.name for window in new_session.windows]) 
7878    ['editor', 'logging', 'test'] 
7979
8080    **Existing session:** 
8181
82-     >>> len(session._windows ) 
82+     >>> len(session.windows ) 
8383    1 
8484
8585    >>> builder.build(session=session) 
@@ -89,7 +89,7 @@ class WorkspaceBuilder:
8989    >>> session.name == 'sample workspace' 
9090    False 
9191
92-     >>> len(session._windows ) 
92+     >>> len(session.windows ) 
9393    3 
9494
9595    >>> sorted([window.name for window in session.windows]) 
@@ -174,7 +174,10 @@ def session_exists(self, session_name=None):
174174        if  not  exists :
175175            return  exists 
176176
177-         self .session  =  self .server .find_where ({"session_name" : session_name })
177+         try :
178+             self .session  =  self .server .sessions .filter (session_name = session_name )[0 ]
179+         except  IndexError :
180+             return  False 
178181        return  True 
179182
180183    def  build (self , session = None , append = False ):
@@ -203,12 +206,17 @@ def build(self, session=None, append=False):
203206                )
204207
205208            if  self .server .has_session (self .sconf ["session_name" ]):
206-                 self .session  =  self .server .find_where (
207-                     {"session_name" : self .sconf ["session_name" ]}
208-                 )
209-                 raise  TmuxSessionExists (
210-                     "Session name %s is already running."  %  self .sconf ["session_name" ]
211-                 )
209+                 try :
210+                     self .session  =  self .server .sessions .filter (
211+                         session_name = self .sconf ["session_name" ]
212+                     )[0 ]
213+ 
214+                     raise  TmuxSessionExists (
215+                         "Session name %s is already running." 
216+                         %  self .sconf ["session_name" ]
217+                     )
218+                 except  IndexError :
219+                     pass 
212220            else :
213221                new_session_kwargs  =  {}
214222                if  "start_directory"  in  self .sconf :
@@ -226,7 +234,7 @@ def build(self, session=None, append=False):
226234        self .session  =  session 
227235        self .server  =  session .server 
228236
229-         self .server ._list_sessions () 
237+         self .server .sessions 
230238        assert  self .server .has_session (session .name )
231239        assert  session .id 
232240
@@ -378,16 +386,13 @@ def iter_create_windows(self, session, append=False):
378386                session .attached_window .kill_window ()
379387
380388            assert  isinstance (w , Window )
381-             session .server ._update_windows ()
382389            if  "options"  in  wconf  and  isinstance (wconf ["options" ], dict ):
383390                for  key , val  in  wconf ["options" ].items ():
384391                    w .set_window_option (key , val )
385392
386393            if  "focus"  in  wconf  and  wconf ["focus" ]:
387394                w .select_window ()
388395
389-             session .server ._update_windows ()
390- 
391396            yield  w , wconf 
392397
393398    def  iter_create_panes (self , w , wconf ):
@@ -421,7 +426,6 @@ def iter_create_panes(self, w, wconf):
421426            else :
422427
423428                def  get_pane_start_directory ():
424- 
425429                    if  "start_directory"  in  pconf :
426430                        return  pconf ["start_directory" ]
427431                    elif  "start_directory"  in  wconf :
@@ -430,7 +434,6 @@ def get_pane_start_directory():
430434                        return  None 
431435
432436                def  get_pane_shell ():
433- 
434437                    if  "shell"  in  pconf :
435438                        return  pconf ["shell" ]
436439                    elif  "window_shell"  in  wconf :
@@ -486,7 +489,8 @@ def get_pane_shell():
486489                    time .sleep (sleep_after )
487490
488491            if  "focus"  in  pconf  and  pconf ["focus" ]:
489-                 w .select_pane (p ["pane_id" ])
492+                 assert  p .pane_id  is  not None 
493+                 w .select_pane (p .pane_id )
490494
491495            w .server ._update_panes ()
492496
@@ -519,8 +523,8 @@ def find_current_attached_session(self):
519523        return  next (
520524            (
521525                s 
522-                 for  s  in  self .server .list_sessions () 
523-                 if  s [ " session_id" ]  ==  current_active_pane [ " session_id" ] 
526+                 for  s  in  self .server .sessions 
527+                 if  s . session_id  ==  current_active_pane . session_id 
524528            ),
525529            None ,
526530        )
0 commit comments