'Resolve a URL with a subset of fields defined'

def resolve_path(self, project, filename='', version_slug=None, language=None, single_version=None, subdomain=None, cname=None, private=None):

    relation = project.superprojects.first()
    cname = (cname or project.domains.filter(canonical=True).first())
    main_language_project = project.main_language_project
    version_slug = (version_slug or project.get_default_version())
    language = (language or project.language)
    if (private is None):
        private = self._get_private(project, version_slug)
    filename = self._fix_filename(project, filename)
    if main_language_project:
        project_slug = main_language_project.slug
        language = project.language
        subproject_slug = None
    elif relation:
        project_slug = relation.parent.slug
        subproject_slug = relation.alias
        cname = relation.parent.domains.filter(canonical=True).first()
    else:
        project_slug = project.slug
        subproject_slug = None
    single_version = bool((project.single_version or single_version))
    return self.base_resolve_path(project_slug=project_slug, filename=filename, version_slug=version_slug, language=language, single_version=single_version, subproject_slug=subproject_slug, cname=cname, private=private, subdomain=subdomain)
