Exemple #1
0
def init():
    result = run_script(CMD_GET_TCPIP)
    if result != "5555":

        run_script(CMD_TCPIP)
        time.sleep(2)
        connect()

    if result:
        connect()
Exemple #2
0
def get_property(name=None):
    infos = run_script(
        adb_path + " -s " + name +
        " shell getprop | grep 'ro.build.version.release]\|ro.build.version.sdk]\|ro.product.manufacturer]\|ro.product.model\|ro.build.display.id]' | awk -F'[][]' -v n=2 '{ print $(2*n) }'"
    )
    infos = infos.rstrip().split('\n')
    return infos
Exemple #3
0
def main(wf):
    arg = wf.args[0].strip()
    apps = run_script(CMD_LIST_APPS)
    apps = apps.rstrip().split('\n')

    for app in apps:
        if arg is '' or arg in app:
            wf.add_item(title=app, uid=app, arg=app, valid=True)

    wf.send_feedback()
Exemple #4
0
def connect():
    result = run_script(CMD_ADB_CONNECT.format(ip.split("/")[0]))
    if "connected to" in result:
        it = Item(title=result.strip().split("connected to ")[1],
                  subtitle=os.getenv("full_info"),
                  mask=ip.split("/")[1])
        wifiDevices = []
        wifiDevices.append(it)
        run_in_background("update_wifi_history", [
            '/usr/bin/python',
            wf.workflowfile('scripts/update_wifi_history.py'), 'add',
            pickle.dumps(wifiDevices)
        ])
    print("Executed: " + result)
Exemple #5
0
def main(wf):
    try:
        result = run_script(CMD_DUMP_STACK)

        stackData = result.split("\n")
        log.debug(stackData)

        if stackData:
            activityList = []
            for index in range(len(stackData)):
                data = stackData[index].strip()
                if index % 2 == 0:
                    start = data.find(" u0 ") + 4
                    activityData = data[start:data.find(" ", start)]
                    packageName = activityData.split("/")[0]
                    activityName = activityData.split("/")[1]
                    if activityName.startswith("."):
                        activityName = packageName + activityName

                    activityList.append(
                        Activity(name=activityName, package=packageName))
                else:
                    activityList[-1] = activityList[-1].setAffinity(
                        stackData[index].strip()[13:])

            for item in activityList:
                if mod == "first_app" and item.package != activityList[
                        0].package:
                    continue
                elif mod == "first_stack" and item.affinity != activityList[
                        0].affinity:
                    continue
                simpleName = item.name.split('.')[-1]
                it = wf.add_item(title=item.name,
                                 subtitle='Affinity: ' + item.affinity,
                                 autocomplete=simpleName,
                                 match=simpleName,
                                 arg=item.name,
                                 copytext=item.name,
                                 valid=True)
                it.add_modifier("cmd", subtitle="Package: " + item.package)
        wf.send_feedback()
    except:
        log.debug("Error")
Exemple #6
0
import os
import sys
from toolchain import run_script
from commands import CMD_GET_POINTER_LOCATION
from commands import CMD_SET_POINTER_LOCATION

isOff = (os.getenv("function") == "debug_off")

try:
	result = run_script(CMD_GET_POINTER_LOCATION)

	isOn = (result == '1') or isOff

	sys.stderr.write("Pointer location is " + ("OFF", "ON")[isOn])

	shell_cmd = CMD_SET_POINTER_LOCATION.format(("1", "0")[isOn])

	run_script(shell_cmd)

	print("Pointer location is " + ("ON", "OFF")[isOn])
except:
	print("Failed to toggle pointer location")
Exemple #7
0
import os
from toolchain import run_script

adb_path = os.getenv('adb_path')
ip = os.getenv('ip')
if ip and ip[-5:] != ":5555":
    ip = ip + ":5555"

shell_cmd = '{0} connect {1}'.format(adb_path, ip)

try:
    result = run_script(shell_cmd)

    print("Executed: adb connect " + ip)
