mirror of
https://github.com/Arrowar/StreamingCommunity.git
synced 2025-06-06 19:45:24 +00:00
api: Remove function "search_domain()"
This commit is contained in:
parent
569b761e8d
commit
baa2762562
@ -48,11 +48,7 @@ class VideoSource:
|
|||||||
|
|
||||||
return self.redirect_url
|
return self.redirect_url
|
||||||
|
|
||||||
except httpx.RequestError as e:
|
except Exception as e:
|
||||||
logging.error(f"Error during the initial request: {e}")
|
|
||||||
raise
|
|
||||||
|
|
||||||
except AttributeError as e:
|
|
||||||
logging.error(f"Error parsing HTML: {e}")
|
logging.error(f"Error parsing HTML: {e}")
|
||||||
raise
|
raise
|
||||||
|
|
||||||
@ -98,12 +94,8 @@ class VideoSource:
|
|||||||
|
|
||||||
return self.maxstream_url
|
return self.maxstream_url
|
||||||
|
|
||||||
except httpx.RequestError as e:
|
except Exception as e:
|
||||||
logging.error(f"Error during the request to the redirect URL: {e}")
|
logging.error(f"Error during the request: {e}")
|
||||||
raise
|
|
||||||
|
|
||||||
except AttributeError as e:
|
|
||||||
logging.error(f"Error parsing HTML: {e}")
|
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def get_m3u8_url(self):
|
def get_m3u8_url(self):
|
||||||
|
@ -16,7 +16,6 @@ from StreamingCommunity.Util.table import TVShowManager
|
|||||||
|
|
||||||
# Logic class
|
# Logic class
|
||||||
from StreamingCommunity.Api.Template.config_loader import site_constant
|
from StreamingCommunity.Api.Template.config_loader import site_constant
|
||||||
from StreamingCommunity.Api.Template.Util import search_domain
|
|
||||||
from StreamingCommunity.Api.Template.Class.SearchType import MediaManager
|
from StreamingCommunity.Api.Template.Class.SearchType import MediaManager
|
||||||
|
|
||||||
|
|
||||||
@ -40,14 +39,6 @@ def title_search(word_to_search: str) -> int:
|
|||||||
media_search_manager.clear()
|
media_search_manager.clear()
|
||||||
table_show_manager.clear()
|
table_show_manager.clear()
|
||||||
|
|
||||||
# Check if domain is working
|
|
||||||
domain_to_use, base_url = search_domain(site_constant.FULL_URL)
|
|
||||||
|
|
||||||
if domain_to_use is None or base_url is None:
|
|
||||||
console.log("[bold red]Error: Unable to determine valid domain or base URL.[/bold red]")
|
|
||||||
console.print("[yellow]The service might be temporarily unavailable or the domain may have changed.[/yellow]")
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
search_url = f"{site_constant.FULL_URL}/search/{word_to_search}/1/"
|
search_url = f"{site_constant.FULL_URL}/search/{word_to_search}/1/"
|
||||||
console.print(f"[cyan]Search url: [yellow]{search_url}")
|
console.print(f"[cyan]Search url: [yellow]{search_url}")
|
||||||
|
|
||||||
@ -57,6 +48,7 @@ def title_search(word_to_search: str) -> int:
|
|||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
console.print(f"Site: {site_constant.SITE_NAME}, request search error: {e}")
|
console.print(f"Site: {site_constant.SITE_NAME}, request search error: {e}")
|
||||||
|
return 0
|
||||||
|
|
||||||
# Create soup and find table
|
# Create soup and find table
|
||||||
soup = BeautifulSoup(response.text, "html.parser")
|
soup = BeautifulSoup(response.text, "html.parser")
|
||||||
|
61
StreamingCommunity/Api/Site/altadefinizione/__init__.py
Normal file
61
StreamingCommunity/Api/Site/altadefinizione/__init__.py
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
# 21.05.24
|
||||||
|
|
||||||
|
from urllib.parse import quote_plus
|
||||||
|
|
||||||
|
|
||||||
|
# External library
|
||||||
|
from rich.console import Console
|
||||||
|
from rich.prompt import Prompt
|
||||||
|
|
||||||
|
|
||||||
|
# Internal utilities
|
||||||
|
from StreamingCommunity.Api.Template import get_select_title
|
||||||
|
|
||||||
|
|
||||||
|
# Logic class
|
||||||
|
from StreamingCommunity.Api.Template.config_loader import site_constant
|
||||||
|
#from .site import title_search, table_show_manager, media_search_manager
|
||||||
|
#from .film import download_film
|
||||||
|
#from .series import download_series
|
||||||
|
|
||||||
|
|
||||||
|
# Variable
|
||||||
|
indice = 4
|
||||||
|
_useFor = "film_serie"
|
||||||
|
_deprecate = True
|
||||||
|
_priority = 1
|
||||||
|
_engineDownload = "hls"
|
||||||
|
|
||||||
|
msg = Prompt()
|
||||||
|
console = Console()
|
||||||
|
|
||||||
|
|
||||||
|
def search(string_to_search: str = None, get_onylDatabase: bool = False):
|
||||||
|
"""
|
||||||
|
Main function of the application for film and series.
|
||||||
|
"""
|
||||||
|
if string_to_search is None:
|
||||||
|
string_to_search = msg.ask(f"\n[purple]Insert word to search in [green]{site_constant.SITE_NAME}").strip()
|
||||||
|
|
||||||
|
len_database = title_search(quote_plus(string_to_search))
|
||||||
|
|
||||||
|
# Return list of elements
|
||||||
|
if get_onylDatabase:
|
||||||
|
return media_search_manager
|
||||||
|
|
||||||
|
if len_database > 0:
|
||||||
|
|
||||||
|
# Select title from list
|
||||||
|
select_title = get_select_title(table_show_manager, media_search_manager)
|
||||||
|
|
||||||
|
if select_title.type == 'tv':
|
||||||
|
download_series(select_title)
|
||||||
|
|
||||||
|
else:
|
||||||
|
download_film(select_title)
|
||||||
|
|
||||||
|
else:
|
||||||
|
console.print(f"\n[red]Nothing matching was found for[white]: [purple]{string_to_search}")
|
||||||
|
|
||||||
|
# Retry
|
||||||
|
search()
|
@ -19,7 +19,6 @@ from StreamingCommunity.TelegramHelp.telegram_bot import get_bot_instance
|
|||||||
|
|
||||||
# Logic class
|
# Logic class
|
||||||
from StreamingCommunity.Api.Template.config_loader import site_constant
|
from StreamingCommunity.Api.Template.config_loader import site_constant
|
||||||
from StreamingCommunity.Api.Template.Util import search_domain
|
|
||||||
from StreamingCommunity.Api.Template.Class.SearchType import MediaManager
|
from StreamingCommunity.Api.Template.Class.SearchType import MediaManager
|
||||||
|
|
||||||
|
|
||||||
@ -102,14 +101,6 @@ def title_search(title: str) -> int:
|
|||||||
media_search_manager.clear()
|
media_search_manager.clear()
|
||||||
table_show_manager.clear()
|
table_show_manager.clear()
|
||||||
|
|
||||||
# Check if domain is working
|
|
||||||
domain_to_use, base_url = search_domain(site_constant.FULL_URL)
|
|
||||||
|
|
||||||
if domain_to_use is None or base_url is None:
|
|
||||||
console.print("[bold red]Error: Unable to determine valid domain or base URL.[/bold red]")
|
|
||||||
console.print("[yellow]The service might be temporarily unavailable or the domain may have changed.[/yellow]")
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
# Create parameter for request
|
# Create parameter for request
|
||||||
data = get_token()
|
data = get_token()
|
||||||
cookies = {'animeunity_session': data.get('animeunity_session')}
|
cookies = {'animeunity_session': data.get('animeunity_session')}
|
||||||
@ -132,6 +123,7 @@ def title_search(title: str) -> int:
|
|||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
console.print(f"Site: {site_constant.SITE_NAME}, request search error: {e}")
|
console.print(f"Site: {site_constant.SITE_NAME}, request search error: {e}")
|
||||||
|
return 0
|
||||||
|
|
||||||
# Inizializza la lista delle scelte
|
# Inizializza la lista delle scelte
|
||||||
if site_constant.TELEGRAM_BOT:
|
if site_constant.TELEGRAM_BOT:
|
||||||
|
@ -17,7 +17,6 @@ from StreamingCommunity.Util.table import TVShowManager
|
|||||||
|
|
||||||
# Logic class
|
# Logic class
|
||||||
from StreamingCommunity.Api.Template.config_loader import site_constant
|
from StreamingCommunity.Api.Template.config_loader import site_constant
|
||||||
from StreamingCommunity.Api.Template.Util import search_domain
|
|
||||||
from StreamingCommunity.Api.Template.Class.SearchType import MediaManager
|
from StreamingCommunity.Api.Template.Class.SearchType import MediaManager
|
||||||
|
|
||||||
|
|
||||||
@ -41,15 +40,7 @@ def title_search(word_to_search: str) -> int:
|
|||||||
media_search_manager.clear()
|
media_search_manager.clear()
|
||||||
table_show_manager.clear()
|
table_show_manager.clear()
|
||||||
|
|
||||||
# Check if domain is working
|
search_url = f"{site_constant.FULL_URL}/?story={word_to_search}&do=search&subaction=search"
|
||||||
domain_to_use, base_url = search_domain(site_constant.FULL_URL)
|
|
||||||
|
|
||||||
if domain_to_use is None or base_url is None:
|
|
||||||
console.print("[bold red]Error: Unable to determine valid domain or base URL.[/bold red]")
|
|
||||||
console.print("[yellow]The service might be temporarily unavailable or the domain may have changed.[/yellow]")
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
search_url = f"{site_constant.FULL_URL}/?s={word_to_search}"
|
|
||||||
console.print(f"[cyan]Search url: [yellow]{search_url}")
|
console.print(f"[cyan]Search url: [yellow]{search_url}")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -58,20 +49,18 @@ def title_search(word_to_search: str) -> int:
|
|||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
console.print(f"Site: {site_constant.SITE_NAME}, request search error: {e}")
|
console.print(f"Site: {site_constant.SITE_NAME}, request search error: {e}")
|
||||||
|
return 0
|
||||||
|
|
||||||
# Create soup and find table
|
# Create soup and find table
|
||||||
soup = BeautifulSoup(response.text, "html.parser")
|
soup = BeautifulSoup(response.text, "html.parser")
|
||||||
|
|
||||||
for div in soup.find_all("div", class_ = "card-content"):
|
for div in soup.find_all("div", class_ = "short-main"):
|
||||||
try:
|
try:
|
||||||
|
url = div.find("a").get("href")
|
||||||
url = div.find("h3").find("a").get("href")
|
title = div.find("a").get_text(strip=True)
|
||||||
title = div.find("h3").find("a").get_text(strip=True)
|
|
||||||
desc = div.find("p").find("strong").text
|
|
||||||
|
|
||||||
title_info = {
|
title_info = {
|
||||||
'name': title,
|
'name': title,
|
||||||
'desc': desc,
|
|
||||||
'url': url
|
'url': url
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,7 +18,6 @@ from StreamingCommunity.Util.table import TVShowManager
|
|||||||
|
|
||||||
# Logic class
|
# Logic class
|
||||||
from StreamingCommunity.Api.Template.config_loader import site_constant
|
from StreamingCommunity.Api.Template.config_loader import site_constant
|
||||||
from StreamingCommunity.Api.Template.Util import search_domain
|
|
||||||
from StreamingCommunity.Api.Template.Class.SearchType import MediaManager
|
from StreamingCommunity.Api.Template.Class.SearchType import MediaManager
|
||||||
|
|
||||||
|
|
||||||
@ -42,14 +41,6 @@ def title_search(word_to_search: str) -> int:
|
|||||||
media_search_manager.clear()
|
media_search_manager.clear()
|
||||||
table_show_manager.clear()
|
table_show_manager.clear()
|
||||||
|
|
||||||
# Check if domain is working
|
|
||||||
domain_to_use, base_url = search_domain(site_constant.FULL_URL)
|
|
||||||
|
|
||||||
if domain_to_use is None or base_url is None:
|
|
||||||
console.print("[bold red]Error: Unable to determine valid domain or base URL.[/bold red]")
|
|
||||||
console.print("[yellow]The service might be temporarily unavailable or the domain may have changed.[/yellow]")
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
search_url = f"{site_constant.FULL_URL}/search/?&q={word_to_search}&quick=1&type=videobox_video&nodes=11"
|
search_url = f"{site_constant.FULL_URL}/search/?&q={word_to_search}&quick=1&type=videobox_video&nodes=11"
|
||||||
console.print(f"[cyan]Search url: [yellow]{search_url}")
|
console.print(f"[cyan]Search url: [yellow]{search_url}")
|
||||||
|
|
||||||
@ -59,6 +50,7 @@ def title_search(word_to_search: str) -> int:
|
|||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
console.print(f"Site: {site_constant.SITE_NAME}, request search error: {e}")
|
console.print(f"Site: {site_constant.SITE_NAME}, request search error: {e}")
|
||||||
|
return 0
|
||||||
|
|
||||||
# Create soup and find table
|
# Create soup and find table
|
||||||
soup = BeautifulSoup(response.text, "html.parser")
|
soup = BeautifulSoup(response.text, "html.parser")
|
||||||
|
@ -16,7 +16,6 @@ from StreamingCommunity.Util.table import TVShowManager
|
|||||||
|
|
||||||
# Logic class
|
# Logic class
|
||||||
from StreamingCommunity.Api.Template.config_loader import site_constant
|
from StreamingCommunity.Api.Template.config_loader import site_constant
|
||||||
from StreamingCommunity.Api.Template.Util import search_domain
|
|
||||||
from StreamingCommunity.Api.Template.Class.SearchType import MediaManager
|
from StreamingCommunity.Api.Template.Class.SearchType import MediaManager
|
||||||
|
|
||||||
|
|
||||||
@ -41,14 +40,6 @@ def title_search(word_to_search: str) -> int:
|
|||||||
media_search_manager.clear()
|
media_search_manager.clear()
|
||||||
table_show_manager.clear()
|
table_show_manager.clear()
|
||||||
|
|
||||||
# Check if domain is working
|
|
||||||
domain_to_use, base_url = search_domain(site_constant.FULL_URL)
|
|
||||||
|
|
||||||
if domain_to_use is None or base_url is None:
|
|
||||||
console.print("[bold red]Error: Unable to determine valid domain or base URL.[/bold red]")
|
|
||||||
console.print("[yellow]The service might be temporarily unavailable or the domain may have changed.[/yellow]")
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
search_url = f"{site_constant.FULL_URL}/?story={word_to_search}&do=search&subaction=search"
|
search_url = f"{site_constant.FULL_URL}/?story={word_to_search}&do=search&subaction=search"
|
||||||
console.print(f"[cyan]Search url: [yellow]{search_url}")
|
console.print(f"[cyan]Search url: [yellow]{search_url}")
|
||||||
|
|
||||||
@ -58,6 +49,7 @@ def title_search(word_to_search: str) -> int:
|
|||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
console.print(f"Site: {site_constant.SITE_NAME}, request search error: {e}")
|
console.print(f"Site: {site_constant.SITE_NAME}, request search error: {e}")
|
||||||
|
return 0
|
||||||
|
|
||||||
# Create soup and find table
|
# Create soup and find table
|
||||||
soup = BeautifulSoup(response.text, "html.parser")
|
soup = BeautifulSoup(response.text, "html.parser")
|
||||||
|
@ -17,7 +17,6 @@ from StreamingCommunity.TelegramHelp.telegram_bot import get_bot_instance
|
|||||||
|
|
||||||
# Logic class
|
# Logic class
|
||||||
from StreamingCommunity.Api.Template.config_loader import site_constant
|
from StreamingCommunity.Api.Template.config_loader import site_constant
|
||||||
from StreamingCommunity.Api.Template.Util import search_domain
|
|
||||||
from StreamingCommunity.Api.Template.Class.SearchType import MediaManager
|
from StreamingCommunity.Api.Template.Class.SearchType import MediaManager
|
||||||
|
|
||||||
|
|
||||||
@ -38,13 +37,6 @@ def title_search(title_search: str) -> int:
|
|||||||
Returns:
|
Returns:
|
||||||
int: The number of titles found.
|
int: The number of titles found.
|
||||||
"""
|
"""
|
||||||
domain_to_use, base_url = search_domain(site_constant.FULL_URL)
|
|
||||||
|
|
||||||
if domain_to_use is None or base_url is None:
|
|
||||||
console.print("[bold red]Error: Unable to determine valid domain or base URL.[/bold red]")
|
|
||||||
console.print("[yellow]The service might be temporarily unavailable or the domain may have changed.[/yellow]")
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
if site_constant.TELEGRAM_BOT:
|
if site_constant.TELEGRAM_BOT:
|
||||||
bot = get_bot_instance()
|
bot = get_bot_instance()
|
||||||
|
|
||||||
@ -60,6 +52,7 @@ def title_search(title_search: str) -> int:
|
|||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
console.print(f"Site: {site_constant.SITE_NAME}, request search error: {e}")
|
console.print(f"Site: {site_constant.SITE_NAME}, request search error: {e}")
|
||||||
|
return 0
|
||||||
|
|
||||||
# Prepara le scelte per l'utente
|
# Prepara le scelte per l'utente
|
||||||
if site_constant.TELEGRAM_BOT:
|
if site_constant.TELEGRAM_BOT:
|
||||||
|
@ -98,4 +98,4 @@ class MediaManager:
|
|||||||
self.media_list.clear()
|
self.media_list.clear()
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return f"MediaManager(num_media={len(self.media_list)})"
|
return f"MediaManager(num_media={len(self.media_list)})"
|
@ -1,6 +1,5 @@
|
|||||||
# 23.11.24
|
# 23.11.24
|
||||||
|
|
||||||
from .get_domain import search_domain
|
|
||||||
from .manage_ep import (
|
from .manage_ep import (
|
||||||
manage_selection,
|
manage_selection,
|
||||||
map_episode_title,
|
map_episode_title,
|
||||||
|
@ -1,100 +0,0 @@
|
|||||||
# 18.06.24
|
|
||||||
|
|
||||||
import certifi
|
|
||||||
from urllib.parse import urlparse, unquote
|
|
||||||
|
|
||||||
|
|
||||||
# External libraries
|
|
||||||
import httpx
|
|
||||||
from rich.console import Console
|
|
||||||
|
|
||||||
|
|
||||||
# Internal utilities
|
|
||||||
from StreamingCommunity.Util.headers import get_headers
|
|
||||||
from StreamingCommunity.Util.config_json import config_manager
|
|
||||||
|
|
||||||
|
|
||||||
# Variable
|
|
||||||
console = Console()
|
|
||||||
VERIFY = config_manager.get("REQUESTS", "verify")
|
|
||||||
MAX_TIMEOUT = config_manager.get_int("REQUESTS", "timeout")
|
|
||||||
|
|
||||||
|
|
||||||
def get_tld(url_str):
|
|
||||||
"""Extract the TLD (Top-Level Domain) from the URL."""
|
|
||||||
try:
|
|
||||||
url_str = unquote(url_str)
|
|
||||||
parsed = urlparse(url_str)
|
|
||||||
domain = parsed.netloc.lower()
|
|
||||||
|
|
||||||
if domain.startswith('www.'):
|
|
||||||
domain = domain[4:]
|
|
||||||
parts = domain.split('.')
|
|
||||||
|
|
||||||
return parts[-1] if len(parts) >= 2 else None
|
|
||||||
|
|
||||||
except Exception:
|
|
||||||
return None
|
|
||||||
|
|
||||||
def get_base_domain(url_str):
|
|
||||||
"""Extract base domain without protocol, www and path."""
|
|
||||||
try:
|
|
||||||
parsed = urlparse(url_str)
|
|
||||||
domain = parsed.netloc.lower()
|
|
||||||
if domain.startswith('www.'):
|
|
||||||
domain = domain[4:]
|
|
||||||
|
|
||||||
# Check if domain has multiple parts separated by dots
|
|
||||||
parts = domain.split('.')
|
|
||||||
if len(parts) > 2:
|
|
||||||
return '.'.join(parts[:-1])
|
|
||||||
|
|
||||||
return parts[0]
|
|
||||||
|
|
||||||
except Exception:
|
|
||||||
return None
|
|
||||||
|
|
||||||
def validate_url(url, base_url):
|
|
||||||
"""Validate if URL is accessible and matches expected base domain."""
|
|
||||||
console.print(f"\n[cyan]Starting validation for URL[white]: [yellow]{url}")
|
|
||||||
|
|
||||||
# Verify URL structure matches base_url structure
|
|
||||||
base_domain = get_base_domain(base_url)
|
|
||||||
url_domain = get_base_domain(url)
|
|
||||||
|
|
||||||
if base_domain != url_domain:
|
|
||||||
console.print(f"[red]Domain structure mismatch: {url_domain} != {base_domain}")
|
|
||||||
return False, None
|
|
||||||
|
|
||||||
client = httpx.Client(
|
|
||||||
http1=True,
|
|
||||||
verify=certifi.where(),
|
|
||||||
headers=get_headers(),
|
|
||||||
timeout=MAX_TIMEOUT
|
|
||||||
)
|
|
||||||
|
|
||||||
# Make request to web site
|
|
||||||
response = client.get(url, follow_redirects=False)
|
|
||||||
|
|
||||||
if response.status_code >= 400:
|
|
||||||
console.print(f"[red]Check failed: HTTP {response.status_code}")
|
|
||||||
console.print(f"[red]Response content: {response.text}")
|
|
||||||
return False, None
|
|
||||||
|
|
||||||
return True, base_domain
|
|
||||||
|
|
||||||
def search_domain(base_url: str):
|
|
||||||
"""Search for valid domain matching site name and base URL."""
|
|
||||||
try:
|
|
||||||
is_correct, redirect_tld = validate_url(base_url, base_url)
|
|
||||||
|
|
||||||
if is_correct:
|
|
||||||
tld = redirect_tld or get_tld(base_url)
|
|
||||||
return tld, base_url
|
|
||||||
|
|
||||||
else:
|
|
||||||
return None, None
|
|
||||||
|
|
||||||
except Exception as e:
|
|
||||||
console.print(f"[red]Error testing initial URL: {str(e)}")
|
|
||||||
return None, None
|
|
@ -218,6 +218,7 @@ def validate_episode_selection(list_episode_select: List[int], episodes_count: i
|
|||||||
input_episodes = input(f"Enter valid episode numbers (1-{episodes_count}): ")
|
input_episodes = input(f"Enter valid episode numbers (1-{episodes_count}): ")
|
||||||
list_episode_select = list(map(int, input_episodes.split(',')))
|
list_episode_select = list(map(int, input_episodes.split(',')))
|
||||||
|
|
||||||
|
|
||||||
def display_episodes_list(episodes_manager) -> str:
|
def display_episodes_list(episodes_manager) -> str:
|
||||||
"""
|
"""
|
||||||
Display episodes list and handle user input.
|
Display episodes list and handle user input.
|
||||||
|
@ -31,10 +31,6 @@ class SiteConstant:
|
|||||||
def ROOT_PATH(self):
|
def ROOT_PATH(self):
|
||||||
return config_manager.get('OUT_FOLDER', 'root_path')
|
return config_manager.get('OUT_FOLDER', 'root_path')
|
||||||
|
|
||||||
@property
|
|
||||||
def DOMAIN_NOW(self):
|
|
||||||
return config_manager.get_site(self.SITE_NAME, 'domain')
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def FULL_URL(self):
|
def FULL_URL(self):
|
||||||
return config_manager.get_site(self.SITE_NAME, 'full_url').rstrip('/')
|
return config_manager.get_site(self.SITE_NAME, 'full_url').rstrip('/')
|
||||||
|
@ -421,9 +421,6 @@ class ConfigManager:
|
|||||||
config_manager = ConfigManager()
|
config_manager = ConfigManager()
|
||||||
config_manager.read_config()
|
config_manager.read_config()
|
||||||
|
|
||||||
|
|
||||||
import sys
|
|
||||||
|
|
||||||
def get_use_large_bar():
|
def get_use_large_bar():
|
||||||
"""
|
"""
|
||||||
Determines whether the large bar feature should be enabled.
|
Determines whether the large bar feature should be enabled.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user