MCPcopy Create free account
hub / github.com/Syncplay/syncplay / SyncplayUser

Class SyncplayUser

syncplay/client.py:1308–1370  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1306
1307
1308class SyncplayUser(object):
1309 def __init__(self, username=None, room=None, file_=None):
1310 self.ready = None
1311 self.username = username
1312 self.room = room
1313 self.file = file_
1314 self._controller = False
1315 self._features = {}
1316
1317 def setFile(self, filename, duration, size, path=None):
1318 file_ = {
1319 "name": filename,
1320 "duration": duration,
1321 "size": size,
1322 "path": path
1323 }
1324 self.file = file_
1325
1326 def isFileSame(self, file_):
1327 if not self.file:
1328 return False
1329 sameName = utils.sameFilename(self.file['name'], file_['name'])
1330 sameSize = utils.sameFilesize(self.file['size'], file_['size'])
1331 sameDuration = utils.sameFileduration(self.file['duration'], file_['duration'])
1332 return sameName and sameSize and sameDuration
1333
1334 def __lt__(self, other):
1335 if self.isController() == other.isController():
1336 return self.username.lower() < other.username.lower()
1337 else:
1338 return self.isController() > other.isController()
1339
1340 def __repr__(self, *args, **kwargs):
1341 if self.file:
1342 return "{}: {} ({}, {})".format(self.username, self.file['name'], self.file['duration'], self.file['size'])
1343 else:
1344 return "{}".format(self.username)
1345
1346 def setControllerStatus(self, isController):
1347 self._controller = isController
1348
1349 def isController(self):
1350 return self._controller
1351
1352 def canControl(self):
1353 if self.isController() or not utils.RoomPasswordProvider.isControlledRoom(self.room):
1354 return True
1355 else:
1356 return False
1357
1358 def isReadyWithFile(self):
1359 if self.file is None:
1360 return None
1361 return self.ready
1362
1363 def isReady(self):
1364 return self.ready
1365

Callers 2

__init__Method · 0.85
addUserMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected