async def _process_license_list(self, body):
        logger.debug("Processing message ClientLicenseList")
        if self.license_import_handler is None:
            return

        message = steammessages_clientserver_pb2.CMsgClientLicenseList()
        message.ParseFromString(body)

        licenses_to_check = []

        for license in message.licenses:
            # license.type 1024 = free games
            # license.flags 520 = unidentified trash entries (games which are not owned nor are free)
            if int(license.flags) == 520:
                continue

            if license.package_id == 0:
                # Packageid 0 contains trash entries for every user
                logger.debug("Skipping packageid 0 ")
                continue

            if int(license.owner_id) == int(self.steam_id -
                                            self._ACCOUNT_ID_MASK):
                licenses_to_check.append(
                    SteamLicense(license=license, shared=False))
            else:
                if license.package_id in licenses_to_check:
                    continue
                licenses_to_check.append(
                    SteamLicense(license=license, shared=True))

        await self.license_import_handler(licenses_to_check)
示例#2
0
    async def _process_license_list(self, body):
        logger.info("Processing message ClientLicenseList")
        if self.license_import_handler is None:
            return

        message = steammessages_clientserver_pb2.CMsgClientLicenseList()
        message.ParseFromString(body)

        licenses_to_check = {}

        for license in message.licenses:
            # license.type 1024 = free games
            # license.flags 520 = unidentified trash entries (games which are not owned nor are free)
            if int(license.flags) == 520:
                continue

            if int(license.owner_id) == int(self.steam_id -
                                            self._ACCOUNT_ID_MASK):
                logger.info(f"Owned license {license.package_id}")
                licenses_to_check[license.package_id] = {
                    'license': license,
                    'shared': False
                }
            else:
                if license.package_id in licenses_to_check:
                    continue
                logger.info(f"Shared license {license.package_id}")
                licenses_to_check[license.package_id] = {
                    'license': license,
                    'shared': True
                }

        await self.license_import_handler(licenses_to_check)
    async def _process_license_list(self, body):
        logger.debug("Processing message ClientLicenseList")
        if self.license_import_handler is None:
            return

        message = steammessages_clientserver_pb2.CMsgClientLicenseList()
        message.ParseFromString(body)

        await self.license_import_handler(message.licenses)
示例#4
0
    async def _process_license_list(self, body):
        logger.debug("Processing message ClientLicenseList")
        if self.license_import_handler is None:
            return

        message = steammessages_clientserver_pb2.CMsgClientLicenseList()
        message.ParseFromString(body)

        licenses_to_check = []
        for license in message.licenses:
            # license.type 1024 = free games
            # license.flags 520 = unidentified trash entries (games which are not owned nor are free)
            if int(license.owner_id) == int(
                    self._miniprofile_id) and int(license.flags) != 520:
                licenses_to_check.append(license)

        await self.license_import_handler(licenses_to_check)