54 lines
1.2 KiB
Python
54 lines
1.2 KiB
Python
import os
|
|
import sys
|
|
|
|
from easyprocess import EasyProcess
|
|
|
|
|
|
def py_minor():
|
|
return sys.version_info[1]
|
|
|
|
|
|
def platform_is_osx():
|
|
return sys.platform == "darwin"
|
|
|
|
|
|
def platform_is_win():
|
|
return sys.platform == "win32"
|
|
|
|
|
|
def platform_is_linux():
|
|
return sys.platform.startswith("linux")
|
|
|
|
|
|
def use_x_display():
|
|
if platform_is_win():
|
|
return False
|
|
if platform_is_osx():
|
|
return False
|
|
DISPLAY = os.environ.get("DISPLAY")
|
|
XDG_SESSION_TYPE = os.environ.get("XDG_SESSION_TYPE")
|
|
# Xwayland can not be used for screenshot
|
|
return DISPLAY and XDG_SESSION_TYPE != "wayland"
|
|
|
|
|
|
def extract_version(txt):
|
|
"""This function tries to extract the version from the help text of any
|
|
program."""
|
|
words = txt.replace(",", " ").split()
|
|
version = None
|
|
for x in reversed(words):
|
|
if len(x) > 2:
|
|
if x[0].lower() == "v":
|
|
x = x[1:]
|
|
if "." in x and x[0].isdigit():
|
|
version = x
|
|
break
|
|
return version
|
|
|
|
|
|
def run_mod_as_subproc(name, params=[]):
|
|
python = sys.executable
|
|
cmd = [python, "-m", name] + params
|
|
p = EasyProcess(cmd).call()
|
|
return p
|