本文整理汇总了Python中readthedocs.core.resolver.resolve_path函数的典型用法代码示例。如果您正苦于以下问题:Python resolve_path函数的具体用法?Python resolve_path怎么用?Python resolve_path使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了resolve_path函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_resolver_translation
def test_resolver_translation(self):
with override_settings(USE_SUBDOMAIN=False):
url = resolve_path(project=self.translation, filename='index.html')
self.assertEqual(url, '/docs/pip/ja/latest/')
with override_settings(USE_SUBDOMAIN=True):
url = resolve_path(project=self.translation, filename='index.html')
self.assertEqual(url, '/ja/latest/')
示例2: test_resolver_subproject_subdomain
def test_resolver_subproject_subdomain(self):
with override_settings(USE_SUBDOMAIN=False):
url = resolve_path(project=self.subproject, filename='index.html')
self.assertEqual(url, '/docs/pip/projects/sub/ja/latest/')
with override_settings(USE_SUBDOMAIN=True):
url = resolve_path(project=self.subproject, filename='index.html')
self.assertEqual(url, '/projects/sub/ja/latest/')
示例3: test_resolver_force_version
def test_resolver_force_version(self):
with override_settings(USE_SUBDOMAIN=False):
url = resolve_path(project=self.pip, filename='index.html', version_slug='foo')
self.assertEqual(url, '/docs/pip/en/foo/')
with override_settings(USE_SUBDOMAIN=True):
url = resolve_path(project=self.pip, filename='index.html', version_slug='foo')
self.assertEqual(url, '/en/foo/')
示例4: test_resolver_filename_index
def test_resolver_filename_index(self):
with override_settings(USE_SUBDOMAIN=False):
url = resolve_path(project=self.pip, filename='foo/bar/index.html')
self.assertEqual(url, '/docs/pip/en/latest/foo/bar/')
url = resolve_path(
project=self.pip, filename='foo/index/index.html')
self.assertEqual(url, '/docs/pip/en/latest/foo/index/')
示例5: test_resolver_force_language
def test_resolver_force_language(self):
with override_settings(USE_SUBDOMAIN=False):
url = resolve_path(project=self.pip, filename='index.html', language='cz')
self.assertEqual(url, '/docs/pip/cz/latest/')
with override_settings(USE_SUBDOMAIN=True):
url = resolve_path(project=self.pip, filename='index.html', language='cz')
self.assertEqual(url, '/cz/latest/')
示例6: test_resolver_no_force_translation_with_version
def test_resolver_no_force_translation_with_version(self):
with override_settings(USE_SUBDOMAIN=False):
url = resolve_path(project=self.translation, filename='index.html', language='cz', version_slug='foo')
self.assertEqual(url, '/docs/pip/ja/foo/')
with override_settings(USE_SUBDOMAIN=True):
url = resolve_path(project=self.translation, filename='index.html', language='cz', version_slug='foo')
self.assertEqual(url, '/ja/foo/')
示例7: test_resolver_force_domain
def test_resolver_force_domain(self):
with override_settings(USE_SUBDOMAIN=False):
url = resolve_path(project=self.pip, filename='index.html', cname=True)
self.assertEqual(url, '/en/latest/')
with override_settings(USE_SUBDOMAIN=True):
url = resolve_path(project=self.pip, filename='index.html', cname=True)
self.assertEqual(url, '/en/latest/')
示例8: test_resolver_force_domain_single_version
def test_resolver_force_domain_single_version(self):
self.pip.single_version = False
with override_settings(USE_SUBDOMAIN=False):
url = resolve_path(project=self.pip, filename='index.html', single_version=True, cname=True)
self.assertEqual(url, '/')
with override_settings(USE_SUBDOMAIN=True):
url = resolve_path(project=self.pip, filename='index.html', single_version=True, cname=True)
self.assertEqual(url, '/')
示例9: test_resolver_domain_object_not_canonical
def test_resolver_domain_object_not_canonical(self):
self.domain = get(Domain, domain='http://docs.foobar.com', project=self.pip, canonical=False)
with override_settings(USE_SUBDOMAIN=False):
url = resolve_path(project=self.pip, filename='')
self.assertEqual(url, '/docs/pip/en/latest/')
with override_settings(USE_SUBDOMAIN=True):
url = resolve_path(project=self.pip, filename='')
self.assertEqual(url, '/en/latest/')
示例10: test_resolver_subproject_both_single_version
def test_resolver_subproject_both_single_version(self):
self.pip.single_version = True
self.subproject.single_version = True
with override_settings(USE_SUBDOMAIN=False):
url = resolve_path(project=self.subproject, filename='index.html')
self.assertEqual(url, '/docs/pip/projects/sub/')
with override_settings(USE_SUBDOMAIN=True):
url = resolve_path(project=self.subproject, filename='index.html')
self.assertEqual(url, '/projects/sub/')
示例11: test_resolver_filename_sphinx
def test_resolver_filename_sphinx(self):
self.pip.documentation_type = 'sphinx'
with override_settings(USE_SUBDOMAIN=False):
url = resolve_path(project=self.pip, filename='foo/bar')
self.assertEqual(url, '/docs/pip/en/latest/foo/bar.html')
url = resolve_path(project=self.pip, filename='foo/index')
self.assertEqual(url, '/docs/pip/en/latest/foo/')
self.pip.documentation_type = 'mkdocs'
with override_settings(USE_SUBDOMAIN=False):
url = resolve_path(project=self.pip, filename='foo/bar')
self.assertEqual(url, '/docs/pip/en/latest/foo/bar/')
url = resolve_path(project=self.pip, filename='foo/index')
self.assertEqual(url, '/docs/pip/en/latest/foo/')
示例12: test_resolver_filename
def test_resolver_filename(self):
with override_settings(USE_SUBDOMAIN=False):
url = resolve_path(project=self.pip, filename='/foo/bar/blah.html')
self.assertEqual(url, '/docs/pip/en/latest/foo/bar/blah.html')
with override_settings(USE_SUBDOMAIN=True):
url = resolve_path(project=self.pip, filename='/foo/bar/blah.html')
self.assertEqual(url, '/en/latest/foo/bar/blah.html')
with override_settings(USE_SUBDOMAIN=False):
url = resolve_path(project=self.pip, filename='')
self.assertEqual(url, '/docs/pip/en/latest/')
with override_settings(USE_SUBDOMAIN=True):
url = resolve_path(project=self.pip, filename='')
self.assertEqual(url, '/en/latest/')
示例13: serve_docs
def serve_docs(request, project, subproject,
lang_slug=None, version_slug=None, filename=''):
"""
This exists mainly to map existing proj, lang, version, filename views to the file format.
"""
if not version_slug:
version_slug = project.get_default_version()
try:
version = project.versions.public(request.user).get(slug=version_slug)
except Version.DoesNotExist:
# Properly raise a 404 if the version doesn't exist & a 401 if it does
if project.versions.filter(slug=version_slug).exists():
return _serve_401(request, project)
raise Http404('Version does not exist.')
filename = resolve_path(
subproject or project, # Resolve the subproject if it exists
version_slug=version_slug, language=lang_slug, filename=filename,
subdomain=True, # subdomain will make it a "full" path without a URL prefix
)
if (
version.privacy_level == constants.PRIVATE and
not AdminPermission.is_member(user=request.user, obj=project)
):
return _serve_401(request, project)
return _serve_symlink_docs(request,
filename=filename,
project=project,
privacy_level=version.privacy_level)
示例14: _manage_imported_files
def _manage_imported_files(version, path, commit):
"""Update imported files for version
:param version: Version instance
:param path: Path to search
:param commit: Commit that updated path
"""
changed_files = set()
for root, __, filenames in os.walk(path):
for filename in filenames:
dirpath = os.path.join(root.replace(path, "").lstrip("/"), filename.lstrip("/"))
full_path = os.path.join(root, filename)
md5 = hashlib.md5(open(full_path, "rb").read()).hexdigest()
try:
obj, __ = ImportedFile.objects.get_or_create(
project=version.project, version=version, path=dirpath, name=filename
)
except ImportedFile.MultipleObjectsReturned:
log.exception("Error creating ImportedFile")
continue
if obj.md5 != md5:
obj.md5 = md5
changed_files.add(dirpath)
if obj.commit != commit:
obj.commit = commit
obj.save()
# Delete ImportedFiles from previous versions
ImportedFile.objects.filter(project=version.project, version=version).exclude(commit=commit).delete()
# Purge Cache
changed_files = [resolve_path(version.project, filename=file, version_slug=version.slug) for file in changed_files]
cdn_ids = getattr(settings, "CDN_IDS", None)
if cdn_ids:
if version.project.slug in cdn_ids:
purge(cdn_ids[version.project.slug], changed_files)
示例15: get_full_path
def get_full_path(self, filename, language=None, version_slug=None):
"""
Return a full path for a given filename. This will include version and
language information. No protocol/domain is returned.
"""
# Handle explicit http redirects
if re.match("^https?://", filename):
return filename
return resolve_path(project=self.project, language=language, version_slug=version_slug, filename=filename)