def from_args(cls, **kwargs):
        """
        Create a ExportResource object using the parameters required. Performs
        course_id/partner_id inference if possible.
        :param kwargs:
        :return export_request: ExportRequest
        """
        if kwargs.get('course_slug') and not kwargs.get('course_id'):
            kwargs['course_id'] = utils.lookup_course_id_by_slug(
                kwargs['course_slug'])
        elif kwargs.get('partner_short_name') and not kwargs.get('partner_id'):
            kwargs['partner_id'] = utils.lookup_partner_id_by_short_name(
                kwargs['partner_short_name'])

        if kwargs.get('user_id_hashing'):
            if kwargs['user_id_hashing'] == 'linked':
                kwargs['anonymity_level'] = ANONYMITY_LEVEL_COORDINATOR
            elif kwargs['user_id_hashing'] == 'isolated':
                kwargs['anonymity_level'] = ANONYMITY_LEVEL_ISOLATED

        return cls(**kwargs)