except:
    print("Failed to execute: adb connect " + ip)
Exemple #8
0
import os
import sys
from toolchain import run_script
from commands import CMD_GET_GPU_OVERDRAW
from commands import CMD_SET_GPU_OVERDRAW

isOff = (os.getenv("function") == "debug_off")

try:
	result = run_script(CMD_GET_GPU_OVERDRAW)

	isOn = (result == 'show') or isOff
	sys.stderr.write("GPU overdraw is " + ("OFF", "ON")[isOn])

	shell_cmd = CMD_SET_GPU_OVERDRAW.format(("show", "false")[isOn])

	run_script(shell_cmd)

	print("GPU overdraw is " + ("ON", "OFF")[isOn])
except:
	print("Failed to toggle GPU overdraw")
Exemple #9
0
def list_devices(args):

    arg = args[0] if args else ''

    devices = run_script(adb_path + " devices -l | sed -n '1!p' | tr -s ' '")
    devices = devices.rstrip().split('\n')

    items, wifiDevices = get_device_items(arg, devices)

    if wifiDevices:
        run_in_background("update_wifi_history", [
            '/usr/bin/python',
            wf.workflowfile('scripts/update_wifi_history.py'), 'add',
            pickle.dumps(wifiDevices)
        ])
        log.error("Save history wifi devices : count : {0}".format(
            len(wifiDevices)))

    for item in items:
        name = item.get('serial')
        log.debug(arg + " " + name)
        if arg == '' or arg.lower() in name.lower():
            it = wf.add_item(title=item.title,
                             uid=item.title,
                             autocomplete=('', item.autocomplete)[item.valid],
                             valid=item.valid,
                             arg=item.arg,
                             subtitle=item.subtitle)
            it.setvar('status', item.get("status"))
            it.setvar('full_info', item.subtitle)
            if item.valid:
                it.setvar('device_api', item.get('device_api'))
            it.setvar("serial", name)
            it.setvar('name', item.get('name'))
            if item.subtitle and not re.match(regexIp + ":5555", name):
                cmd_ip = adb_path + ' -s ' + name + " shell ip -f inet addr show wlan0 | grep inet | tr -s ' ' |  awk '{print $2}'"
                ip = run_script(cmd_ip)
                if '/' in ip and re.match(regexIp, ip.split('/')[0]):
                    it.setvar("ip", ip.strip('\n'))
                    it.add_modifier("cmd", subtitle=ip)
            if item.get("build_number"):
                it.add_modifier("alt", subtitle=item.get("build_number"))

            # last func
            if name.startswith("emulator-"):
                name = hashlib.md5(item.subtitle).hexdigest()
            it.setvar("his_tag", name)
            lastFuncs = wf.cached_data('last_func:' + name, max_age=0)
            if lastFuncs and len(lastFuncs) > 0:
                log.debug(lastFuncs)
                last_func = lastFuncs[len(lastFuncs) - 1]
                mod = it.add_modifier(
                    "ctrl", subtitle="run last command {}".format(last_func))
                mod.setvar("last_func", last_func)
                mod = it.add_modifier("fn",
                                      subtitle="show command history",
                                      arg="cmd_history")
                mod.setvar("function", "cmd_history")

    # CONNECT
    if arg and ("connect ".startswith(arg.lower())
                or re.match(regexConnect, arg)):
        localIpWithMask = run_script(
            'ifconfig | grep -A 1 "en" | grep broadcast | cut -d " " -f 2,4 | tr "\\n" " "'
        )

        localIp = localIpWithMask.split(" ")[0]
        rawMask = localIpWithMask.split(" ")[1].count("f") * 4

        targetIp = arg[8:]

        if localIp:

            history = wf.stored_data("wifi_history")

            counter = 0
            valid = True if re.match("^" + regexIp + "(:|:5|:55|:555|:5555)?$",
                                     targetIp) else False

            if valid:
                subtitle = "adb connect " + targetIp if targetIp else ''
                it = wf.add_item(title="Connect over WiFi",
                                 valid=valid,
                                 arg="adb_connect",
                                 subtitle=subtitle)
                m = it.add_modifier('cmd',
                                    subtitle="Remove all connection histories",
                                    arg='adb_connect_remove')
                m.setvar('extra', "all")
                it.setvar("ip", targetIp.strip('\n'))

            if history:
                historyWifiDevices = pickle.loads(history)
                currentDevices = []
                for item in items:
                    currentDevices.append(item.title.strip())

                for historyWifiDevice in historyWifiDevices:
                    if not historyWifiDevice.title in currentDevices:
                        deviceIp = historyWifiDevice.title.split(":")[0]
                        same_network = False
                        if hasattr(historyWifiDevice,
                                   'mask') and historyWifiDevice.mask:
                            same_network = ipaddress.ip_network(
                                u'%s/%d' % (localIp, rawMask),
                                False) == ipaddress.ip_network(
                                    u'%s/%s' %
                                    (deviceIp, historyWifiDevice.mask), False)
                        else:
                            same_network = ipaddress.ip_network(
                                u'%s/%d' % (localIp, rawMask),
                                False) == ipaddress.ip_network(
                                    u'%s/%d' % (deviceIp, rawMask), False)

                        if not same_network:
                            continue
                        if arg and historyWifiDevice.title.find(
                                targetIp) == -1:
                            continue

                        log.debug("history item title " +
                                  historyWifiDevice.title)

                        title = "Connect over WiFi"
                        if historyWifiDevice.subtitle:
                            title = "Connect " + historyWifiDevice.subtitle.split(
                                '- ', 1)[1].split(', ', 1)[0] + " over WiFi"

                        it = wf.add_item(
                            title=title,
                            valid=True,
                            arg="adb_connect",
                            autocomplete="connect " + historyWifiDevice.title,
                            subtitle=historyWifiDevice.title,
                            uid=(historyWifiDevice.title, "")[valid])
                        it.setvar("ip", historyWifiDevice.title)
                        it.add_modifier(
                            'cmd',
                            'Remove connection history with {0}'.format(
                                historyWifiDevice.title),
                            arg='adb_connect_remove')
                        it.add_modifier('alt', historyWifiDevice.subtitle)
                        counter += 1

            if not valid and counter == 0:
                if (not targetIp or re.match(regexIpInput, targetIp)):
                    subtitle = "adb connect " + targetIp if targetIp else ''
                    if not targetIp:
                        it = wf.add_item(title="Connect over WiFi",
                                         valid=False,
                                         arg="adb_connect",
                                         autocomplete="connect ",
                                         subtitle=subtitle)
                    else:
                        it = wf.add_item(title="Connect over WiFi",
                                         valid=False,
                                         arg="adb_connect",
                                         subtitle=subtitle)

    # DISCONNECT
    if wifiDevices:
        log.debug(wifiDevices[0].title)

    if arg and ("disconnect ".startswith(arg.lower())
                or re.match("^disconnect .*", arg)):
        targetIp = arg[11:]

        if wifiDevices:
            for wifiDevice in wifiDevices:
                it = wf.add_item(title="Disconnect from WiFi",
                                 uid=wifiDevice.title,
                                 valid=True,
                                 arg="adb_disconnect",
                                 autocomplete="disconnect ",
                                 subtitle=wifiDevice.title)
                ip = wifiDevice.title
                if "[OFFLINE]" in ip:
                    ip = ip.split(" ")[0]

                it.setvar("ip", ip)
        elif targetIp:
            it = wf.add_item(title="Disconnect from WiFi",
                             uid="adb_disconnect",
                             valid=True,
                             arg="adb_disconnect",
                             autocomplete="disconnect ",
                             subtitle="adb disconnect " + targetIp)
            it.setvar("ip", targetIp)

    if arg and ("restart".startswith(arg.lower()) or "kill-server".startswith(
            arg.lower()) or "start-server".startswith(arg.lower())) or (
                len(items) == 0 and
                (len(arg) == 0 or
                 (not arg.lower().startswith("connect")
                  and not arg.lower().startswith("disconnect")))):
        wf.add_item(title="Restart adb",
                    valid=True,
                    arg="restart_adb",
                    uid="restart_adb")
