def _sync_ts_group_db():
        logger.debug("_sync_ts_group_db function called.")
        try:
            remote_groups = Teamspeak3Manager._group_list()
            local_groups = TSgroup.objects.all()
            logger.debug("Comparing remote groups to TSgroup objects: %s" %
                         local_groups)
            for key in remote_groups:
                logger.debug(
                    "Typecasting remote_group value at position %s to int: %s"
                    % (key, remote_groups[key]))
                remote_groups[key] = int(remote_groups[key])

            for group in local_groups:
                logger.debug("Checking local group %s" % group)
                if group.ts_group_id not in remote_groups.values():
                    logger.debug(
                        "Local group id %s not found on server. Deleting model %s"
                        % (group.ts_group_id, group))
                    TSgroup.objects.filter(
                        ts_group_id=group.ts_group_id).delete()
            for key in remote_groups:
                g = TSgroup(ts_group_id=remote_groups[key], ts_group_name=key)
                q = TSgroup.objects.filter(ts_group_id=g.ts_group_id)
                if not q:
                    logger.debug(
                        "Local group does not exist for TS group %s. Creating TSgroup model %s"
                        % (remote_groups[key], g))
                    g.save()
        except:
            logger.exception(
                "An unhandled exception has occured while syncing TS groups.")
            pass
    def _sync_ts_group_db():
        logger.debug("_sync_ts_group_db function called.")
        try:
            remote_groups = Teamspeak3Manager._group_list()
            local_groups = TSgroup.objects.all()
            logger.debug("Comparing remote groups to TSgroup objects: %s" % local_groups)
            for key in remote_groups:
                logger.debug("Typecasting remote_group value at position %s to int: %s" % (key, remote_groups[key]))
                remote_groups[key] = int(remote_groups[key])

            for group in local_groups:
                logger.debug("Checking local group %s" % group)
                if group.ts_group_id not in remote_groups.values():
                    logger.debug(
                        "Local group id %s not found on server. Deleting model %s" % (group.ts_group_id, group)
                    )
                    TSgroup.objects.filter(ts_group_id=group.ts_group_id).delete()
            for key in remote_groups:
                g = TSgroup(ts_group_id=remote_groups[key], ts_group_name=key)
                q = TSgroup.objects.filter(ts_group_id=g.ts_group_id)
                if not q:
                    logger.debug(
                        "Local group does not exist for TS group %s. Creating TSgroup model %s"
                        % (remote_groups[key], g)
                    )
                    g.save()
        except TeamspeakError as e:
            logger.error("Error occured while syncing TS group db: %s" % str(e))
        except:
            logger.exception("An unhandled exception has occured while syncing TS groups.")
 def _sync_ts_group_db():
     try:
         remote_groups = Teamspeak3Manager._group_list()
         local_groups = TSgroup.objects.all()
         for key in remote_groups:
             remote_groups[key] = int(remote_groups[key])
         
         for group in local_groups:
             if group.ts_group_id not in remote_groups.values():
                 TSgroup.objects.filter(ts_group_id=group.ts_group_id).delete()
         for key in remote_groups:
             g = TSgroup(ts_group_id=remote_groups[key],ts_group_name=key)
             q = TSgroup.objects.filter(ts_group_id=g.ts_group_id)
             if not q:
                 g.save()
     except:
         pass