framework_gem 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/{lib/EXECUTION_ENGINE.md → EXECUTION_ENGINE.md} +0 -0
- data/{lib/Gemfile → Gemfile} +4 -1
- data/{lib/README.md → README.md} +0 -0
- data/{lib/config → config}/ConfigParams.xml +0 -0
- data/{lib/config → config}/ImageROI.xml +0 -0
- data/{lib/config → config}/ROI.xml +0 -0
- data/{lib/config → config}/Userlog4j.xml +0 -0
- data/{lib/config → config}/schema-docs/mode.xsd +0 -0
- data/{lib/config → config}/schema-docs/processTestJobs.xsd +0 -0
- data/{lib/config → config}/schema-docs/rackip.xsd +0 -0
- data/{lib/copy_ref_images.rb → copy_ref_images.rb} +0 -0
- data/{lib/copy_repo.rb → copy_repo.rb} +0 -0
- data/{lib/dsllib → dsllib}/common/dncs/dncs_utils.rb +0 -0
- data/{lib/dsllib → dsllib}/common/mas_db/mas_conductor.rb +0 -0
- data/{lib/dsllib → dsllib}/common/mas_db/mas_db.rb +0 -0
- data/{lib/dsllib → dsllib}/common/mas_db/mas_publish.rb +0 -0
- data/{lib/dsllib → dsllib}/common/mas_db/mas_rest_services.rb +0 -0
- data/{lib/dsllib → dsllib}/common/mas_db/mas_soap_services.rb +0 -0
- data/{lib/dsllib → dsllib}/common/mas_db/mas_utils.rb +0 -0
- data/{lib/dsllib → dsllib}/common/remote_diagnostics/mdn_remote_diagnostics.rb +0 -0
- data/{lib/dsllib → dsllib}/common/remote_diagnostics/odn_web_server.rb +0 -0
- data/{lib/dsllib → dsllib}/common/utils/excel_export.rb +0 -0
- data/{lib/dsllib → dsllib}/common/utils/excel_module.rb +0 -0
- data/{lib/dsllib → dsllib}/common/utils/server_components_utils.rb +0 -0
- data/{lib/dsllib → dsllib}/common/utils/stb_health_check_utils.rb +0 -0
- data/{lib/dsllib → dsllib}/common/utils/sword_utils.rb +0 -0
- data/{lib/dsllib → dsllib}/common/utils/tmc_utils.rb +0 -0
- data/{lib/dsllib → dsllib}/common/utils/virtual_keyboard_navigator.rb +0 -0
- data/{lib/dsllib → dsllib}/common/utils/virtual_keyboard_vp_navigator.rb +0 -0
- data/{lib/dsllib → dsllib}/performance/DTA/roi.rb +0 -0
- data/{lib/dsllib → dsllib}/performance/DTA/utils.rb +0 -0
- data/{lib/dsllib → dsllib}/performance/iguide_concurrent_test/ROI.rb +0 -0
- data/{lib/dsllib → dsllib}/performance/iguide_concurrent_test/utils.rb +0 -0
- data/{lib/dsllib → dsllib}/performance/measure_tune.rb +0 -0
- data/{lib/dsllib → dsllib}/performance/perf_lib.rb +0 -0
- data/framework_gem.rb +3 -0
- data/lib/{lib/data_services → data_services}/channel.rb +0 -0
- data/lib/{lib/data_services → data_services}/data_services.rb +0 -0
- data/lib/{lib/data_services → data_services}/guide.rb +0 -0
- data/lib/{lib/data_services → data_services}/lineup.rb +0 -0
- data/lib/{lib/data_services → data_services}/program.rb +0 -0
- data/lib/{lib/data_services → data_services}/schedule.rb +0 -0
- data/lib/{lib/data_services → data_services}/splunk_connector.rb +0 -0
- data/lib/{lib/data_services → data_services}/splunk_data_reader.rb +0 -0
- data/lib/{lib/element → element}/element.rb +0 -0
- data/lib/{lib/extensions → extensions}/array_extensions.rb +0 -0
- data/lib/{lib/extensions → extensions}/datetime_extensions.rb +0 -0
- data/lib/{lib/extensions → extensions}/extensions.rb +0 -0
- data/lib/{lib/extensions → extensions}/file_extensions.rb +0 -0
- data/lib/{lib/extensions → extensions}/float_extensions.rb +0 -0
- data/lib/{lib/extensions → extensions}/integer_extensions.rb +0 -0
- data/lib/{lib/extensions → extensions}/nethttp_extensions.rb +0 -0
- data/lib/{lib/extensions → extensions}/object_extensions.rb +0 -0
- data/lib/{lib/extensions → extensions}/string_extensions.rb +0 -0
- data/lib/helpers/tmc_helpers/core_helper/core_helper.rb +29 -0
- data/lib/{lib/helpers → helpers}/tmc_helpers/csv_helper/csv_helper.rb +0 -0
- data/lib/{lib/helpers → helpers}/tmc_helpers/email_helper/email_helper.rb +0 -0
- data/lib/{lib/helpers → helpers}/tmc_helpers/http_helper/http_helper.rb +0 -0
- data/lib/{lib/helpers → helpers}/tmc_helpers/roi_helper/roi_helper.rb +0 -0
- data/lib/{lib/helpers → helpers}/tmc_helpers/snmp_helper/snmp_helper.rb +0 -0
- data/lib/{lib/helpers → helpers}/tmc_helpers/ssh_helper/ssh_helper.rb +0 -0
- data/lib/{lib/helpers → helpers}/tmc_helpers/tmc_helpers.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/apple_tv/apple_tv_password_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/apple_tv/apple_tv_search_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/apple_tv/apple_tv_username_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/keyboard_layout.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/roku/roku_reset_pin_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/roku/roku_rsg_search_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/roku/roku_rsg_signin_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/roku/roku_search_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/roku/roku_signin_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/samsung_tv/samsung_tv_search_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/samsung_tv/samsung_tv_signin_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/stb/odn/odn_on_demand_search_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/stb/odn/odn_search_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/stb/spectrum/spectrum_netflix_email_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/stb/spectrum/spectrum_netflix_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/stb/spectrum/spectrum_netflix_name_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/stb/spectrum/spectrum_search_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/tivo/tivo_password_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/tivo/tivo_search_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/tivo/tivo_username_keyboard.rb +0 -0
- data/lib/{lib/keys → keys}/apple_tv/apple_tv_keys.rb +0 -0
- data/lib/{lib/keys → keys}/base_keys.rb +0 -0
- data/lib/{lib/keys → keys}/dta/dta_keys.rb +0 -0
- data/lib/{lib/keys → keys}/mdn/mdn_keys.rb +0 -0
- data/lib/{lib/keys → keys}/passport/passport_keys.rb +0 -0
- data/lib/{lib/keys → keys}/roku/roku_keys.rb +0 -0
- data/lib/{lib/keys → keys}/roku_tv/roku_tv_keys.rb +0 -0
- data/lib/{lib/keys → keys}/samsung_tv/samsung_tv_keys.rb +0 -0
- data/lib/{lib/keys → keys}/sara/sara_keys.rb +0 -0
- data/lib/{lib/keys → keys}/stb/iguide/iguide_keys.rb +0 -0
- data/lib/{lib/keys → keys}/stb/odn/odn_keys.rb +0 -0
- data/lib/{lib/keys → keys}/stb/spectrum/spectrum_keys.rb +0 -0
- data/lib/{lib/keys → keys}/stb/stb_keys.rb +0 -0
- data/lib/{lib/keys → keys}/tivo/tivo_keys.rb +0 -0
- data/lib/{lib/logger → logger}/multi_io.rb +0 -0
- data/lib/{lib/logger → logger}/tmc_dut_logger.rb +0 -0
- data/lib/{lib/logger → logger}/tmc_logger.rb +0 -0
- data/lib/{lib/mixins → mixins}/assignable.rb +0 -0
- data/lib/{lib/mixins → mixins}/can_have_special_methods.rb +0 -0
- data/lib/{lib/mixins → mixins}/enumish.rb +0 -0
- data/lib/{lib/new_platform.rb → new_platform.rb} +0 -0
- data/lib/{lib/new_sub_platform.rb → new_sub_platform.rb} +0 -0
- data/lib/{lib/platform → platform}/apple_tv/apple_tv.rb +0 -0
- data/lib/{lib/platform → platform}/apple_tv/apple_tv_1080/apple_tv_1080.rb +0 -0
- data/lib/{lib/platform → platform}/apple_tv/apple_tv_720/apple_tv_720.rb +0 -0
- data/lib/{lib/platform → platform}/dta/dta.rb +0 -0
- data/lib/{lib/platform → platform}/dta/dta_1080/dta_1080.rb +0 -0
- data/lib/{lib/platform → platform}/dta/dta_720/dta_720.rb +0 -0
- data/lib/{lib/platform → platform}/mdn/mdn.rb +0 -0
- data/lib/{lib/platform → platform}/mdn/mdn_1080/mdn_1080.rb +0 -0
- data/lib/{lib/platform → platform}/mdn/mdn_720/mdn_720.rb +0 -0
- data/lib/{lib/platform → platform}/mobile/android/android.rb +0 -0
- data/lib/{lib/platform → platform}/mobile/android/android_phone/android_phone.rb +0 -0
- data/lib/{lib/platform → platform}/mobile/android/android_tablet/android_tablet.rb +0 -0
- data/lib/{lib/platform → platform}/mobile/ios/ios.rb +0 -0
- data/lib/{lib/platform → platform}/mobile/ios/ios_phone/ios_phone.rb +0 -0
- data/lib/{lib/platform → platform}/mobile/ios/ios_tablet/ios_tablet.rb +0 -0
- data/lib/{lib/platform → platform}/mobile/mobile.rb +0 -0
- data/lib/{lib/platform → platform}/passport/passport.rb +0 -0
- data/lib/{lib/platform → platform}/passport/passport1080/passport_1080.rb +0 -0
- data/lib/{lib/platform → platform}/passport/passport_720/passport_720.rb +0 -0
- data/lib/{lib/platform → platform}/platform.rb +0 -0
- data/lib/{lib/platform → platform}/roku/roku.rb +0 -0
- data/lib/{lib/platform → platform}/roku/roku_720/roku_720.rb +0 -0
- data/lib/{lib/platform → platform}/roku_tv/roku_tv.rb +0 -0
- data/lib/{lib/platform → platform}/roku_tv/roku_tv_1080/roku_tv_1080.rb +0 -0
- data/lib/{lib/platform → platform}/roku_tv/roku_tv_720/roku_tv_720.rb +0 -0
- data/lib/{lib/platform → platform}/samsung_tv/samsung_tv.rb +0 -0
- data/lib/{lib/platform → platform}/samsung_tv/samsung_tv_1080/samsung_tv_1080.rb +0 -0
- data/lib/{lib/platform → platform}/samsung_tv/samsung_tv_720/samsung_tv_720.rb +0 -0
- data/lib/{lib/platform → platform}/sara/sara.rb +0 -0
- data/lib/{lib/platform → platform}/sara/sara_1080/sara_1080.rb +0 -0
- data/lib/{lib/platform → platform}/sara/sara_720/sara_720.rb +0 -0
- data/lib/{lib/platform → platform}/stb/iguide/iguide.rb +0 -0
- data/lib/{lib/platform → platform}/stb/iguide/iguide_1080/iguide_1080.rb +0 -0
- data/lib/{lib/platform → platform}/stb/iguide/iguide_720/iguide_720.rb +0 -0
- data/lib/{lib/platform → platform}/stb/odn/odn.rb +0 -0
- data/lib/{lib/platform → platform}/stb/odn/odn_1080/odn_1080.rb +0 -0
- data/lib/{lib/platform → platform}/stb/odn/odn_720/odn_720.rb +0 -0
- data/lib/{lib/platform → platform}/stb/odn/odn_720/odn_720_moto/odn_720_moto.rb +0 -0
- data/lib/{lib/platform → platform}/stb/odn/odn_720/odn_720_sa/odn_720_sa.rb +0 -0
- data/lib/{lib/platform → platform}/stb/odn/odn_720/odn_720_samsung/odn_720_samsung.rb +0 -0
- data/lib/{lib/platform → platform}/stb/spectrum/spectrum.rb +0 -0
- data/lib/{lib/platform → platform}/stb/spectrum/spectrum_1080/spectrum_1080.rb +0 -0
- data/lib/{lib/platform → platform}/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis.rb +0 -0
- data/lib/{lib/platform → platform}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris.rb +0 -0
- data/lib/{lib/platform → platform}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax.rb +0 -0
- data/lib/{lib/platform → platform}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch.rb +0 -0
- data/lib/{lib/platform → platform}/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace.rb +0 -0
- data/lib/{lib/platform → platform}/stb/spectrum/spectrum_720/spectrum_720.rb +0 -0
- data/lib/{lib/platform → platform}/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris.rb +0 -0
- data/lib/{lib/platform → platform}/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax.rb +0 -0
- data/lib/{lib/platform → platform}/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch.rb +0 -0
- data/lib/{lib/platform → platform}/stb/stb.rb +0 -0
- data/lib/{lib/platform → platform}/template.txt +0 -0
- data/lib/{lib/platform → platform}/tivo/tivo.rb +0 -0
- data/lib/{lib/platform → platform}/tivo/tivo_1080/tivo_1080.rb +0 -0
- data/lib/{lib/platform → platform}/tivo/tivo_720/tivo_720.rb +0 -0
- data/lib/{lib/platform → platform}/web/web.rb +0 -0
- data/lib/{lib/platform_libs → platform_libs}/roku/roku_controller.rb +0 -0
- data/lib/{lib/prereqs → prereqs}/prereqs.rb +0 -0
- data/lib/{lib/prereqs → prereqs}/prereqs_for_dut.rb +0 -0
- data/lib/{lib/prereqs → prereqs}/prereqs_for_test.rb +0 -0
- data/lib/{lib/remotes → remotes}/remotes.rb +0 -0
- data/lib/{lib/remotes → remotes}/stb/spectrum/spectrum_remotes.rb +0 -0
- data/lib/{lib/roi → roi}/black/black_roi.rb +0 -0
- data/lib/{lib/roi → roi}/color/color_roi.rb +0 -0
- data/lib/{lib/roi → roi}/image/image_roi.rb +0 -0
- data/lib/{lib/roi → roi}/roi.rb +0 -0
- data/lib/{lib/roi → roi}/template_roi.txt +0 -0
- data/lib/{lib/roi → roi}/text/text_roi.rb +0 -0
- data/lib/{lib/roi → roi}/video/video_roi.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_1080/apple_tv_1080_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_1080/apple_tv_1080_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_1080/apple_tv_1080_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_1080/apple_tv_1080_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_1080/apple_tv_1080_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_1080/apple_tv_1080_video_rois.rb +2 -1
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_720/apple_tv_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_720/apple_tv_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_720/apple_tv_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_720/apple_tv_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_720/apple_tv_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_720/apple_tv_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_1080/dta_1080_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_1080/dta_1080_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_1080/dta_1080_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_1080/dta_1080_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_1080/dta_1080_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_1080/dta_1080_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_720/dta_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_720/dta_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_720/dta_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_720/dta_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_720/dta_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_720/dta_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_1080/mdn_1080_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_1080/mdn_1080_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_1080/mdn_1080_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_1080/mdn_1080_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_1080/mdn_1080_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_1080/mdn_1080_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_720/mdn_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_720/mdn_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_720/mdn_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_720/mdn_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_720/mdn_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_720/mdn_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_phone/android_phone_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_phone/android_phone_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_phone/android_phone_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_phone/android_phone_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_phone/android_phone_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_phone/android_phone_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_tablet/android_tablet_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_tablet/android_tablet_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_tablet/android_tablet_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_tablet/android_tablet_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_tablet/android_tablet_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_tablet/android_tablet_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_phone/ios_phone_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_phone/ios_phone_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_phone/ios_phone_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_phone/ios_phone_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_phone/ios_phone_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_phone/ios_phone_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_tablet/ios_tablet_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_tablet/ios_tablet_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_tablet/ios_tablet_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_tablet/ios_tablet_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_tablet/ios_tablet_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_tablet/ios_tablet_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/mobile_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/mobile_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/mobile_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/mobile_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/mobile_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/mobile_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_1080/passport_1080_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_1080/passport_1080_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_1080/passport_1080_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_1080/passport_1080_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_1080/passport_1080_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_1080/passport_1080_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_720/passport_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_720/passport_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_720/passport_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_720/passport_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_720/passport_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_720/passport_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_720/roku_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_720/roku_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_720/roku_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_720/roku_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_720/roku_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_720/roku_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_1080/roku_tv_1080_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_1080/roku_tv_1080_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_1080/roku_tv_1080_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_1080/roku_tv_1080_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_1080/roku_tv_1080_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_1080/roku_tv_1080_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_720/roku_tv_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_720/roku_tv_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_720/roku_tv_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_720/roku_tv_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_720/roku_tv_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_720/roku_tv_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_1080/samsung_tv_1080_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_1080/samsung_tv_1080_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_1080/samsung_tv_1080_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_1080/samsung_tv_1080_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_1080/samsung_tv_1080_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_1080/samsung_tv_1080_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_720/samsung_tv_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_720/samsung_tv_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_720/samsung_tv_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_720/samsung_tv_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_720/samsung_tv_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_720/samsung_tv_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_1080/sara_1080_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_1080/sara_1080_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_1080/sara_1080_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_1080/sara_1080_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_1080/sara_1080_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_1080/sara_1080_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_720/sara_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_720/sara_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_720/sara_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_720/sara_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_720/sara_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_720/sara_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_1080/iguide_1080_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_1080/iguide_1080_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_1080/iguide_1080_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_1080/iguide_1080_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_1080/iguide_1080_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_1080/iguide_1080_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_720/iguide_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_720/iguide_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_720/iguide_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_720/iguide_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_720/iguide_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_720/iguide_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_1080/odn_1080_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_1080/odn_1080_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_1080/odn_1080_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_1080/odn_1080_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_1080/odn_1080_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_1080/odn_1080_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_moto/odn_720_moto_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_moto/odn_720_moto_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_moto/odn_720_moto_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_moto/odn_720_moto_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_moto/odn_720_moto_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_moto/odn_720_moto_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_sa/odn_720_sa_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_sa/odn_720_sa_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_sa/odn_720_sa_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_sa/odn_720_sa_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_sa/odn_720_sa_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_sa/odn_720_sa_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/stb_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/stb_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/stb_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/stb_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/stb_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/stb_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/template.txt +0 -0
- data/lib/{User_Lib/rois → rois}/text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_1080/tivo_1080_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_1080/tivo_1080_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_1080/tivo_1080_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_1080/tivo_1080_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_1080/tivo_1080_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_1080/tivo_1080_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_720/tivo_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_720/tivo_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_720/tivo_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_720/tivo_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_720/tivo_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_720/tivo_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/video_rois.rb +0 -0
- data/lib/{lib/screen → screen}/screen.rb +0 -0
- data/lib/{lib/screen → screen}/template.txt +0 -0
- data/lib/{lib/screen → screen}/template_screen.txt +0 -0
- data/lib/{lib/screens → screens}/apple_tv/apple_tv_screens.rb +0 -0
- data/lib/{lib/screens → screens}/dta/dta_screens.rb +0 -0
- data/lib/{lib/screens → screens}/mdn/mdn_screens.rb +0 -0
- data/lib/{lib/screens → screens}/mobile/android/android_phone/android_phone_screens.rb +0 -0
- data/lib/{lib/screens → screens}/mobile/android/android_screens.rb +0 -0
- data/lib/{lib/screens → screens}/mobile/android/android_tablet/android_tablet_screens.rb +0 -0
- data/lib/{lib/screens → screens}/mobile/ios/ios_phone/ios_phone_screens.rb +0 -0
- data/lib/{lib/screens → screens}/mobile/ios/ios_screens.rb +0 -0
- data/lib/{lib/screens → screens}/mobile/ios/ios_tablet/ios_tablet_screens.rb +0 -0
- data/lib/{lib/screens → screens}/mobile/mobile_screens.rb +0 -0
- data/lib/{lib/screens → screens}/passport/passport_screens.rb +0 -0
- data/lib/{lib/screens → screens}/roku/roku_screens.rb +0 -0
- data/lib/{lib/screens → screens}/roku_tv/roku_tv_screens.rb +0 -0
- data/lib/{lib/screens → screens}/samsung_tv/samsung_tv_screens.rb +0 -0
- data/lib/{lib/screens → screens}/sara/sara_screens.rb +0 -0
- data/lib/{lib/screens → screens}/screens.rb +0 -0
- data/lib/{lib/screens → screens}/stb/iguide/iguide_1080/iguide_1080_screens.rb +0 -0
- data/lib/{lib/screens → screens}/stb/iguide/iguide_720/iguide_720_screens.rb +0 -0
- data/lib/{lib/screens → screens}/stb/iguide/iguide_screens.rb +0 -0
- data/lib/{lib/screens → screens}/stb/odn/odn_screens.rb +0 -0
- data/lib/{lib/screens → screens}/stb/spectrum/spectrum_docsis/spectrum_1080_docsis_screens.rb +0 -0
- data/lib/{lib/screens → screens}/stb/spectrum/spectrum_screens.rb +0 -0
- data/lib/{lib/screens → screens}/stb/stb_screens.rb +0 -0
- data/lib/{lib/screens → screens}/template.txt +0 -0
- data/lib/{lib/screens → screens}/tivo/tivo_screens.rb +0 -0
- data/lib/{lib/selenium → selenium}/appium/appium.rb +0 -0
- data/lib/{lib/selenium → selenium}/selenium.rb +0 -0
- data/lib/{lib/selenium → selenium}/webdriver/webdriver.rb +0 -0
- data/lib/{lib/test_case → test_case}/boilerplate/functional.rb +0 -0
- data/lib/{lib/test_case → test_case}/boilerplate/performance.rb +0 -0
- data/lib/{lib/test_case → test_case}/ci_test.rb +0 -0
- data/lib/{lib/test_case → test_case}/functional_test_case.rb +0 -0
- data/lib/{lib/test_case → test_case}/make_boilerplate.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/apple_monitor.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/base_monitor.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/dta_monitor.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/iguide_monitor.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/mdn_monitor.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/monitoring_test.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/odn_monitor.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/passport_monitor.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/report_monitor.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/roku_monitor.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/sara_monitor.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/spec_monitor.rb +0 -0
- data/lib/{lib/test_case → test_case}/performance_test_case.rb +0 -0
- data/lib/{lib/test_case → test_case}/test_case.rb +0 -0
- data/lib/{lib/test_case → test_case}/test_error.rb +0 -0
- data/lib/{lib/test_case → test_case}/test_exception.rb +0 -0
- data/lib/{lib/test_case → test_case}/test_status.rb +0 -0
- data/lib/{lib/test_case → test_case}/test_step.rb +0 -0
- data/lib/{lib/test_case → test_case}/test_trace.rb +0 -0
- data/lib/{lib/test_data.rb → test_data.rb} +0 -0
- data/lib/test_wrapper.rb +95 -0
- data/{lib/misc → misc}/get_latest_android.sh +0 -0
- data/{lib/misc → misc}/get_latest_ios.sh +0 -0
- data/{lib/package-lock.json → package-lock.json} +0 -0
- data/{lib/syntax_eval.rb → syntax_eval.rb} +27 -35
- data/tmc-core.gemspec +9 -0
- data/{lib/tools → tools}/convert_old_scripts.rb +0 -0
- data/{lib/tools → tools}/find_duplicate_rois.rb +0 -0
- data/{lib/tools → tools}/roku/inspector.rb +0 -0
- data/{lib/tools → tools}/syntax_checker.rb +2 -4
- data/{lib/upload_ref_images.rb → upload_ref_images.rb} +0 -0
- metadata +576 -873
- data/lib/User_Lib/helpers/helpers.rb +0 -13
- data/lib/User_Lib/screen/apple_tv/apple_tv_dvr.rb +0 -25
- data/lib/User_Lib/screen/apple_tv/apple_tv_guide.rb +0 -25
- data/lib/User_Lib/screen/apple_tv/apple_tv_library.rb +0 -25
- data/lib/User_Lib/screen/apple_tv/apple_tv_live_tv.rb +0 -17
- data/lib/User_Lib/screen/apple_tv/apple_tv_login.rb +0 -24
- data/lib/User_Lib/screen/apple_tv/apple_tv_main_menu.rb +0 -25
- data/lib/User_Lib/screen/apple_tv/apple_tv_mini_guide.rb +0 -25
- data/lib/User_Lib/screen/apple_tv/apple_tv_movies.rb +0 -25
- data/lib/User_Lib/screen/apple_tv/apple_tv_on_demand.rb +0 -25
- data/lib/User_Lib/screen/apple_tv/apple_tv_parental_controls.rb +0 -25
- data/lib/User_Lib/screen/apple_tv/apple_tv_product_page.rb +0 -25
- data/lib/User_Lib/screen/apple_tv/apple_tv_screen.rb +0 -23
- data/lib/User_Lib/screen/apple_tv/apple_tv_search.rb +0 -31
- data/lib/User_Lib/screen/apple_tv/apple_tv_settings.rb +0 -25
- data/lib/User_Lib/screen/apple_tv/apple_tv_tv_shows.rb +0 -25
- data/lib/User_Lib/screen/apple_tv/apple_tv_video_store.rb +0 -25
- data/lib/User_Lib/screen/dta/dta_dvr.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_guide.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_library.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_live_tv.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_log_in.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_main_menu.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_mini_guide.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_movies.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_on_demand.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_parental_controls.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_product_page.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_screen.rb +0 -24
- data/lib/User_Lib/screen/dta/dta_search.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_settings.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_tv_shows.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_video_store.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_dvr.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_guide.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_library.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_live_tv.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_log_in.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_main_menu.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_mini_guide.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_movies.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_on_demand.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_parental_controls.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_product_page.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_screen.rb +0 -24
- data/lib/User_Lib/screen/mdn/mdn_search.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_settings.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_tv_shows.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_video_store.rb +0 -26
- data/lib/User_Lib/screen/mobile/android/android_devices.rb +0 -35
- data/lib/User_Lib/screen/mobile/android/android_dvr.rb +0 -337
- data/lib/User_Lib/screen/mobile/android/android_favorites.rb +0 -164
- data/lib/User_Lib/screen/mobile/android/android_guide.rb +0 -256
- data/lib/User_Lib/screen/mobile/android/android_live_tv.rb +0 -372
- data/lib/User_Lib/screen/mobile/android/android_login.rb +0 -111
- data/lib/User_Lib/screen/mobile/android/android_main_menu.rb +0 -53
- data/lib/User_Lib/screen/mobile/android/android_on_demand.rb +0 -402
- data/lib/User_Lib/screen/mobile/android/android_parental_controls.rb +0 -73
- data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_dvr.rb +0 -31
- data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_guide.rb +0 -39
- data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_live_tv.rb +0 -104
- data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_main_menu.rb +0 -27
- data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_on_demand.rb +0 -35
- data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_product_page.rb +0 -7
- data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_search.rb +0 -26
- data/lib/User_Lib/screen/mobile/android/android_privacy_legal.rb +0 -54
- data/lib/User_Lib/screen/mobile/android/android_product_page.rb +0 -484
- data/lib/User_Lib/screen/mobile/android/android_screen.rb +0 -56
- data/lib/User_Lib/screen/mobile/android/android_search.rb +0 -39
- data/lib/User_Lib/screen/mobile/android/android_settings.rb +0 -90
- data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_dvr.rb +0 -58
- data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_guide.rb +0 -24
- data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_live_tv.rb +0 -24
- data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_main_menu.rb +0 -19
- data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_on_demand.rb +0 -16
- data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_product_page.rb +0 -45
- data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_search.rb +0 -14
- data/lib/User_Lib/screen/mobile/devices_mobile.rb +0 -53
- data/lib/User_Lib/screen/mobile/dvr_mobile.rb +0 -5
- data/lib/User_Lib/screen/mobile/favorites_mobile.rb +0 -5
- data/lib/User_Lib/screen/mobile/guide_mobile.rb +0 -5
- data/lib/User_Lib/screen/mobile/ios/ios_devices.rb +0 -43
- data/lib/User_Lib/screen/mobile/ios/ios_dvr.rb +0 -231
- data/lib/User_Lib/screen/mobile/ios/ios_favorites.rb +0 -79
- data/lib/User_Lib/screen/mobile/ios/ios_guide.rb +0 -53
- data/lib/User_Lib/screen/mobile/ios/ios_live_tv.rb +0 -413
- data/lib/User_Lib/screen/mobile/ios/ios_login.rb +0 -76
- data/lib/User_Lib/screen/mobile/ios/ios_main_menu.rb +0 -38
- data/lib/User_Lib/screen/mobile/ios/ios_on_demand.rb +0 -371
- data/lib/User_Lib/screen/mobile/ios/ios_parental_controls.rb +0 -104
- data/lib/User_Lib/screen/mobile/ios/ios_phone/ios_phone_dvr.rb +0 -14
- data/lib/User_Lib/screen/mobile/ios/ios_phone/ios_phone_live_tv.rb +0 -36
- data/lib/User_Lib/screen/mobile/ios/ios_phone/ios_phone_main_menu.rb +0 -7
- data/lib/User_Lib/screen/mobile/ios/ios_phone/ios_phone_on_demand.rb +0 -7
- data/lib/User_Lib/screen/mobile/ios/ios_phone/ios_phone_search.rb +0 -13
- data/lib/User_Lib/screen/mobile/ios/ios_privacy_legal.rb +0 -56
- data/lib/User_Lib/screen/mobile/ios/ios_product_page.rb +0 -441
- data/lib/User_Lib/screen/mobile/ios/ios_screen.rb +0 -60
- data/lib/User_Lib/screen/mobile/ios/ios_search.rb +0 -145
- data/lib/User_Lib/screen/mobile/ios/ios_settings.rb +0 -34
- data/lib/User_Lib/screen/mobile/ios/ios_tablet/ios_tablet_live_tv.rb +0 -34
- data/lib/User_Lib/screen/mobile/ios/ios_tablet/ios_tablet_main_menu.rb +0 -7
- data/lib/User_Lib/screen/mobile/ios/ios_tablet/ios_tablet_on_demand.rb +0 -7
- data/lib/User_Lib/screen/mobile/ios/ios_tablet/ios_tablet_search.rb +0 -13
- data/lib/User_Lib/screen/mobile/live_tv_mobile.rb +0 -73
- data/lib/User_Lib/screen/mobile/login_mobile.rb +0 -5
- data/lib/User_Lib/screen/mobile/main_menu_mobile.rb +0 -83
- data/lib/User_Lib/screen/mobile/mobile_screen.rb +0 -232
- data/lib/User_Lib/screen/mobile/on_demand_mobile.rb +0 -70
- data/lib/User_Lib/screen/mobile/parental_controls_mobile.rb +0 -5
- data/lib/User_Lib/screen/mobile/privacy_legal_mobile.rb +0 -5
- data/lib/User_Lib/screen/mobile/product_page_mobile.rb +0 -5
- data/lib/User_Lib/screen/mobile/search_mobile.rb +0 -5
- data/lib/User_Lib/screen/mobile/settings_mobile.rb +0 -33
- data/lib/User_Lib/screen/passport/passport_dvr.rb +0 -25
- data/lib/User_Lib/screen/passport/passport_guide.rb +0 -37
- data/lib/User_Lib/screen/passport/passport_library.rb +0 -25
- data/lib/User_Lib/screen/passport/passport_live_tv.rb +0 -17
- data/lib/User_Lib/screen/passport/passport_main_menu.rb +0 -25
- data/lib/User_Lib/screen/passport/passport_mini_guide.rb +0 -25
- data/lib/User_Lib/screen/passport/passport_movies.rb +0 -25
- data/lib/User_Lib/screen/passport/passport_on_demand.rb +0 -25
- data/lib/User_Lib/screen/passport/passport_parental_controls.rb +0 -25
- data/lib/User_Lib/screen/passport/passport_product_page.rb +0 -25
- data/lib/User_Lib/screen/passport/passport_screen.rb +0 -23
- data/lib/User_Lib/screen/passport/passport_search.rb +0 -25
- data/lib/User_Lib/screen/passport/passport_settings.rb +0 -25
- data/lib/User_Lib/screen/passport/passport_tv_shows.rb +0 -25
- data/lib/User_Lib/screen/passport/passport_video_store.rb +0 -25
- data/lib/User_Lib/screen/roku/brs/roku_guide_brs.rb +0 -12
- data/lib/User_Lib/screen/roku/brs/roku_home_brs.rb +0 -12
- data/lib/User_Lib/screen/roku/brs/roku_live_tv_brs.rb +0 -12
- data/lib/User_Lib/screen/roku/brs/roku_login_brs.rb +0 -103
- data/lib/User_Lib/screen/roku/brs/roku_main_menu_brs.rb +0 -46
- data/lib/User_Lib/screen/roku/brs/roku_on_demand_brs.rb +0 -12
- data/lib/User_Lib/screen/roku/brs/roku_product_page_brs.rb +0 -12
- data/lib/User_Lib/screen/roku/brs/roku_screen_brs.rb +0 -9
- data/lib/User_Lib/screen/roku/brs/roku_search_brs.rb +0 -12
- data/lib/User_Lib/screen/roku/brs/roku_settings_brs.rb +0 -42
- data/lib/User_Lib/screen/roku/brs/roku_watch_later_brs.rb +0 -12
- data/lib/User_Lib/screen/roku/brs/roku_welcome_brs.rb +0 -12
- data/lib/User_Lib/screen/roku/roku_dvr.rb +0 -7
- data/lib/User_Lib/screen/roku/roku_guide.rb +0 -590
- data/lib/User_Lib/screen/roku/roku_home.rb +0 -346
- data/lib/User_Lib/screen/roku/roku_library.rb +0 -26
- data/lib/User_Lib/screen/roku/roku_live_tv.rb +0 -210
- data/lib/User_Lib/screen/roku/roku_login.rb +0 -795
- data/lib/User_Lib/screen/roku/roku_main_menu.rb +0 -425
- data/lib/User_Lib/screen/roku/roku_mini_guide.rb +0 -7
- data/lib/User_Lib/screen/roku/roku_on_demand.rb +0 -479
- data/lib/User_Lib/screen/roku/roku_product_page.rb +0 -483
- data/lib/User_Lib/screen/roku/roku_screen.rb +0 -85
- data/lib/User_Lib/screen/roku/roku_search.rb +0 -229
- data/lib/User_Lib/screen/roku/roku_settings.rb +0 -304
- data/lib/User_Lib/screen/roku/roku_watch_later.rb +0 -51
- data/lib/User_Lib/screen/roku/roku_welcome.rb +0 -10
- data/lib/User_Lib/screen/roku_tv/roku_tv_dvr.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_guide.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_home.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_library.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_live_tv.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_login.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_main_menu.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_mini_guide.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_on_demand.rb +0 -26
- data/lib/User_Lib/screen/roku_tv/roku_tv_product_page.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_screen.rb +0 -7
- data/lib/User_Lib/screen/roku_tv/roku_tv_search.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_settings.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_watch_later.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_welcome.rb +0 -14
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_dvr.rb +0 -24
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_guide.rb +0 -24
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_library.rb +0 -24
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_live_tv.rb +0 -21
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_login.rb +0 -13
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_main_menu.rb +0 -64
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_mini_guide.rb +0 -24
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_movies.rb +0 -140
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_on_demand.rb +0 -76
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_parental_controls.rb +0 -24
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_product_page.rb +0 -24
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_screen.rb +0 -74
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_search.rb +0 -29
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_settings.rb +0 -189
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_tv_shows.rb +0 -24
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_video_store.rb +0 -24
- data/lib/User_Lib/screen/sara/sara_dvr.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_guide.rb +0 -43
- data/lib/User_Lib/screen/sara/sara_library.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_live_tv.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_log_in.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_main_menu.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_mini_guide.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_movies.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_on_demand.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_parental_controls.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_product_page.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_screen.rb +0 -24
- data/lib/User_Lib/screen/sara/sara_search.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_settings.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_tv_shows.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_video_store.rb +0 -26
- data/lib/User_Lib/screen/stb/iguide/iguide_devices.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_dvr.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_favorites.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_guide.rb +0 -39
- data/lib/User_Lib/screen/stb/iguide/iguide_home.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_library.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_live_tv.rb +0 -59
- data/lib/User_Lib/screen/stb/iguide/iguide_login.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_main_menu.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_mini_guide.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_movies.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_on_demand.rb +0 -531
- data/lib/User_Lib/screen/stb/iguide/iguide_parental_controls.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_privacy_legal.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_product_page.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_quick_menu.rb +0 -7
- data/lib/User_Lib/screen/stb/iguide/iguide_screen.rb +0 -21
- data/lib/User_Lib/screen/stb/iguide/iguide_search.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_settings.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_tv_shows.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_video_store.rb +0 -10
- data/lib/User_Lib/screen/stb/login_stb.rb +0 -5
- data/lib/User_Lib/screen/stb/odn/odn_dvr.rb +0 -59
- data/lib/User_Lib/screen/stb/odn/odn_favorites.rb +0 -8
- data/lib/User_Lib/screen/stb/odn/odn_guide.rb +0 -177
- data/lib/User_Lib/screen/stb/odn/odn_live_tv.rb +0 -115
- data/lib/User_Lib/screen/stb/odn/odn_login.rb +0 -8
- data/lib/User_Lib/screen/stb/odn/odn_main_menu.rb +0 -175
- data/lib/User_Lib/screen/stb/odn/odn_on_demand.rb +0 -1170
- data/lib/User_Lib/screen/stb/odn/odn_on_demand_kids.rb +0 -23
- data/lib/User_Lib/screen/stb/odn/odn_on_demand_left_menu.rb +0 -180
- data/lib/User_Lib/screen/stb/odn/odn_parental_controls.rb +0 -9
- data/lib/User_Lib/screen/stb/odn/odn_product_page.rb +0 -8
- data/lib/User_Lib/screen/stb/odn/odn_screen.rb +0 -111
- data/lib/User_Lib/screen/stb/odn/odn_search.rb +0 -167
- data/lib/User_Lib/screen/stb/odn/odn_settings.rb +0 -142
- data/lib/User_Lib/screen/stb/spectrum/spectrum_diagnostics.rb +0 -27
- data/lib/User_Lib/screen/stb/spectrum/spectrum_docsis/screen_spectrum_docsis.rb +0 -12
- data/lib/User_Lib/screen/stb/spectrum/spectrum_docsis/spectrum_1080_docsis_guide.rb +0 -10
- data/lib/User_Lib/screen/stb/spectrum/spectrum_docsis/spectrum_1080_docsis_main_menu.rb +0 -10
- data/lib/User_Lib/screen/stb/spectrum/spectrum_docsis/spectrum_1080_docsis_settings.rb +0 -10
- data/lib/User_Lib/screen/stb/spectrum/spectrum_dvr.rb +0 -1781
- data/lib/User_Lib/screen/stb/spectrum/spectrum_guide.rb +0 -841
- data/lib/User_Lib/screen/stb/spectrum/spectrum_library.rb +0 -384
- data/lib/User_Lib/screen/stb/spectrum/spectrum_live_tv.rb +0 -259
- data/lib/User_Lib/screen/stb/spectrum/spectrum_main_menu.rb +0 -223
- data/lib/User_Lib/screen/stb/spectrum/spectrum_mini_guide.rb +0 -404
- data/lib/User_Lib/screen/stb/spectrum/spectrum_movies.rb +0 -420
- data/lib/User_Lib/screen/stb/spectrum/spectrum_netflix.rb +0 -37
- data/lib/User_Lib/screen/stb/spectrum/spectrum_on_demand.rb +0 -2137
- data/lib/User_Lib/screen/stb/spectrum/spectrum_parental_controls.rb +0 -528
- data/lib/User_Lib/screen/stb/spectrum/spectrum_pay_per_view.rb +0 -26
- data/lib/User_Lib/screen/stb/spectrum/spectrum_product_page.rb +0 -58
- data/lib/User_Lib/screen/stb/spectrum/spectrum_screen.rb +0 -48
- data/lib/User_Lib/screen/stb/spectrum/spectrum_search.rb +0 -92
- data/lib/User_Lib/screen/stb/spectrum/spectrum_settings.rb +0 -1657
- data/lib/User_Lib/screen/stb/spectrum/spectrum_tv_shows.rb +0 -1532
- data/lib/User_Lib/screen/stb/spectrum/spectrum_video_store.rb +0 -1598
- data/lib/User_Lib/screen/stb/stb_screen.rb +0 -7
- data/lib/User_Lib/screen/tivo/tivo_dvr.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_guide.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_library.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_live_tv.rb +0 -17
- data/lib/User_Lib/screen/tivo/tivo_login.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_main_menu.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_mini_guide.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_movies.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_on_demand.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_parental_controls.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_product_page.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_screen.rb +0 -20
- data/lib/User_Lib/screen/tivo/tivo_search.rb +0 -31
- data/lib/User_Lib/screen/tivo/tivo_settings.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_tv_shows.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_video_store.rb +0 -25
- data/lib/diagnostics/conductor/conductor_checkup.tmc +0 -24
- data/lib/diagnostics/db/mad_db_check.tmc +0 -56
- data/lib/diagnostics/db/mas_db_checkup.tmc +0 -24
- data/lib/diagnostics/db/mas_db_checkup_gem.tmc +0 -20
- data/lib/diagnostics/db/mas_db_checkup_jar.tmc +0 -50
- data/lib/diagnostics/iguide/iguide_nvram_reset.tmc +0 -23
- data/lib/diagnostics/iguide/iguide_prepare_stb.tmc +0 -33
- data/lib/diagnostics/iguide/iguide_prepare_stb_and_health_check.tmc +0 -63
- data/lib/diagnostics/iguide/iguide_stb_health_check.tmc +0 -54
- data/lib/diagnostics/prepare_stb.tmc +0 -30
- data/lib/diagnostics/prepare_stb_and_health_check.tmc +0 -56
- data/lib/diagnostics/script_options/options_checkup.tmc +0 -145
- data/lib/diagnostics/server_components_check.tmc +0 -62
- data/lib/diagnostics/ssh/dncs_checkup.tmc +0 -24
- data/lib/diagnostics/ssh/mas_checkup.tmc +0 -24
- data/lib/diagnostics/stb_health_check.tmc +0 -46
- data/lib/diagnostics/stb_ip_check.tmc +0 -120
- data/lib/diagnostics/webservices/mas_rest_services_checkup.tmc +0 -24
- data/lib/diagnostics/webservices/mas_soap_services_checkup.tmc +0 -24
- data/lib/end_iteration.rb +0 -4
- data/lib/lib/test_wrapper.rb +0 -146
- data/lib/run_test.rb +0 -4
- data/lib/script_validator.rb +0 -48
@@ -1,2137 +0,0 @@
|
|
1
|
-
require './lib/screen/stb/spectrum/spectrum_screen'
|
2
|
-
# DO NOT ADD DSL REQUIRES HERE. Load them in methods that need them, otherwise syntax completion will be slow.
|
3
|
-
|
4
|
-
# Defines Spectrum-specific methods on the OnDemand screen.
|
5
|
-
|
6
|
-
class SpectrumOnDemand < SpectrumScreen
|
7
|
-
|
8
|
-
# Public: Navigates to VOD from Live TV.
|
9
|
-
#
|
10
|
-
# Returns nothing.
|
11
|
-
def navigate_from_live_tv
|
12
|
-
dut.press_key.ON_DEMAND
|
13
|
-
end
|
14
|
-
|
15
|
-
# Public: Checks that On Demand screen is displayed successfully
|
16
|
-
#
|
17
|
-
# timeout - Integer total milliseconds to wait for the screen to display after navigation (default: 10.sec).
|
18
|
-
#
|
19
|
-
# Returns true if screen is displayed successfully, otherwise false
|
20
|
-
def displayed?(args={})
|
21
|
-
dut.roi.text.on_demand_headline.displayed?(args)
|
22
|
-
end
|
23
|
-
|
24
|
-
# Public: Get the total count of the category or the assets , compute number of rows
|
25
|
-
#
|
26
|
-
# Returns number of rows
|
27
|
-
def vod_get_number_of_rows?
|
28
|
-
categoryCountPerRow=7.0
|
29
|
-
begin
|
30
|
-
########
|
31
|
-
#Step-1# To retrieve the category name and count text displayed on the screen
|
32
|
-
########
|
33
|
-
categoryCountText=dut.roi.text.assetCount_inEachCategory.retrieve
|
34
|
-
########
|
35
|
-
#Step-2# Extracting only numerical value from the string
|
36
|
-
########
|
37
|
-
totalCategoryCount=(categoryCountText.split("("))[1].delete("^0-9")
|
38
|
-
########
|
39
|
-
#Step-3# Computing the number of rows that contain 7 assets/categories
|
40
|
-
########
|
41
|
-
numberOfFullRows=(totalCategoryCount.to_i) / categoryCountPerRow
|
42
|
-
numberOfFullRows=(numberOfFullRows.to_i)
|
43
|
-
########
|
44
|
-
#Step-4# To get the count of assets/categories present in the last row
|
45
|
-
########
|
46
|
-
numberOfCategoriesInLastRow=(totalCategoryCount.to_i) % (categoryCountPerRow.to_i)
|
47
|
-
loginfo 'Number of rows having 7 assets/categories= '+"#{numberOfFullRows}"
|
48
|
-
loginfo 'Number of assets or categores present in last row= '+"#{numberOfCategoriesInLastRow}"
|
49
|
-
loginfo 'Total number of assets or categories='+"#{totalCategoryCount}"
|
50
|
-
loginfo 'Category name and count '+"#{categoryCountText}"
|
51
|
-
########
|
52
|
-
#Step-5# Increase the count of number of rows by one if last row count is more that 0
|
53
|
-
########
|
54
|
-
if (numberOfCategoriesInLastRow.to_i) > 0
|
55
|
-
numberOfFullRows=numberOfFullRows + 1
|
56
|
-
end
|
57
|
-
loginfo 'Total number of Rows='+"#{numberOfFullRows}"
|
58
|
-
########
|
59
|
-
#Step-6# Return the number of rows
|
60
|
-
########
|
61
|
-
if(numberOfFullRows==1)
|
62
|
-
numberOfCategoriesInLastRow=totalCategoryCount
|
63
|
-
end
|
64
|
-
return numberOfFullRows,numberOfCategoriesInLastRow
|
65
|
-
rescue => exception
|
66
|
-
loginfo "********INSIDE RESCUE BLOCK*********"
|
67
|
-
loginfo exception.message
|
68
|
-
loginfo exception.backtrace
|
69
|
-
loginfo "********END OF RESCUE BLOCK*********"
|
70
|
-
return 0
|
71
|
-
end #End of rescue block
|
72
|
-
|
73
|
-
|
74
|
-
end
|
75
|
-
|
76
|
-
# Public: Verify if a category has sublist
|
77
|
-
#
|
78
|
-
# Author : Raghavendra
|
79
|
-
#
|
80
|
-
# Returns true or false
|
81
|
-
def vod_check_sublist_present?
|
82
|
-
##############
|
83
|
-
#PreRequisite# Navigated inside a category or network
|
84
|
-
##############
|
85
|
-
begin
|
86
|
-
########
|
87
|
-
#Step-1# Verify if the image ROI is displayed
|
88
|
-
########
|
89
|
-
return dut.roi.image.vod_sublist_poster.displayed?(:timeout => 7000) #Return the value of whether its displayed or not
|
90
|
-
rescue => exception
|
91
|
-
loginfo "********INSIDE RESCUE BLOCK*********"
|
92
|
-
loginfo exception.message
|
93
|
-
loginfo exception.backtrace
|
94
|
-
loginfo "********END OF RESCUE BLOCK*********"
|
95
|
-
return false #Return false if an exception is thrown
|
96
|
-
end
|
97
|
-
end
|
98
|
-
|
99
|
-
# Public: To go back to previous screen and move to next tile
|
100
|
-
#
|
101
|
-
#Author : Raghavendra
|
102
|
-
#
|
103
|
-
#Purpose : Used in navigation through various networks ,categories,sublists and assets in a VOD environment
|
104
|
-
#
|
105
|
-
# Returns true or false
|
106
|
-
def vod_go_back_move_next_tile?
|
107
|
-
##############
|
108
|
-
#PreRequisite# Navigated inside a category or network or assets list or sublists
|
109
|
-
##############
|
110
|
-
begin
|
111
|
-
########
|
112
|
-
#Step-1# Press last key and move to right to next tile
|
113
|
-
########
|
114
|
-
dut.press_key('last', :sleep_time=>3.sec)
|
115
|
-
if dut.roi.image.assetsScreen_SortBy_Label.displayed?(:timeout => 3000)
|
116
|
-
loginfo "vod_go_back_move_next_tile :: Last key press successful"
|
117
|
-
else
|
118
|
-
loginfo "vod_go_back_move_next_tile :: Last key press failed returning false without moving to next tile"
|
119
|
-
end
|
120
|
-
dut.press_key('right_arrow', :sleep_time=>3.sec)
|
121
|
-
return true
|
122
|
-
rescue => exception
|
123
|
-
loginfo "********INSIDE RESCUE BLOCK*********"
|
124
|
-
loginfo exception.message
|
125
|
-
loginfo exception.backtrace
|
126
|
-
loginfo "********END OF RESCUE BLOCK*********"
|
127
|
-
return false #Return false if an exception is thrown
|
128
|
-
end
|
129
|
-
end
|
130
|
-
|
131
|
-
# Public: To move to next row first tile
|
132
|
-
#
|
133
|
-
#Author : Raghavendra
|
134
|
-
#
|
135
|
-
#Purpose : Used in navigation through various networks ,categories,sublists and assets in a VOD environment
|
136
|
-
#
|
137
|
-
# Returns true or false
|
138
|
-
def vod_go_to_next_row_first_tile?
|
139
|
-
##############
|
140
|
-
#PreRequisite# Navigated inside a category or network or assets list or sublists
|
141
|
-
##############
|
142
|
-
begin
|
143
|
-
########
|
144
|
-
#Step-1# Press left till left menu is displayed
|
145
|
-
########
|
146
|
-
dut.roi.image.spectrumLogo_leftmenu.press_key_until_displayed?(key='left_arrow', :timeout => 30000, :try_every => 3000)
|
147
|
-
########
|
148
|
-
#Step-2# Move right to come back to first tile of the current row
|
149
|
-
########
|
150
|
-
dut.press_key('right_arrow', :sleep_time=>3.sec)
|
151
|
-
########
|
152
|
-
#Step-3# Move down to get to first tile of the next row
|
153
|
-
########
|
154
|
-
dut.press_key('down_arrow', :sleep_time=>3.sec)
|
155
|
-
return true
|
156
|
-
rescue => exception
|
157
|
-
loginfo "********INSIDE RESCUE BLOCK*********"
|
158
|
-
loginfo exception.message
|
159
|
-
loginfo exception.backtrace
|
160
|
-
loginfo "********END OF RESCUE BLOCK*********"
|
161
|
-
return false #Return false if an exception is thrown
|
162
|
-
end
|
163
|
-
end
|
164
|
-
|
165
|
-
# Public: Fetch Asset Details and post the details to TWB
|
166
|
-
#
|
167
|
-
# category_name - category of the asset.
|
168
|
-
# report_name - report name to which the data needs to be put
|
169
|
-
# asset_name - name of the asset fetched from asset listing screen
|
170
|
-
#
|
171
|
-
#Author : Raghavendra
|
172
|
-
# cat_name - category for subkist
|
173
|
-
#
|
174
|
-
# Returns true if posting data is successfull else returns false
|
175
|
-
def vod_fetch_asset_details_and_post_to_twb?(category_name,report_name,asset_name,cat_name)
|
176
|
-
begin
|
177
|
-
###############
|
178
|
-
#Pre-requisite# Verify the screen the control is present on
|
179
|
-
###############
|
180
|
-
dut.screens.movies.displayed?(:timeout => 3000)
|
181
|
-
########
|
182
|
-
#Step-1# Assign all default values to the attributes to be posted to TWB vod report
|
183
|
-
########
|
184
|
-
if cat_name=='None'
|
185
|
-
category="#{category_name}"
|
186
|
-
else
|
187
|
-
category="#{cat_name}"+"_"+"#{category_name}"
|
188
|
-
end
|
189
|
-
|
190
|
-
#category="#{category_name}"
|
191
|
-
title="#{asset_name}"
|
192
|
-
quantity='1'
|
193
|
-
price='0.00'
|
194
|
-
view_option='NA'
|
195
|
-
playback_status='NA'
|
196
|
-
banner_presence='ABSENT'
|
197
|
-
season_number='NA'
|
198
|
-
episode_number='NA'
|
199
|
-
episode_name='NA'
|
200
|
-
status='PRESENT'
|
201
|
-
########
|
202
|
-
#Step-2# Fetch the text displayed for the first button to determine the view option provided for the asset
|
203
|
-
########
|
204
|
-
view_option_text=dut.roi.text.asset_view_option_text.retrieve
|
205
|
-
view_option_text=view_option_text.downcase
|
206
|
-
########
|
207
|
-
#Step-3# Following conditions will determine what kind of view_option is provided for the current asset based on the text retrieved
|
208
|
-
########
|
209
|
-
if view_option_text.include? "watch"
|
210
|
-
if view_option_text.include? "add"
|
211
|
-
if view_option_text.index('add') > view_option_text.index('watch')
|
212
|
-
view_option='WATCH'
|
213
|
-
else
|
214
|
-
view_option='ADD TO WATCHLIST'
|
215
|
-
end
|
216
|
-
else
|
217
|
-
view_option='WATCH'
|
218
|
-
end
|
219
|
-
elsif view_option_text.include? "browse"
|
220
|
-
view_option='BROWSE EPISODES'
|
221
|
-
elsif view_option_text.include? "restart"
|
222
|
-
view_option='WATCH'
|
223
|
-
elsif view_option_text.include? "resume"
|
224
|
-
view_option='WATCH'
|
225
|
-
elsif view_option_text.include? "rent"
|
226
|
-
view_option='RENT'
|
227
|
-
ind=view_option_text.index('$')
|
228
|
-
if ind=='nil'
|
229
|
-
price=1.0
|
230
|
-
else
|
231
|
-
price=view_option_text[ind..ind+6]
|
232
|
-
end
|
233
|
-
#If the view option is rent then the price is also retrieved from the text
|
234
|
-
price=price.delete("^.0-9")
|
235
|
-
elsif view_option_text.include? "listing"
|
236
|
-
view_option='VIEW OTHER LISTINGS'
|
237
|
-
end
|
238
|
-
########
|
239
|
-
#Step-4# Determine whether poster/banner is displayed for the asset
|
240
|
-
########
|
241
|
-
if dut.roi.image.assetOverview_movieBanner.displayed?(:timeout => 7000)
|
242
|
-
banner_presence='ABSENT'
|
243
|
-
else
|
244
|
-
banner_presence='PRESENT'
|
245
|
-
end
|
246
|
-
########
|
247
|
-
#Step-5# Determine whether the asset is playable if the option provided is watch
|
248
|
-
########
|
249
|
-
if view_option=='WATCH'
|
250
|
-
dut.press_key('select', :sleep_time=>3.sec)
|
251
|
-
dut.screens.on_demand.vod_handle_pin_prompts?(pin=[0,0,0,0])
|
252
|
-
if dut.roi.text.confirm_rental_page.retrieve.include? "Confirm"
|
253
|
-
dut.press_key('select', :sleep_time=>3.sec)
|
254
|
-
end
|
255
|
-
if dut.roi.video.fullscreen_motion.displayed?(:timeout => 7000)
|
256
|
-
playback_status='PLAYABLE'
|
257
|
-
else
|
258
|
-
playback_status='NOT PLAYABLE'
|
259
|
-
if dut.roi.image.unable_to_play_dialogue.displayed?(:timeout => 7000)
|
260
|
-
playback_status='ERROR_UNABLE_TO_PLAY'
|
261
|
-
dut.press_key('select', :sleep_time=>3.sec)
|
262
|
-
end
|
263
|
-
if dut.roi.text.Inco_pin_text.retrieve.include? "Incorrect"
|
264
|
-
playback_status='NOT PLAYABLE'
|
265
|
-
dut.press_key('right_arrow', :sleep_time=>3.sec)
|
266
|
-
dut.press_key('select', :sleep_time=>3.sec)
|
267
|
-
end
|
268
|
-
end
|
269
|
-
dut.press_key('stop', :sleep_time=>3.sec)
|
270
|
-
end
|
271
|
-
########
|
272
|
-
#Step-6# Form the hash of the all the attributes collected till now
|
273
|
-
########
|
274
|
-
assetDetailHash = {"progress"=>$progressStatus,"report_name"=>"#{report_name}","category" => "#{category}" ,"title" => "#{title}","quantity" => "#{quantity}","price" =>"#{price}","view_option"=>"#{view_option}","playback_status"=>"#{playback_status}","banner_presence"=>"#{banner_presence}","season_number"=>"#{season_number}","episode_number"=>"#{episode_number}","episode_name"=>"#{episode_name}","status"=>"#{status}"}
|
275
|
-
#assetDetail=category + ',' + title + ',' + quantity + ',' + price + ',' + view_option + ',' + playback_status + ',' + banner_presence + ',' + season_number + ',' + episode_number + ',' + episode_name + ',' + status + '
|
276
|
-
loginfo '****************Fetched Details*******************************'
|
277
|
-
loginfo assetDetailHash
|
278
|
-
loginfo '***********************************************'
|
279
|
-
########
|
280
|
-
#Step-7# Post the details to TWB and verify whether it was sucessfull
|
281
|
-
########
|
282
|
-
if dut.screens.movies.post_hash_data_to_TWB?(hashAssetDetails=assetDetailHash)
|
283
|
-
return true
|
284
|
-
else
|
285
|
-
loginfo '**********************Failed to Post the data from function fetch and log v1*************************'
|
286
|
-
return false
|
287
|
-
end
|
288
|
-
rescue => exception
|
289
|
-
loginfo "********INSIDE RESCUE BLOCK*********"
|
290
|
-
loginfo exception.message
|
291
|
-
loginfo exception.backtrace
|
292
|
-
loginfo "********END OF RESCUE BLOCK*********"
|
293
|
-
return false
|
294
|
-
end
|
295
|
-
end
|
296
|
-
|
297
|
-
# Public: Loop through all the assets in category and verify Playback of the asset
|
298
|
-
#
|
299
|
-
# report_name - report_name where the data has to be put
|
300
|
-
#
|
301
|
-
# Author : Raghavendra
|
302
|
-
# cat_name - for extracting category name (default: 'None').
|
303
|
-
#
|
304
|
-
# Returns boolean true
|
305
|
-
def vod_verify_all_movie_assets_in_a_category?(report_name,cat_name='None')
|
306
|
-
asset_per_row=7.0
|
307
|
-
current_asset_name='current_asset'
|
308
|
-
asset_in_current_row=0.0
|
309
|
-
asset_in_last_row=0.0
|
310
|
-
if cat_name=='None'
|
311
|
-
cat_name='None'
|
312
|
-
end
|
313
|
-
########
|
314
|
-
#Step-1# Get total number of asset rows present
|
315
|
-
########
|
316
|
-
total_number_of_rows,asset_in_last_row=dut.screens.on_demand.vod_get_number_of_rows?
|
317
|
-
########
|
318
|
-
#Step-2# Get category name from the screen and remove all the non-alphabetic characters
|
319
|
-
########
|
320
|
-
category_name=dut.roi.text.assetCount_inEachCategory.retrieve
|
321
|
-
category_name=category_name.delete("^a-zA-Z")
|
322
|
-
########
|
323
|
-
#Step-3# Two loops: one to loop through every asset row and another to loop through every asset in a row
|
324
|
-
########
|
325
|
-
for each_asset_row in 1..total_number_of_rows
|
326
|
-
if(asset_in_last_row.to_i>0)
|
327
|
-
if(each_asset_row.to_i==(total_number_of_rows).to_i)
|
328
|
-
asset_in_current_row=asset_in_last_row.to_i
|
329
|
-
else
|
330
|
-
asset_in_current_row=asset_per_row
|
331
|
-
end
|
332
|
-
end
|
333
|
-
for each_asset in 1..asset_in_current_row
|
334
|
-
########
|
335
|
-
#Step-4# Fetch asset name from asset listing page
|
336
|
-
########
|
337
|
-
asset_name_roi = dut.roi.text.new(:x => 80, :y => 835, :width => 1700, :height => 59, :similarity => 0, :text => "", :preprocessing => 20, :only_digits => false, :ref_img => "")
|
338
|
-
asset_name=asset_name_roi.retrieve
|
339
|
-
asset_name = "NULL" if asset_name.nil? || asset_name.empty?
|
340
|
-
if (asset_name.split.first).length < 3
|
341
|
-
asset_name=asset_name.split(' ')[1..-1].join(' ')
|
342
|
-
end
|
343
|
-
current_asset_name=asset_name
|
344
|
-
########
|
345
|
-
#Step-5# Select asset from asset listing page to navigate to asset overview page
|
346
|
-
########
|
347
|
-
dut.press_key('select', :sleep_time=>10.sec)
|
348
|
-
########
|
349
|
-
#Step-6# Fetch all asset details from the asset overview page and post the collected data to TWB
|
350
|
-
########
|
351
|
-
dut.screens.on_demand.vod_fetch_asset_details_and_post_to_twb?(category_name="#{category_name}", report_name="#{report_name}",asset_name="#{current_asset_name}",cat_name="#{cat_name}")
|
352
|
-
########
|
353
|
-
#Step-7# Go back to asset listing page and move to next asset in the current row
|
354
|
-
########
|
355
|
-
navigate_back_status=dut.screens.on_demand.vod_go_back_move_next_tile?
|
356
|
-
loginfo "vod_verify_all_movie_assets_in_a_category :: Failed to navigate back"
|
357
|
-
end
|
358
|
-
########
|
359
|
-
#Step-8# Move to next row first tile , after reaching end of current row
|
360
|
-
########
|
361
|
-
dut.screens.on_demand.vod_go_to_next_row_first_tile?
|
362
|
-
asset_in_current_row=asset_per_row
|
363
|
-
end
|
364
|
-
return true
|
365
|
-
end
|
366
|
-
|
367
|
-
# Public: Return an access token for deluxe server accessing
|
368
|
-
#
|
369
|
-
# Author : Raghavendra
|
370
|
-
#
|
371
|
-
# Returns deluxe server access token
|
372
|
-
def vod_get_deluxe_access_token?
|
373
|
-
###############
|
374
|
-
#Pre_requisite# Import required libraries for parsing json response and sending http/https requests
|
375
|
-
###############
|
376
|
-
require 'json'
|
377
|
-
require 'net/http'
|
378
|
-
require 'net/https'
|
379
|
-
###############
|
380
|
-
#Pre_requisite# Store the request url and data parameters required to process the request
|
381
|
-
###############
|
382
|
-
request_url='https://hal.d3nw.com/oauth/token'
|
383
|
-
access_token_pay_load='client_id=3b49048555817a021af1726310c383cadee4717967378e81351dddc0dee425c1&client_secret=69956582eb4211d48d000802df7c24d3cacbf67b4e307e3c88de9004edbb9152&grant_type=client_credentials'
|
384
|
-
begin
|
385
|
-
########
|
386
|
-
#Step-1# Parse the input request url and create a URI object
|
387
|
-
########
|
388
|
-
access_token_uri=URI.parse("#{request_url}")
|
389
|
-
########
|
390
|
-
#Step-2# Create a request object with uri and content-type as the parameters
|
391
|
-
########
|
392
|
-
access_token_request=Net::HTTP::Post.new(access_token_uri.request_uri,'Content-Type' => 'application/x-www-form-urlencoded')
|
393
|
-
########
|
394
|
-
#Step-3# Create an http object and set the port and host with respect to the URI object
|
395
|
-
########
|
396
|
-
http = Net::HTTP.new(access_token_uri.host, access_token_uri.port)
|
397
|
-
########
|
398
|
-
#Step-4# Enable use_ssl property for the http object if the uri scheme is a https
|
399
|
-
|
400
|
-
########
|
401
|
-
http.use_ssl = (access_token_uri.scheme == "https")
|
402
|
-
########
|
403
|
-
#Step-5# Set the request body and send the pay load stored before in pre-requisite step
|
404
|
-
########
|
405
|
-
access_token_request.body="#{access_token_pay_load}"
|
406
|
-
########
|
407
|
-
#Step-6# process the the request and store the response in a response object for further reference
|
408
|
-
########
|
409
|
-
access_token_response=http.request(access_token_request)
|
410
|
-
loginfo "***********************************************"
|
411
|
-
loginfo access_token_response.code
|
412
|
-
loginfo access_token_response.body
|
413
|
-
loginfo "***********************************************"
|
414
|
-
########
|
415
|
-
#Step-7# Check if response status is 200 then retrieve the access token value and return it else return false
|
416
|
-
########
|
417
|
-
if access_token_response.code=='200'
|
418
|
-
json_response=JSON.parse(access_token_response.body)
|
419
|
-
loginfo 'Access Token = '+json_response['access_token']
|
420
|
-
return json_response['access_token']
|
421
|
-
else
|
422
|
-
return false
|
423
|
-
end
|
424
|
-
rescue => exception
|
425
|
-
loginfo "vod_get_deluxe_access_token :: Threw An exception"
|
426
|
-
loginfo exception.message
|
427
|
-
loginfo exception.backtrace
|
428
|
-
return false
|
429
|
-
end #End of rescue block
|
430
|
-
end
|
431
|
-
|
432
|
-
# Public: Get start date and end dates for fetching the assets from Deluxe server
|
433
|
-
#
|
434
|
-
#Author : Raghavendra
|
435
|
-
#
|
436
|
-
# Returns licensing_window_start_date_lteq licensing_window_start_date_gteq licensing_window_end_date
|
437
|
-
def vod_get_start_end_date?
|
438
|
-
###############
|
439
|
-
#Pre_requisite# Import required libraries for parsing json response and sending http/https requests
|
440
|
-
###############
|
441
|
-
require 'date'
|
442
|
-
begin
|
443
|
-
########
|
444
|
-
#Step-1# Get current date time
|
445
|
-
########
|
446
|
-
now=DateTime.now
|
447
|
-
########
|
448
|
-
#Step-2# Using the current date compute by adding 3 days to it
|
449
|
-
########
|
450
|
-
end_date=now+3
|
451
|
-
########
|
452
|
-
#Step-3# Cast the date object to string and store it in start_date
|
453
|
-
|
454
|
-
########
|
455
|
-
start_date = now.to_s
|
456
|
-
########
|
457
|
-
#Step-4# Compute the licensing window start date by adding one day to current date
|
458
|
-
########
|
459
|
-
licensing_window_start_date_lteq=now+1
|
460
|
-
########
|
461
|
-
#Step-5# cast the end date to string type and store it in the same variable
|
462
|
-
########
|
463
|
-
end_date = (end_date).to_s
|
464
|
-
########
|
465
|
-
#Step-6# Cast the licensing window start date lteq to string and save it in same variable
|
466
|
-
########
|
467
|
-
licensing_window_start_date_lteq=(licensing_window_start_date_lteq).to_s
|
468
|
-
########
|
469
|
-
#Step-7# To have the time start from 00:00 convert the value to string and append it by the desired time value
|
470
|
-
########
|
471
|
-
licensing_window_start_date_gteq = (start_date.split("T"))[0] + 'T' + '00:00.000Z'
|
472
|
-
licensing_window_start_date_lteq = (licensing_window_start_date_lteq.split("T"))[0] + 'T' + '00:00.000Z'
|
473
|
-
licensing_window_end_date =end_date.split("T")[0] +'T' + '00:00.000Z'
|
474
|
-
loginfo 'licensing_window_start_date_gteq='+licensing_window_start_date_gteq
|
475
|
-
loginfo 'licensing_window_start_date_lteq='+licensing_window_start_date_lteq
|
476
|
-
loginfo 'licensing_window_end_date='+licensing_window_end_date
|
477
|
-
return licensing_window_start_date_gteq,licensing_window_start_date_lteq,licensing_window_end_date
|
478
|
-
rescue => exception
|
479
|
-
loginfo "********INSIDE RESCUE BLOCK*********"
|
480
|
-
loginfo exception.message
|
481
|
-
loginfo exception.backtrace
|
482
|
-
loginfo "********END OF RESCUE BLOCK*********"
|
483
|
-
return false
|
484
|
-
end
|
485
|
-
end
|
486
|
-
|
487
|
-
# Public: To verify the presence of c3 deluxe asset ids from deluxe server in alphonso server
|
488
|
-
#
|
489
|
-
#Author : Raghavendra
|
490
|
-
#
|
491
|
-
#Todo : Create a Map to put all the details in it and return that metadata map to use reporting
|
492
|
-
#
|
493
|
-
# deluxe_asset_id_list - C3 ID LIST fetched from DELUXE server
|
494
|
-
# output_file_name - Name of the file where the data fetched form server has to be stored (default: nil).
|
495
|
-
#
|
496
|
-
# Returns List of c3 deluxe asset ids found alphonso
|
497
|
-
def vod_search_deluxe_asset_id_in_alphonso? (deluxe_asset_id_list,output_file_name=nil)
|
498
|
-
require 'json'
|
499
|
-
require 'net/http'
|
500
|
-
require 'net/https'
|
501
|
-
require 'set'
|
502
|
-
require 'uri'
|
503
|
-
err_msg_asset_not_found='Can not fetch Assets for AssetId Query Params'
|
504
|
-
cableID_list = Set.new
|
505
|
-
missing_cableID_list=Set.new
|
506
|
-
cable_asset_id_set = Set.new
|
507
|
-
missing_asset_counter = 0
|
508
|
-
alphonso_twb_url = "https://twb.dev-charter.net/alphonso/vod/adis/search"
|
509
|
-
head_end = "st_louis"
|
510
|
-
alphonso_output_file="#{output_file_name}"
|
511
|
-
loginfo 'Searching assets in Alphonso'
|
512
|
-
deluxe_asset_id_list.each do |cable_id|
|
513
|
-
begin
|
514
|
-
cableID=cpid=pct=licenseStart=licenseEnd=nil
|
515
|
-
id_list=(cable_id.to_s).split(",")
|
516
|
-
cableID = id_list[0]
|
517
|
-
cpid = id_list[1]
|
518
|
-
pct = id_list[2]
|
519
|
-
license_start = id_list[3]
|
520
|
-
license_end = id_list[4]
|
521
|
-
order_status=id_list[5]
|
522
|
-
display_name=id_list[6]
|
523
|
-
series_name=id_list[7]
|
524
|
-
licenseStart=license_start
|
525
|
-
(licenseStart.to_s)["T"]="-"
|
526
|
-
m=licenseStart.index(".")
|
527
|
-
licenseStart=licenseStart[0..m.to_i]
|
528
|
-
licenseEnd=license_end
|
529
|
-
(licenseEnd.to_s)["T"]="-"
|
530
|
-
m=licenseEnd.index(".")
|
531
|
-
licenseEnd=licenseEnd[0..m.to_i]
|
532
|
-
cableID_list.add(cableID)
|
533
|
-
rescue =>exception
|
534
|
-
loginfo "********INSIDE ID_LIST PARSING RESCUE BLOCK*********"
|
535
|
-
loginfo 'Following Exception Thrown'+exception.message
|
536
|
-
if exception.message.include? "string not matched"
|
537
|
-
loginfo 'Following Record Missing End Date'+cable_id.to_s
|
538
|
-
loginfo 'Adding the record to the cabled id list'
|
539
|
-
cableID_list.add(cableID)
|
540
|
-
end
|
541
|
-
loginfo 'Following is the exception Backtrace'
|
542
|
-
loginfo exception.backtrace
|
543
|
-
loginfo "********END OF ID_LIST PARSING RESCUE BLOCK*********"
|
544
|
-
end
|
545
|
-
begin
|
546
|
-
alphonso_uri=URI.parse("#{alphonso_twb_url}")
|
547
|
-
alphonso_uri.query=[alphonso_uri.query, "titleAssetId=#{cableID}", "headend=#{head_end}"].compact.join('&')
|
548
|
-
alphonso_request=Net::HTTP::Get.new(alphonso_uri.request_uri)
|
549
|
-
http = Net::HTTP.new(alphonso_uri.host, alphonso_uri.port)
|
550
|
-
http.use_ssl = (alphonso_uri.scheme == "https")
|
551
|
-
alphonso_response=http.request(alphonso_request)
|
552
|
-
alphonso_res_txt=alphonso_response.body
|
553
|
-
json_data=JSON.parse(alphonso_res_txt)
|
554
|
-
if (json_data['message']!=nil)
|
555
|
-
loginfo 'Following Asset not found in Alphonso :: '+json_data.to_s
|
556
|
-
missing_asset_counter=missing_asset_counter+1
|
557
|
-
missing_cableID_list.add(cableID)
|
558
|
-
nline=cableID+","+"null"+","+licenseStart.to_s+","+licenseEnd.to_s+","+cpid.to_s+","+"No" + ',' + pct.to_s+ ',' + order_status + ','+ display_name + ',' + series_name
|
559
|
-
cable_asset_id_set.add(nline)
|
560
|
-
else
|
561
|
-
loginfo 'Asset Found in Alphonso'
|
562
|
-
loginfo 'Response From Alphonso when Asset Found'
|
563
|
-
loginfo json_data.to_s
|
564
|
-
var=json_data['content']
|
565
|
-
listnew=var[0]
|
566
|
-
aId=listnew['assetId']
|
567
|
-
providerID=cpid
|
568
|
-
pct=pct
|
569
|
-
nline=cableID+","+aId+","+licenseStart+","+licenseEnd+","+providerID+","+"Yes" + ',' + pct+ ',' + order_status + ','+ display_name + ',' + series_name
|
570
|
-
cable_asset_id_set.add(nline)
|
571
|
-
end
|
572
|
-
rescue => exception
|
573
|
-
loginfo "********INSIDE RESCUE BLOCK*********"
|
574
|
-
loginfo 'Following Exception Thrown'+exception.message
|
575
|
-
loginfo 'Following is the exception Backtrace'
|
576
|
-
loginfo exception.backtrace
|
577
|
-
loginfo "********END OF RESCUE BLOCK*********"
|
578
|
-
end
|
579
|
-
end
|
580
|
-
loginfo 'Total Number of Assets in Deluxe ='+(deluxe_asset_id_list.length).to_s
|
581
|
-
loginfo 'Total Number of Assets Found in Alphonso ='+(cable_asset_id_set.length).to_s
|
582
|
-
loginfo 'Total Number of Assets Not Found in Alphonso='+(missing_cableID_list.length).to_s
|
583
|
-
loginfo 'Missing Assets Counter='+(missing_asset_counter).to_s
|
584
|
-
missing_cableID_list.each do |missing_cable_id|
|
585
|
-
loginfo missing_cable_id.to_s
|
586
|
-
end
|
587
|
-
loginfo 'Details of Assets Found in Alphonso'
|
588
|
-
create_file=true
|
589
|
-
cable_asset_id_set.each do |each_cable_asset_detail|
|
590
|
-
if (create_file)
|
591
|
-
create_file =false
|
592
|
-
write_to_file "#{alphonso_output_file}", "#{each_cable_asset_detail}"+'##'
|
593
|
-
else
|
594
|
-
append_to_file "#{alphonso_output_file}", "#{each_cable_asset_detail}"+'##'
|
595
|
-
end
|
596
|
-
end
|
597
|
-
loginfo 'Output of the details pushed to Alphonso Output file'
|
598
|
-
loginfo read_from_file "#{alphonso_output_file}"
|
599
|
-
$summary_line = $summary_line + ',' + ((cableID_list).length - missing_asset_counter).to_s
|
600
|
-
loginfo "Alphonso Summary Line :: "+$summary_line
|
601
|
-
end
|
602
|
-
|
603
|
-
# Public: Verify the list of c3 assets from Deluxe server in digital smith
|
604
|
-
#
|
605
|
-
#Author : Raghavendra
|
606
|
-
#
|
607
|
-
# output_file_name - Name of the file where the output needs to be saved (default: nil).
|
608
|
-
# alphonso_file_name - Name of the output file where alphonso server d (default: nil)........ata is saved
|
609
|
-
#
|
610
|
-
# Returns None
|
611
|
-
def vod_search_deluxe_asset_id_in_digitalsmith?(output_file_name=nil,alphonso_file_name=nil)
|
612
|
-
require 'date'
|
613
|
-
require 'json'
|
614
|
-
require 'net/http'
|
615
|
-
require 'net/https'
|
616
|
-
require 'set'
|
617
|
-
require 'uri'
|
618
|
-
asset_name = ""
|
619
|
-
title = ""
|
620
|
-
season_number = ""
|
621
|
-
episode_number = ""
|
622
|
-
package_id = ""
|
623
|
-
missing_asset_counter = 0
|
624
|
-
ds_missing_counter = 0
|
625
|
-
rootId="NULL"
|
626
|
-
ds_missing_assets = Array.new
|
627
|
-
c3_input_list = Array.new
|
628
|
-
c3_input_file="#{output_file_name}"
|
629
|
-
alphonso_assets_lines=(read_from_file "#{alphonso_file_name}").split("##")
|
630
|
-
loginfo 'Number of lines in Alphonso Output File = '+(alphonso_assets_lines.length).to_s
|
631
|
-
alphonso_assets_lines.pop
|
632
|
-
alphonso_assets_lines.each do |each_line|
|
633
|
-
loginfo 'Current Line :: '+each_line.to_s
|
634
|
-
time=DateTime.now
|
635
|
-
timestamp=DateTime.now
|
636
|
-
timestamp=(timestamp).to_s
|
637
|
-
linelist=each_line.split(",")
|
638
|
-
package_id=(linelist[1]).to_s
|
639
|
-
cID=(linelist[0]).to_s
|
640
|
-
alphonso_Flag=linelist[5]
|
641
|
-
deluxe_flag ="Yes"
|
642
|
-
pct = linelist[6]
|
643
|
-
order_status=linelist[7]
|
644
|
-
display_name=linelist[8]
|
645
|
-
series_name=linelist[9]
|
646
|
-
if(pct==nil)
|
647
|
-
pct='Null'
|
648
|
-
end
|
649
|
-
cpid = linelist[4]
|
650
|
-
begin
|
651
|
-
ds_new_url='http://charter-prod-elb.digitalsmiths.net/sd/charter/cores/assets-charter/search?q=*:*&schedule.q=type:VOD%20headendId:(st_louis)%20packageprovider:(*)%20packageassetid:('+"#{package_id}"+')%20&fl=*,relevantschedules.*&limit=1000&disableRemoveNonEnglish=true&includeAdult=true&join=%7B!left%20core=schedules-charter%20as=s1%20left=id%20right=itemIds%7D'
|
652
|
-
loginfo 'DS URL = '+ds_new_url
|
653
|
-
ds_uri=URI.parse(ds_new_url)
|
654
|
-
ds_request=Net::HTTP::Get.new(ds_uri.request_uri)
|
655
|
-
http = Net::HTTP.new(ds_uri.host, ds_uri.port)
|
656
|
-
http.use_ssl = (ds_uri.scheme == "https")
|
657
|
-
response=http.request(ds_request)
|
658
|
-
json_data=JSON.parse(response.body)
|
659
|
-
loginfo 'Response from Digital Smith Server'
|
660
|
-
loginfo json_data
|
661
|
-
begin
|
662
|
-
found_prog_type = false
|
663
|
-
loginfo 'DATA_HITS LENGTH'+(json_data["hits"].length).to_s
|
664
|
-
if json_data["hits"].length == 0
|
665
|
-
if package_id.length > 0
|
666
|
-
ds_missing_assets << package_id
|
667
|
-
end
|
668
|
-
line = cID+","+"NO_INFO" + ', ' + 'NO_INFO' + ', ' + 'NO_INFO' + ', ' + 'NO_INFO'+","+(package_id).to_s+","+linelist[2]+","+linelist[3] + "," + cpid + ','+ 'NA' +',' +alphonso_Flag + "," + 'No'+"," + timestamp + ',' + pct + ',' + order_status + ',' + display_name +','+ series_name +','+ rootId
|
669
|
-
c3_input_list << line
|
670
|
-
ds_missing_counter += 1
|
671
|
-
rootId="NULL"
|
672
|
-
else
|
673
|
-
data_hits=json_data["hits"]
|
674
|
-
loginfo 'DATA HITS'
|
675
|
-
loginfo data_hits
|
676
|
-
if data_hits.size == 2
|
677
|
-
content=data_hits[1]
|
678
|
-
elsif data_hits.size == 1
|
679
|
-
content=data_hits[0]
|
680
|
-
end
|
681
|
-
metadata=content["metadata"]
|
682
|
-
asset_name=metadata["title"]
|
683
|
-
forb_chars = ['<', '>', ':', '"', '/', '\\', '|', '?', '*', ',','&','-','_',".","!","'"]
|
684
|
-
forb_chars.each do |char|
|
685
|
-
asset_name=asset_name.delete("#{char}")
|
686
|
-
end
|
687
|
-
if(metadata["rootId"]!=nil)
|
688
|
-
rootId=metadata["rootId"].to_s
|
689
|
-
else
|
690
|
-
rootId="NULL"
|
691
|
-
end
|
692
|
-
if(metadata["progType"]!= nil and metadata["progType"].to_s=='Series' and metadata["episodeInfo"] != nil)
|
693
|
-
if(metadata["episodeInfo"]["title"]!=nil)
|
694
|
-
title = metadata["episodeInfo"]["title"]
|
695
|
-
forb_chars.each do |char|
|
696
|
-
title=title.delete("#{char}")
|
697
|
-
end
|
698
|
-
else
|
699
|
-
title="NULL"
|
700
|
-
end
|
701
|
-
if(metadata["episodeInfo"]["season"]!=nil)
|
702
|
-
season_number = metadata["episodeInfo"]["season"]
|
703
|
-
episode_number = metadata["episodeInfo"]["number"]
|
704
|
-
else
|
705
|
-
season_number = 'Null'
|
706
|
-
episode_number = 'Null'
|
707
|
-
end
|
708
|
-
found_prog_type = true
|
709
|
-
end
|
710
|
-
if(metadata["progType"]!=nil)
|
711
|
-
if(metadata["progType"].to_s=="Special")
|
712
|
-
title=metadata["progType"].to_s
|
713
|
-
forb_chars.each do |char|
|
714
|
-
title=title.delete("#{char}")
|
715
|
-
end
|
716
|
-
episode_number = "Null"
|
717
|
-
season_number = "Null"
|
718
|
-
end
|
719
|
-
if(metadata["progType"].to_s=="Feature Film")
|
720
|
-
title = "Null"
|
721
|
-
episode_number = "Null"
|
722
|
-
season_number = "Null"
|
723
|
-
end
|
724
|
-
found_prog_type = true
|
725
|
-
end
|
726
|
-
if found_prog_type==true and asset_name !=nil
|
727
|
-
line = cID+ ',' +asset_name + ', ' + 'Season ' + (season_number).to_s + ','+ 'Episode ' + (episode_number).to_s + ', ' + (title).to_s + ',' + (package_id).to_s + ','+ linelist[2]+ ',' + linelist[3] + ',' + cpid + ',' + metadata["progType"] + ',' + alphonso_Flag + ',' + 'Yes' + ',' + timestamp + ',' + pct + ',' + order_status + ',' + display_name +','+ series_name +','+ rootId
|
728
|
-
c3_input_list <<(line)
|
729
|
-
rootId="NULL"
|
730
|
-
else
|
731
|
-
line = cID+','+asset_name + ', ' + 'NO_INFO' + ', ' + 'NO_INFO' + ', ' + 'NO_INFO'+','+(package_id).to_s+','+linelist[2]+','+linelist[3] + ','+ cpid + ',' + 'NA' + ',' + alphonso_Flag + ',' + deluxe_flag + ',' + timestamp + ',' + pct + ',' + order_status + ',' + display_name +','+ series_name +','+ rootId
|
732
|
-
c3_input_list <<(line)
|
733
|
-
rootId="NULL"
|
734
|
-
end
|
735
|
-
end #End Else Part
|
736
|
-
rescue => exception
|
737
|
-
loginfo 'Start Rescue :: Exception Occured in Metadata Parsing'
|
738
|
-
loginfo exception.message
|
739
|
-
loginfo exception.backtrace
|
740
|
-
line = cID+','+asset_name + ', ' + 'NO_INFO' + ', ' + 'NO_INFO' + ', ' + 'NO_INFO'+','+(package_id).to_s+','+linelist[2]+','+linelist[3]+',' + cpid + ',' + 'NA'+','+alphonso_Flag+','+'Yes'+','+timestamp + ',' + pct + ',' + order_status + ',' + display_name +','+ series_name +','+ rootId
|
741
|
-
loginfo "Package ID :: "+package_id
|
742
|
-
c3_input_list <<(line)
|
743
|
-
rootId="NULL"
|
744
|
-
loginfo 'End Rescue :: Exception Occured in Metadata Parsing'
|
745
|
-
end
|
746
|
-
rescue => exception
|
747
|
-
loginfo 'Start Rescue :: Exception Occurred while requesting ds server for asset details'
|
748
|
-
loginfo 'DS URL = '+ds_new_url
|
749
|
-
loginfo 'PACKAGE ID = '+package_id
|
750
|
-
loginfo exception.message
|
751
|
-
loginfo exception.backtrace
|
752
|
-
loginfo 'End Rescue :: Exception Occurred while requesting ds server for asset details'
|
753
|
-
end #End of Rescue block
|
754
|
-
end #END of for each loop alphonso_assets_lines
|
755
|
-
create_file=true
|
756
|
-
c3_input_list.each do |each_line|
|
757
|
-
if(create_file)
|
758
|
-
create_file=false
|
759
|
-
write_to_file "#{c3_input_file}", "#{each_line}"+"##"
|
760
|
-
else
|
761
|
-
append_to_file "#{c3_input_file}", "#{each_line}"+"##"
|
762
|
-
end
|
763
|
-
end
|
764
|
-
loginfo "MISSING ASSET FROM DS COUNTER :: "+((ds_missing_counter).to_s)
|
765
|
-
loginfo "C3 LENGTH :: " + ((c3_input_list).size).to_s
|
766
|
-
loginfo "DS MISSING ASSETS ARE"
|
767
|
-
loginfo ds_missing_assets
|
768
|
-
$summary_line = $summary_line + ',' + ((c3_input_list).size - ds_missing_counter.to_i).to_s
|
769
|
-
loginfo 'Summary Line :: ' + $summary_line
|
770
|
-
end
|
771
|
-
|
772
|
-
# Public: Get list of c3 assets from the deluxe server and store it in a txt file
|
773
|
-
#
|
774
|
-
#Author : Raghavendra
|
775
|
-
#
|
776
|
-
# output_file_name - Name of the file where the data fetched from the server has to be saved to (default: nil).
|
777
|
-
#
|
778
|
-
# Returns list of c3 asset details fetched from deluxe server
|
779
|
-
def vod_get_asset_id_list_deluxe?(output_file_name=nil)
|
780
|
-
require 'json'
|
781
|
-
require 'net/http'
|
782
|
-
require 'net/https'
|
783
|
-
require 'set'
|
784
|
-
require 'uri'
|
785
|
-
###############
|
786
|
-
#Pre_requisite# store deluxe asset url,create set to store details and return,summary line,page number,next page available flag
|
787
|
-
###############
|
788
|
-
deluxe_asset_query_url='https://hal.d3nw.com/customer_api/v1/titles?'
|
789
|
-
id_list=Set.new
|
790
|
-
page = 1
|
791
|
-
next_page_available = true
|
792
|
-
########
|
793
|
-
#Step-1# Get window start date, window end date
|
794
|
-
########
|
795
|
-
licensing_window_start_date_gteq, licensing_window_start_date_lteq, licensing_window_end_date = dut.screens.on_demand.vod_get_start_end_date?
|
796
|
-
########
|
797
|
-
#Step-2# Get the deluxe server access token
|
798
|
-
########
|
799
|
-
deluxe_access_token=dut.screens.on_demand.vod_get_deluxe_access_token?
|
800
|
-
########
|
801
|
-
#Step-3# Contruct file name to store the assets details fetched from deluxe server
|
802
|
-
########
|
803
|
-
deluxe_file_name="#{output_file_name}"
|
804
|
-
########
|
805
|
-
#Step-4# Using the file name created in above step write empty line into file just to create the file
|
806
|
-
########
|
807
|
-
loginfo 'Deluxe File Name= '+deluxe_file_name
|
808
|
-
########
|
809
|
-
#Step-5# Rerquest the deluxe server for 500 pages of data page by page and extract the c3 asset details till nothing is returned
|
810
|
-
########
|
811
|
-
while (next_page_available)
|
812
|
-
begin
|
813
|
-
loginfo 'Getting Page :' + (page).to_s
|
814
|
-
##########
|
815
|
-
#Step-5.1# Parse the URL of the deluxe server and store it in a URI object
|
816
|
-
##########
|
817
|
-
deluxe_asset_list_uri=URI.parse("#{deluxe_asset_query_url}")
|
818
|
-
##########
|
819
|
-
#Step-5.2# Contruct the URL with required window star tand end date parameteres and page number too
|
820
|
-
##########
|
821
|
-
deluxe_asset_list_uri.query=[deluxe_asset_list_uri.query,"licensing_window_start_date_gteq=#{licensing_window_start_date_gteq}", "licensing_window_start_date_lteq=#{licensing_window_start_date_lteq}", "perpage=500", "page=#{page}"].compact.join('&')
|
822
|
-
##########
|
823
|
-
#Step-5.4# Create a http request object from the uri object created
|
824
|
-
##########
|
825
|
-
deluxe_asset_list_request=Net::HTTP::Get.new(deluxe_asset_list_uri.request_uri)
|
826
|
-
##########
|
827
|
-
#Step-5.5# Create a http object to process the request object and get the reponse
|
828
|
-
##########
|
829
|
-
http = Net::HTTP.new(deluxe_asset_list_uri.host, deluxe_asset_list_uri.port)
|
830
|
-
##########
|
831
|
-
#Step-5.6# set the ssl as true iff the url provided as https in it
|
832
|
-
##########
|
833
|
-
http.use_ssl = (deluxe_asset_list_uri.scheme == "https")
|
834
|
-
##########
|
835
|
-
#Step-5.6# Set the authorization parameter as the deluxe server access token
|
836
|
-
##########
|
837
|
-
deluxe_asset_list_request["authorization"] = 'Bearer ' + "#{deluxe_access_token}"
|
838
|
-
##########
|
839
|
-
#Step-5.7# Process the request and get the reponse into response object
|
840
|
-
##########
|
841
|
-
response=http.request(deluxe_asset_list_request)
|
842
|
-
##########
|
843
|
-
#Step-5.8# Verify if the response is not null
|
844
|
-
##########
|
845
|
-
if (response.read_body).length <=2
|
846
|
-
next_page_available=false
|
847
|
-
break#break from while loop
|
848
|
-
else
|
849
|
-
next_page_available=true
|
850
|
-
deluxe_response=response.read_body
|
851
|
-
end#End if block
|
852
|
-
##########
|
853
|
-
#Step-5.9# Parse the response into an JSON object and store it into data object
|
854
|
-
##########
|
855
|
-
data=JSON.parse(deluxe_response)
|
856
|
-
##########
|
857
|
-
#Step-5.10# Retrieve all the required c3 asset details from json data from the response received
|
858
|
-
##########
|
859
|
-
for i in 0..((data).size-1)
|
860
|
-
if data[i]['sla_type_code']=='c3'
|
861
|
-
loginfo 'Found a C3 Asset'
|
862
|
-
dname= data[i]['display_name'].to_s
|
863
|
-
assetID= (data[i]['cablelabs_asset_id']).to_s
|
864
|
-
cpid = (data[i]['cablelabs_provider_id']).to_s
|
865
|
-
pct = (data[i]['custom_data']['provider_content_tier']).to_s
|
866
|
-
license_start = (data[i]['licensing_window_start_date']).to_s
|
867
|
-
license_end = (data[i]['licensing_window_end_date']).to_s
|
868
|
-
if data[i]['status'] != nil
|
869
|
-
order_status = (data[i]['status']).to_s
|
870
|
-
else
|
871
|
-
order_status="NULL"
|
872
|
-
end
|
873
|
-
if data[i]['display_name'] != nil
|
874
|
-
display_name = (data[i]['display_name']).to_s
|
875
|
-
else
|
876
|
-
display_name="NULL"
|
877
|
-
end
|
878
|
-
if data[i]['series_name'] != nil
|
879
|
-
series_name = (data[i]['series_name']).to_s
|
880
|
-
else
|
881
|
-
series_name="NULL"
|
882
|
-
end
|
883
|
-
msg = assetID + ',' + cpid + ',' + pct + ',' + license_start + ',' + license_end + ',' + order_status + ',' + display_name + ',' + series_name
|
884
|
-
loginfo msg
|
885
|
-
id_list.add(msg)
|
886
|
-
end#End if block
|
887
|
-
end#End of for loop
|
888
|
-
page=page+1
|
889
|
-
|
890
|
-
loginfo id_list.size
|
891
|
-
create_file=true
|
892
|
-
id_list.each do |n|
|
893
|
-
if(create_file)
|
894
|
-
create_file=false
|
895
|
-
write_to_file "#{deluxe_file_name}", n+"##"
|
896
|
-
else
|
897
|
-
append_to_file "#{deluxe_file_name}", n+"##"
|
898
|
-
end
|
899
|
-
end#for each loop
|
900
|
-
rescue => exception
|
901
|
-
loginfo 'Exception occured while fetching c3 asset details from deluxe server'
|
902
|
-
loginfo exception.message
|
903
|
-
loginfo exception.backtrace
|
904
|
-
break#break out of while loop on exception
|
905
|
-
end
|
906
|
-
end
|
907
|
-
$summary_line=$summary_line+ ',' + ((id_list).size).to_s
|
908
|
-
return id_list
|
909
|
-
end
|
910
|
-
|
911
|
-
# Public: To verify if the asset searched is present in the search result
|
912
|
-
#
|
913
|
-
#Author : Raghavendra
|
914
|
-
#
|
915
|
-
# search_term - The asset name that needs to be verified
|
916
|
-
#
|
917
|
-
# Returns true if asset found in search result or else returns false
|
918
|
-
def vod_verify_asset_present_search_result? (search_term)
|
919
|
-
#pre-requisite : Control should be at first search result
|
920
|
-
begin
|
921
|
-
search_term=search_term.strip
|
922
|
-
|
923
|
-
if search_term.length>45
|
924
|
-
search_term=search_term[0..44]
|
925
|
-
end
|
926
|
-
search_result_count=dut.roi.text.vod_search_result_all_text.retrieve
|
927
|
-
search_result_count=search_result_count.delete('^0-9')
|
928
|
-
search_result_count=search_result_count.to_i
|
929
|
-
y=533
|
930
|
-
loginfo "Search Result Count = "+search_result_count.to_s
|
931
|
-
search_term=(search_term.to_s).strip
|
932
|
-
loginfo "Search term is ="+search_term.to_s
|
933
|
-
for search_result_num in 0..search_result_count
|
934
|
-
loginfo "Inside For Loop Search Results List"
|
935
|
-
if(search_result_num<5)
|
936
|
-
text_roi = dut.roi.text.new(:x => 779, :y => y.to_i, :width => 891, :height => 92, :similarity => 80, :text => "#{search_term}", :preprocessing => 8, :only_digits => false, :ref_img => "")
|
937
|
-
y=y+93
|
938
|
-
loginfo "Value of Y"+y.to_s
|
939
|
-
else
|
940
|
-
text_roi = dut.roi.text.new(:x => 779, :y => 891, :width => 891, :height => 92, :similarity => 80, :text => "#{search_term}", :preprocessing => 8, :only_digits => false, :ref_img => "")
|
941
|
-
end
|
942
|
-
asset_name_status=text_roi.displayed?
|
943
|
-
asset_name=text_roi.retrieve
|
944
|
-
|
945
|
-
loginfo "Asset Text Retrieved = "+asset_name.to_s
|
946
|
-
loginfo "Asset Search Term = "+search_term.to_s
|
947
|
-
if(asset_name_status)
|
948
|
-
loginfo "Asset Found"
|
949
|
-
return true
|
950
|
-
end
|
951
|
-
dut.press_key('down_arrow', :sleep_time=>3.sec)
|
952
|
-
end
|
953
|
-
|
954
|
-
return false
|
955
|
-
rescue => exception
|
956
|
-
loginfo "vod_verify_asset_present_search_result :: Threw an exception "
|
957
|
-
loginfo exception.message
|
958
|
-
loginfo exception.backtrace
|
959
|
-
end
|
960
|
-
end
|
961
|
-
|
962
|
-
# Public: To filter the the search term my removing the text that comes after the season number and also remove the resolution description like HD
|
963
|
-
#
|
964
|
-
#Author : Raghavendra
|
965
|
-
#
|
966
|
-
# search_term - Search term that needs to be refined
|
967
|
-
#
|
968
|
-
# Returns processed search term or else returns nil if any exception occurs
|
969
|
-
def vod_remove_season_number_resolution? (search_term)
|
970
|
-
begin
|
971
|
-
numerical_index=search_term.index(/\d/)
|
972
|
-
if(numerical_index!=nil)
|
973
|
-
loginfo 'Numerical Index = '+numerical_index.to_s
|
974
|
-
search_term=(search_term[0..numerical_index-1]).to_s
|
975
|
-
end
|
976
|
-
search_term.slice! " HD"
|
977
|
-
search_term=search_term.strip
|
978
|
-
return search_term
|
979
|
-
rescue =>exception
|
980
|
-
loginfo "remove_season_number_resolution :: Failed to filter the string and remove numerical charcaters"
|
981
|
-
|
982
|
-
loginfo exception.message
|
983
|
-
loginfo exception.backtrace
|
984
|
-
return nil
|
985
|
-
end
|
986
|
-
end
|
987
|
-
|
988
|
-
# Public: To Navigate to the first search result after entering the search term
|
989
|
-
#
|
990
|
-
#Author : Raghavendra
|
991
|
-
#
|
992
|
-
# Returns true in any case or else returns false if an exception is thrown
|
993
|
-
def vod_go_to_first_search_result?
|
994
|
-
begin
|
995
|
-
6.times{dut.press_key('up_arrow', :sleep_time=>3.sec)}
|
996
|
-
6.times{dut.press_key('right_arrow', :sleep_time=>3.sec)}
|
997
|
-
dut.press_key('down_arrow', :sleep_time=>3.sec)
|
998
|
-
return true
|
999
|
-
rescue =>exception
|
1000
|
-
loginfo "go_to_first_search_result :: Failed to Navigate to First Search Result"
|
1001
|
-
loginfo exception.message
|
1002
|
-
loginfo exception.backtrace
|
1003
|
-
return false
|
1004
|
-
end
|
1005
|
-
end
|
1006
|
-
|
1007
|
-
|
1008
|
-
# Public: Search the asset from global search and return if the asset is found in search result
|
1009
|
-
#
|
1010
|
-
# Author : Raghavendra
|
1011
|
-
#
|
1012
|
-
# search_term - Asset Name to be searched (default: "None").
|
1013
|
-
#
|
1014
|
-
# Returns true if found otherwise returns false
|
1015
|
-
def vod_search_asset_verify_present?(search_term="None")
|
1016
|
-
require './dsllib/common/screens/roku/virtual_search_keyboard_navigator'
|
1017
|
-
begin
|
1018
|
-
########
|
1019
|
-
#Step-1# Do a init to verify the box is ready for test execution
|
1020
|
-
########
|
1021
|
-
dut.init?
|
1022
|
-
########
|
1023
|
-
#Step-2# Go to main menu and verify spectrum guide is getting displayed
|
1024
|
-
########
|
1025
|
-
dut.screens.main_menu.verify_spectrum_box_guide?
|
1026
|
-
########
|
1027
|
-
#Step-3# Navigate to search menu and verify if its navigating successfully
|
1028
|
-
########
|
1029
|
-
fail("Failed to navigate to search page") unless dut.screens.search.navigate?(:timeout => 10.sec)
|
1030
|
-
########
|
1031
|
-
#Step-4# Refine the search term to eliminate season numbers and resolution description like HD
|
1032
|
-
########
|
1033
|
-
########
|
1034
|
-
#Step-5# Log the search term and type the search term using the virtual key pad
|
1035
|
-
########
|
1036
|
-
loginfo 'Search Term = '+search_term.to_s
|
1037
|
-
search_term=search_term.to_s
|
1038
|
-
if search_term.include?("&")
|
1039
|
-
newterm=search_term.split("&")
|
1040
|
-
nterm=newterm[0].to_s
|
1041
|
-
virtual_keyboard_roku_write_text?(nterm)
|
1042
|
-
elsif search_term.include?(":")
|
1043
|
-
newterm=search_term.split(":")
|
1044
|
-
nterm=newterm[0].to_s
|
1045
|
-
virtual_keyboard_roku_write_text?(nterm)
|
1046
|
-
else
|
1047
|
-
virtual_keyboard_roku_write_text?(search_term.to_s)
|
1048
|
-
end
|
1049
|
-
|
1050
|
-
########
|
1051
|
-
#Step-6# Go to the first search result displayed
|
1052
|
-
########
|
1053
|
-
dut.screens.on_demand.vod_go_to_first_search_result?
|
1054
|
-
########
|
1055
|
-
#Step-7# Verify if the search term is present in the search result
|
1056
|
-
########
|
1057
|
-
search_status=dut.screens.on_demand.vod_verify_asset_present_search_result?(search_term="#{search_term}")
|
1058
|
-
loginfo "Search Status = "+search_status.to_s
|
1059
|
-
return search_status
|
1060
|
-
rescue => exception
|
1061
|
-
loginfo 'Search Asset Run Main :: Failed to search the asset'
|
1062
|
-
loginfo exception.message
|
1063
|
-
loginfo exception.backtrace
|
1064
|
-
return false
|
1065
|
-
end
|
1066
|
-
end
|
1067
|
-
|
1068
|
-
# Public: Get the total name of category
|
1069
|
-
#
|
1070
|
-
# Returns category name
|
1071
|
-
def vod_get_cat_name?
|
1072
|
-
|
1073
|
-
begin
|
1074
|
-
########
|
1075
|
-
#Step-1# To retrieve the category name
|
1076
|
-
########
|
1077
|
-
cat_name=dut.roi.text.assetCount_inEachCategory.retrieve
|
1078
|
-
cat_name=cat_name.delete("^a-zA-Z")
|
1079
|
-
loginfo 'Category name '+"#{cat_name}"
|
1080
|
-
|
1081
|
-
|
1082
|
-
return cat_name
|
1083
|
-
rescue => exception
|
1084
|
-
loginfo "********INSIDE RESCUE BLOCK*********"
|
1085
|
-
loginfo exception.message
|
1086
|
-
loginfo exception.backtrace
|
1087
|
-
loginfo "********END OF RESCUE BLOCK*********"
|
1088
|
-
return 0
|
1089
|
-
end #End of rescue block
|
1090
|
-
|
1091
|
-
|
1092
|
-
|
1093
|
-
end
|
1094
|
-
|
1095
|
-
# Public: Verify if the asset is present in a particular alphonso server
|
1096
|
-
#
|
1097
|
-
#Author : Raghavendra
|
1098
|
-
#
|
1099
|
-
# package_id - The assets package id to search for
|
1100
|
-
# alphonso_twb_url - The alphonso url to which the request has to be sent
|
1101
|
-
#
|
1102
|
-
# Returns true if present else return false and if any exception occurs returns nil
|
1103
|
-
def vod_search_if_asset_present_alphonso_by_pkgid(package_id,alphonso_twb_url)
|
1104
|
-
require 'json'
|
1105
|
-
require 'net/http'
|
1106
|
-
require 'net/https'
|
1107
|
-
require 'set'
|
1108
|
-
require 'uri'
|
1109
|
-
begin
|
1110
|
-
head_end = "st_louis"
|
1111
|
-
alphonso_twb_url=alphonso_twb_url+package_id
|
1112
|
-
alphonso_uri=URI.parse("#{alphonso_twb_url}")
|
1113
|
-
#alphonso_uri.query=[alphonso_uri.query, "assetId=#{package_id}", "headend=#{head_end}"].compact.join('&')
|
1114
|
-
alphonso_request=Net::HTTP::Get.new(alphonso_uri.request_uri)
|
1115
|
-
http = Net::HTTP.new(alphonso_uri.host, alphonso_uri.port)
|
1116
|
-
http.use_ssl = (alphonso_uri.scheme == "https")
|
1117
|
-
alphonso_response=http.request(alphonso_request)
|
1118
|
-
alphonso_res_txt=alphonso_response.body
|
1119
|
-
json_data=JSON.parse(alphonso_res_txt)
|
1120
|
-
if((alphonso_response.code.to_s)=="200")
|
1121
|
-
loginfo "Asset Found in Alphonso"
|
1122
|
-
return true
|
1123
|
-
else
|
1124
|
-
loginfo "Asset Not found in Alphonso Server"
|
1125
|
-
loginfo "Alphonso URL USed ::"+alphonso_twb_url.to_s
|
1126
|
-
loginfo "Asset Package ID Searched for :: "+package_id.to_s
|
1127
|
-
loginfo "alphonso_response.code :: "+alphonso_response.code.to_s
|
1128
|
-
loginfo "response received "+alphonso_res_txt.to_s
|
1129
|
-
return false
|
1130
|
-
end
|
1131
|
-
rescue => exception
|
1132
|
-
loginfo "vod_search_if_asset_present_alphonso_by_pkgid Threw An Exception"
|
1133
|
-
loginfo exception.message
|
1134
|
-
loginfo exception.backtrace
|
1135
|
-
return nil
|
1136
|
-
end
|
1137
|
-
end
|
1138
|
-
|
1139
|
-
# Public: To get asset details from digital smith server
|
1140
|
-
#
|
1141
|
-
#Author : Raghavendra
|
1142
|
-
#
|
1143
|
-
# package_id - The package id of the asset for which the details need to be retrieved.
|
1144
|
-
#
|
1145
|
-
# Returns Hashmap of asset details fetched from digital smith server
|
1146
|
-
def vod_fetch_asset_details_from_ds? (package_id)
|
1147
|
-
require 'date'
|
1148
|
-
require 'json'
|
1149
|
-
require 'net/http'
|
1150
|
-
require 'net/https'
|
1151
|
-
require 'set'
|
1152
|
-
require 'uri'
|
1153
|
-
title =""
|
1154
|
-
season_number =""
|
1155
|
-
episode_number =""
|
1156
|
-
episode_name=""
|
1157
|
-
program_type=""
|
1158
|
-
begin
|
1159
|
-
ds_new_url='http://charter-prod-elb.digitalsmiths.net/sd/charter/cores/assets-charter/search?q=*:*&schedule.q=type:VOD%20headendId:(st_louis)%20packageprovider:(*)%20packageassetid:('+"#{package_id}"+')%20&fl=*,relevantschedules.*&limit=1000&disableRemoveNonEnglish=true&includeAdult=true&join=%7B!left%20core=schedules-charter%20as=s1%20left=id%20right=itemIds%7D'
|
1160
|
-
loginfo 'DS URL = '+ds_new_url
|
1161
|
-
ds_uri=URI.parse(ds_new_url)
|
1162
|
-
ds_request=Net::HTTP::Get.new(ds_uri.request_uri)
|
1163
|
-
http = Net::HTTP.new(ds_uri.host, ds_uri.port)
|
1164
|
-
http.use_ssl = (ds_uri.scheme == "https")
|
1165
|
-
response=http.request(ds_request)
|
1166
|
-
json_data=JSON.parse(response.body)
|
1167
|
-
loginfo 'Response from Digital Smith Server'
|
1168
|
-
loginfo json_data
|
1169
|
-
begin
|
1170
|
-
found_prog_type = false
|
1171
|
-
if json_data["hits"].length == 0
|
1172
|
-
loginfo "Hits Length is Zero hence Asset not found in Digital Smith"
|
1173
|
-
return nil
|
1174
|
-
else
|
1175
|
-
data_hits=json_data["hits"]
|
1176
|
-
loginfo 'DATA HITS'
|
1177
|
-
loginfo data_hits
|
1178
|
-
if data_hits.size == 2
|
1179
|
-
content=data_hits[1]
|
1180
|
-
elsif data_hits.size == 1
|
1181
|
-
content=data_hits[0]
|
1182
|
-
end
|
1183
|
-
metadata=content["metadata"]
|
1184
|
-
title=metadata["title"]
|
1185
|
-
forb_chars = ['<', '>', ':', '"', '/', '\\', '|', '?', '*', ',','&','-','_',".","!","'"]
|
1186
|
-
forb_chars.each do |char|
|
1187
|
-
title=title.delete("#{char}")
|
1188
|
-
end
|
1189
|
-
if(metadata["progType"]!= nil and metadata["progType"].to_s=='Series' and metadata["episodeInfo"] != nil)
|
1190
|
-
if(metadata["episodeInfo"]["title"]!=nil)
|
1191
|
-
episode_name = metadata["episodeInfo"]["title"]
|
1192
|
-
forb_chars.each do |char|
|
1193
|
-
episode_name=episode_name.delete("#{char}")
|
1194
|
-
end
|
1195
|
-
else
|
1196
|
-
episode_name="NULL"
|
1197
|
-
end
|
1198
|
-
if(metadata["episodeInfo"]["season"]!=nil)
|
1199
|
-
season_number = metadata["episodeInfo"]["season"]
|
1200
|
-
episode_number = metadata["episodeInfo"]["number"]
|
1201
|
-
else
|
1202
|
-
season_number = 'Null'
|
1203
|
-
episode_number = 'Null'
|
1204
|
-
end
|
1205
|
-
found_prog_type = true
|
1206
|
-
program_type="Series"
|
1207
|
-
end
|
1208
|
-
end#ProgType Series
|
1209
|
-
if(metadata["progType"]!=nil)
|
1210
|
-
if(metadata["progType"].to_s=="Special")
|
1211
|
-
episode_name=metadata["progType"].to_s
|
1212
|
-
forb_chars.each do |char|
|
1213
|
-
episode_name=episode_name.delete("#{char}")
|
1214
|
-
end
|
1215
|
-
episode_number = "Null"
|
1216
|
-
season_number = "Null"
|
1217
|
-
program_type="Special"
|
1218
|
-
end
|
1219
|
-
if(metadata["progType"].to_s=="Feature Film")
|
1220
|
-
title=metadata["title"]
|
1221
|
-
forb_chars.each do |char|
|
1222
|
-
title=title.delete("#{char}")
|
1223
|
-
end
|
1224
|
-
episode_number = "Null"
|
1225
|
-
season_number = "Null"
|
1226
|
-
program_type="Feature Film"
|
1227
|
-
end
|
1228
|
-
found_prog_type = true
|
1229
|
-
end#Progtype Special and Feature Film
|
1230
|
-
if(metadata["movieAsset"]!=nil and metadata["progType"]==nil)
|
1231
|
-
program_type="Feature Film"
|
1232
|
-
title=metadata["Title"]
|
1233
|
-
forb_chars = ['<', '>', '"', '/', '\\', '|', '?', '*', ',','-','_',".","!","'"]
|
1234
|
-
forb_chars.each do |char|
|
1235
|
-
title=title.delete("#{char}")
|
1236
|
-
end
|
1237
|
-
episode_number = "Null"
|
1238
|
-
season_number = "Null"
|
1239
|
-
found_prog_type = true
|
1240
|
-
end
|
1241
|
-
if found_prog_type==true
|
1242
|
-
asset_details_hash={"package_id"=>"#{package_id}","title"=>"#{title}","episode_number"=>"#{episode_number}","season_number"=>"#{season_number}","program_type"=>"#{program_type}","episode_name"=>"#{episode_name}","data_hits_count"=>json_data["hits"].length}
|
1243
|
-
return asset_details_hash
|
1244
|
-
else
|
1245
|
-
return nil
|
1246
|
-
end
|
1247
|
-
rescue => exception
|
1248
|
-
loginfo "vod_fetch_asset_details_from_ds :: Metadata parsing block threw an error"
|
1249
|
-
loginfo exception.message
|
1250
|
-
loginfo exception.backtrace
|
1251
|
-
return nil
|
1252
|
-
end#Metadata Rescue Block
|
1253
|
-
rescue => exception
|
1254
|
-
loginfo "vod_fetch_asset_details_from_ds :: Request Response Block threw an error"
|
1255
|
-
loginfo exception.message
|
1256
|
-
loginfo exception.backtrace
|
1257
|
-
return nil
|
1258
|
-
end#Request Response Rescue Block
|
1259
|
-
end
|
1260
|
-
|
1261
|
-
# Public: Verify trick play modes and return the value
|
1262
|
-
#
|
1263
|
-
# is_a_series - To verify if its a series or movie asset (default: false).
|
1264
|
-
#
|
1265
|
-
#Author : Raghavendra
|
1266
|
-
#
|
1267
|
-
# Returns true if trick play modes are successfull
|
1268
|
-
def vod_get_trick_play_status?(is_a_series=false)
|
1269
|
-
ff_status=false
|
1270
|
-
rr_status=false
|
1271
|
-
pp_status=false
|
1272
|
-
trick_play_status=false
|
1273
|
-
if(is_a_series==false)
|
1274
|
-
view_option_text=dut.roi.text.asset_view_option_text.retrieve
|
1275
|
-
view_option_text=view_option_text.downcase
|
1276
|
-
if view_option_text.include? "watch"
|
1277
|
-
if view_option_text.include? "add"
|
1278
|
-
if view_option_text.index('add') > view_option_text.index('watch')
|
1279
|
-
view_option='WATCH'
|
1280
|
-
else
|
1281
|
-
view_option='ADD TO WATCHLIST'
|
1282
|
-
end
|
1283
|
-
else
|
1284
|
-
view_option='WATCH'
|
1285
|
-
end
|
1286
|
-
elsif view_option_text.include? "browse"
|
1287
|
-
view_option='BROWSE EPISODES'
|
1288
|
-
elsif view_option_text.include? "restart"
|
1289
|
-
view_option='WATCH'
|
1290
|
-
elsif view_option_text.include? "resume"
|
1291
|
-
view_option='WATCH'
|
1292
|
-
else
|
1293
|
-
loginfo "Watch/Restart button is not displayed to play the movie"
|
1294
|
-
return false
|
1295
|
-
end
|
1296
|
-
if not view_option=="WATCH"
|
1297
|
-
loginfo "Watch Option Not Provided"
|
1298
|
-
return false
|
1299
|
-
else
|
1300
|
-
if(true)
|
1301
|
-
dut.press_key('select', :sleep_time=>3.sec)
|
1302
|
-
dut.screens.on_demand.vod_handle_pin_prompts?(pin=[0,0,0,0])
|
1303
|
-
if dut.roi.text.confirm_rental_page.retrieve.include? "Confirm"
|
1304
|
-
dut.press_key('select', :sleep_time=>3.sec)
|
1305
|
-
end
|
1306
|
-
dut.press_key('fastforward', :sleep_time=>3.sec)
|
1307
|
-
sleep(1.sec)
|
1308
|
-
val=dut.roi.text.fast_forward_text.retrieve
|
1309
|
-
if val.include?'x'
|
1310
|
-
ff_status=true
|
1311
|
-
else
|
1312
|
-
ff_status=false
|
1313
|
-
end
|
1314
|
-
dut.press_key('play', :sleep_time=>3.sec)
|
1315
|
-
if dut.roi.video.fullscreen_motion.displayed?
|
1316
|
-
dut.press_key('pause', :sleep_time=>3.sec)
|
1317
|
-
sleep(1.sec)
|
1318
|
-
if dut.roi.video.fullscreen_motion.displayed?
|
1319
|
-
pp_status=false
|
1320
|
-
else
|
1321
|
-
pp_status=true
|
1322
|
-
end
|
1323
|
-
end
|
1324
|
-
dut.press_key('play', :sleep_time=>3.sec)
|
1325
|
-
dut.press_key('rewind', :sleep_time=>3.sec)
|
1326
|
-
sleep(1.sec)
|
1327
|
-
val=dut.roi.text.fast_forward_text.retrieve
|
1328
|
-
if val.include?'x'
|
1329
|
-
rr_status=true
|
1330
|
-
else
|
1331
|
-
rr_status=false
|
1332
|
-
end
|
1333
|
-
end
|
1334
|
-
end
|
1335
|
-
else
|
1336
|
-
if(true)
|
1337
|
-
dut.press_key('select', :sleep_time=>3.sec)
|
1338
|
-
dut.screens.on_demand.vod_handle_pin_prompts?(pin=[0,0,0,0])
|
1339
|
-
if dut.roi.text.confirm_rental_page.retrieve.include? "Confirm"
|
1340
|
-
dut.press_key('select', :sleep_time=>3.sec)
|
1341
|
-
end
|
1342
|
-
dut.press_key('fastforward', :sleep_time=>3.sec)
|
1343
|
-
sleep(1.sec)
|
1344
|
-
val=dut.roi.text.fast_forward_text.retrieve
|
1345
|
-
if val.include?'x'
|
1346
|
-
ff_status=true
|
1347
|
-
else
|
1348
|
-
ff_status=false
|
1349
|
-
end
|
1350
|
-
dut.press_key('play', :sleep_time=>3.sec)
|
1351
|
-
if dut.roi.video.fullscreen_motion.displayed?
|
1352
|
-
dut.press_key('pause', :sleep_time=>3.sec)
|
1353
|
-
sleep(1.sec)
|
1354
|
-
if dut.roi.video.fullscreen_motion.displayed?
|
1355
|
-
pp_status=false
|
1356
|
-
else
|
1357
|
-
pp_status=true
|
1358
|
-
end
|
1359
|
-
end
|
1360
|
-
dut.press_key('play', :sleep_time=>3.sec)
|
1361
|
-
dut.press_key('rewind', :sleep_time=>3.sec)
|
1362
|
-
sleep(1.sec)
|
1363
|
-
val=dut.roi.text.fast_forward_text.retrieve
|
1364
|
-
if val.include?'x'
|
1365
|
-
rr_status=true
|
1366
|
-
else
|
1367
|
-
rr_status=false
|
1368
|
-
end
|
1369
|
-
end
|
1370
|
-
end
|
1371
|
-
if ff_status==true and pp_status==true and rr_status==true
|
1372
|
-
trick_play_status=true
|
1373
|
-
else
|
1374
|
-
trick_play_status=false
|
1375
|
-
end
|
1376
|
-
return trick_play_status
|
1377
|
-
end
|
1378
|
-
|
1379
|
-
|
1380
|
-
# Public: Fetch Asset Details like view option,banner presence,playback status,trick play status,if its rent then rent amount
|
1381
|
-
#
|
1382
|
-
# asset_name - n (default: "None")............ame of the asset fetched from asset listing screen
|
1383
|
-
# check_trick_play - flag to decide whether or not to verify trick play (default: false).
|
1384
|
-
#
|
1385
|
-
#Author : Raghavendra
|
1386
|
-
#
|
1387
|
-
# Returns Hash of all the details collected
|
1388
|
-
def vod_fetch_asset_details?(asset_name="None",check_trick_play=false)
|
1389
|
-
begin
|
1390
|
-
###############
|
1391
|
-
#Pre-requisite# Verify the screen the control is present on
|
1392
|
-
###############
|
1393
|
-
dut.screens.movies.displayed?(:timeout => 3000)
|
1394
|
-
########
|
1395
|
-
#Step-1# Assign all default values to the attributes to be posted to TWB vod report
|
1396
|
-
########
|
1397
|
-
title="#{asset_name}"
|
1398
|
-
quantity='1'
|
1399
|
-
price='0.00'
|
1400
|
-
view_option='NA'
|
1401
|
-
playback_status='NA'
|
1402
|
-
banner_presence='ABSENT'
|
1403
|
-
status='PRESENT'
|
1404
|
-
season_number='NA'
|
1405
|
-
episode_number='NA'
|
1406
|
-
episode_name='NA'
|
1407
|
-
play_trick_status='NA'
|
1408
|
-
########
|
1409
|
-
#Step-2# Fetch the text displayed for the first button to determine the view option provided for the asset
|
1410
|
-
########
|
1411
|
-
view_option_text=dut.roi.text.asset_view_option_text.retrieve
|
1412
|
-
view_option_text=view_option_text.downcase
|
1413
|
-
########
|
1414
|
-
#Step-3# Following conditions will determine what kind of view_option is provided for the current asset based on the text retrieved
|
1415
|
-
########
|
1416
|
-
if view_option_text.include? "watch"
|
1417
|
-
if view_option_text.include? "add"
|
1418
|
-
if view_option_text.index('add') > view_option_text.index('watch')
|
1419
|
-
view_option='WATCH'
|
1420
|
-
else
|
1421
|
-
view_option='ADD TO WATCHLIST'
|
1422
|
-
end
|
1423
|
-
else
|
1424
|
-
view_option='WATCH'
|
1425
|
-
end
|
1426
|
-
elsif view_option_text.include? "restart"
|
1427
|
-
view_option='RESTART'
|
1428
|
-
elsif view_option_text.include? "browse"
|
1429
|
-
view_option='BROWSE EPISODES'
|
1430
|
-
elsif view_option_text.include? "rent"
|
1431
|
-
view_option='RENT'
|
1432
|
-
#If the view option is rent then the price is also retrieved from the text
|
1433
|
-
ind=view_option_text.index('$')
|
1434
|
-
if ind=='nil'
|
1435
|
-
price='0.00'
|
1436
|
-
else
|
1437
|
-
price=view_option_text[ind..ind+5]
|
1438
|
-
price=view_option_text.delete("^.0-9")
|
1439
|
-
end
|
1440
|
-
elsif view_option_text.include? "listing"
|
1441
|
-
view_option='VIEW OTHER LISTINGS'
|
1442
|
-
end
|
1443
|
-
########
|
1444
|
-
#Step-4# Determine whether poster/banner is displayed for the asset
|
1445
|
-
########
|
1446
|
-
if dut.roi.image.assetOverview_movieBanner.displayed?(:timeout => 7000)
|
1447
|
-
banner_presence='ABSENT'
|
1448
|
-
else
|
1449
|
-
banner_presence='PRESENT'
|
1450
|
-
end
|
1451
|
-
########
|
1452
|
-
#Step-5# Determine whether the asset is playable if the option provided is watch
|
1453
|
-
########
|
1454
|
-
if view_option=='WATCH' or view_option=='RESTART'
|
1455
|
-
dut.press_key('select', :sleep_time=>3.sec)
|
1456
|
-
dut.screens.on_demand.vod_handle_pin_prompts?(pin=[0,0,0,0])
|
1457
|
-
if dut.roi.text.confirm_rental_page.retrieve.include? "Confirm"
|
1458
|
-
dut.press_key('select', :sleep_time=>3.sec)
|
1459
|
-
end
|
1460
|
-
if dut.roi.video.fullscreen_motion.displayed?(:timeout => 7000)
|
1461
|
-
playback_status='PLAYABLE'
|
1462
|
-
else
|
1463
|
-
playback_status='NOT PLAYABLE'
|
1464
|
-
if dut.roi.image.unable_to_play_dialogue.displayed?(:timeout => 7000)
|
1465
|
-
playback_status='ERROR_UNABLE_TO_PLAY'
|
1466
|
-
dut.press_key('select', :sleep_time=>3.sec)
|
1467
|
-
end
|
1468
|
-
end
|
1469
|
-
#dut.press_key('stop', :sleep_time=>3.sec)
|
1470
|
-
#sleep(5.sec)
|
1471
|
-
|
1472
|
-
if(check_trick_play and playback_status=="PLAYABLE")
|
1473
|
-
|
1474
|
-
dut.press_key('fastforward', :sleep_time=>3.sec)
|
1475
|
-
sleep(2.sec)
|
1476
|
-
val=dut.roi.text.fast_forward_text.retrieve
|
1477
|
-
if val.include?'x'
|
1478
|
-
play_trick_status=true
|
1479
|
-
else
|
1480
|
-
play_trick_status=false
|
1481
|
-
end
|
1482
|
-
dut.press_key('play', :sleep_time=>3.sec)
|
1483
|
-
if dut.roi.video.fullscreen_motion.displayed?
|
1484
|
-
dut.press_key('pause', :sleep_time=>3.sec)
|
1485
|
-
sleep(2.sec)
|
1486
|
-
if dut.roi.video.fullscreen_motion.displayed?
|
1487
|
-
play_trick_status=false
|
1488
|
-
else
|
1489
|
-
play_trick_status=true
|
1490
|
-
end
|
1491
|
-
end
|
1492
|
-
dut.press_key('play', :sleep_time=>3.sec)
|
1493
|
-
dut.press_key('rewind', :sleep_time=>3.sec)
|
1494
|
-
sleep(2.sec)
|
1495
|
-
val=dut.roi.text.fast_forward_text.retrieve
|
1496
|
-
if val.include?'x'
|
1497
|
-
play_trick_status=true
|
1498
|
-
else
|
1499
|
-
play_trick_status=false
|
1500
|
-
end
|
1501
|
-
|
1502
|
-
end
|
1503
|
-
end
|
1504
|
-
dut.press_key('stop', :sleep_time=>3.sec)
|
1505
|
-
########
|
1506
|
-
#Step-6# Form the hash of the all the attributes collected till now
|
1507
|
-
########
|
1508
|
-
assetDetailHash = {"category"=>"NA","play_trick_status"=>"#{play_trick_status}","title" => "#{title}","quantity" => "#{quantity}","price" =>"#{price}","view_option"=>"#{view_option}","playback_status"=>"#{playback_status}","banner_presence"=>"#{banner_presence}","season_number"=>"#{season_number}","episode_number"=>"#{episode_number}","episode_name"=>"#{episode_name}","status"=>"#{status}"}
|
1509
|
-
#assetDetail=category + ',' + title + ',' + quantity + ',' + price + ',' + view_option + ',' + playback_status + ',' + banner_presence + ',' + season_number + ',' + episode_number + ',' + episode_name + ',' + status + '
|
1510
|
-
loginfo '****************Fetched Details*******************************'
|
1511
|
-
loginfo assetDetailHash
|
1512
|
-
loginfo '***********************************************'
|
1513
|
-
return assetDetailHash
|
1514
|
-
rescue => exception
|
1515
|
-
loginfo "********INSIDE RESCUE BLOCK*********"
|
1516
|
-
loginfo "fetch_asset_details :: Threw an Exception"
|
1517
|
-
loginfo exception.message
|
1518
|
-
loginfo exception.backtrace
|
1519
|
-
loginfo "********END OF RESCUE BLOCK*********"
|
1520
|
-
return nil
|
1521
|
-
end
|
1522
|
-
end
|
1523
|
-
|
1524
|
-
# Public: Get the package ids from the specified file
|
1525
|
-
#
|
1526
|
-
#Author : Raghavendra
|
1527
|
-
#
|
1528
|
-
# file_name - File Name from which the package id (default: "None").......s need to be retrieved
|
1529
|
-
#
|
1530
|
-
# Returns array of package id's if an exception is thrown returns nil
|
1531
|
-
def vod_get_package_id_list_from_file?(file_name="None")
|
1532
|
-
begin
|
1533
|
-
placeHolder_String="pack0000000004166468,pack0000000004166469,pack0000000004166462,pack0000000004166463,pack0000000004310440,
|
1534
|
-
pack0000000004310429,pack0000000004310444,pack0000000004310432,pack0000000004310436,pack0000000004310437,pack0000000004310433,
|
1535
|
-
pack0000000004310428,pack0000000004310445,pack0000000004310515,pack0000000004310453,pack0000000004310519,pack0000000004310457,
|
1536
|
-
pack0000000004310456,pack0000000004310449,pack0000000004310514,pack0000000004310518,pack0000000004310452,pack0000000004310448,
|
1537
|
-
pack0000000004310441,pack0000000004327395,pack0000000004327397,pack0000000004326769,pack0000000004326770,pack0000000004327542,
|
1538
|
-
pack0000000004327544,pack0000000004327603,pack0000000004327444,pack0000000004332506,pack0000000004327446,pack0000000004332504,
|
1539
|
-
pack0000000004334187,pack0000000004334197,pack0000000004334199,pack0000000004334185,pack0000000004327601,pack0000000004334235,
|
1540
|
-
pack0000000004334233,pack0000000004166426,pack0000000004334193,pack0000000004334203,pack0000000004334209,pack0000000004334205,
|
1541
|
-
pack0000000004334191,pack0000000004334215,pack0000000004334211,pack0000000004166427,pack0000000004334179,pack0000000004334217,
|
1542
|
-
pack0000000004334181,pack0000000004334161,pack0000000004334163,pack0000000004334169,pack0000000004334167,pack0000000004334173,
|
1543
|
-
pack0000000004334175,pack0000000004334137,pack0000000004334269,pack0000000004334139,pack0000000004334271,pack0000000004334263,
|
1544
|
-
pack0000000004334259,pack0000000004334239,pack0000000004334277,pack0000000004334275,pack0000000004334265,pack0000000004334241,
|
1545
|
-
pack0000000004334257,pack0000000004334145pack0000000004334149,pack0000000004334155,pack0000000004334151,pack0000000004334157,
|
1546
|
-
pack0000000004334251,pack0000000004334245,pack0000000004334253,pack0000000004334247,pack0000000004334143,pack0000000004341369,
|
1547
|
-
pack0000000004341367,HHHD0000000000941092,HHHD0000000000959105,HHHD0000000000959109,HHHD0000000000994616,HHHD0000000000990614,HHSD0000000000990614,
|
1548
|
-
HHHD0000000000959103,HHHD0000000000959107,HHHD0000000000973301,HHHD0000000000973305,HHHD0000000000973304,HHHD0100000000959105,
|
1549
|
-
HHHD0100000000959107,HHHD0100000000941092,HHHD0200000000941092,HHHD0200000000959107,HHSD0000000000959109,HHSD0000000000959103,
|
1550
|
-
HHSD0000000000959105,HHSD0000000000973301,HHSD0000000000973304,HHSD0000000000973305,HHSD0100000000959105,HHSD0100000000959107,
|
1551
|
-
HHSD0100000000941092,HHSD0200000000941092,HHSD0200000000959107,HHHD0000000000984020,HHHD0000000000984028,HHSD0000000000984028,
|
1552
|
-
HHSD0000000000984020,HHSD0000000000941091,HHHD0000000000941091,HHSD0000000000978851,HHSD0000000000941094,HHHD0000000000941094,
|
1553
|
-
HHSD0000000000978711,HHHD0000000000978851,HHHD0000000000978711,HHSD0000000000919575,HHHD0000000000975824,HHHD0000000000919575,
|
1554
|
-
HHSD0000000000975824,HHHD0000000000974018,HHSD0000000000974016,HHSD0000000000919573,HHHD0000000000974016,HHSD0000000000974020,
|
1555
|
-
HHSD0000000000974018,HHHD0000000000919573,HHHD0000000000974020,HHSD0000000000966055,HHSD0000000000966191,HHHD0000000000966055,
|
1556
|
-
HHSD0000000000956240,HHHD0000000000956240,HHHD0000000000966191,HHHD0000000000919577,HHSD0000000000919577,HHHD0000000000956244,
|
1557
|
-
HHSD0000000000956244,HHSD0000000000956246,HHSD0000000000960964,HHSD0000000000960966,HHHD0000000000904919,HHSD0000000000906230,
|
1558
|
-
HHHD0000000000960964,HHHD0000000000956246,HHHD0000000000960966,HHHD0000000000949017,HHSD0000000000947420,HHSD0000000000949017,
|
1559
|
-
HHSD0000000000947422,HHHD0000000000947422,HHHD0000000000947420,HHSD0000000000904919,HHHD0000000000906230,HHSD0000000000943100,
|
1560
|
-
HHSD0000000000943102,HHHD0000000000943100,HHHD0000000000943102,HHHD0000000000937038,HHSD0000000000938448,HHSD0000000000937038,
|
1561
|
-
HHHD0000000000938448"
|
1562
|
-
write_to_file "#{file_name}", "#{placeHolder_String}"
|
1563
|
-
file_content=read_from_file "#{file_name}"
|
1564
|
-
package_id_array=file_content.split(",")
|
1565
|
-
return package_id_array
|
1566
|
-
rescue=> exception
|
1567
|
-
loginfo "vod_get_package_id_list_from_file :: Threw an exception"
|
1568
|
-
loginfo exception.message
|
1569
|
-
loginfo exception.backtrace
|
1570
|
-
return nil
|
1571
|
-
end
|
1572
|
-
end
|
1573
|
-
|
1574
|
-
# Public: Convert the hasmap data to json and post it to TWB
|
1575
|
-
#
|
1576
|
-
# data - hash map containing all the key value pairs to post the data into TWB VOD report (default: nil).
|
1577
|
-
#
|
1578
|
-
#Author : Raghavendra
|
1579
|
-
#
|
1580
|
-
# Returns true if response status is 200 else returns false
|
1581
|
-
def vod_upload_to_twb?(data=nil)
|
1582
|
-
begin
|
1583
|
-
require 'json'
|
1584
|
-
require 'net/http'
|
1585
|
-
require 'net/https'
|
1586
|
-
requestURL='https://twb.dev-charter.net/ords/preprod/vod/'
|
1587
|
-
uri=URI.parse("#{requestURL}")
|
1588
|
-
twbRequest=Net::HTTP::Post.new(uri.request_uri,'Content-Type' => 'application/json')
|
1589
|
-
http = Net::HTTP.new(uri.host, uri.port)
|
1590
|
-
http.use_ssl = (uri.scheme == "https")
|
1591
|
-
jsonData=data.to_json
|
1592
|
-
loginfo jsonData
|
1593
|
-
twbRequest.body = jsonData
|
1594
|
-
response=http.request(twbRequest)
|
1595
|
-
raise "POST request to TWB failed" unless response.code=='200'
|
1596
|
-
$progressStatus=100
|
1597
|
-
return true
|
1598
|
-
rescue => exception
|
1599
|
-
loginfo "vod_upload_to_twb :: Threw an exception"
|
1600
|
-
loginfo exception.message
|
1601
|
-
loginfo exception.backtrace
|
1602
|
-
loginfo "Response Code :: "+(response.code).to_s
|
1603
|
-
loginfo "Response Body :: "+(response.body).to_s
|
1604
|
-
return false
|
1605
|
-
end
|
1606
|
-
end
|
1607
|
-
|
1608
|
-
# Public: Update c3 backend validation report data to TWB
|
1609
|
-
#
|
1610
|
-
#Author : Raghavendra
|
1611
|
-
#
|
1612
|
-
# ds_output_file_name - File name where DS upd (default: "None")......ated status is stored
|
1613
|
-
# report_name - Name of the report that needs to be created on TWB (default: "None").
|
1614
|
-
#
|
1615
|
-
# Returns false if TWB update fails or any exception is thrown else returns true
|
1616
|
-
def vod_c3_backend_update_twb?(ds_output_file_name="None",report_name="None")
|
1617
|
-
begin
|
1618
|
-
fileName="#{report_name}"
|
1619
|
-
data=Hash.new
|
1620
|
-
ds_lines=(read_from_file "#{ds_output_file_name}").split("##")
|
1621
|
-
ds_lines.pop
|
1622
|
-
ds_lines.each do |each_line|
|
1623
|
-
f=each_line.split(",")
|
1624
|
-
caid=f[0]
|
1625
|
-
title = f[1]
|
1626
|
-
season=f[2]
|
1627
|
-
episode=f[3]
|
1628
|
-
episode_name = f[4]
|
1629
|
-
paid=f[5]
|
1630
|
-
licenseStart=f[6]
|
1631
|
-
licenseEnd=f[7]
|
1632
|
-
pid=f[8]
|
1633
|
-
category = f[9]
|
1634
|
-
alphonso=f[10]
|
1635
|
-
ds_status=f[11]
|
1636
|
-
timestmp=f[12]
|
1637
|
-
pct = f[13]
|
1638
|
-
order_status=f[14]
|
1639
|
-
display_name=f[15]
|
1640
|
-
series_name=f[16]
|
1641
|
-
root_id=f[17]
|
1642
|
-
quantity = "NA"
|
1643
|
-
price = "0"
|
1644
|
-
view_option = "NA"
|
1645
|
-
screenshot_string = "{\"images\":[]}"
|
1646
|
-
data={"report_name"=> fileName,
|
1647
|
-
"category"=> category,
|
1648
|
-
"title"=> title,
|
1649
|
-
"season_number"=> season,
|
1650
|
-
"episode_number"=> episode,
|
1651
|
-
"episode_name"=> episode_name,
|
1652
|
-
"quantity"=> 1,
|
1653
|
-
"price"=> price.to_f,
|
1654
|
-
"view_option"=> view_option,
|
1655
|
-
"deluxe_status" =>ds_status,
|
1656
|
-
"alphonso_status"=> alphonso,
|
1657
|
-
"status"=> "-",
|
1658
|
-
"assetQuality"=>"HD",
|
1659
|
-
"duplicate"=>"",
|
1660
|
-
"pid"=>pid,
|
1661
|
-
"paid"=>paid,
|
1662
|
-
"license_start_date"=>licenseStart,
|
1663
|
-
"license_end_date"=>licenseEnd,
|
1664
|
-
"display_timestamp"=>timestmp,
|
1665
|
-
"caid" => caid,
|
1666
|
-
"provider_content_tier" => pct,
|
1667
|
-
"progress" => $progressStatus,
|
1668
|
-
"screenshots" => screenshot_string,
|
1669
|
-
"root_id"=>root_id
|
1670
|
-
}
|
1671
|
-
raise("vod_c3_backend_update_twb :: TWB Update failed") unless dut.screens.on_demand.vod_upload_to_twb?(data = data)
|
1672
|
-
data.clear
|
1673
|
-
end
|
1674
|
-
return true
|
1675
|
-
rescue => exception
|
1676
|
-
loginfo "vod_c3_backend_update_twb :: Failed Threw and exception"
|
1677
|
-
loginfo exception.message
|
1678
|
-
loginfo exception.backtrace
|
1679
|
-
return false
|
1680
|
-
end
|
1681
|
-
end
|
1682
|
-
|
1683
|
-
|
1684
|
-
# Public: To get the list asset details from output file in list of maps
|
1685
|
-
#
|
1686
|
-
#Author : Raghavendra
|
1687
|
-
#
|
1688
|
-
# file_name - The (default: "None")........ filename of Digital Smith output file
|
1689
|
-
#
|
1690
|
-
# Returns Hashmap of asset details fetched from digital smith server
|
1691
|
-
def vod_fetch_asset_details_from_ds_output_file? (file_name="None")
|
1692
|
-
begin
|
1693
|
-
ds_output=read_from_file "#{file_name}"
|
1694
|
-
ds_details_list=Array.new
|
1695
|
-
ds_detail_hash=Hash.new
|
1696
|
-
ds_output_line=ds_output.split("##")
|
1697
|
-
ds_output_line.each do |each_line|
|
1698
|
-
ds_values=each_line.split(",")
|
1699
|
-
cid=ds_values[0]
|
1700
|
-
asset_name=ds_values[1]
|
1701
|
-
season_number=ds_values[2]
|
1702
|
-
episode_number=ds_values[3]
|
1703
|
-
title=ds_values[4]
|
1704
|
-
package_id=ds_values[5]
|
1705
|
-
start_date=ds_values[6]
|
1706
|
-
end_date=ds_values[7]
|
1707
|
-
cpid=ds_values[8]
|
1708
|
-
prog_type=ds_values[9]
|
1709
|
-
alphonso_flag=ds_values[10]
|
1710
|
-
ds_flag=ds_values[11]
|
1711
|
-
timestamp=ds_values[12]
|
1712
|
-
pct=ds_values[13]
|
1713
|
-
order_status=ds_values[14]
|
1714
|
-
display_name=ds_values[15]
|
1715
|
-
series_name=ds_values[16]
|
1716
|
-
rootid=ds_values[17]
|
1717
|
-
ds_detail_hash=Hash.new
|
1718
|
-
ds_detail_hash={"cid"=>cid.to_s,"asset_name"=>asset_name.to_s,"episode_number"=>episode_number.to_s,"season_number"=>season_number.to_s,"title"=>title.to_s,"package_id"=>package_id.to_s,"start_date"=>start_date.to_s,
|
1719
|
-
"end_date"=>end_date.to_s,"cpid"=>cpid.to_s,"prog_type"=>prog_type,"alphonso_flag"=>alphonso_flag.to_s,"ds_flag"=>ds_flag.to_s,"timestamp"=>timestamp.to_s,"pct"=>pct.to_s,"root_id"=>rootid,"order_status"=>order_status,"display_name"=>display_name,"series_name"=>series_name}
|
1720
|
-
ds_details_list << ds_detail_hash
|
1721
|
-
end
|
1722
|
-
return ds_details_list
|
1723
|
-
rescue => exception
|
1724
|
-
loginfo "vod_fetch_asset_details_from_ds_output_file :: Failed Threw an exception"
|
1725
|
-
loginfo exception.message
|
1726
|
-
loginfo exception.backtrace
|
1727
|
-
return nil
|
1728
|
-
end
|
1729
|
-
end
|
1730
|
-
|
1731
|
-
# Public: To get the asset details of targeted network provider
|
1732
|
-
#
|
1733
|
-
#Author : Raghavendra
|
1734
|
-
#
|
1735
|
-
# output_file_name - Name of the file where the details need to saved (default: nil).
|
1736
|
-
# targeted_provider_list - List of all the netwrok providers whose asset details needs to be retrieved from deluxe server (default: nil).
|
1737
|
-
#
|
1738
|
-
# Returns list of assets details retrieved from deluxe server for matching network providers
|
1739
|
-
def vod_get_deluze_asset_ids_targeted_provider?(output_file_name=nil,targeted_provider_list=nil)
|
1740
|
-
require 'json'
|
1741
|
-
require 'net/http'
|
1742
|
-
require 'net/https'
|
1743
|
-
require 'set'
|
1744
|
-
require 'uri'
|
1745
|
-
###############
|
1746
|
-
#Pre_requisite# store deluxe asset url,create set to store details and return,summary line,page number,next page available flag
|
1747
|
-
###############
|
1748
|
-
deluxe_asset_query_url='https://hal.d3nw.com/customer_api/v1/titles?'
|
1749
|
-
id_list=Set.new
|
1750
|
-
create_file=true
|
1751
|
-
#Step-1# Get Licensing Window Start Date and End Late
|
1752
|
-
licensing_window_start_date_gteq, licensing_window_start_date_lteq, licensing_window_end_date = dut.screens.on_demand.vod_get_start_end_date?
|
1753
|
-
#Step-2# Get the Access Token for Deluxe Server
|
1754
|
-
deluxe_access_token=dut.screens.on_demand.vod_get_deluxe_access_token?
|
1755
|
-
deluxe_file_name="#{output_file_name}"
|
1756
|
-
loginfo 'Deluxe File Name= '+deluxe_file_name
|
1757
|
-
#Step-3# Loop through each targeted network provider list and fetch the asset details from deluxe server
|
1758
|
-
begin
|
1759
|
-
targeted_provider_list.each do |each_target_provider|
|
1760
|
-
next_page_available=true
|
1761
|
-
page=1
|
1762
|
-
while (next_page_available)
|
1763
|
-
begin
|
1764
|
-
loginfo 'Getting Page :' + (page).to_s
|
1765
|
-
deluxe_asset_list_uri=URI.parse("#{deluxe_asset_query_url}")
|
1766
|
-
deluxe_asset_list_uri.query=[deluxe_asset_list_uri.query,"licensing_window_start_date_gteq=#{licensing_window_start_date_gteq}", "licensing_window_start_date_lteq=#{licensing_window_start_date_lteq}","cablelabs_provider_id=#{each_target_provider}","perpage=500", "page=#{page}"].compact.join('&')
|
1767
|
-
deluxe_asset_list_request=Net::HTTP::Get.new(deluxe_asset_list_uri.request_uri)
|
1768
|
-
http = Net::HTTP.new(deluxe_asset_list_uri.host, deluxe_asset_list_uri.port)
|
1769
|
-
http.use_ssl = (deluxe_asset_list_uri.scheme == "https")
|
1770
|
-
deluxe_asset_list_request["authorization"] = 'Bearer ' + "#{deluxe_access_token}"
|
1771
|
-
response=http.request(deluxe_asset_list_request)
|
1772
|
-
if (response.read_body).length <=2
|
1773
|
-
next_page_available=false
|
1774
|
-
break#break from while loop
|
1775
|
-
else
|
1776
|
-
next_page_available=true
|
1777
|
-
deluxe_response=response.read_body
|
1778
|
-
end#End if block
|
1779
|
-
data=JSON.parse(deluxe_response)
|
1780
|
-
for i in 0..((data).size-1)
|
1781
|
-
loginfo "Found a Matching Asset for network Provider #{each_target_provider}"
|
1782
|
-
dname= data[i]['display_name'].to_s
|
1783
|
-
assetID= (data[i]['cablelabs_asset_id']).to_s
|
1784
|
-
cpid = (data[i]['cablelabs_provider_id']).to_s
|
1785
|
-
pct = (data[i]['custom_data']['provider_content_tier']).to_s
|
1786
|
-
license_start = (data[i]['licensing_window_start_date']).to_s
|
1787
|
-
license_end = (data[i]['licensing_window_end_date']).to_s
|
1788
|
-
msg = assetID + ',' + cpid + ',' + pct + ',' + license_start + ',' + license_end
|
1789
|
-
loginfo msg
|
1790
|
-
id_list.add(msg)
|
1791
|
-
end#End of for loop
|
1792
|
-
page=page+1
|
1793
|
-
loginfo id_list.size
|
1794
|
-
rescue => exception
|
1795
|
-
loginfo 'vod_get_deluze_asset_ids_targeted_provider :: Exception occured while fetching targeted network provider asset details from deluxe server'
|
1796
|
-
loginfo exception.message
|
1797
|
-
loginfo exception.backtrace
|
1798
|
-
break#break out of while loop on exception
|
1799
|
-
end
|
1800
|
-
end # While block end
|
1801
|
-
end #Each Target Provider block end
|
1802
|
-
#Step-4# Put the retrieved data into a file
|
1803
|
-
id_list.each do |n|
|
1804
|
-
if(create_file)
|
1805
|
-
create_file=false
|
1806
|
-
write_to_file "#{deluxe_file_name}", n+"##"
|
1807
|
-
else
|
1808
|
-
append_to_file "#{deluxe_file_name}", n+"##"
|
1809
|
-
end
|
1810
|
-
end
|
1811
|
-
#Step-5# Append the count to the summary line
|
1812
|
-
$summary_line=$summary_line+ ',' + ((id_list).size).to_s
|
1813
|
-
return id_list
|
1814
|
-
rescue => exception
|
1815
|
-
loginfo "vod_get_deluze_asset_ids_targeted_provider :: Failed threw an exception"
|
1816
|
-
loginfo exception.message
|
1817
|
-
loginfo exception.backtrace
|
1818
|
-
return nil
|
1819
|
-
end
|
1820
|
-
end
|
1821
|
-
|
1822
|
-
# Public: Handle various pin prompt when watch button is presses
|
1823
|
-
#
|
1824
|
-
#
|
1825
|
-
#Author : Raghavendra
|
1826
|
-
#
|
1827
|
-
# pin - pin to be entered
|
1828
|
-
#
|
1829
|
-
# Returns nothing
|
1830
|
-
def vod_handle_pin_prompts?(pin)
|
1831
|
-
text_roi = dut.roi.text.new(:x => 746, :y => 247, :width => 390, :height => 99, :similarity => 80, :text => "Enter PIN", :preprocessing =>0, :only_digits => false, :ref_img => "")
|
1832
|
-
begin
|
1833
|
-
while(text_roi.displayed?)
|
1834
|
-
dut.screens.settings.enter_valid_pin?(pin)
|
1835
|
-
end
|
1836
|
-
rescue =>exception
|
1837
|
-
loginfo "vod_handle_pin_prompts :: Failed Threw and exception"
|
1838
|
-
loginfo exception.message
|
1839
|
-
loginfo exception.backtrace
|
1840
|
-
end
|
1841
|
-
end
|
1842
|
-
|
1843
|
-
# Public: verifies seasojn onfo
|
1844
|
-
#
|
1845
|
-
# episode_name - episode name.
|
1846
|
-
# episode_number - number.
|
1847
|
-
# season_number - season number.
|
1848
|
-
#
|
1849
|
-
# Returns three values .
|
1850
|
-
def vod_verify_episode_unavilable?(episode_name,episode_number,season_number)
|
1851
|
-
current_episode_name="Current"
|
1852
|
-
prev_episode_name="Previous"
|
1853
|
-
episode_name_ret=""
|
1854
|
-
episode_num_ret=""
|
1855
|
-
season_num_ret=""
|
1856
|
-
season_num_episode_num=""
|
1857
|
-
episode_name_status=false
|
1858
|
-
episode_number_status=false
|
1859
|
-
season_number_status=false
|
1860
|
-
end_of_season=false
|
1861
|
-
count=0
|
1862
|
-
begin
|
1863
|
-
# eliminating the special characters if any
|
1864
|
-
episode_name=episode_name.to_s
|
1865
|
-
forb_chars = ['<', '>', ':', '"', '/', '\\', '|', '?', '*', ',','&','-','_',".","!","'"]
|
1866
|
-
forb_chars.each do |char|
|
1867
|
-
episode_name=episode_name.sub("#{char}","")
|
1868
|
-
end
|
1869
|
-
episode_number=episode_number.to_s
|
1870
|
-
while current_episode_name!=prev_episode_name
|
1871
|
-
text_roi = dut.roi.text.new(:x => 769, :y => 451, :width => 1020, :height => 164, :similarity => 0, :text => "", :preprocessing => 8, :only_digits => false, :ref_img => "")
|
1872
|
-
episode_name_ret=text_roi.retrieve
|
1873
|
-
episode_name_ret=episode_name_ret.to_s
|
1874
|
-
forb_chars = ['<', '>', ':', '"', '/', '\\', '|', '?', '*', ',','&','-','_',".","!","'"]
|
1875
|
-
forb_chars.each do |char|
|
1876
|
-
episode_name_ret=episode_name_ret.sub("#{char}","")
|
1877
|
-
end
|
1878
|
-
episode_name_ret=episode_name_ret.gsub("\r",'')
|
1879
|
-
episode_name_ret=episode_name_ret.gsub("\n",'')
|
1880
|
-
prev_episode_name=episode_name_ret
|
1881
|
-
if count==0
|
1882
|
-
if episode_name_ret.include?(pre_epi_name)
|
1883
|
-
end_of_season=true
|
1884
|
-
break
|
1885
|
-
else
|
1886
|
-
pre_epi_name=episode_name_ret
|
1887
|
-
end
|
1888
|
-
end
|
1889
|
-
text_roi = dut.roi.text.new(:x => 789, :y => 563, :width => 152, :height => 45, :similarity => 0, :text => "", :preprocessing => 8, :only_digits => false, :ref_img => "")
|
1890
|
-
season_num_episode_num=text_roi.retrieve
|
1891
|
-
season_num_episode_num=season_num_episode_num.to_s
|
1892
|
-
loginfo "Season num episode num text before replacing "+season_num_episode_num.to_s
|
1893
|
-
season_num_episode_num=season_num_episode_num.gsub('i','1')
|
1894
|
-
season_num_episode_num=season_num_episode_num.gsub('I','1')
|
1895
|
-
season_num_episode_num=season_num_episode_num.gsub('l','1')
|
1896
|
-
loginfo "Season num episode num text after replacing "+season_num_episode_num.to_s
|
1897
|
-
loginfo "Checking text in following string "+season_num_episode_num.to_s+" with "+ ("E"+episode_number.to_s)
|
1898
|
-
loginfo "Checking text in following string "+season_num_episode_num.to_s+" with "+ ("S"+season_number.to_s)
|
1899
|
-
loginfo "retrieved episode name is "+episode_name_ret.to_s
|
1900
|
-
loginfo "episode name required is "+episode_name.to_s
|
1901
|
-
if (episode_name_ret.include?("#{episode_name}"))
|
1902
|
-
episode_name_status=true
|
1903
|
-
end
|
1904
|
-
text_roi = dut.roi.text.new(:x => 769, :y => 451, :width => 1020, :height => 164, :similarity => 90, :text => "#{episode_name}", :preprocessing => 8, :only_digits => false, :ref_img => "")
|
1905
|
-
nstatus=text_roi.displayed?
|
1906
|
-
if nstatus
|
1907
|
-
episode_name_status=true
|
1908
|
-
end
|
1909
|
-
if episode_name_status
|
1910
|
-
loginfo "Episode Found"
|
1911
|
-
#break
|
1912
|
-
end
|
1913
|
-
if(season_num_episode_num.include?("S"+season_number.to_s))
|
1914
|
-
season_number_status=true
|
1915
|
-
loginfo "season_number"
|
1916
|
-
loginfo season_num_episode_num
|
1917
|
-
end
|
1918
|
-
if(season_num_episode_num.include?("E"+episode_number.to_s))
|
1919
|
-
episode_number_status=true
|
1920
|
-
loginfo "episode number is "
|
1921
|
-
loginfo episode_number
|
1922
|
-
loginfo "episode number matched "
|
1923
|
-
end
|
1924
|
-
if (season_number_status==true and episode_number_status==true) or episode_name_status==true
|
1925
|
-
loginfo "episode matched"
|
1926
|
-
break
|
1927
|
-
end
|
1928
|
-
dut.press_key('down_arrow', :sleep_time=>3.sec)
|
1929
|
-
text_roi = dut.roi.text.new(:x => 769, :y => 451, :width => 1020, :height => 164, :similarity => 0, :text => "", :preprocessing => 8, :only_digits => false, :ref_img => "")
|
1930
|
-
current_episode_name=text_roi.retrieve
|
1931
|
-
current_episode_name=current_episode_name.to_s
|
1932
|
-
forb_chars.each do |char|
|
1933
|
-
current_episode_name=current_episode_name.sub("#{char}","")
|
1934
|
-
end
|
1935
|
-
current_episode_name=current_episode_name.gsub("\r","")
|
1936
|
-
current_episode_name=current_episode_name.gsub("\n","")
|
1937
|
-
end
|
1938
|
-
if episode_name_status==false and ( season_number_status==false or episode_number_status==false) and end_of_season==false
|
1939
|
-
loginfo "Episode Not Found"
|
1940
|
-
return nil
|
1941
|
-
end
|
1942
|
-
if end_of_season==true
|
1943
|
-
loginfo "end of seasons reached"
|
1944
|
-
return pre_epi,end_of_season,"none"
|
1945
|
-
end
|
1946
|
-
episode_found_details={"episode_name"=>episode_name_status,"episode_number"=>episode_number_status,"season_number"=>season_number_status}
|
1947
|
-
return pre_epi,end_of_season,episode_found_details
|
1948
|
-
rescue => exception
|
1949
|
-
loginfo "vod_verify_episode_present : : Threw an exception"
|
1950
|
-
loginfo exception.message
|
1951
|
-
loginfo exception.backtrace
|
1952
|
-
return nil
|
1953
|
-
end
|
1954
|
-
end
|
1955
|
-
|
1956
|
-
# Public: To Go to Particular season when available to watch now is not present
|
1957
|
-
#
|
1958
|
-
# Author : Raghavendra
|
1959
|
-
#
|
1960
|
-
# season_num - Seaso (default: nil).n to search and navigate to
|
1961
|
-
#
|
1962
|
-
# Returns true on success
|
1963
|
-
def vod_goto_particular_season(season_num=nil)
|
1964
|
-
#Pre_requisite should be asset overview page
|
1965
|
-
begin
|
1966
|
-
count=0
|
1967
|
-
season_num=season_num.delete("^0-9")
|
1968
|
-
season="Season "+season_num.to_s
|
1969
|
-
season_list=Array.new
|
1970
|
-
season_ret="NULL"
|
1971
|
-
#Select Browse Episodes Button
|
1972
|
-
dut.press_key('select', :sleep_time=>3.sec)
|
1973
|
-
available_text_roi=dut.roi.text.new(:x => 421, :y => 254, :width => 1045, :height => 578, :similarity => 0, :text => "", :preprocessing => 8, :only_digits => false, :ref_img => "")
|
1974
|
-
available_text=available_text_roi.retrieve
|
1975
|
-
raise "Season text is not found" unless available_text.include? "Season"
|
1976
|
-
while(season_list.include?"#{season_ret}")==false
|
1977
|
-
count=count+1
|
1978
|
-
season_num_roi=dut.roi.text.new(:x => 62, :y => 279, :width => 241, :height => 93, :similarity => 0, :text => "", :preprocessing => 8, :only_digits => false, :ref_img => "")
|
1979
|
-
loginfo "season text found"
|
1980
|
-
#Select First season
|
1981
|
-
dut.press_key('select', :sleep_time=>3.sec)
|
1982
|
-
season_ret=season_num_roi.retrieve
|
1983
|
-
season_list << season_ret
|
1984
|
-
if season_ret.include? season
|
1985
|
-
loginfo "Season Found"
|
1986
|
-
return true
|
1987
|
-
end
|
1988
|
-
dut.press_key('up_arrow', :sleep_time=>3.sec)
|
1989
|
-
dut.press_key('select', :sleep_time=>3.sec)
|
1990
|
-
count.times{dut.press_key('down_arrow', :sleep_time=>3.sec)}
|
1991
|
-
dut.press_key('select', :sleep_time=>3.sec)
|
1992
|
-
season_ret=season_num_roi.retrieve
|
1993
|
-
end #While end
|
1994
|
-
loginfo season_list
|
1995
|
-
raise "Rached end of Season List ; Season Not found"
|
1996
|
-
rescue => exception
|
1997
|
-
loginfo "vod_goto_particular_season :: Failed Threw an exception"
|
1998
|
-
loginfo exception.message
|
1999
|
-
loginfo exception.backtrace
|
2000
|
-
return false
|
2001
|
-
end
|
2002
|
-
end
|
2003
|
-
|
2004
|
-
# Public: Verifies if a episode is present and gets the details of the episode
|
2005
|
-
#
|
2006
|
-
# episode_name - Name of the episode to be searched for
|
2007
|
-
# episode_number - Episode number of the episode - need to be a string but should contain only numerical value
|
2008
|
-
# season_number - season number of the episode - need to be a string but should contain only numerical value
|
2009
|
-
#
|
2010
|
-
#Author: Raghavendra
|
2011
|
-
#
|
2012
|
-
# Returns hash of flags episode_name,episode_number,season_number
|
2013
|
-
def vod_verify_episode_present?(episode_name,episode_number,season_number)
|
2014
|
-
current_episode_name="Current"
|
2015
|
-
prev_episode_name="Previous"
|
2016
|
-
episode_name_ret=""
|
2017
|
-
episode_num_ret=""
|
2018
|
-
season_num_ret=""
|
2019
|
-
season_num_episode_num=""
|
2020
|
-
episode_name_status=false
|
2021
|
-
episode_number_status=false
|
2022
|
-
season_number_status=false
|
2023
|
-
available_text_roi=dut.roi.text.new(:x => 421, :y => 254, :width => 1045, :height => 578, :similarity => 0, :text => "", :preprocessing => 8, :only_digits => false, :ref_img => "")
|
2024
|
-
begin
|
2025
|
-
# eliminating the special characters if any
|
2026
|
-
episode_name=episode_name.to_s
|
2027
|
-
forb_chars = ['<', '>', ':', '"', '/', '\\', '|', '?', '*', ',','&','-','_',".","!","'"]
|
2028
|
-
forb_chars.each do |char|
|
2029
|
-
episode_name=episode_name.sub("#{char}","")
|
2030
|
-
end
|
2031
|
-
episode_number=episode_number.to_s
|
2032
|
-
#episode_number=episode_number.sub("1","i")
|
2033
|
-
#Pre-requisite : Control should be present on asset overview page
|
2034
|
-
view_option_text=dut.roi.text.asset_view_option_text.retrieve
|
2035
|
-
view_option_text=view_option_text.downcase
|
2036
|
-
if view_option_text.include? "browse"
|
2037
|
-
loginfo "Browse Episode Option Is present"
|
2038
|
-
dut.press_key('select', :sleep_time=>3.sec)
|
2039
|
-
else
|
2040
|
-
return nil
|
2041
|
-
end
|
2042
|
-
available_text=available_text_roi.retrieve
|
2043
|
-
#Select Available video
|
2044
|
-
if available_text.include? "Availab"
|
2045
|
-
dut.press_key('select', :sleep_time=>3.sec)
|
2046
|
-
else
|
2047
|
-
dut.press_key('last', :sleep_time=>3.sec)
|
2048
|
-
loginfo "Call go to particular season"
|
2049
|
-
raise "Season not Found" unless dut.screens.on_demand.vod_goto_particular_season(season_num="#{season_number}")
|
2050
|
-
end
|
2051
|
-
#if(dut.roi.image.vod_browse_episodes_episode_listing.displayed?(:timeout => 3000))
|
2052
|
-
#loginfo "Episode Listing page displayed"
|
2053
|
-
#else
|
2054
|
-
#loginfo "Episode Listing page not diplayed"
|
2055
|
-
#return nil
|
2056
|
-
#end
|
2057
|
-
while current_episode_name!=prev_episode_name
|
2058
|
-
text_roi = dut.roi.text.new(:x => 769, :y => 451, :width => 1020, :height => 164, :similarity => 0, :text => "", :preprocessing => 8, :only_digits => false, :ref_img => "")
|
2059
|
-
episode_name_ret=text_roi.retrieve
|
2060
|
-
episode_name_ret=episode_name_ret.to_s
|
2061
|
-
forb_chars = ['<', '>', ':', '"', '/', '\\', '|', '?', '*', ',','&','-','_',".","!","'"]
|
2062
|
-
forb_chars.each do |char|
|
2063
|
-
episode_name_ret=episode_name_ret.sub("#{char}","")
|
2064
|
-
end
|
2065
|
-
episode_name_ret=episode_name_ret.gsub("\r",'')
|
2066
|
-
episode_name_ret=episode_name_ret.gsub("\n",'')
|
2067
|
-
prev_episode_name=episode_name_ret
|
2068
|
-
text_roi = dut.roi.text.new(:x => 789, :y => 563, :width => 152, :height => 45, :similarity => 0, :text => "", :preprocessing => 8, :only_digits => false, :ref_img => "")
|
2069
|
-
season_num_episode_num=text_roi.retrieve
|
2070
|
-
season_num_episode_num=season_num_episode_num.to_s
|
2071
|
-
loginfo "Season num episode num text before replacing "+season_num_episode_num.to_s
|
2072
|
-
season_num_episode_num=season_num_episode_num.gsub('i','1')
|
2073
|
-
season_num_episode_num=season_num_episode_num.gsub('I','1')
|
2074
|
-
season_num_episode_num=season_num_episode_num.gsub('l','1')
|
2075
|
-
loginfo "Season num episode num text after replacing "+season_num_episode_num.to_s
|
2076
|
-
loginfo "Checking text in following string "+season_num_episode_num.to_s+" with "+ ("E"+episode_number.to_s)
|
2077
|
-
loginfo "Checking text in following string "+season_num_episode_num.to_s+" with "+ ("S"+season_number.to_s)
|
2078
|
-
loginfo "retrieved episode name is "+episode_name_ret.to_s
|
2079
|
-
loginfo "episode name required is "+episode_name.to_s
|
2080
|
-
if (episode_name_ret.include?("#{episode_name}"))
|
2081
|
-
episode_name_status=true
|
2082
|
-
end
|
2083
|
-
text_roi = dut.roi.text.new(:x => 769, :y => 451, :width => 1020, :height => 164, :similarity => 90, :text => "#{episode_name}", :preprocessing => 8, :only_digits => false, :ref_img => "")
|
2084
|
-
nstatus=text_roi.displayed?
|
2085
|
-
if nstatus
|
2086
|
-
episode_name_status=true
|
2087
|
-
end
|
2088
|
-
if episode_name_status
|
2089
|
-
loginfo "Episode Found"
|
2090
|
-
#break
|
2091
|
-
end
|
2092
|
-
if(season_num_episode_num.include?("S"+season_number.to_s))
|
2093
|
-
season_number_status=true
|
2094
|
-
loginfo "season_number"
|
2095
|
-
loginfo season_num_episode_num
|
2096
|
-
end
|
2097
|
-
if(season_num_episode_num.include?("E"+episode_number.to_s))
|
2098
|
-
episode_number_status=true
|
2099
|
-
loginfo "episode number is "
|
2100
|
-
loginfo episode_number
|
2101
|
-
loginfo "episode number matched "
|
2102
|
-
end
|
2103
|
-
if (season_number_status==true and episode_number_status==true) or episode_name_status==true
|
2104
|
-
loginfo "episode matched"
|
2105
|
-
break
|
2106
|
-
end
|
2107
|
-
dut.press_key('down_arrow', :sleep_time=>3.sec)
|
2108
|
-
text_roi = dut.roi.text.new(:x => 769, :y => 451, :width => 1020, :height => 164, :similarity => 0, :text => "", :preprocessing => 8, :only_digits => false, :ref_img => "")
|
2109
|
-
current_episode_name=text_roi.retrieve
|
2110
|
-
current_episode_name=current_episode_name.to_s
|
2111
|
-
forb_chars.each do |char|
|
2112
|
-
current_episode_name=current_episode_name.sub("#{char}","")
|
2113
|
-
end
|
2114
|
-
current_episode_name=current_episode_name.gsub("\r","")
|
2115
|
-
current_episode_name=current_episode_name.gsub("\n","")
|
2116
|
-
end
|
2117
|
-
if episode_name_status==false and ( season_number_status==false or episode_number_status==false)
|
2118
|
-
loginfo "Episode Not Found"
|
2119
|
-
return nil
|
2120
|
-
end
|
2121
|
-
#if(season_num_episode_num.include?("S"+season_number.to_s))
|
2122
|
-
# season_number_status=true
|
2123
|
-
#end
|
2124
|
-
#if(season_num_episode_num.include?("E"+episode_number.to_s))
|
2125
|
-
# episode_number_status=true
|
2126
|
-
#end
|
2127
|
-
episode_found_details={"episode_name"=>episode_name_status,"episode_number"=>episode_number_status,"season_number"=>season_number_status}
|
2128
|
-
return episode_found_details
|
2129
|
-
rescue => exception
|
2130
|
-
loginfo "vod_verify_episode_present : : Threw an exception"
|
2131
|
-
loginfo exception.message
|
2132
|
-
loginfo exception.backtrace
|
2133
|
-
return nil
|
2134
|
-
end
|
2135
|
-
end
|
2136
|
-
|
2137
|
-
end
|