Exemple #10
0
import os
import sys
from toolchain import run_script
from commands import CMD_CUSTOM_COMMAND

cmd = os.getenv('cmd')

try:
    run_script(CMD_CUSTOM_COMMAND.format(cmd))

    print("Executed: " + cmd)
except:
    print("Failed to execute: adb " + cmd)
Exemple #11
0
import os
from toolchain import run_script
from commands import CMD_SHOW_APK_PATH
from commands import CMD_PULL_APK_TO_DESKTOP

package = os.getenv('package')
prettyVersion = os.getenv('pretty_version')

try:
    result = run_script(CMD_SHOW_APK_PATH.format(package))
    if result and result.startswith("package:"):
        path = result[8:].strip()

        run_script(CMD_PULL_APK_TO_DESKTOP.format(path, package,
                                                  prettyVersion))
        print("Apk extracted to desktop")
    else:
        print("Failed to extract apk")
except:
    print("Failed to extract apk")
Exemple #12
0
import os
from toolchain import run_script
from commands import CMD_CLEAR_DATA

package = os.getenv('package')

try:
    run_script(CMD_CLEAR_DATA.format(package))
    print("Data clear " + package + " succeed")
except:
    print("Data clear " + package + " failed")
Exemple #13
0
import os
from toolchain import run_script
from commands import CMD_APP_INFO

