51 lines
1.6 KiB
Diff
51 lines
1.6 KiB
Diff
From 915a63da5e94f85a8f0a211c73f9fafa77bc31f4 Mon Sep 17 00:00:00 2001
|
|
From: Jakub Filak <jfilak@redhat.com>
|
|
Date: Mon, 24 Aug 2015 15:26:03 +0200
|
|
Subject: [PATCH] Add a sanity check to 'recordmydestkop' plugin
|
|
|
|
Related: rhbz#1228860
|
|
|
|
Signed-off-by: Jakub Filak <jfilak@redhat.com>
|
|
---
|
|
src/pyfros/plugins/screencastrecordmydesktop.py | 11 +++++++++--
|
|
1 file changed, 9 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/src/pyfros/plugins/screencastrecordmydesktop.py b/src/pyfros/plugins/screencastrecordmydesktop.py
|
|
index 376b52b..63efd7d 100644
|
|
--- a/src/pyfros/plugins/screencastrecordmydesktop.py
|
|
+++ b/src/pyfros/plugins/screencastrecordmydesktop.py
|
|
@@ -17,14 +17,14 @@
|
|
|
|
from pyfros.screencastbase import ScreencastBase, ScreencastResult
|
|
import pyfros.plugins.const as const
|
|
-from subprocess import Popen, PIPE
|
|
+from subprocess import Popen, PIPE, DEVNULL
|
|
import fcntl
|
|
import os
|
|
import signal
|
|
#pylint: disable=E0611
|
|
from gi.repository import GLib
|
|
import re
|
|
-from pyfros.froslogging import warn
|
|
+from pyfros.froslogging import warn, error
|
|
|
|
|
|
def getScreencastPluginInstance():
|
|
@@ -95,6 +95,13 @@ class ScreencastRecordMyDesktop(ScreencastBase):
|
|
print("ScreencastArea ScreencastRecordMyDesktop")
|
|
|
|
def IsSuitable(self):
|
|
+ try:
|
|
+ proc = Popen(["recordmydesktop", "-h"], stdin=DEVNULL, stdout=DEVNULL, stderr=DEVNULL)
|
|
+ proc.communicate()
|
|
+ except Exception as ex:
|
|
+ error("Cannot run 'recordmydesktop': %s" % (str(ex)))
|
|
+ return const.SUITABLE_NOT_SUITABLE
|
|
+
|
|
return const.SUITABLE_DEFAULT # 1 is default
|
|
|
|
def Screencast(self):
|
|
--
|
|
2.5.0
|
|
|