@@ -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