diff --git a/tv/lib/devices.py b/tv/lib/devices.py index ea10ce7..8ada902 100644 --- a/tv/lib/devices.py +++ b/tv/lib/devices.py @@ -731,6 +731,7 @@ class DeviceItem(metadata.Store): if required not in kwargs: raise TypeError('DeviceItem must be given a "%s" argument' % required) + self.__initialized = False self.file_format = self.size = None self.release_date = self.feed_name = self.feed_id = None self.keep = True @@ -788,6 +789,8 @@ class DeviceItem(metadata.Store): if self.mdp_state is None: # haven't run MDP yet moviedata.movie_data_updater.request_update(self) + self.__initialized = True + @staticmethod def id_exists(): return True @@ -872,6 +875,9 @@ class DeviceItem(metadata.Store): self.device.database.emit('item-removed', self) def signal_change(self): + if not self.__initialized: + return # haven't finished going through __init__ yet + if not os.path.exists( os.path.join(self.device.mount, self.video_path)): # file was removed from the filesystem