async def _syncBackups(self, sources: List[BackupSource]):
    for source in sources:
        if source.enabled():
            from_source: Dict[(str, AbstractBackup)] = (await source.get())
        else:
            from_source: Dict[(str, AbstractBackup)] = {}
        for backup in from_source.values():
            if (backup.slug() not in self.backups):
                self.backups[backup.slug()] = Backup(backup)
            else:
                self.backups[backup.slug()].addSource(backup)
        for backup in list(self.backups.values()):
            if (backup.slug() not in from_source):
                slug = backup.slug()
                backup.removeSource(source.name())
                if backup.isDeleted():
                    del self.backups[slug]
    self.firstSync = False
async def _syncBackups(self, sources: List[BackupSource]):
    for source in sources:
        if source.enabled():
            from_source: Dict[(str, AbstractBackup)] = (await source.get())
        else:
            from_source: Dict[(str, AbstractBackup)] = {}
        for backup in from_source.values():
            if (backup.slug() not in self.backups):
                self.backups[backup.slug()] = Backup(backup)
            else:
                self.backups[backup.slug()].addSource(backup)
        for backup in list(self.backups.values()):
            if (backup.slug() not in from_source):
                slug = backup.slug()
                backup.removeSource(source.name())
                if backup.isDeleted():
                    del self.backups[slug]
    self.firstSync = False