<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 async def restricted_import(self, async_client, node_type):
 """Import only the Science Objects specified by a text file. The file must be UTF-8 encoded and contain one PIDs or SIDs per line. """

        item_task_name = "Importing objects"
        pid_path = self.options['pid_path']

        if not os.path.exists(pid_path):
            raise ConnectionError('File does not exist: {}'.format(pid_path))

        with open(pid_path, encoding='UTF-8') as pid_file:
            self.progress_logger.start_task_type(
                item_task_name, len(pid_file.readlines())
            )
            pid_file.seek(0)

            for pid in pid_file.readlines():
                pid = pid.strip()
                self.progress_logger.start_task(item_task_name)

                # Ignore any blank lines in the file
                if not pid:
                    continue

                await self.import_aggregated(async_client, pid)

        self.progress_logger.end_task_type(item_task_name)