Refactorization
This commit is contained in:
parent
4b9f364120
commit
2b7687b449
@ -2,10 +2,11 @@
|
|||||||
|
|
||||||
import time
|
import time
|
||||||
import re
|
import re
|
||||||
|
import threading
|
||||||
|
|
||||||
from twisted.internet import reactor
|
from twisted.internet import reactor
|
||||||
from twisted.internet.protocol import ClientFactory
|
from twisted.internet.protocol import ClientFactory
|
||||||
|
from syncplay import utils
|
||||||
from .network_utils import (
|
from .network_utils import (
|
||||||
arg_count,
|
arg_count,
|
||||||
CommandProtocol,
|
CommandProtocol,
|
||||||
@ -208,8 +209,9 @@ class Manager(object):
|
|||||||
|
|
||||||
self.make_player = make_player
|
self.make_player = make_player
|
||||||
self.running = False
|
self.running = False
|
||||||
|
command_handler = threading.Thread(target = utils.stdin_thread, args = (self,), name = "Command handler")
|
||||||
|
command_handler.setDaemon(True)
|
||||||
|
command_handler.start()
|
||||||
def start(self):
|
def start(self):
|
||||||
if self.running:
|
if self.running:
|
||||||
return
|
return
|
||||||
@ -261,7 +263,6 @@ class Manager(object):
|
|||||||
self.make_player(self)
|
self.make_player(self)
|
||||||
self.make_player = None
|
self.make_player = None
|
||||||
|
|
||||||
|
|
||||||
def schedule_ask_player(self, when=0.2):
|
def schedule_ask_player(self, when=0.2):
|
||||||
if self.ask_delayed and self.ask_delayed.active():
|
if self.ask_delayed and self.ask_delayed.active():
|
||||||
self.ask_delayed.reset(when)
|
self.ask_delayed.reset(when)
|
||||||
@ -276,7 +277,6 @@ class Manager(object):
|
|||||||
self.player.ask_for_status()
|
self.player.ask_for_status()
|
||||||
self.schedule_ask_player()
|
self.schedule_ask_player()
|
||||||
|
|
||||||
|
|
||||||
def schedule_send_status(self, when=1):
|
def schedule_send_status(self, when=1):
|
||||||
if self.send_delayed and self.send_delayed.active():
|
if self.send_delayed and self.send_delayed.active():
|
||||||
self.send_delayed.reset(when)
|
self.send_delayed.reset(when)
|
||||||
@ -306,31 +306,19 @@ class Manager(object):
|
|||||||
print message
|
print message
|
||||||
self.player.display_message(message)
|
self.player.display_message(message)
|
||||||
|
|
||||||
|
|
||||||
def send_filename(self):
|
def send_filename(self):
|
||||||
if self.protocol and self.player_filename:
|
if self.protocol and self.player_filename:
|
||||||
self.protocol.send_playing(self.player_filename)
|
self.protocol.send_playing(self.player_filename)
|
||||||
|
|
||||||
def __exectue_seek_cmd(self, seek_type, minutes, seconds):
|
def __exectue_seek_cmd(self, seek_type, minutes, seconds):
|
||||||
self.player_position_before_last_seek = self.player_position
|
self.player_position_before_last_seek = self.player_position
|
||||||
|
|
||||||
if seek_type == 's':
|
if seek_type == 's':
|
||||||
if seconds <> None:
|
seconds = int(seconds) if seconds <> None else 0
|
||||||
seconds = int(seconds)
|
seconds += int(minutes) * 60 if minutes <> None else 0
|
||||||
else:
|
|
||||||
seconds = 0
|
|
||||||
if minutes <> None:
|
|
||||||
seconds += int(minutes) * 60
|
|
||||||
self.player.set_position(seconds)
|
self.player.set_position(seconds)
|
||||||
else: #seek_type s+
|
else: #seek_type s+
|
||||||
if seconds <> None:
|
seconds = int(seconds) if seconds <> None else 20
|
||||||
seconds = int(seconds)
|
seconds += int(minutes) * 60 if minutes <> None else 60
|
||||||
else:
|
|
||||||
seconds = 20
|
|
||||||
if minutes <> None:
|
|
||||||
seconds += int(minutes) * 60
|
|
||||||
else:
|
|
||||||
seconds += 60
|
|
||||||
self.player.set_position(self.player_position+seconds)
|
self.player.set_position(self.player_position+seconds)
|
||||||
|
|
||||||
def execute_command(self, data):
|
def execute_command(self, data):
|
||||||
@ -359,11 +347,11 @@ class Manager(object):
|
|||||||
print "\tr - revert last seek"
|
print "\tr - revert last seek"
|
||||||
print "\tp - toggle pause"
|
print "\tp - toggle pause"
|
||||||
print "\troom [room] - change room, if no supplied go to default"
|
print "\troom [room] - change room, if no supplied go to default"
|
||||||
|
|
||||||
def update_player_status(self, paused, position):
|
def update_player_status(self, paused, position):
|
||||||
self.status_ask_received += 1
|
self.status_ask_received += 1
|
||||||
if self.status_ask_received < self.status_ask_sent:
|
if self.status_ask_received < self.status_ask_sent:
|
||||||
return
|
return
|
||||||
|
|
||||||
old_paused = self.player_paused
|
old_paused = self.player_paused
|
||||||
self.player_paused = paused
|
self.player_paused = paused
|
||||||
self.player_position = position
|
self.player_position = position
|
||||||
@ -384,8 +372,6 @@ class Manager(object):
|
|||||||
message = '%s unpaused' % self.name
|
message = '%s unpaused' % self.name
|
||||||
print message
|
print message
|
||||||
self.player.display_message(message)
|
self.player.display_message(message)
|
||||||
|
|
||||||
|
|
||||||
if not (self.global_paused or self.seek_sent_wait):
|
if not (self.global_paused or self.seek_sent_wait):
|
||||||
if (0.4 if self.player_speed_fix else 1.2) <= diff <= 4:
|
if (0.4 if self.player_speed_fix else 1.2) <= diff <= 4:
|
||||||
#print 'client is %0.2fs ahead of server, slowing down' % diff
|
#print 'client is %0.2fs ahead of server, slowing down' % diff
|
||||||
@ -400,7 +386,6 @@ class Manager(object):
|
|||||||
if abs(diff) > 8:# and not self.seek_sent_wait:
|
if abs(diff) > 8:# and not self.seek_sent_wait:
|
||||||
self.send_seek()
|
self.send_seek()
|
||||||
self.seek_sent_wait = True
|
self.seek_sent_wait = True
|
||||||
|
|
||||||
if not paused and self.player_paused_at is not None and position >= self.player_paused_at:
|
if not paused and self.player_paused_at is not None and position >= self.player_paused_at:
|
||||||
#print 'Pausing %0.2fs after pause point' % (position - self.player_paused_at)
|
#print 'Pausing %0.2fs after pause point' % (position - self.player_paused_at)
|
||||||
self.player.set_paused(True)
|
self.player.set_paused(True)
|
||||||
@ -409,7 +394,6 @@ class Manager(object):
|
|||||||
def update_filename(self, filename):
|
def update_filename(self, filename):
|
||||||
filename = unicode(filename, errors='replace')
|
filename = unicode(filename, errors='replace')
|
||||||
self.player_filename = filename.encode('ascii','replace')
|
self.player_filename = filename.encode('ascii','replace')
|
||||||
|
|
||||||
self.send_filename()
|
self.send_filename()
|
||||||
|
|
||||||
def update_global_state(self, counter, ctime, paused, position, name):
|
def update_global_state(self, counter, ctime, paused, position, name):
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user