mirror of
				https://github.com/devine-dl/devine.git
				synced 2025-11-04 03:44:49 +00:00 
			
		
		
		
	Move download time elapsed code to utilities
This commit is contained in:
		
							parent
							
								
									7b7be47f7d
								
							
						
					
					
						commit
						7ee5e71075
					
				@ -48,7 +48,7 @@ from devine.core.services import Services
 | 
			
		||||
from devine.core.titles import Movie, Song, Title_T
 | 
			
		||||
from devine.core.titles.episode import Episode
 | 
			
		||||
from devine.core.tracks import Audio, Subtitle, Video
 | 
			
		||||
from devine.core.utilities import get_binary_path, is_close_match
 | 
			
		||||
from devine.core.utilities import get_binary_path, is_close_match, time_elapsed_since
 | 
			
		||||
from devine.core.utils.click_types import LANGUAGE_RANGE, QUALITY, SEASON_RANGE, ContextData
 | 
			
		||||
from devine.core.utils.collections import merge_dict
 | 
			
		||||
from devine.core.utils.subprocess import ffprobe
 | 
			
		||||
@ -578,12 +578,10 @@ class dl:
 | 
			
		||||
                    cookie_jar.set_cookie(cookie)
 | 
			
		||||
                cookie_jar.save(ignore_discard=True)
 | 
			
		||||
 | 
			
		||||
        minutes, seconds = divmod(int(time.time() - start_time), 60)
 | 
			
		||||
        hours, minutes = divmod(minutes, 60)
 | 
			
		||||
        time_string = (f"{hours:d}h" if hours else "") + f"{minutes:d}m{seconds:d}s"
 | 
			
		||||
        dl_time = time_elapsed_since(start_time)
 | 
			
		||||
 | 
			
		||||
        console.print(Padding(
 | 
			
		||||
            f"Processed all titles in [progress.elapsed]{time_string}",
 | 
			
		||||
            f"Processed all titles in [progress.elapsed]{dl_time}",
 | 
			
		||||
            (0, 5, 1, 5)
 | 
			
		||||
        ))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -4,6 +4,8 @@ import importlib.util
 | 
			
		||||
import re
 | 
			
		||||
import shutil
 | 
			
		||||
import sys
 | 
			
		||||
import time
 | 
			
		||||
 | 
			
		||||
import unicodedata
 | 
			
		||||
from collections import defaultdict
 | 
			
		||||
from datetime import datetime
 | 
			
		||||
@ -189,6 +191,23 @@ def get_ip_info(session: Optional[requests.Session] = None) -> dict:
 | 
			
		||||
    return (session or requests.Session()).get("https://ipinfo.io/json").json()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def time_elapsed_since(start: float) -> str:
 | 
			
		||||
    """
 | 
			
		||||
    Get time elapsed since a timestamp as a string.
 | 
			
		||||
    E.g., `1h56m2s`, `15m12s`, `0m55s`, e.t.c.
 | 
			
		||||
    """
 | 
			
		||||
    elapsed = int(time.time() - start)
 | 
			
		||||
 | 
			
		||||
    minutes, seconds = divmod(elapsed, 60)
 | 
			
		||||
    hours, minutes = divmod(minutes, 60)
 | 
			
		||||
 | 
			
		||||
    time_string = f"{minutes:d}m{seconds:d}s"
 | 
			
		||||
    if hours:
 | 
			
		||||
        time_string = f"{hours:d}h{time_string}"
 | 
			
		||||
 | 
			
		||||
    return time_string
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@contextlib.asynccontextmanager
 | 
			
		||||
async def start_pproxy(proxy: str) -> AsyncIterator[str]:
 | 
			
		||||
    proxy = urlparse(proxy)
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user