package = os.getenv('package')

try:
    run_script(CMD_APP_INFO.format(package))
    print("App info of " + package + " shown")
except:
    print("Failed to show app info of " + package)
def main(wf):

    shell_cmd = CMD_DUMP_PACKAGE.format(packName)

    result = None
    infos= None
    versionName = ""
    enabled = True
    # Package info
    try:
        result = run_script(shell_cmd)
    except subprocess.CalledProcessError as e:
        log.debug(e)
    if result:
        result = result[result.rfind("enabled="):]
        infos = result.rstrip().split('\n')
        log.debug(infos)
        versionName = infos[1].strip()[12:]
        versionCode = infos[2].strip()[12:]
        it = wf.add_item(title=packName,
                        subtitle="{0}({1})".format(versionName, versionCode),
                        valid=False,
                        copytext=packName,
                        icon=ICON_INFO)
    if infos:
        appInfo = infos[0].strip()
        enabled = (appInfo[appInfo.find("enabled=") + 8] != '2')
        log.debug("enabled ? {0}".format(enabled))

    # App info
    title = "App info"
    wf.add_item(title=title,
                subtitle="Open app info page",
                arg="app_info",
                valid=True) 
    
    if (infos and enabled):
        # Force stop
        title = "Force stop"
        wf.add_item(title=title,
                    arg="force_stop",
                    valid=True) 

    if (infos and len(infos) > 3 and enabled):
        # Start app
        title = "Start application"
        wf.add_item(title=title,
                    arg="start_app",
                    valid=True)

    # Clear data
    title = "Clear app data"
    wf.add_item(title=title,
                arg="clear_app_data",
                valid=True)

    # Uninstall
    title = "Uninstall app"
    it = wf.add_item(title=title,
                arg="uninstall_app",
                subtitle="`cmd` to keep data and cache",
                valid=True)

    mod = it.add_modifier("cmd", subtitle="keep the data and cache directories")
    mod.setvar("mod", "keep_data")

    if infos:    
        # Disable/Enable app

        title = ("Enable app", "Disable app")[enabled]
        it = wf.add_item(title=title,
            arg="dis_enable_app",
            valid=True)
        
        it.setvar("enabled", enabled)


    # Get apk file
    title = "Extract apk file"
    it = wf.add_item(title=title,
                arg="extract_apk",
                valid=True)
    if versionName:
        it.setvar("pretty_version", versionName)
                
    wf.send_feedback()
