add multi-app examples
This commit is contained in:
@@ -21,5 +21,5 @@ from .impress import get_audio_in_slide
|
||||
from .info import get_vm_screen_size, get_vm_window_size, get_vm_wallpaper, get_list_directory
|
||||
from .misc import get_rule, get_accessibility_tree
|
||||
from .replay import get_replay
|
||||
from .vlc import get_vlc_playing_info, get_vlc_config
|
||||
from .vlc import get_vlc_playing_info, get_vlc_config, get_default_video_player
|
||||
from .vscode import get_vscode_config
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
import logging
|
||||
import os
|
||||
from typing import Dict
|
||||
|
||||
from collections import Counter
|
||||
from .general import get_vm_command_line
|
||||
import requests
|
||||
|
||||
logger = logging.getLogger("desktopenv.getters.vlc")
|
||||
@@ -58,3 +59,28 @@ def get_vlc_config(env, config: Dict[str, str]):
|
||||
f.write(content)
|
||||
|
||||
return _path
|
||||
|
||||
|
||||
def get_default_video_player(env, config: dict):
|
||||
""" Gets the default application for a category or file extension.
|
||||
"""
|
||||
|
||||
os_type = env.vm_platform
|
||||
|
||||
if os_type == "Linux":
|
||||
extensions = ['3gp', '3gp', '3gpp', '3gpp', '3gpp2', '3gpp2', 'avi', 'avi', 'divx', 'divx', 'dv', 'dv', 'fli', 'fli', 'flv', 'flv', 'mp2t', 'mp2t', 'mp4', 'mp4', 'mp4v-es', 'mp4v-es', 'mpeg', 'mpeg', 'mpeg-system', 'mpeg-system', 'msvideo', 'msvideo', 'ogg', 'ogg', 'quicktime', 'quicktime', 'vnd.divx', 'vnd.divx', 'vnd.mpegurl', 'vnd.mpegurl', 'vnd.rn-realvideo', 'vnd.rn-realvideo', 'webm', 'webm', 'x-anim', 'x-anim', 'x-avi', 'x-avi', 'x-flc', 'x-flc', 'x-fli', 'x-fli', 'x-flv', 'x-flv', 'x-m4v', 'x-m4v', 'x-matroska', 'x-matroska', 'x-mpeg', 'x-mpeg', 'x-mpeg-system', 'x-mpeg-system', 'x-mpeg2', 'x-mpeg2', 'x-ms-asf', 'x-ms-asf', 'x-ms-asf-plugin', 'x-ms-asf-plugin', 'x-ms-asx', 'x-ms-asx', 'x-ms-wm', 'x-ms-wm', 'x-ms-wmv', 'x-ms-wmv', 'x-ms-wmx', 'x-ms-wmx', 'x-ms-wvx', 'x-ms-wvx', 'x-msvideo', 'x-msvideo', 'x-nsv', 'x-nsv', 'x-ogm', 'x-ogm', 'x-ogm+ogg', 'x-theora', 'x-theora', 'x-theora+ogg', 'x-theora+ogg']
|
||||
apps = []
|
||||
for ext in extensions:
|
||||
app = get_vm_command_line(env, {"command": ["xdg-mime", "query", "default", f"video/{ext}"]})
|
||||
if app:
|
||||
apps.append(app)
|
||||
if len(apps) == 0:
|
||||
return 'unknown'
|
||||
else:
|
||||
return Counter(apps).most_common(1)[0][0]
|
||||
elif os_type == "Darwin":
|
||||
raise Exception("Unsupported operating system", os_type)
|
||||
elif os_type == "Windows":
|
||||
raise Exception("Unsupported operating system", os_type)
|
||||
else:
|
||||
raise Exception("Unsupported operating system", os_type)
|
||||
@@ -1,6 +1,6 @@
|
||||
import logging
|
||||
from typing import Any, Dict
|
||||
|
||||
import time
|
||||
from .file import get_vm_file
|
||||
from .replay import get_replay
|
||||
|
||||
@@ -27,6 +27,7 @@ def get_vscode_config(env, config: Dict[str, Any]) -> str:
|
||||
]
|
||||
|
||||
get_replay(env, trajectory)
|
||||
time.sleep(1.0)
|
||||
|
||||
return get_vm_file(env, {
|
||||
"path": config["path"],
|
||||
|
||||
Reference in New Issue
Block a user