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,175 +0,0 @@
|
|
1
|
-
require './lib/screen/stb/odn/odn_screen'
|
2
|
-
# DO NOT ADD DSL REQUIRES HERE. Load them in methods that need them, otherwise syntax completion will be slow.
|
3
|
-
|
4
|
-
# Defines Odn-specific methods on the MainMenu screen.
|
5
|
-
|
6
|
-
class OdnMainMenu < OdnScreen
|
7
|
-
|
8
|
-
attr_accessor :menuItemsKeywords, :menuItems
|
9
|
-
|
10
|
-
# Public: Initializes Odn720MainMenu class
|
11
|
-
def initialize(dut)
|
12
|
-
super(dut)
|
13
|
-
# these are our pre-defined keywords for the main menu. if we missed any, please simply add it to the list
|
14
|
-
@menuItemsKeywords = ['WATCHTV', 'WATCHLIVETV', 'LIVETV', 'GUIDE', 'DVR', 'ONDEMAND', 'KIDS', 'SEARCH', 'CALLERID', 'SETTINGS', 'FEATURETOUR', 'TOUR', 'NEWS', 'SPORTS', 'MOVIES', 'GAMES', 'HELP']
|
15
|
-
|
16
|
-
# place holder for our menu items
|
17
|
-
@menuItems = []
|
18
|
-
end
|
19
|
-
|
20
|
-
# Public: Navigates to Main Menu from Live TV.
|
21
|
-
#
|
22
|
-
# Returns nothing.
|
23
|
-
def navigate_from_live_tv
|
24
|
-
dut.press_key.MENU(:sleep_time => 3.sec)
|
25
|
-
end
|
26
|
-
|
27
|
-
# Public: Checks if the current screen is displayed.
|
28
|
-
#
|
29
|
-
# timeout - Integer total milliseconds to check before timing out (default: 5.sec).
|
30
|
-
#
|
31
|
-
# Returns a Boolean true if the screen is displayed, otherwise false.
|
32
|
-
def displayed?(args={})
|
33
|
-
timeout = args.fetch(:timeout, 5.sec)
|
34
|
-
dut.roi.color.menu_opened.displayed?(:timeout => timeout, :priority => :high)
|
35
|
-
end
|
36
|
-
|
37
|
-
# Public: Uses OCR result of the main menu area to generate our menu items array.
|
38
|
-
#
|
39
|
-
# Returns an array of the main menu items
|
40
|
-
def generate_menu_map()
|
41
|
-
ocr_text = dut.roi.text.main_menu_all_text.retrieve
|
42
|
-
|
43
|
-
# convert the entire string to upper case first
|
44
|
-
str_menu_all_text = ocr_text.upcase
|
45
|
-
# remove all spaces
|
46
|
-
str_menu_all_text = str_menu_all_text.gsub(/ /, '')
|
47
|
-
# we assume everything before 'WATCHTV' is garbage and can be trimmed
|
48
|
-
# str_menu_all_text = str_menu_all_text.gsub(/[.\s\S]*WATCHTV/, 'WATCHTV')
|
49
|
-
# we assume everything after 'SETTINGS' is garbage and can be trimmed
|
50
|
-
# str_menu_all_text = str_menu_all_text.gsub(/SETTINGS[.\s\S]*/, 'SETTINGS')
|
51
|
-
|
52
|
-
# let's split the string (lines) into an array
|
53
|
-
arMenuItems = str_menu_all_text.split(/[\n]/)
|
54
|
-
outputMenuItemsArray = []
|
55
|
-
arMenuItems.each do |m|
|
56
|
-
# clean up our text from ocr a little more
|
57
|
-
m = m.gsub(/\s/, '')
|
58
|
-
@menuItemsKeywords.each do |k|
|
59
|
-
# logger.info("m: #{m} k: #{k} score: #{get_string_similarity(k, m)}")
|
60
|
-
if get_string_similarity(k, m) >= 0.70
|
61
|
-
outputMenuItemsArray.push(k)
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
65
|
-
i = 0
|
66
|
-
outputMenuItemsArray.each do |mi|
|
67
|
-
logger.info("MAIN MENU ITEM #{i} -- #{mi}")
|
68
|
-
i += 1
|
69
|
-
end
|
70
|
-
outputMenuItemsArray
|
71
|
-
end
|
72
|
-
|
73
|
-
# Public: get menu item index in the @menuItems
|
74
|
-
#
|
75
|
-
# item_name: menu item name
|
76
|
-
#
|
77
|
-
# Returns the index value in @menuItems, -1 if the item cannot be found
|
78
|
-
def get_menu_item_index(item_name)
|
79
|
-
if (@menuItems.length == 0)
|
80
|
-
@menuItems = generate_menu_map
|
81
|
-
end
|
82
|
-
item_name = item_name.upcase.gsub(/ /, '')
|
83
|
-
i = 0
|
84
|
-
@menuItems.each do |mi|
|
85
|
-
if (item_name == mi)
|
86
|
-
return i
|
87
|
-
end
|
88
|
-
i += 1
|
89
|
-
end
|
90
|
-
-1
|
91
|
-
end
|
92
|
-
|
93
|
-
# Public: navigate to menu item in the main menu by providing the item name
|
94
|
-
#
|
95
|
-
# item_name: name of the item to navigate to
|
96
|
-
#
|
97
|
-
# Returns true if successful, false otherwise
|
98
|
-
def navigate_to_menu_item_by_name?(item_name)
|
99
|
-
if (@menuItems.length == 0)
|
100
|
-
@menuItems = generate_menu_map
|
101
|
-
end
|
102
|
-
idx = get_menu_item_index(item_name)
|
103
|
-
if (idx >= 0)
|
104
|
-
idx.times{dut.press_key.ARROW_DOWN(:sleep_time => 1000)}
|
105
|
-
dut.press_key.SELECT(:sleep_time => 0)
|
106
|
-
true
|
107
|
-
else
|
108
|
-
false
|
109
|
-
end
|
110
|
-
end
|
111
|
-
|
112
|
-
# Public: navigate to Watch TV via the main menu
|
113
|
-
#
|
114
|
-
# Returns true if successful, false otherwise
|
115
|
-
def navigate_to_watch_tv?
|
116
|
-
navigate_to_menu_item_by_name?("Watch TV")
|
117
|
-
end
|
118
|
-
|
119
|
-
# Public: navigate to Guide via the main menu
|
120
|
-
#
|
121
|
-
# Returns nothing.
|
122
|
-
def navigate_to_guide?
|
123
|
-
navigate_to_menu_item_by_name?("Guide")
|
124
|
-
end
|
125
|
-
|
126
|
-
# Public: navigate to DVR via the main menu
|
127
|
-
#
|
128
|
-
# Returns nothing.
|
129
|
-
def navigate_to_dvr?
|
130
|
-
navigate_to_menu_item_by_name?("DVR")
|
131
|
-
end
|
132
|
-
|
133
|
-
# Public: navigate to On Demand via the main menu
|
134
|
-
#
|
135
|
-
# Returns true if we naviagated to the On Demand screen
|
136
|
-
def navigate_to_on_demand?
|
137
|
-
navigate_to_menu_item_by_name?("On Demand")
|
138
|
-
end
|
139
|
-
|
140
|
-
# Public: navigate to Kids via the main menu
|
141
|
-
#
|
142
|
-
# Returns true if we found kids and clicked on select.
|
143
|
-
def navigate_to_kids?
|
144
|
-
navigate_to_menu_item_by_name?("Kids")
|
145
|
-
end
|
146
|
-
|
147
|
-
# Public: navigate to Search via the main menu
|
148
|
-
#
|
149
|
-
# Returns nothing.
|
150
|
-
def navigate_to_search?
|
151
|
-
navigate_to_menu_item_by_name?("Search")
|
152
|
-
end
|
153
|
-
|
154
|
-
# Public: navigate to Caller ID via the main menu
|
155
|
-
#
|
156
|
-
# Returns nothing.
|
157
|
-
def navigate_to_callerid?
|
158
|
-
navigate_to_menu_item_by_name?("Caller ID")
|
159
|
-
end
|
160
|
-
|
161
|
-
# Public: navigate to Settings via the main menu
|
162
|
-
#
|
163
|
-
# Returns true if we naviagated to the Settings screen
|
164
|
-
def navigate_to_settings?
|
165
|
-
navigate_to_menu_item_by_name?("Settings")
|
166
|
-
end
|
167
|
-
|
168
|
-
# Public: navigate to Feature Tour via the main menu
|
169
|
-
#
|
170
|
-
# Returns true if successful, false otherwise
|
171
|
-
def navigate_to_featuretour?
|
172
|
-
navigate_to_menu_item_by_name?("Feature Tour")
|
173
|
-
end
|
174
|
-
|
175
|
-
end
|
@@ -1,1170 +0,0 @@
|
|
1
|
-
require './lib/screen/stb/odn/odn_screen'
|
2
|
-
require './lib/keyboard/stb/odn/odn_on_demand_search_keyboard'
|
3
|
-
|
4
|
-
# DO NOT ADD DSL REQUIRES HERE. Load them in methods that need them, otherwise syntax completion will be slow.
|
5
|
-
|
6
|
-
# Defines Odn-specific methods on the OnDemand screen.
|
7
|
-
|
8
|
-
class OdnOnDemand < OdnScreen
|
9
|
-
|
10
|
-
def initialize(dut)
|
11
|
-
super(dut)
|
12
|
-
@keyboards << OdnOnDemandSearchKeyboard.new(dut)
|
13
|
-
end
|
14
|
-
|
15
|
-
# Public: To get the list asset details from output file in list of maps
|
16
|
-
#
|
17
|
-
#Author : Raghavendra
|
18
|
-
#
|
19
|
-
# file_name - The (default: "None")......... filename of Digital Smith output file
|
20
|
-
#
|
21
|
-
# Returns Hashmap of asset details fetched from digital smith server
|
22
|
-
def vod_fetch_asset_details_from_ds_output_file? (file_name="None")
|
23
|
-
begin
|
24
|
-
ds_output=read_from_file "#{file_name}"
|
25
|
-
ds_details_list=Array.new
|
26
|
-
ds_detail_hash=Hash.new
|
27
|
-
ds_output_line=ds_output.split("##")
|
28
|
-
ds_output_line.each do |each_line|
|
29
|
-
ds_values=each_line.split(",")
|
30
|
-
cid=ds_values[0]
|
31
|
-
asset_name=ds_values[1]
|
32
|
-
season_number=ds_values[2]
|
33
|
-
episode_number=ds_values[3]
|
34
|
-
title=ds_values[4]
|
35
|
-
package_id=ds_values[5]
|
36
|
-
start_date=ds_values[6]
|
37
|
-
end_date=ds_values[7]
|
38
|
-
cpid=ds_values[8]
|
39
|
-
prog_type=ds_values[9]
|
40
|
-
alphonso_flag=ds_values[10]
|
41
|
-
ds_flag=ds_values[11]
|
42
|
-
timestamp=ds_values[12]
|
43
|
-
pct=ds_values[13]
|
44
|
-
order_status=ds_values[14]
|
45
|
-
display_name=ds_values[15]
|
46
|
-
series_name=ds_values[16]
|
47
|
-
rootid=ds_values[17]
|
48
|
-
ds_detail_hash=Hash.new
|
49
|
-
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,
|
50
|
-
"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}
|
51
|
-
ds_details_list << ds_detail_hash
|
52
|
-
end
|
53
|
-
return ds_details_list
|
54
|
-
rescue => exception
|
55
|
-
loginfo "vod_fetch_asset_details_from_ds_output_file :: Failed Threw an exception"
|
56
|
-
loginfo exception.message
|
57
|
-
loginfo exception.backtrace
|
58
|
-
return nil
|
59
|
-
end
|
60
|
-
end
|
61
|
-
|
62
|
-
# Public: Convert the hasmap data to json and post it to TWB
|
63
|
-
#
|
64
|
-
# data - hash map containing all the key value pairs to post the data into TWB VOD report (default: nil).
|
65
|
-
#
|
66
|
-
#Author : Raghavendra
|
67
|
-
#
|
68
|
-
# Returns true if response status is 200 else returns false
|
69
|
-
def vod_upload_to_twb?(data=nil)
|
70
|
-
begin
|
71
|
-
require 'json'
|
72
|
-
require 'csv'
|
73
|
-
require 'net/http'
|
74
|
-
require 'net/https'
|
75
|
-
requestURL='https://twb.dev-charter.net/ords/preprod/vod/'
|
76
|
-
uri=URI.parse("#{requestURL}")
|
77
|
-
twbRequest=Net::HTTP::Post.new(uri.request_uri,'Content-Type' => 'application/json')
|
78
|
-
http = Net::HTTP.new(uri.host, uri.port)
|
79
|
-
http.use_ssl = (uri.scheme == "https")
|
80
|
-
jsonData=data.to_json
|
81
|
-
loginfo jsonData
|
82
|
-
twbRequest.body = jsonData
|
83
|
-
response=http.request(twbRequest)
|
84
|
-
if response.code=='200'
|
85
|
-
$progressStatus=100
|
86
|
-
return true
|
87
|
-
else
|
88
|
-
loginfo "vod_upload_to_twb :: Failed to upload to TWB"
|
89
|
-
loginfo "Response Code :: "+(response.code).to_s
|
90
|
-
loginfo "Response Body :: "+(response.body).to_s
|
91
|
-
return false
|
92
|
-
end
|
93
|
-
rescue => exception
|
94
|
-
loginfo "vod_upload_to_twb :: Threw an exception"
|
95
|
-
loginfo exception.message
|
96
|
-
loginfo exception.backtrace
|
97
|
-
end
|
98
|
-
end
|
99
|
-
|
100
|
-
# Public: To fetch all the asset details like banner presence,view option,price,playback status for movies
|
101
|
-
#
|
102
|
-
# Author : Raghavendra
|
103
|
-
#
|
104
|
-
# is_series - flag t (default: false).o indicate the asset being manipulated is a series or not
|
105
|
-
#
|
106
|
-
# Returns hash of all the details retrieved
|
107
|
-
def vod_fetch_asset_details?(is_series=false)
|
108
|
-
begin
|
109
|
-
########
|
110
|
-
#Step-1# Assign all default values to the attributes to be posted to TWB vod report
|
111
|
-
########
|
112
|
-
title=dut.roi.text.odn_asset_overview_asset_name.retrieve
|
113
|
-
quantity='1'
|
114
|
-
price='0.00'
|
115
|
-
view_option='NA'
|
116
|
-
playback_status='NA'
|
117
|
-
banner_presence='ABSENT'
|
118
|
-
status='PRESENT'
|
119
|
-
season_number='NA'
|
120
|
-
episode_number='NA'
|
121
|
-
episode_name='NA'
|
122
|
-
play_trick_status='NA'
|
123
|
-
########
|
124
|
-
#Step-2# Fetch the text displayed for the first button to determine the view option provided for the asset
|
125
|
-
########
|
126
|
-
if(is_series)
|
127
|
-
view_option_text=dut.roi.text.odn_asset_overview_season_text.retrieve
|
128
|
-
else
|
129
|
-
view_option_text=dut.roi.text.odn_movie_asset_view_option.retrieve
|
130
|
-
end
|
131
|
-
view_option_text=view_option_text.downcase
|
132
|
-
########
|
133
|
-
#Step-3# Following conditions will determine what kind of view_option is provided for the current asset based on the text retrieved
|
134
|
-
########
|
135
|
-
if view_option_text.include? "watch"
|
136
|
-
if view_option_text.include? "add"
|
137
|
-
if view_option_text.index('add') > view_option_text.index('watch')
|
138
|
-
view_option='WATCH'
|
139
|
-
else
|
140
|
-
view_option='ADD TO WATCHLIST'
|
141
|
-
end
|
142
|
-
else
|
143
|
-
view_option='WATCH'
|
144
|
-
end
|
145
|
-
elsif view_option_text.include? "restart"
|
146
|
-
view_option='RESTART'
|
147
|
-
elsif view_option_text.include? "season"
|
148
|
-
view_option='BROWSE EPISODES'
|
149
|
-
elsif view_option_text.include? "rent"
|
150
|
-
view_option='RENT'
|
151
|
-
#If the view option is rent then the price is also retrieved from the text
|
152
|
-
rent_text=dut.roi.text.asset_overview_rent_price_text.retrieve
|
153
|
-
ind=rent_text.index('$')
|
154
|
-
if ind=='nil'
|
155
|
-
price='0.00'
|
156
|
-
else
|
157
|
-
price=view_option_text[ind..ind+5]
|
158
|
-
price=view_option_text.delete("^.0-9")
|
159
|
-
end
|
160
|
-
end
|
161
|
-
########
|
162
|
-
#Step-4# Determine whether poster/banner is displayed for the asset
|
163
|
-
########
|
164
|
-
if dut.roi.image.odn_asset_with_no_banner.displayed?(:timeout => 7000)
|
165
|
-
banner_presence='ABSENT'
|
166
|
-
else
|
167
|
-
banner_presence='PRESENT'
|
168
|
-
end
|
169
|
-
########
|
170
|
-
#Step-5# Determine whether the asset is playable if the option provided is watch
|
171
|
-
########
|
172
|
-
if view_option=='WATCH' or view_option=='RESTART'
|
173
|
-
dut.press_key('select', :sleep_time=>3.sec)
|
174
|
-
if dut.roi.image.asset_resume_option_image.displayed?(:timeout => 5000)
|
175
|
-
dut.press_key('select', :sleep_time=>3.sec)
|
176
|
-
end
|
177
|
-
if dut.roi.video.odn_fullscreen_motion.displayed?(:timeout => 7000)
|
178
|
-
playback_status='PLAYABLE'
|
179
|
-
else
|
180
|
-
playback_status='NOT PLAYABLE'
|
181
|
-
end
|
182
|
-
dut.press_key('stop', :sleep_time=>3.sec)
|
183
|
-
end
|
184
|
-
########
|
185
|
-
#Step-6# Form the hash of the all the attributes collected till now
|
186
|
-
########
|
187
|
-
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}"}
|
188
|
-
loginfo assetDetailHash
|
189
|
-
return assetDetailHash
|
190
|
-
rescue => exception
|
191
|
-
loginfo "fetch_asset_details :: Threw an Exception"
|
192
|
-
loginfo exception.message
|
193
|
-
loginfo exception.backtrace
|
194
|
-
return nil
|
195
|
-
end
|
196
|
-
end
|
197
|
-
|
198
|
-
# Public: To search for the episode based on episode name, number and season number
|
199
|
-
#
|
200
|
-
# Author : Raghavendra
|
201
|
-
#
|
202
|
-
# episode_name - Name of the episode to be searched for
|
203
|
-
# episode_number - Episode number of the episode to be searched
|
204
|
-
# season_number - season number of the episode to be searched
|
205
|
-
#
|
206
|
-
# Returns hash of all the status flags
|
207
|
-
def vod_verify_episode_present?(episode_name,episode_number,season_number)
|
208
|
-
current_episode_name="Current"
|
209
|
-
prev_episode_name="Previous"
|
210
|
-
episode_name_ret=""
|
211
|
-
episode_num_ret=""
|
212
|
-
season_num_ret=""
|
213
|
-
season_num_episode_num=""
|
214
|
-
episode_name_status=false
|
215
|
-
episode_number_status=false
|
216
|
-
season_number_status=false
|
217
|
-
is_on_demand=false
|
218
|
-
episode_list=Array.new
|
219
|
-
begin
|
220
|
-
# eliminating the special characters if any
|
221
|
-
episode_name=episode_name.to_s
|
222
|
-
forb_chars = ['<', '>', ':', '"', '/', '\\', '|', '?', '*', ',','&','-','_',".","!","'"]
|
223
|
-
forb_chars.each do |char|
|
224
|
-
episode_name=episode_name.sub("#{char}","")
|
225
|
-
end
|
226
|
-
episode_name_roi = dut.roi.text.new(:x => 753, :y => 362, :width => 719, :height => 73, :similarity => 80, :text => "#{episode_name}", :preprocessing => 8, :only_digits => false, :ref_img => "")
|
227
|
-
episode_number=episode_number.to_s
|
228
|
-
#Pre-requisite : Control should be present on asset overview page
|
229
|
-
view_option_text=dut.roi.text.odn_asset_overview_season_text.retrieve
|
230
|
-
view_option_text=view_option_text.downcase
|
231
|
-
if view_option_text.include? "season"
|
232
|
-
loginfo "Browse Episode Option Is present"
|
233
|
-
else
|
234
|
-
raise "vod_verify_episode_present :: Option to browse episode is absent; season listing label is absent"
|
235
|
-
end
|
236
|
-
if episode_number.length > 0
|
237
|
-
raise "vod_verify_episode_present :: Season Not Found" unless dut.screens.on_demand.vod_goto_particular_season?(season = "#{season_number}")
|
238
|
-
end
|
239
|
-
while (episode_list.include? "#{current_episode_name}")==false
|
240
|
-
episode_name_ret=dut.roi.text.episode_name_episode_listing_text.retrieve
|
241
|
-
loginfo "Retrieved Episode Name "+episode_name_ret
|
242
|
-
episode_name_ret=episode_name_ret.to_s
|
243
|
-
forb_chars = ['<', '>', ':', '"', '/', '\\', '|', '?', '*', ',','&','-','_',".","!","'"]
|
244
|
-
forb_chars.each do |char|
|
245
|
-
episode_name_ret=episode_name_ret.sub("#{char}","")
|
246
|
-
end
|
247
|
-
episode_list << episode_name_ret
|
248
|
-
episode_num_ret=dut.roi.text.episode_number_episode_lisitng_text.retrieve
|
249
|
-
season_num_ret=dut.roi.text.odn_asset_overview_season_text.retrieve
|
250
|
-
loginfo "Season Number Retrieved #{season_num_ret}"
|
251
|
-
loginfo "Episode Number Retrieved #{episode_num_ret}"
|
252
|
-
if (episode_name_roi.displayed?(:timeout => 5.sec))
|
253
|
-
episode_name_status=true
|
254
|
-
end
|
255
|
-
if episode_name_status
|
256
|
-
loginfo "Episode Found"
|
257
|
-
#break
|
258
|
-
end
|
259
|
-
if(season_num_ret.include?("Season "+season_number.to_s))
|
260
|
-
season_number_status=true
|
261
|
-
loginfo "season_number"
|
262
|
-
loginfo season_num_ret
|
263
|
-
else
|
264
|
-
raise "vod_verify_episode_present :: Searched all the episodes in the season , Episode not found"
|
265
|
-
end
|
266
|
-
if(episode_num_ret.include?("Ep "+episode_number.to_s))
|
267
|
-
episode_number_status=true
|
268
|
-
loginfo "episode number is "
|
269
|
-
loginfo episode_number
|
270
|
-
loginfo "episode number matched "
|
271
|
-
end
|
272
|
-
if (season_number_status==true and episode_number_status==true) or episode_name_status==true
|
273
|
-
loginfo "episode matched"
|
274
|
-
is_on_demand=dut.roi.text.episode_on_demand_indicator_text.retrieve
|
275
|
-
if is_on_demand.include? "Demand"
|
276
|
-
is_on_demand=true
|
277
|
-
else
|
278
|
-
is_on_demand=false
|
279
|
-
end
|
280
|
-
break
|
281
|
-
end
|
282
|
-
dut.press_key('down_arrow', :sleep_time=>3.sec)
|
283
|
-
press_select_text=dut.roi.text.episodes_collapsed_select_text.retrieve
|
284
|
-
if(press_select_text.include? "Press SELECT")
|
285
|
-
press_select_text=''
|
286
|
-
dut.press_key('select', :sleep_time=>3.sec)
|
287
|
-
end
|
288
|
-
current_episode_name=episode_name_roi.retrieve
|
289
|
-
current_episode_name=current_episode_name.to_s
|
290
|
-
forb_chars.each do |char|
|
291
|
-
current_episode_name=current_episode_name.sub("#{char}","")
|
292
|
-
end
|
293
|
-
end
|
294
|
-
if episode_name_status==false and (season_number_status==false or episode_number_status==false)
|
295
|
-
loginfo episode_list
|
296
|
-
raise "vod_verify_episode_present :: Episode Not Found"
|
297
|
-
end
|
298
|
-
episode_found_details={"episode_name"=>episode_name_status,"episode_number"=>episode_number_status,"season_number"=>season_number_status,"is_on_demand"=>is_on_demand}
|
299
|
-
return episode_found_details
|
300
|
-
rescue => exception
|
301
|
-
loginfo "vod_verify_episode_present : : Threw an exception"
|
302
|
-
loginfo exception.message
|
303
|
-
loginfo exception.backtrace
|
304
|
-
return nil
|
305
|
-
end
|
306
|
-
end
|
307
|
-
|
308
|
-
# Public: Get list of c3 assets from the deluxe server and store it in a txt file
|
309
|
-
#
|
310
|
-
#Author : Raghavendra
|
311
|
-
#
|
312
|
-
# output_file_name - Name of the file where the data fetched from the server has to be saved to (default: nil).
|
313
|
-
#
|
314
|
-
# Returns list of c3 asset details fetched from deluxe server
|
315
|
-
def vod_get_asset_id_list_deluxe?(output_file_name=nil)
|
316
|
-
require 'json'
|
317
|
-
require 'net/http'
|
318
|
-
require 'net/https'
|
319
|
-
require 'set'
|
320
|
-
require 'uri'
|
321
|
-
###############
|
322
|
-
#Pre_requisite# store deluxe asset url,create set to store details and return,summary line,page number,next page available flag
|
323
|
-
###############
|
324
|
-
deluxe_asset_query_url='https://hal.d3nw.com/customer_api/v1/titles?'
|
325
|
-
id_list=Set.new
|
326
|
-
page = 1
|
327
|
-
next_page_available = true
|
328
|
-
########
|
329
|
-
#Step-1# Get window start date, window end date
|
330
|
-
########
|
331
|
-
licensing_window_start_date_gteq, licensing_window_start_date_lteq, licensing_window_end_date = dut.screens.on_demand.vod_get_start_end_date?
|
332
|
-
########
|
333
|
-
#Step-2# Get the deluxe server access token
|
334
|
-
########
|
335
|
-
deluxe_access_token=dut.screens.on_demand.vod_get_deluxe_access_token?
|
336
|
-
########
|
337
|
-
#Step-3# Contruct file name to store the assets details fetched from deluxe server
|
338
|
-
########
|
339
|
-
deluxe_file_name="#{output_file_name}"
|
340
|
-
########
|
341
|
-
#Step-4# Using the file name created in above step write empty line into file just to create the file
|
342
|
-
########
|
343
|
-
loginfo 'Deluxe File Name= '+deluxe_file_name
|
344
|
-
########
|
345
|
-
#Step-5# Rerquest the deluxe server for 500 pages of data page by page and extract the c3 asset details till nothing is returned
|
346
|
-
########
|
347
|
-
while (next_page_available)
|
348
|
-
begin
|
349
|
-
loginfo 'Getting Page :' + (page).to_s
|
350
|
-
##########
|
351
|
-
#Step-5.1# Parse the URL of the deluxe server and store it in a URI object
|
352
|
-
##########
|
353
|
-
deluxe_asset_list_uri=URI.parse("#{deluxe_asset_query_url}")
|
354
|
-
##########
|
355
|
-
#Step-5.2# Contruct the URL with required window star tand end date parameteres and page number too
|
356
|
-
##########
|
357
|
-
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('&')
|
358
|
-
##########
|
359
|
-
#Step-5.4# Create a http request object from the uri object created
|
360
|
-
##########
|
361
|
-
deluxe_asset_list_request=Net::HTTP::Get.new(deluxe_asset_list_uri.request_uri)
|
362
|
-
##########
|
363
|
-
#Step-5.5# Create a http object to process the request object and get the reponse
|
364
|
-
##########
|
365
|
-
http = Net::HTTP.new(deluxe_asset_list_uri.host, deluxe_asset_list_uri.port)
|
366
|
-
##########
|
367
|
-
#Step-5.6# set the ssl as true iff the url provided as https in it
|
368
|
-
##########
|
369
|
-
http.use_ssl = (deluxe_asset_list_uri.scheme == "https")
|
370
|
-
##########
|
371
|
-
#Step-5.6# Set the authorization parameter as the deluxe server access token
|
372
|
-
##########
|
373
|
-
deluxe_asset_list_request["authorization"] = 'Bearer ' + "#{deluxe_access_token}"
|
374
|
-
##########
|
375
|
-
#Step-5.7# Process the request and get the reponse into response object
|
376
|
-
##########
|
377
|
-
response=http.request(deluxe_asset_list_request)
|
378
|
-
##########
|
379
|
-
#Step-5.8# Verify if the response is not null
|
380
|
-
##########
|
381
|
-
if (response.read_body).length <=2
|
382
|
-
next_page_available=false
|
383
|
-
break#break from while loop
|
384
|
-
else
|
385
|
-
next_page_available=true
|
386
|
-
deluxe_response=response.read_body
|
387
|
-
end#End if block
|
388
|
-
##########
|
389
|
-
#Step-5.9# Parse the response into an JSON object and store it into data object
|
390
|
-
##########
|
391
|
-
data=JSON.parse(deluxe_response)
|
392
|
-
##########
|
393
|
-
#Step-5.10# Retrieve all the required c3 asset details from json data from the response received
|
394
|
-
##########
|
395
|
-
for i in 0..((data).size-1)
|
396
|
-
if(data[i]['sla_type_code']=='c3' || data[i]['sla_type_code']=='c3-lt-60' || data[i]['sla_type_code']=='c3-gt-60')
|
397
|
-
loginfo 'Found a C3 Asset'
|
398
|
-
dname= data[i]['display_name'].to_s
|
399
|
-
assetID= (data[i]['cablelabs_asset_id']).to_s
|
400
|
-
cpid = (data[i]['cablelabs_provider_id']).to_s
|
401
|
-
pct = (data[i]['custom_data']['provider_content_tier']).to_s
|
402
|
-
license_start = (data[i]['licensing_window_start_date']).to_s
|
403
|
-
license_end = (data[i]['licensing_window_end_date']).to_s
|
404
|
-
if data[i]['status'] != nil
|
405
|
-
order_status = (data[i]['status']).to_s
|
406
|
-
else
|
407
|
-
order_status="NULL"
|
408
|
-
end
|
409
|
-
if data[i]['display_name'] != nil
|
410
|
-
display_name = (data[i]['display_name']).to_s
|
411
|
-
else
|
412
|
-
display_name="NULL"
|
413
|
-
end
|
414
|
-
if data[i]['series_name'] != nil
|
415
|
-
series_name = (data[i]['series_name']).to_s
|
416
|
-
else
|
417
|
-
series_name="NULL"
|
418
|
-
end
|
419
|
-
msg = assetID + ',' + cpid + ',' + pct + ',' + license_start + ',' + license_end + ',' + order_status + ',' + display_name + ',' + series_name
|
420
|
-
loginfo msg
|
421
|
-
id_list.add(msg)
|
422
|
-
end#End if block
|
423
|
-
end#End of for loop
|
424
|
-
page=page+1
|
425
|
-
|
426
|
-
loginfo id_list.size
|
427
|
-
create_file=true
|
428
|
-
id_list.each do |n|
|
429
|
-
if(create_file)
|
430
|
-
create_file=false
|
431
|
-
write_to_file "#{deluxe_file_name}", n+"##"
|
432
|
-
else
|
433
|
-
append_to_file "#{deluxe_file_name}", n+"##"
|
434
|
-
end
|
435
|
-
end#for each loop
|
436
|
-
rescue => exception
|
437
|
-
loginfo 'Exception occured while fetching c3 asset details from deluxe server'
|
438
|
-
loginfo exception.message
|
439
|
-
loginfo exception.backtrace
|
440
|
-
break#break out of while loop on exception
|
441
|
-
end
|
442
|
-
end
|
443
|
-
$summary_line=$summary_line+ ',' + ((id_list).size).to_s
|
444
|
-
return id_list
|
445
|
-
end
|
446
|
-
|
447
|
-
# Public: To verify the presence of c3 deluxe asset ids from deluxe server in alphonso server
|
448
|
-
#
|
449
|
-
#Author : Raghavendra
|
450
|
-
#
|
451
|
-
#Todo : Create a Map to put all the details in it and return that metadata map to use reporting
|
452
|
-
#
|
453
|
-
# deluxe_asset_id_list - C3 ID LIST fetched from DELUXE server
|
454
|
-
# output_file_name - Name of the file where the data fetched form server has to be stored (default: nil).
|
455
|
-
#
|
456
|
-
# Returns List of c3 deluxe asset ids found alphonso
|
457
|
-
def vod_search_deluxe_asset_id_in_alphonso? (deluxe_asset_id_list,output_file_name=nil)
|
458
|
-
require 'json'
|
459
|
-
require 'net/http'
|
460
|
-
require 'net/https'
|
461
|
-
require 'set'
|
462
|
-
require 'uri'
|
463
|
-
err_msg_asset_not_found='Can not fetch Assets for AssetId Query Params'
|
464
|
-
cableID_list = Set.new
|
465
|
-
missing_cableID_list=Set.new
|
466
|
-
cable_asset_id_set = Set.new
|
467
|
-
missing_asset_counter = 0
|
468
|
-
alphonso_twb_url = "https://twb.dev-charter.net/alphonso/vod/adis/search"
|
469
|
-
head_end = "st_louis"
|
470
|
-
alphonso_output_file="#{output_file_name}"
|
471
|
-
loginfo 'Searching assets in Alphonso'
|
472
|
-
deluxe_asset_id_list.each do |cable_id|
|
473
|
-
begin
|
474
|
-
cableID=cpid=pct=licenseStart=licenseEnd=nil
|
475
|
-
id_list=(cable_id.to_s).split(",")
|
476
|
-
cableID = id_list[0]
|
477
|
-
cpid = id_list[1]
|
478
|
-
pct = id_list[2]
|
479
|
-
license_start = id_list[3]
|
480
|
-
license_end = id_list[4]
|
481
|
-
order_status=id_list[5]
|
482
|
-
display_name=id_list[6]
|
483
|
-
series_name=id_list[7]
|
484
|
-
licenseStart=license_start
|
485
|
-
(licenseStart.to_s)["T"]="-"
|
486
|
-
m=licenseStart.index(".")
|
487
|
-
licenseStart=licenseStart[0..m.to_i]
|
488
|
-
licenseEnd=license_end
|
489
|
-
(licenseEnd.to_s)["T"]="-"
|
490
|
-
m=licenseEnd.index(".")
|
491
|
-
licenseEnd=licenseEnd[0..m.to_i]
|
492
|
-
cableID_list.add(cableID)
|
493
|
-
rescue =>exception
|
494
|
-
loginfo "********INSIDE ID_LIST PARSING RESCUE BLOCK*********"
|
495
|
-
loginfo 'Following Exception Thrown'+exception.message
|
496
|
-
if exception.message.include? "string not matched"
|
497
|
-
loginfo 'Following Record Missing End Date'+cable_id.to_s
|
498
|
-
loginfo 'Adding the record to the cabled id list'
|
499
|
-
cableID_list.add(cableID)
|
500
|
-
end
|
501
|
-
loginfo 'Following is the exception Backtrace'
|
502
|
-
loginfo exception.backtrace
|
503
|
-
loginfo "********END OF ID_LIST PARSING RESCUE BLOCK*********"
|
504
|
-
end
|
505
|
-
begin
|
506
|
-
alphonso_uri=URI.parse("#{alphonso_twb_url}")
|
507
|
-
alphonso_uri.query=[alphonso_uri.query, "titleAssetId=#{cableID}", "headend=#{head_end}"].compact.join('&')
|
508
|
-
alphonso_request=Net::HTTP::Get.new(alphonso_uri.request_uri)
|
509
|
-
http = Net::HTTP.new(alphonso_uri.host, alphonso_uri.port)
|
510
|
-
http.use_ssl = (alphonso_uri.scheme == "https")
|
511
|
-
alphonso_response=http.request(alphonso_request)
|
512
|
-
alphonso_res_txt=alphonso_response.body
|
513
|
-
json_data=JSON.parse(alphonso_res_txt)
|
514
|
-
if (json_data['message']!=nil)
|
515
|
-
loginfo 'Following Asset not found in Alphonso :: '+json_data.to_s
|
516
|
-
missing_asset_counter=missing_asset_counter+1
|
517
|
-
missing_cableID_list.add(cableID)
|
518
|
-
nline=cableID+","+"null"+","+licenseStart.to_s+","+licenseEnd.to_s+","+cpid.to_s+","+"No" + ',' + pct.to_s+ ',' + order_status + ','+ display_name + ',' + series_name
|
519
|
-
cable_asset_id_set.add(nline)
|
520
|
-
else
|
521
|
-
loginfo 'Asset Found in Alphonso'
|
522
|
-
loginfo 'Response From Alphonso when Asset Found'
|
523
|
-
loginfo json_data.to_s
|
524
|
-
var=json_data['content']
|
525
|
-
listnew=var[0]
|
526
|
-
aId=listnew['assetId']
|
527
|
-
providerID=cpid
|
528
|
-
pct=pct
|
529
|
-
nline=cableID+","+aId+","+licenseStart+","+licenseEnd+","+providerID+","+"Yes" + ',' + pct+ ',' + order_status + ','+ display_name + ',' + series_name
|
530
|
-
cable_asset_id_set.add(nline)
|
531
|
-
end
|
532
|
-
rescue => exception
|
533
|
-
loginfo "********INSIDE RESCUE BLOCK*********"
|
534
|
-
loginfo 'Following Exception Thrown'+exception.message
|
535
|
-
loginfo 'Following is the exception Backtrace'
|
536
|
-
loginfo exception.backtrace
|
537
|
-
loginfo "********END OF RESCUE BLOCK*********"
|
538
|
-
end
|
539
|
-
end
|
540
|
-
loginfo 'Total Number of Assets in Deluxe ='+(deluxe_asset_id_list.length).to_s
|
541
|
-
loginfo 'Total Number of Assets Found in Alphonso ='+(cable_asset_id_set.length).to_s
|
542
|
-
loginfo 'Total Number of Assets Not Found in Alphonso='+(missing_cableID_list.length).to_s
|
543
|
-
loginfo 'Missing Assets Counter='+(missing_asset_counter).to_s
|
544
|
-
missing_cableID_list.each do |missing_cable_id|
|
545
|
-
loginfo missing_cable_id.to_s
|
546
|
-
end
|
547
|
-
loginfo 'Details of Assets Found in Alphonso'
|
548
|
-
create_file=true
|
549
|
-
cable_asset_id_set.each do |each_cable_asset_detail|
|
550
|
-
if (create_file)
|
551
|
-
create_file =false
|
552
|
-
write_to_file "#{alphonso_output_file}", "#{each_cable_asset_detail}"+'##'
|
553
|
-
else
|
554
|
-
append_to_file "#{alphonso_output_file}", "#{each_cable_asset_detail}"+'##'
|
555
|
-
end
|
556
|
-
end
|
557
|
-
loginfo 'Output of the details pushed to Alphonso Output file'
|
558
|
-
loginfo read_from_file "#{alphonso_output_file}"
|
559
|
-
$summary_line = $summary_line + ',' + ((cableID_list).length - missing_asset_counter).to_s
|
560
|
-
loginfo "Alphonso Summary Line :: "+$summary_line
|
561
|
-
end
|
562
|
-
|
563
|
-
# Public: Verify the list of c3 assets from Deluxe server in digital smith
|
564
|
-
#
|
565
|
-
#Author : Raghavendra
|
566
|
-
#
|
567
|
-
# output_file_name - Name of the file where the output needs to be saved (default: nil).
|
568
|
-
# alphonso_file_name - Name of the output file where alphonso server d (default: nil).........ata is saved
|
569
|
-
#
|
570
|
-
# Returns None
|
571
|
-
def vod_search_deluxe_asset_id_in_digitalsmith?(output_file_name=nil,alphonso_file_name=nil)
|
572
|
-
require 'date'
|
573
|
-
require 'json'
|
574
|
-
require 'net/http'
|
575
|
-
require 'net/https'
|
576
|
-
require 'set'
|
577
|
-
require 'uri'
|
578
|
-
asset_name = ""
|
579
|
-
title = ""
|
580
|
-
season_number = ""
|
581
|
-
episode_number = ""
|
582
|
-
package_id = ""
|
583
|
-
missing_asset_counter = 0
|
584
|
-
ds_missing_counter = 0
|
585
|
-
rootId="NULL"
|
586
|
-
ds_missing_assets = Array.new
|
587
|
-
c3_input_list = Array.new
|
588
|
-
c3_input_file="#{output_file_name}"
|
589
|
-
alphonso_assets_lines=(read_from_file "#{alphonso_file_name}").split("##")
|
590
|
-
loginfo 'Number of lines in Alphonso Output File = '+(alphonso_assets_lines.length).to_s
|
591
|
-
alphonso_assets_lines.pop
|
592
|
-
alphonso_assets_lines.each do |each_line|
|
593
|
-
loginfo 'Current Line :: '+each_line.to_s
|
594
|
-
time=DateTime.now
|
595
|
-
timestamp=DateTime.now
|
596
|
-
timestamp=(timestamp).to_s
|
597
|
-
linelist=each_line.split(",")
|
598
|
-
package_id=(linelist[1]).to_s
|
599
|
-
cID=(linelist[0]).to_s
|
600
|
-
alphonso_Flag=linelist[5]
|
601
|
-
deluxe_flag ="Yes"
|
602
|
-
pct = linelist[6]
|
603
|
-
order_status=linelist[7]
|
604
|
-
display_name=linelist[8]
|
605
|
-
series_name=linelist[9]
|
606
|
-
if(pct==nil)
|
607
|
-
pct='Null'
|
608
|
-
end
|
609
|
-
cpid = linelist[4]
|
610
|
-
begin
|
611
|
-
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'
|
612
|
-
loginfo 'DS URL = '+ds_new_url
|
613
|
-
ds_uri=URI.parse(ds_new_url)
|
614
|
-
ds_request=Net::HTTP::Get.new(ds_uri.request_uri)
|
615
|
-
http = Net::HTTP.new(ds_uri.host, ds_uri.port)
|
616
|
-
http.use_ssl = (ds_uri.scheme == "https")
|
617
|
-
response=http.request(ds_request)
|
618
|
-
json_data=JSON.parse(response.body)
|
619
|
-
loginfo 'Response from Digital Smith Server'
|
620
|
-
loginfo json_data
|
621
|
-
begin
|
622
|
-
found_prog_type = false
|
623
|
-
loginfo 'DATA_HITS LENGTH'+(json_data["hits"].length).to_s
|
624
|
-
if json_data["hits"].length == 0
|
625
|
-
if package_id.length > 0
|
626
|
-
ds_missing_assets << package_id
|
627
|
-
end
|
628
|
-
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
|
629
|
-
c3_input_list << line
|
630
|
-
ds_missing_counter += 1
|
631
|
-
rootId="NULL"
|
632
|
-
else
|
633
|
-
data_hits=json_data["hits"]
|
634
|
-
loginfo 'DATA HITS'
|
635
|
-
loginfo data_hits
|
636
|
-
if data_hits.size == 2
|
637
|
-
content=data_hits[1]
|
638
|
-
elsif data_hits.size == 1
|
639
|
-
content=data_hits[0]
|
640
|
-
end
|
641
|
-
metadata=content["metadata"]
|
642
|
-
asset_name=metadata["title"]
|
643
|
-
forb_chars = ['<', '>', ':', '"', '/', '\\', '|', '?', '*', ',','&','-','_',".","!","'"]
|
644
|
-
forb_chars.each do |char|
|
645
|
-
asset_name=asset_name.delete("#{char}")
|
646
|
-
end
|
647
|
-
if(metadata["rootId"]!=nil)
|
648
|
-
rootId=metadata["rootId"].to_s
|
649
|
-
else
|
650
|
-
rootId="NULL"
|
651
|
-
end
|
652
|
-
if(metadata["progType"]!= nil and metadata["progType"].to_s=='Series' and metadata["episodeInfo"] != nil)
|
653
|
-
if(metadata["episodeInfo"]["title"]!=nil)
|
654
|
-
title = metadata["episodeInfo"]["title"]
|
655
|
-
forb_chars.each do |char|
|
656
|
-
title=title.delete("#{char}")
|
657
|
-
end
|
658
|
-
else
|
659
|
-
title="NULL"
|
660
|
-
end
|
661
|
-
if(metadata["episodeInfo"]["season"]!=nil)
|
662
|
-
season_number = metadata["episodeInfo"]["season"]
|
663
|
-
episode_number = metadata["episodeInfo"]["number"]
|
664
|
-
else
|
665
|
-
season_number = 'Null'
|
666
|
-
episode_number = 'Null'
|
667
|
-
end
|
668
|
-
found_prog_type = true
|
669
|
-
end
|
670
|
-
if(metadata["progType"]!=nil)
|
671
|
-
if(metadata["progType"].to_s=="Special")
|
672
|
-
title=metadata["progType"].to_s
|
673
|
-
forb_chars.each do |char|
|
674
|
-
title=title.delete("#{char}")
|
675
|
-
end
|
676
|
-
episode_number = "Null"
|
677
|
-
season_number = "Null"
|
678
|
-
end
|
679
|
-
if(metadata["progType"].to_s=="Feature Film")
|
680
|
-
title = "Null"
|
681
|
-
episode_number = "Null"
|
682
|
-
season_number = "Null"
|
683
|
-
end
|
684
|
-
found_prog_type = true
|
685
|
-
end
|
686
|
-
if found_prog_type==true and asset_name !=nil
|
687
|
-
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
|
688
|
-
c3_input_list <<(line)
|
689
|
-
rootId="NULL"
|
690
|
-
else
|
691
|
-
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
|
692
|
-
c3_input_list <<(line)
|
693
|
-
rootId="NULL"
|
694
|
-
end
|
695
|
-
end #End Else Part
|
696
|
-
rescue => exception
|
697
|
-
loginfo 'Start Rescue :: Exception Occured in Metadata Parsing'
|
698
|
-
loginfo exception.message
|
699
|
-
loginfo exception.backtrace
|
700
|
-
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
|
701
|
-
loginfo "Package ID :: "+package_id
|
702
|
-
c3_input_list <<(line)
|
703
|
-
rootId="NULL"
|
704
|
-
loginfo 'End Rescue :: Exception Occured in Metadata Parsing'
|
705
|
-
end
|
706
|
-
rescue => exception
|
707
|
-
loginfo 'Start Rescue :: Exception Occurred while requesting ds server for asset details'
|
708
|
-
loginfo 'DS URL = '+ds_new_url
|
709
|
-
loginfo 'PACKAGE ID = '+package_id
|
710
|
-
loginfo exception.message
|
711
|
-
loginfo exception.backtrace
|
712
|
-
loginfo 'End Rescue :: Exception Occurred while requesting ds server for asset details'
|
713
|
-
end #End of Rescue block
|
714
|
-
end #END of for each loop alphonso_assets_lines
|
715
|
-
create_file=true
|
716
|
-
c3_input_list.each do |each_line|
|
717
|
-
if(create_file)
|
718
|
-
create_file=false
|
719
|
-
write_to_file "#{c3_input_file}", "#{each_line}"+"##"
|
720
|
-
else
|
721
|
-
append_to_file "#{c3_input_file}", "#{each_line}"+"##"
|
722
|
-
end
|
723
|
-
end
|
724
|
-
loginfo "MISSING ASSET FROM DS COUNTER :: "+((ds_missing_counter).to_s)
|
725
|
-
loginfo "C3 LENGTH :: " + ((c3_input_list).size).to_s
|
726
|
-
loginfo "DS MISSING ASSETS ARE"
|
727
|
-
loginfo ds_missing_assets
|
728
|
-
$summary_line = $summary_line + ',' + ((c3_input_list).size - ds_missing_counter.to_i).to_s
|
729
|
-
loginfo 'Summary Line :: ' + $summary_line
|
730
|
-
end
|
731
|
-
|
732
|
-
# Public: Get start date and end dates for fetching the assets from Deluxe server
|
733
|
-
#
|
734
|
-
#Author : Raghavendra
|
735
|
-
#
|
736
|
-
# Returns licensing_window_start_date_lteq licensing_window_start_date_gteq licensing_window_end_date
|
737
|
-
def vod_get_start_end_date?
|
738
|
-
###############
|
739
|
-
#Pre_requisite# Import required libraries for parsing json response and sending http/https requests
|
740
|
-
###############
|
741
|
-
require 'date'
|
742
|
-
begin
|
743
|
-
########
|
744
|
-
#Step-1# Get current date time
|
745
|
-
########
|
746
|
-
now=DateTime.now
|
747
|
-
########
|
748
|
-
#Step-2# Using the current date compute by adding 3 days to it
|
749
|
-
########
|
750
|
-
end_date=now+3
|
751
|
-
########
|
752
|
-
#Step-3# Cast the date object to string and store it in start_date
|
753
|
-
########
|
754
|
-
start_date = now.to_s
|
755
|
-
########
|
756
|
-
#Step-4# Compute the licensing window start date by adding one day to current date
|
757
|
-
########
|
758
|
-
licensing_window_start_date_lteq=now+1
|
759
|
-
########
|
760
|
-
#Step-5# cast the end date to string type and store it in the same variable
|
761
|
-
########
|
762
|
-
end_date = (end_date).to_s
|
763
|
-
########
|
764
|
-
#Step-6# Cast the licensing window start date lteq to string and save it in same variable
|
765
|
-
########
|
766
|
-
licensing_window_start_date_lteq=(licensing_window_start_date_lteq).to_s
|
767
|
-
########
|
768
|
-
#Step-7# To have the time start from 00:00 convert the value to string and append it by the desired time value
|
769
|
-
########
|
770
|
-
licensing_window_start_date_gteq = (start_date.split("T"))[0] + 'T' + '00:00.000Z'
|
771
|
-
licensing_window_start_date_lteq = (licensing_window_start_date_lteq.split("T"))[0] + 'T' + '00:00.000Z'
|
772
|
-
licensing_window_end_date =end_date.split("T")[0] +'T' + '00:00.000Z'
|
773
|
-
loginfo 'licensing_window_start_date_gteq='+licensing_window_start_date_gteq
|
774
|
-
loginfo 'licensing_window_start_date_lteq='+licensing_window_start_date_lteq
|
775
|
-
loginfo 'licensing_window_end_date='+licensing_window_end_date
|
776
|
-
return licensing_window_start_date_gteq,licensing_window_start_date_lteq,licensing_window_end_date
|
777
|
-
rescue => exception
|
778
|
-
loginfo "********INSIDE RESCUE BLOCK*********"
|
779
|
-
loginfo exception.message
|
780
|
-
loginfo exception.backtrace
|
781
|
-
loginfo "********END OF RESCUE BLOCK*********"
|
782
|
-
return false
|
783
|
-
end
|
784
|
-
end
|
785
|
-
|
786
|
-
# Public: Return an access token for deluxe server accessing
|
787
|
-
#
|
788
|
-
# Author : Raghavendra
|
789
|
-
#
|
790
|
-
# Returns deluxe server access token
|
791
|
-
def vod_get_deluxe_access_token?
|
792
|
-
###############
|
793
|
-
#Pre_requisite# Import required libraries for parsing json response and sending http/https requests
|
794
|
-
###############
|
795
|
-
require 'json'
|
796
|
-
require 'net/http'
|
797
|
-
require 'net/https'
|
798
|
-
###############
|
799
|
-
#Pre_requisite# Store the request url and data parameters required to process the request
|
800
|
-
###############
|
801
|
-
request_url='https://hal.d3nw.com/oauth/token'
|
802
|
-
access_token_pay_load='client_id=3b49048555817a021af1726310c383cadee4717967378e81351dddc0dee425c1&client_secret=69956582eb4211d48d000802df7c24d3cacbf67b4e307e3c88de9004edbb9152&grant_type=client_credentials'
|
803
|
-
begin
|
804
|
-
########
|
805
|
-
#Step-1# Parse the input request url and create a URI object
|
806
|
-
########
|
807
|
-
access_token_uri=URI.parse("#{request_url}")
|
808
|
-
########
|
809
|
-
#Step-2# Create a request object with uri and content-type as the parameters
|
810
|
-
########
|
811
|
-
access_token_request=Net::HTTP::Post.new(access_token_uri.request_uri,'Content-Type' => 'application/x-www-form-urlencoded')
|
812
|
-
########
|
813
|
-
#Step-3# Create an http object and set the port and host with respect to the URI object
|
814
|
-
########
|
815
|
-
http = Net::HTTP.new(access_token_uri.host, access_token_uri.port)
|
816
|
-
########
|
817
|
-
#Step-4# Enable use_ssl property for the http object if the uri scheme is a https
|
818
|
-
########
|
819
|
-
http.use_ssl = (access_token_uri.scheme == "https")
|
820
|
-
########
|
821
|
-
#Step-5# Set the request body and send the pay load stored before in pre-requisite step
|
822
|
-
########
|
823
|
-
access_token_request.body="#{access_token_pay_load}"
|
824
|
-
########
|
825
|
-
#Step-6# process the the request and store the response in a response object for further reference
|
826
|
-
########
|
827
|
-
access_token_response=http.request(access_token_request)
|
828
|
-
loginfo "***********************************************"
|
829
|
-
loginfo access_token_response.code
|
830
|
-
loginfo access_token_response.body
|
831
|
-
loginfo "***********************************************"
|
832
|
-
########
|
833
|
-
#Step-7# Check if response status is 200 then retrieve the access token value and return it else return false
|
834
|
-
########
|
835
|
-
if access_token_response.code=='200'
|
836
|
-
json_response=JSON.parse(access_token_response.body)
|
837
|
-
loginfo 'Access Token = '+json_response['access_token']
|
838
|
-
return json_response['access_token']
|
839
|
-
else
|
840
|
-
return false
|
841
|
-
end
|
842
|
-
rescue => exception
|
843
|
-
loginfo "vod_get_deluxe_access_token :: Threw An exception"
|
844
|
-
loginfo exception.message
|
845
|
-
loginfo exception.backtrace
|
846
|
-
return false
|
847
|
-
end #End of rescue block
|
848
|
-
end
|
849
|
-
|
850
|
-
# Public: To navigate to particular season
|
851
|
-
#
|
852
|
-
# Author : Raghavendra
|
853
|
-
#
|
854
|
-
# season - Season number (default: nil).... to search for
|
855
|
-
#
|
856
|
-
# Returns true on success
|
857
|
-
def vod_goto_particular_season?(season=nil)
|
858
|
-
current_season="current"
|
859
|
-
previous_season="prev"
|
860
|
-
season=season.delete("^0-9")
|
861
|
-
season="Season "+season.to_s
|
862
|
-
begin
|
863
|
-
while(current_season)!=season
|
864
|
-
collapsed_episode_text=dut.roi.text.episodes_collapsed_select_text.retrieve
|
865
|
-
if(collapsed_episode_text).include? "ress SELECT"
|
866
|
-
season_text_roi=dut.roi.text.new(:x => 556, :y => 373, :width => 163, :height => 59, :similarity => 80, :text => "", :preprocessing => 6, :only_digits => false, :ref_img => "")
|
867
|
-
else
|
868
|
-
season_text_roi=dut.roi.text.new(:x => 553, :y => 318, :width => 1093, :height => 42, :similarity => 80, :text => "", :preprocessing => 0, :only_digits => false, :ref_img => "")
|
869
|
-
end
|
870
|
-
current_season=season_text_roi.retrieve
|
871
|
-
if(current_season==previous_season)
|
872
|
-
if(collapsed_episode_text).include? "ress SELECT"
|
873
|
-
raise "vod_goto_particular_season :: Reached End Of Season List ; Season not Found"
|
874
|
-
elsif(collapsed_episode_text).include? "Other Ep"
|
875
|
-
raise "vod_goto_particular_season :: Reached End Of Season List ; Season not Found"
|
876
|
-
end
|
877
|
-
end
|
878
|
-
loginfo "vod_goto_particular_season :: Comparing Season #{current_season} == #{season}"
|
879
|
-
if(current_season==season)
|
880
|
-
loginfo "vod_goto_particular_season :: Season Found"
|
881
|
-
if(collapsed_episode_text).include? "ress SELECT"
|
882
|
-
dut.press_key('select', :sleep_time=>3.sec)
|
883
|
-
end
|
884
|
-
return true
|
885
|
-
else
|
886
|
-
previous_season=current_season
|
887
|
-
dut.press_key('down_arrow', :sleep_time=>5.sec)
|
888
|
-
end
|
889
|
-
end
|
890
|
-
raise "vod_goto_particular_season :: Episode not Found"
|
891
|
-
rescue => exception
|
892
|
-
loginfo "vod_goto_particular_season :: Threw an exception"
|
893
|
-
loginfo exception.message
|
894
|
-
loginfo exception.backtrace
|
895
|
-
return false
|
896
|
-
end
|
897
|
-
end
|
898
|
-
|
899
|
-
# Public: Update c3 backend validation report data to TWB
|
900
|
-
#
|
901
|
-
#Author : Raghavendra
|
902
|
-
#
|
903
|
-
# ds_output_file_name - File name where DS upd (default: "None")......ated status is stored
|
904
|
-
# report_name - Name of the report that needs to be created on TWB (default: "None").
|
905
|
-
#
|
906
|
-
# Returns false if TWB update fails or any exception is thrown else returns true
|
907
|
-
def vod_c3_backend_update_twb?(ds_output_file_name="None",report_name="None")
|
908
|
-
begin
|
909
|
-
fileName="#{report_name}"
|
910
|
-
data=Hash.new
|
911
|
-
ds_lines=(read_from_file "#{ds_output_file_name}").split("##")
|
912
|
-
ds_lines.pop
|
913
|
-
ds_lines.each do |each_line|
|
914
|
-
f=each_line.split(",")
|
915
|
-
caid=f[0]
|
916
|
-
title = f[1]
|
917
|
-
season=f[2]
|
918
|
-
episode=f[3]
|
919
|
-
episode_name = f[4]
|
920
|
-
paid=f[5]
|
921
|
-
licenseStart=f[6]
|
922
|
-
licenseEnd=f[7]
|
923
|
-
pid=f[8]
|
924
|
-
category = f[9]
|
925
|
-
alphonso=f[10]
|
926
|
-
ds_status=f[11]
|
927
|
-
timestmp=f[12]
|
928
|
-
pct = f[13]
|
929
|
-
root_id=f[14]
|
930
|
-
quantity = "NA"
|
931
|
-
price = "0"
|
932
|
-
view_option = "NA"
|
933
|
-
screenshot_string = "{\"images\":[]}"
|
934
|
-
data={"report_name"=> fileName,
|
935
|
-
"category"=> category,
|
936
|
-
"title"=> title,
|
937
|
-
"season_number"=> season,
|
938
|
-
"episode_number"=> episode,
|
939
|
-
"episode_name"=> episode_name,
|
940
|
-
"quantity"=> 1,
|
941
|
-
"price"=> price.to_f,
|
942
|
-
"view_option"=> view_option,
|
943
|
-
"deluxe_status" =>ds_status,
|
944
|
-
"alphonso_status"=> alphonso,
|
945
|
-
"status"=> "-",
|
946
|
-
"assetQuality"=>"HD",
|
947
|
-
"duplicate"=>"",
|
948
|
-
"pid"=>pid,
|
949
|
-
"paid"=>paid,
|
950
|
-
"license_start_date"=>licenseStart,
|
951
|
-
"license_end_date"=>licenseEnd,
|
952
|
-
"display_timestamp"=>timestmp,
|
953
|
-
"caid" => caid,
|
954
|
-
"provider_content_tier" => pct,
|
955
|
-
"progress" => $progressStatus,
|
956
|
-
"screenshots" => screenshot_string,
|
957
|
-
"root_id"=>root_id
|
958
|
-
}
|
959
|
-
raise("vod_c3_backend_update_twb :: TWB Update failed") unless dut.screens.on_demand.vod_upload_to_twb?(data = data)
|
960
|
-
data.clear
|
961
|
-
end
|
962
|
-
return true
|
963
|
-
rescue => exception
|
964
|
-
loginfo "vod_c3_backend_update_twb :: Failed Threw and exception"
|
965
|
-
loginfo exception.message
|
966
|
-
loginfo exception.backtrace
|
967
|
-
return false
|
968
|
-
end
|
969
|
-
end
|
970
|
-
# Public: Navigates to On Demand from Live TV.
|
971
|
-
#
|
972
|
-
# Returns nothing.
|
973
|
-
def navigate_from_live_tv
|
974
|
-
dut.screens.main_menu.navigate_from_live_tv
|
975
|
-
dut.screens.main_menu.navigate_to_on_demand?
|
976
|
-
end
|
977
|
-
|
978
|
-
# Public: Check if the On Demand Page is displayed.
|
979
|
-
#
|
980
|
-
# timeout - Integer total milliseconds to check before timing out (default: 10.sec).
|
981
|
-
#
|
982
|
-
# Returns Boolean true/false if On Demand Page is/is not displayed
|
983
|
-
def displayed?(args={})
|
984
|
-
timeout = args.fetch(:timeout, 10.sec)
|
985
|
-
dut.roi.text.ondemand.displayed?(:timeout => timeout, :priority => :high)
|
986
|
-
end
|
987
|
-
|
988
|
-
# Public: get current menu item name of the on demand screen
|
989
|
-
#
|
990
|
-
# Return the name of the current menu item name, or empty string if we failed to get the name
|
991
|
-
def get_menu_item_name
|
992
|
-
raw_menu_item_name = dut.roi.text.ondemand_menu_item_name.retrieve
|
993
|
-
if raw_menu_item_name =~ /<\s*(.*[\S])\s*>/
|
994
|
-
$1
|
995
|
-
else
|
996
|
-
""
|
997
|
-
end
|
998
|
-
end
|
999
|
-
|
1000
|
-
# Public: get current tab name of the On Demand screen
|
1001
|
-
#
|
1002
|
-
# Return the name of the current tab name, or empty string if we failed to get the name
|
1003
|
-
def get_tab_name
|
1004
|
-
raw_tab_name = dut.roi.text.ondemand_tab_name.retrieve
|
1005
|
-
if raw_tab_name =~ /<\s*(.*[\S])\s*>/
|
1006
|
-
$1
|
1007
|
-
else
|
1008
|
-
""
|
1009
|
-
end
|
1010
|
-
end
|
1011
|
-
|
1012
|
-
# Public: navigate to the menu item with the name user provided
|
1013
|
-
#
|
1014
|
-
# menu_item_name: name of menu item user wants to navigate to (case insensitive)
|
1015
|
-
# :max_move: max number of times we should press the up arrow key before giving up (default is 15)
|
1016
|
-
#
|
1017
|
-
# Example
|
1018
|
-
#
|
1019
|
-
# navigate_to_menu_item?("ALL MOVIES")
|
1020
|
-
#
|
1021
|
-
# navigate_to_menu_item?("NEW RELEASE", :max_move => 15)
|
1022
|
-
#
|
1023
|
-
# Return true we sucessfully navigated to the desired menu item, false otherwise
|
1024
|
-
def navigate_to_menu_item?(menu_item_name, args={})
|
1025
|
-
menu_item_name_upcased = menu_item_name.upcase
|
1026
|
-
max_move = args.fetch(:max_move, 15)
|
1027
|
-
|
1028
|
-
curr_menu_item_name = get_menu_item_name.upcase
|
1029
|
-
i = 0
|
1030
|
-
while (curr_menu_item_name != menu_item_name_upcased) && (i < max_move)
|
1031
|
-
dut.press_key.ARROW_UP(:sleep_time => 3.sec)
|
1032
|
-
curr_menu_item_name = get_menu_item_name.upcase
|
1033
|
-
i += 1
|
1034
|
-
end
|
1035
|
-
curr_menu_item_name == menu_item_name_upcased
|
1036
|
-
end
|
1037
|
-
|
1038
|
-
# Public: navigate to the tab with the name user provided
|
1039
|
-
#
|
1040
|
-
# tab_name: name of settings tab user wants to navigate to (case insensitive)
|
1041
|
-
# :max_move: max number of times we should press the right arrow key before giving up (default is 15)
|
1042
|
-
#
|
1043
|
-
# Example
|
1044
|
-
#
|
1045
|
-
# navigate_to_tab?("DISPLAY")
|
1046
|
-
#
|
1047
|
-
# navigate_to_tab?("FAVORITE CHANNELS", :max_move => 15)
|
1048
|
-
#
|
1049
|
-
# Return true we sucessfully navigated to the desired tab, false otherwise
|
1050
|
-
def navigate_to_tab?(tab_name, args={})
|
1051
|
-
tab_name_upcased = tab_name.upcase
|
1052
|
-
max_move = args.fetch(:max_move, 15)
|
1053
|
-
|
1054
|
-
curr_tab_name = get_tab_name.upcase
|
1055
|
-
i = 0
|
1056
|
-
while (curr_tab_name != tab_name_upcased) && (i < max_move)
|
1057
|
-
dut.press_key.ARROW_RIGHT(:sleep_time => 3.sec)
|
1058
|
-
curr_tab_name = get_tab_name.upcase
|
1059
|
-
i += 1
|
1060
|
-
end
|
1061
|
-
curr_tab_name == tab_name_upcased
|
1062
|
-
end
|
1063
|
-
|
1064
|
-
# Public: navigate to the sub-category with the name provided by the user
|
1065
|
-
#
|
1066
|
-
# category_name - name of the category we need to navigate to
|
1067
|
-
#
|
1068
|
-
# return true if successful, false otherwise
|
1069
|
-
def navigate_to_sub_category?(category_name)
|
1070
|
-
logger.info("navigating to sub-category #{category_name}")
|
1071
|
-
|
1072
|
-
arr_categories = []
|
1073
|
-
prev_cat = ""
|
1074
|
-
cat1 = dut.roi.text.vod_portal_front_page_sub_category_row1.retrieve
|
1075
|
-
while (prev_cat != cat1)
|
1076
|
-
arr_categories.push(cat1)
|
1077
|
-
prev_cat = cat1
|
1078
|
-
dut.press_key.ARROW_DOWN( :sleep_time => 1.sec )
|
1079
|
-
cat1 = dut.roi.text.vod_portal_front_page_sub_category_row1.retrieve
|
1080
|
-
if (arr_categories.length == 1 and cat1 == prev_cat)
|
1081
|
-
dut.press_key.ARROW_DOWN( :sleep_time => 600 )
|
1082
|
-
cat1 = dut.roi.text.vod_portal_front_page_sub_category_row1.retrieve
|
1083
|
-
end
|
1084
|
-
end
|
1085
|
-
last_cat = dut.roi.text.vod_portal_front_page_sub_category_row2.retrieve
|
1086
|
-
if (last_cat != cat1)
|
1087
|
-
arr_categories.push(last_cat)
|
1088
|
-
end
|
1089
|
-
|
1090
|
-
i = 0
|
1091
|
-
arr_categories.each do |c|
|
1092
|
-
logger.info("#{i} -- #{c}")
|
1093
|
-
i += 1
|
1094
|
-
end
|
1095
|
-
|
1096
|
-
i = 0
|
1097
|
-
i_target = -1
|
1098
|
-
arr_categories.each do |c|
|
1099
|
-
if (get_string_similarity(c, category_name) >= 0.80)
|
1100
|
-
i_target = i
|
1101
|
-
break
|
1102
|
-
end
|
1103
|
-
i += 1
|
1104
|
-
end
|
1105
|
-
|
1106
|
-
if (i_target >= 0)
|
1107
|
-
num_arraow_up = arr_categories.length - i_target - 1
|
1108
|
-
logger.info("going back up #{num_arraow_up} times")
|
1109
|
-
num_arraow_up.times{ dut.press_key.ARROW_UP(:sleep_time => 500) }
|
1110
|
-
final_cat = dut.roi.text.vod_portal_front_page_sub_category_row1.retrieve
|
1111
|
-
logger.info("Category cursor stopped at '#{final_cat}'")
|
1112
|
-
true
|
1113
|
-
else
|
1114
|
-
logger.info("Failed to locate the expected category '#{category_name}'")
|
1115
|
-
false
|
1116
|
-
end
|
1117
|
-
|
1118
|
-
end
|
1119
|
-
|
1120
|
-
# Public: keep moving left until the left menu is displayed
|
1121
|
-
#
|
1122
|
-
# Returns true if the left menu is displayed, otherwise false
|
1123
|
-
def open_left_menu?()
|
1124
|
-
8.times do
|
1125
|
-
return true if dut.screens.on_demand_left_menu.displayed?
|
1126
|
-
dut.press_key.ARROW_LEFT
|
1127
|
-
end
|
1128
|
-
false
|
1129
|
-
end
|
1130
|
-
|
1131
|
-
# Public: Use it to play or resume an asset
|
1132
|
-
#
|
1133
|
-
# * *Args* :
|
1134
|
-
# - +options+ -> Array of acceptable options e.g. 'Buy', Resume or 'Play'
|
1135
|
-
# - +pin_check+ -> check for pin screen true/false
|
1136
|
-
#
|
1137
|
-
# Returns true if successful else false
|
1138
|
-
def vp_screen_play_or_resume_asset2? options=['Watch', 'Rent', 'Rent SD', 'Rent HD', 'Resume', 'Play'], pin_check=false, options_check=false, whole_house_check=false,viewing_option='Play HD'
|
1139
|
-
logger.info("Play or resume asset", :screenshot => true)
|
1140
|
-
dut.key_press.SELECT(:sleep_time => 3.sec) unless vod_portal_product_first_menu_item_highlighted?
|
1141
|
-
dut.key_press.SELECT(:sleep_time => 3.sec) if vod_portal_product_first_menu_item_highlighted?
|
1142
|
-
dut.key_press.SELECT(:sleep_time => 3.sec) if dut.roi.text.vod_resume.displayed?
|
1143
|
-
true
|
1144
|
-
end
|
1145
|
-
|
1146
|
-
# Public: Use it to verify if the first product page menu item is highlighted
|
1147
|
-
#
|
1148
|
-
# * *Args* :
|
1149
|
-
# - +d_color+ -> e.g. 'New'
|
1150
|
-
#
|
1151
|
-
# Returns true if the first menu item is highlighted else false
|
1152
|
-
def vod_portal_product_first_menu_item_highlighted? d_color='New'
|
1153
|
-
found=false
|
1154
|
-
if d_color=='New' or d_color=='Either'
|
1155
|
-
color_rgb='0:97:148'
|
1156
|
-
found = dut.roi.color.vod_portal_product_menu_item_highlight_new.displayed?
|
1157
|
-
end
|
1158
|
-
if ((found==false) and (d_color=='Classic' or d_color=='Either'))
|
1159
|
-
color_rgb='197:160:56'
|
1160
|
-
found = dut.roi.color.vod_portal_product_menu_item_highlight_classic.displayed?
|
1161
|
-
end
|
1162
|
-
if found
|
1163
|
-
logger.info("VOD product page menu item IS highlighted style=#{d_color}, Color=#{color_rgb}, Region=#{search_region},", :screenshot => true)
|
1164
|
-
else
|
1165
|
-
logger.info("VOD product page menu item is NOT highlighted style=#{d_color}, Color=#{color_rgb}, Region=#{search_region},", :screenshot => true)
|
1166
|
-
end
|
1167
|
-
found
|
1168
|
-
end
|
1169
|
-
|
1170
|
-
end
|