def __init__(self): """ Constructor """ self.__tools = Tools() self.__androidPackage = AndroidPackage() self.__operators = ( self.__installOperation, self.__startOperation, self.__stopOperation, self.__uninstallOperation, )
class Execution(object): """ This is a operation execution class. """ def __init__(self): """ Constructor """ self.__tools = Tools() self.__androidPackage = AndroidPackage() self.__operators = ( self.__installOperation, self.__startOperation, self.__stopOperation, self.__uninstallOperation, ) def operation(self, serialNumber, args): """ execute some operation. """ if DEBUG: print "[EXEC] %s.%s" % (self.__class__.__name__, self.__tools.getCurrentFunctionName()) print "[EXEC] %s" % args[APK_FILE_NAME][VALUE] tempList = args for i in range(len(self.__operators)): tempStr = self.__operators[i](args, serialNumber) if tempStr.upper().find(SUCCESS_IDENTIFIER) >= 0: tempSubList = [tempStr, SUCCESS_STATUS] else: tempSubList = [tempStr, FAILURE_STATUS] tempList.append(tempSubList) return tempList def __installOperation(self, args, serialNumber): """ execute the installing apk operation. """ if DEBUG: print "[EXEC] %s.%s" % (self.__class__.__name__, self.__tools.getCurrentFunctionName()) return self.__androidPackage.install( serialNumber, os.path.join(args[APK_FILE_PATH][VALUE], args[APK_FILE_NAME][VALUE]) ) def __startOperation(self, args, serialNumber): """ execute the starting apk operation. """ if DEBUG: print "[EXEC] %s.%s" % (self.__class__.__name__, self.__tools.getCurrentFunctionName()) return self.__androidPackage.start(serialNumber, args[APK_PACKAGE_NAME][VALUE], args[APK_ACTIVITY_NAME][VALUE]) def __stopOperation(self, args, serialNumber): """ execute the stopping apk operation. """ if DEBUG: print "[EXEC] %s.%s" % (self.__class__.__name__, self.__tools.getCurrentFunctionName()) return self.__androidPackage.stop(serialNumber, args[APK_PACKAGE_NAME][VALUE]) def __uninstallOperation(self, args, serialNumber): """ execute the uninstalling apk operation. """ if DEBUG: print "[EXEC] %s.%s" % (self.__class__.__name__, self.__tools.getCurrentFunctionName()) return self.__androidPackage.uninstall(serialNumber, args[APK_PACKAGE_NAME][VALUE])