mirror of
https://github.com/nextcloud/android.git
synced 2024-12-18 06:51:55 +03:00
54 lines
1.5 KiB
Python
54 lines
1.5 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
"""
|
|
Module for API-related calls.
|
|
"""
|
|
|
|
import urlparse
|
|
|
|
|
|
def hostname_tld_migration(hostname):
|
|
"""
|
|
Migrate transifex.net to transifex.com.
|
|
|
|
:param hostname: The hostname to migrate (if needed).
|
|
:returns: A hostname with the transifex.com domain (if needed).
|
|
"""
|
|
parts = urlparse.urlparse(hostname)
|
|
if parts.hostname.endswith('transifex.net'):
|
|
hostname = hostname.replace('transifex.net', 'transifex.com', 1)
|
|
return hostname
|
|
|
|
|
|
def hostname_ssl_migration(hostname):
|
|
"""
|
|
Migrate Transifex hostnames to use HTTPS.
|
|
|
|
:param hostname: The hostname to migrate (if needed).
|
|
:returns: A https hostname (if needed).
|
|
"""
|
|
parts = urlparse.urlparse(hostname)
|
|
is_transifex = (
|
|
parts.hostname[-14:-3] == '.transifex.' or
|
|
parts.hostname == 'transifex.net' or
|
|
parts.hostname == 'transifex.com'
|
|
)
|
|
is_https = parts.scheme == 'https'
|
|
if is_transifex and not is_https:
|
|
if not parts.scheme:
|
|
hostname = 'https:' + hostname
|
|
else:
|
|
hostname = hostname.replace(parts.scheme, 'https', 1)
|
|
return hostname
|
|
|
|
|
|
def visit_hostname(hostname):
|
|
"""
|
|
Have a chance to visit a hostname before actually using it.
|
|
|
|
:param hostname: The original hostname.
|
|
:returns: The hostname with the necessary changes.
|
|
"""
|
|
for processor in [hostname_ssl_migration, hostname_tld_migration, ]:
|
|
hostname = processor(hostname)
|
|
return hostname
|