Exemple #15
0
import os
from toolchain import run_script
from commands import CMD_UNINSTALL_APP

package = os.getenv('package')

param = ""
if os.getenv('mod') == "keep_data":
    param = "-k"

try:
    run_script(CMD_UNINSTALL_APP.format(param, package))
    print("Uninstall app " + package + " succeed")
except:
    print("Uninstall app " + package + " failed")
import os
from toolchain import run_script
from commands import CMD_GET_SHOW_TAPS
from commands import CMD_SET_SHOW_TAPS

isOff = (os.getenv("function") == "debug_off")

try:
    result = run_script(CMD_GET_SHOW_TAPS)

    isOn = (result[-1:] == '1') or isOff

    shell_cmd = CMD_SET_SHOW_TAPS.format(("1", "0")[isOn])

    run_script(shell_cmd)

    print("Show taps is " + ("ON", "OFF")[isOn])
except:
    print("Failed to toggle show taps")
Exemple #17
0
import os
from toolchain import run_script

adb_path = os.getenv('adb_path')

response = run_script('{0} kill-server && {1} start-server'.format(adb_path, adb_path))

if 'daemon started successfully' in response:
    print('adb successfully restarted')
else:
    print('Failed to restart adb')
Exemple #18
0
import os
from toolchain import run_script
from commands import CMD_DISABLE_APP

package = os.getenv('package')
enabled = os.getenv('enabled')

try:
	run_script(CMD_DISABLE_APP.format(("enable", "disable")[enabled=='1'], package))
	print(("Enable", "Disable")[enabled=='1'] + " app " + package + " succeed")
except:
	print(("Enable", "Disable")[enabled=='1'] + " app " + package + " failed")
Exemple #19
0
import os
from toolchain import run_script
from commands import CMD_LAUNCH_APP

package = os.getenv('package')

try:
    run_script(CMD_LAUNCH_APP.format(package))
    print("Launch app " + package + " succeed")
except:
    print("Launch app " + package + " failed")
import os
from toolchain import run_script
from commands import CMD_GET_DEBUG_LAYOUT
from commands import CMD_SET_DEBUG_LAYOUT

isOff = (os.getenv("function") == "debug_off")

try:
	result = run_script(CMD_GET_DEBUG_LAYOUT)

	isOn = ('off', 'on')[result.lower() != 'on' and not isOff]

	shell_cmd = CMD_SET_DEBUG_LAYOUT.format(isOn)

	result = run_script(shell_cmd)

	print("Debug layout is " + isOn)
except:
	print("Failed to toggle debug layout")
Exemple #21
0
from toolchain import run_script
from commands import CMD_DEMO_MODE_STATUS
from commands import CMD_DEMO_MODE_EXIT
from commands import CMD_DEMO_MODE_DISABLE
from commands import CMD_DEMO_MODE_ENABLE
from commands import CMD_DEMO_MODE_ENTER
from commands import CMD_DEMO_MODE_CLOCK
from commands import CMD_DEMO_MODE_BATTERY
from commands import CMD_DEMO_MODE_MOBILE
from commands import CMD_DEMO_MODE_WIFI
from commands import CMD_DEMO_MODE_NOTIFICATION

import sys

try:
    result = run_script(CMD_DEMO_MODE_STATUS)

    if result == 'null\n' or int(result) != 0:
        sys.stderr.write("Turn demo mode off")

        run_script(CMD_DEMO_MODE_EXIT)
        run_script(CMD_DEMO_MODE_DISABLE)
    else:
        sys.stderr.write("Turn demo mode on")

        run_script(CMD_DEMO_MODE_ENABLE)
        run_script(CMD_DEMO_MODE_ENTER)
        run_script(CMD_DEMO_MODE_CLOCK)
        run_script(CMD_DEMO_MODE_BATTERY)
        run_script(CMD_DEMO_MODE_MOBILE)
        run_script(CMD_DEMO_MODE_WIFI)
Exemple #22
0
import os
from toolchain import run_script
from commands import CMD_FORCE_STOP

package = os.getenv('package')

try:
	run_script(CMD_FORCE_STOP.format(package))
	print("Force stop " + package + " succeed")
except:
	print("Force stop " + package + " failed")
Exemple #23
0
import os
from toolchain import run_script
from commands import CMD_REBOOT

# `function` could be `adb_reboot:bootloader`
cmd = os.getenv('function')[11:]

shell_cmd = CMD_REBOOT.format(cmd)

try:
    run_script(shell_cmd)
    print("Reboot device succeed")
except:
    print("Reboot device failed")
Exemple #24
0
optionArg = ""
if options:
    for option in options:
        if option and option.strip():
            optionArg = optionArg + " -" + option

try:
    if apkFiles:
        totalFiles = len(apkFiles)
        installResults = 0
        sys.stderr.write("Step 1 {0}\n".format(totalFiles))
        for apkFile in apkFiles:
            sys.stderr.write("Step 2" + "\n")
            if not apkFile:
                continue
            result = run_script(
                CMD_INSTALL_APP.format(optionArg,
                                       (pipes.quote(apkFile),
                                        apkFile)[apkFile.startswith('\"')
                                                 or apkFile.startswith("\'")]))
            if "Failure [" not in result and "Error:" not in result:
                installResults = installResults + 1
            sys.stderr.write(result + "\n")
    if installResults == totalFiles:
        print("Install app succeed")
    else:
        print("Install app failed, {0}/{1} failed".format(
            totalFiles - installResults, totalFiles))
except:
    print("Install app failed")
def main(wf):

    arg = wf.args[0].strip()
    log.debug(arg)
    addAll = False
    if arg == '':
        addAll = True

    itemCount = 0
    wf.setvar("function", "keyevent")
    # Back
    title = "Back"

    if addAll or wordMatch(arg, title):
        it = wf.add_item(title=title,
                         uid="KEYCODE_BACK",
                         arg="KEYCODE_BACK",
                         valid=True)
        it.setvar('mod', 'none')
        m = it.add_modifier('cmd', 'Long press ' + arg)
        m.setvar('mod', 'cmd')
        itemCount += 1

    # Home
    title = "Home"

    if addAll or wordMatch(arg, title):
        it = wf.add_item(title=title,
                         uid="KEYCODE_HOME",
                         arg="KEYCODE_HOME",
                         valid=True)

        it.setvar('mod', 'none')
        m = it.add_modifier('cmd', 'Long press ' + arg)
        m.setvar('mod', 'cmd')
        itemCount += 1

    # APP SWITCH
    title = "App switch"

    if addAll or wordMatch(arg, title + " recent"):
        it = wf.add_item(title=title,
                         uid="KEYCODE_APP_SWITCH",
                         arg="KEYCODE_APP_SWITCH",
                         valid=True)
        it.setvar('mod', 'none')
        m = it.add_modifier('cmd', 'Long press ' + arg)
        m.setvar('mod', 'cmd')
        itemCount += 1

    # REBOOT SYSTEM
    title = "Power"

    if addAll or wordMatch(arg, title):
        it = wf.add_item(title=title,
                         uid="KEYCODE_POWER",
                         arg="KEYCODE_POWER",
                         valid=True)

        it.setvar('mod', 'none')
        m = it.add_modifier('cmd', 'Long press ' + arg)
        m.setvar('mod', 'cmd')
        itemCount += 1

    # STATUS BAR
    title = "Status bar"

    if addAll or wordMatch(arg, title):
        it = wf.add_item(title=title,
                         uid="STATUS_BAR",
                         arg="STATUS_BAR",
                         subtitle="Toggle status bar menu",
                         valid=True)

        it.setvar("function", "STATUS_BAR")
        itemCount += 1

    # KEYBOARD
    title = "Hide keyboard"
    result = run_script(CMD_CHECK_KEYBOARD)
    if (addAll or wordMatch(arg, title)) and "true" in result:
        it = wf.add_item(title=title,
                         uid="KEYCODE_ESCAPE",
                         arg="KEYCODE_ESCAPE",
                         valid=True)

        it.setvar('mod', 'none')
        itemCount += 1

    # OTHER KEYEVENTS
    if re.match("keycode_\w*", arg.lower()):
        it = wf.add_item(title="Other keyevents",
                         subtitle="input keyevent " + arg.upper(),
                         arg=arg.upper(),
                         valid=True)

        it.setvar('mod', 'none')
        m = it.add_modifier('cmd', 'Long press ' + arg.upper())
        m.setvar('mod', 'cmd')
        itemCount += 1

    # INPUT TEXT
    if itemCount == 0:
        log.debug("arg :" + arg)
        it = wf.add_item(title="Input as text",
                         subtitle="input text " + arg,
                         arg=arg,
                         valid=True)
        it.setvar("function", "text")
    wf.send_feedback()
Exemple #26
0
from toolchain import run_script
from commands import CMD_CURRENT_FOCUS
from commands import CMD_CALL_STATUSBAR
from commands import CMD_INPUT

cmd = os.getenv('function')
text = os.getenv('key')
mod = os.getenv('mod')

if cmd == "text":
    text = pipes.quote(text.replace(" ", "%s"))

shell_cmd = ""

if cmd == "STATUS_BAR":
    result = run_script(CMD_CURRENT_FOCUS)

    expanded = "StatusBar" in result

    shell_cmd = CMD_CALL_STATUSBAR.format(("1", "2")[expanded])
elif cmd == "KEYBOARD":
    shell_cmd = CMD_INPUT.format(cmd, mod, text)
else:
    shell_cmd = CMD_INPUT.format(cmd, ("", "--longpress")[mod == "cmd"], text)

try:
    run_script(shell_cmd)

    print("Executed: " + cmd)
except:
    print("Failed to execute: adb " + cmd)
Exemple #27
0
import os
import sys
from toolchain import run_script
from commands import CMD_GET_GPU_PROFILE
from commands import CMD_SET_GPU_PROFILE

isOff = (os.getenv("function") == "debug_off")

try:
    result = run_script(CMD_GET_GPU_PROFILE)

    isOn = (result == 'visual_bars') or isOff

    sys.stderr.write("GPU profile is " + ("OFF", "ON")[isOn])

    shell_cmd = CMD_SET_GPU_PROFILE.format(("visual_bars", "false")[isOn])

    run_script(shell_cmd)

    print("GPU profile is " + ("ON", "OFF")[isOn])
except:
    print("Failed to toggle GPU profile")
Exemple #28
0
from commands import CMD_SCREENCAP
from commands import CMD_PULL_TEMP_TO_DESKTOP
from commands import CMD_RM_TEMP

datetime = os.getenv('time')

mod = os.getenv('function')[11:]

shell_cmd_1 = CMD_SCREENCAP.format(datetime)
shell_cmd_2 = CMD_PULL_TEMP_TO_DESKTOP.format(
    datetime, ("/tmp/", "~/Desktop/")[mod == "to_desktop"])
shell_cmd_3 = CMD_RM_TEMP.format(datetime)
import sys
sys.stderr.write("\n {} \n".format(mod))
try:
    run_script(shell_cmd_1)
    run_script(shell_cmd_2)
    run_script(shell_cmd_3)

    local_path = ""
    if mod and mod == "to_desktop":
        local_path = "~/Desktop/screenshot_{0}.jpg".format(datetime)
    else:
        local_path = "/tmp/screenshot_{0}.jpg".format(datetime)

    if mod and mod == "to_clipboard":
        if call_script(['which', 'osascript']) == 0:
            shell_cmd_4 = "osascript -e 'on run args' -e 'set thisFile to item 1 of args' -e 'set the clipboard to (read thisFile as JPEG picture)' -e return -e end {0}".format(
                local_path)
            run_script(shell_cmd_4)
        elif call_script(['which', 'xclip']) == 0: