framework_gem 0.1.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.
Files changed (872) hide show
  1. checksums.yaml +7 -0
  2. data/lib/EXECUTION_ENGINE.md +282 -0
  3. data/lib/Gemfile +12 -0
  4. data/lib/README.md +138 -0
  5. data/lib/User_Lib/helpers/helpers.rb +13 -0
  6. data/lib/User_Lib/rois/apple_tv/apple_tv_1080/apple_tv_1080_black_rois.rb +7 -0
  7. data/lib/User_Lib/rois/apple_tv/apple_tv_1080/apple_tv_1080_color_rois.rb +9 -0
  8. data/lib/User_Lib/rois/apple_tv/apple_tv_1080/apple_tv_1080_image_rois.rb +7 -0
  9. data/lib/User_Lib/rois/apple_tv/apple_tv_1080/apple_tv_1080_rois.rb +23 -0
  10. data/lib/User_Lib/rois/apple_tv/apple_tv_1080/apple_tv_1080_text_rois.rb +48 -0
  11. data/lib/User_Lib/rois/apple_tv/apple_tv_1080/apple_tv_1080_video_rois.rb +11 -0
  12. data/lib/User_Lib/rois/apple_tv/apple_tv_720/apple_tv_720_black_rois.rb +7 -0
  13. data/lib/User_Lib/rois/apple_tv/apple_tv_720/apple_tv_720_color_rois.rb +7 -0
  14. data/lib/User_Lib/rois/apple_tv/apple_tv_720/apple_tv_720_image_rois.rb +7 -0
  15. data/lib/User_Lib/rois/apple_tv/apple_tv_720/apple_tv_720_rois.rb +23 -0
  16. data/lib/User_Lib/rois/apple_tv/apple_tv_720/apple_tv_720_text_rois.rb +7 -0
  17. data/lib/User_Lib/rois/apple_tv/apple_tv_720/apple_tv_720_video_rois.rb +11 -0
  18. data/lib/User_Lib/rois/apple_tv/apple_tv_black_rois.rb +7 -0
  19. data/lib/User_Lib/rois/apple_tv/apple_tv_color_rois.rb +7 -0
  20. data/lib/User_Lib/rois/apple_tv/apple_tv_image_rois.rb +7 -0
  21. data/lib/User_Lib/rois/apple_tv/apple_tv_rois.rb +23 -0
  22. data/lib/User_Lib/rois/apple_tv/apple_tv_text_rois.rb +7 -0
  23. data/lib/User_Lib/rois/apple_tv/apple_tv_video_rois.rb +7 -0
  24. data/lib/User_Lib/rois/black_rois.rb +33 -0
  25. data/lib/User_Lib/rois/color_rois.rb +38 -0
  26. data/lib/User_Lib/rois/dta/dta_1080/dta_1080_black_rois.rb +8 -0
  27. data/lib/User_Lib/rois/dta/dta_1080/dta_1080_color_rois.rb +8 -0
  28. data/lib/User_Lib/rois/dta/dta_1080/dta_1080_image_rois.rb +8 -0
  29. data/lib/User_Lib/rois/dta/dta_1080/dta_1080_rois.rb +26 -0
  30. data/lib/User_Lib/rois/dta/dta_1080/dta_1080_text_rois.rb +8 -0
  31. data/lib/User_Lib/rois/dta/dta_1080/dta_1080_video_rois.rb +8 -0
  32. data/lib/User_Lib/rois/dta/dta_720/dta_720_black_rois.rb +8 -0
  33. data/lib/User_Lib/rois/dta/dta_720/dta_720_color_rois.rb +8 -0
  34. data/lib/User_Lib/rois/dta/dta_720/dta_720_image_rois.rb +8 -0
  35. data/lib/User_Lib/rois/dta/dta_720/dta_720_rois.rb +26 -0
  36. data/lib/User_Lib/rois/dta/dta_720/dta_720_text_rois.rb +8 -0
  37. data/lib/User_Lib/rois/dta/dta_720/dta_720_video_rois.rb +8 -0
  38. data/lib/User_Lib/rois/dta/dta_black_rois.rb +9 -0
  39. data/lib/User_Lib/rois/dta/dta_color_rois.rb +9 -0
  40. data/lib/User_Lib/rois/dta/dta_image_rois.rb +9 -0
  41. data/lib/User_Lib/rois/dta/dta_rois.rb +26 -0
  42. data/lib/User_Lib/rois/dta/dta_text_rois.rb +9 -0
  43. data/lib/User_Lib/rois/dta/dta_video_rois.rb +9 -0
  44. data/lib/User_Lib/rois/image_rois.rb +38 -0
  45. data/lib/User_Lib/rois/mdn/mdn_1080/mdn_1080_black_rois.rb +8 -0
  46. data/lib/User_Lib/rois/mdn/mdn_1080/mdn_1080_color_rois.rb +8 -0
  47. data/lib/User_Lib/rois/mdn/mdn_1080/mdn_1080_image_rois.rb +8 -0
  48. data/lib/User_Lib/rois/mdn/mdn_1080/mdn_1080_rois.rb +26 -0
  49. data/lib/User_Lib/rois/mdn/mdn_1080/mdn_1080_text_rois.rb +8 -0
  50. data/lib/User_Lib/rois/mdn/mdn_1080/mdn_1080_video_rois.rb +8 -0
  51. data/lib/User_Lib/rois/mdn/mdn_720/mdn_720_black_rois.rb +8 -0
  52. data/lib/User_Lib/rois/mdn/mdn_720/mdn_720_color_rois.rb +8 -0
  53. data/lib/User_Lib/rois/mdn/mdn_720/mdn_720_image_rois.rb +8 -0
  54. data/lib/User_Lib/rois/mdn/mdn_720/mdn_720_rois.rb +26 -0
  55. data/lib/User_Lib/rois/mdn/mdn_720/mdn_720_text_rois.rb +8 -0
  56. data/lib/User_Lib/rois/mdn/mdn_720/mdn_720_video_rois.rb +8 -0
  57. data/lib/User_Lib/rois/mdn/mdn_black_rois.rb +9 -0
  58. data/lib/User_Lib/rois/mdn/mdn_color_rois.rb +9 -0
  59. data/lib/User_Lib/rois/mdn/mdn_image_rois.rb +9 -0
  60. data/lib/User_Lib/rois/mdn/mdn_rois.rb +26 -0
  61. data/lib/User_Lib/rois/mdn/mdn_text_rois.rb +13 -0
  62. data/lib/User_Lib/rois/mdn/mdn_video_rois.rb +9 -0
  63. data/lib/User_Lib/rois/mobile/android/android_black_rois.rb +8 -0
  64. data/lib/User_Lib/rois/mobile/android/android_color_rois.rb +8 -0
  65. data/lib/User_Lib/rois/mobile/android/android_image_rois.rb +8 -0
  66. data/lib/User_Lib/rois/mobile/android/android_phone/android_phone_black_rois.rb +8 -0
  67. data/lib/User_Lib/rois/mobile/android/android_phone/android_phone_color_rois.rb +8 -0
  68. data/lib/User_Lib/rois/mobile/android/android_phone/android_phone_image_rois.rb +43 -0
  69. data/lib/User_Lib/rois/mobile/android/android_phone/android_phone_rois.rb +22 -0
  70. data/lib/User_Lib/rois/mobile/android/android_phone/android_phone_text_rois.rb +8 -0
  71. data/lib/User_Lib/rois/mobile/android/android_phone/android_phone_video_rois.rb +8 -0
  72. data/lib/User_Lib/rois/mobile/android/android_rois.rb +22 -0
  73. data/lib/User_Lib/rois/mobile/android/android_tablet/android_tablet_black_rois.rb +8 -0
  74. data/lib/User_Lib/rois/mobile/android/android_tablet/android_tablet_color_rois.rb +8 -0
  75. data/lib/User_Lib/rois/mobile/android/android_tablet/android_tablet_image_rois.rb +54 -0
  76. data/lib/User_Lib/rois/mobile/android/android_tablet/android_tablet_rois.rb +22 -0
  77. data/lib/User_Lib/rois/mobile/android/android_tablet/android_tablet_text_rois.rb +8 -0
  78. data/lib/User_Lib/rois/mobile/android/android_tablet/android_tablet_video_rois.rb +8 -0
  79. data/lib/User_Lib/rois/mobile/android/android_text_rois.rb +8 -0
  80. data/lib/User_Lib/rois/mobile/android/android_video_rois.rb +8 -0
  81. data/lib/User_Lib/rois/mobile/ios/ios_black_rois.rb +8 -0
  82. data/lib/User_Lib/rois/mobile/ios/ios_color_rois.rb +8 -0
  83. data/lib/User_Lib/rois/mobile/ios/ios_image_rois.rb +8 -0
  84. data/lib/User_Lib/rois/mobile/ios/ios_phone/ios_phone_black_rois.rb +8 -0
  85. data/lib/User_Lib/rois/mobile/ios/ios_phone/ios_phone_color_rois.rb +8 -0
  86. data/lib/User_Lib/rois/mobile/ios/ios_phone/ios_phone_image_rois.rb +8 -0
  87. data/lib/User_Lib/rois/mobile/ios/ios_phone/ios_phone_rois.rb +22 -0
  88. data/lib/User_Lib/rois/mobile/ios/ios_phone/ios_phone_text_rois.rb +8 -0
  89. data/lib/User_Lib/rois/mobile/ios/ios_phone/ios_phone_video_rois.rb +8 -0
  90. data/lib/User_Lib/rois/mobile/ios/ios_rois.rb +22 -0
  91. data/lib/User_Lib/rois/mobile/ios/ios_tablet/ios_tablet_black_rois.rb +8 -0
  92. data/lib/User_Lib/rois/mobile/ios/ios_tablet/ios_tablet_color_rois.rb +8 -0
  93. data/lib/User_Lib/rois/mobile/ios/ios_tablet/ios_tablet_image_rois.rb +8 -0
  94. data/lib/User_Lib/rois/mobile/ios/ios_tablet/ios_tablet_rois.rb +22 -0
  95. data/lib/User_Lib/rois/mobile/ios/ios_tablet/ios_tablet_text_rois.rb +8 -0
  96. data/lib/User_Lib/rois/mobile/ios/ios_tablet/ios_tablet_video_rois.rb +8 -0
  97. data/lib/User_Lib/rois/mobile/ios/ios_text_rois.rb +8 -0
  98. data/lib/User_Lib/rois/mobile/ios/ios_video_rois.rb +8 -0
  99. data/lib/User_Lib/rois/mobile/mobile_black_rois.rb +8 -0
  100. data/lib/User_Lib/rois/mobile/mobile_color_rois.rb +12 -0
  101. data/lib/User_Lib/rois/mobile/mobile_image_rois.rb +38 -0
  102. data/lib/User_Lib/rois/mobile/mobile_rois.rb +22 -0
  103. data/lib/User_Lib/rois/mobile/mobile_text_rois.rb +8 -0
  104. data/lib/User_Lib/rois/mobile/mobile_video_rois.rb +8 -0
  105. data/lib/User_Lib/rois/passport/passport_1080/passport_1080_black_rois.rb +7 -0
  106. data/lib/User_Lib/rois/passport/passport_1080/passport_1080_color_rois.rb +9 -0
  107. data/lib/User_Lib/rois/passport/passport_1080/passport_1080_image_rois.rb +7 -0
  108. data/lib/User_Lib/rois/passport/passport_1080/passport_1080_rois.rb +23 -0
  109. data/lib/User_Lib/rois/passport/passport_1080/passport_1080_text_rois.rb +8 -0
  110. data/lib/User_Lib/rois/passport/passport_1080/passport_1080_video_rois.rb +8 -0
  111. data/lib/User_Lib/rois/passport/passport_720/passport_720_black_rois.rb +7 -0
  112. data/lib/User_Lib/rois/passport/passport_720/passport_720_color_rois.rb +7 -0
  113. data/lib/User_Lib/rois/passport/passport_720/passport_720_image_rois.rb +7 -0
  114. data/lib/User_Lib/rois/passport/passport_720/passport_720_rois.rb +23 -0
  115. data/lib/User_Lib/rois/passport/passport_720/passport_720_text_rois.rb +7 -0
  116. data/lib/User_Lib/rois/passport/passport_720/passport_720_video_rois.rb +7 -0
  117. data/lib/User_Lib/rois/passport/passport_black_rois.rb +7 -0
  118. data/lib/User_Lib/rois/passport/passport_color_rois.rb +7 -0
  119. data/lib/User_Lib/rois/passport/passport_image_rois.rb +7 -0
  120. data/lib/User_Lib/rois/passport/passport_rois.rb +23 -0
  121. data/lib/User_Lib/rois/passport/passport_text_rois.rb +7 -0
  122. data/lib/User_Lib/rois/passport/passport_video_rois.rb +7 -0
  123. data/lib/User_Lib/rois/rois.rb +22 -0
  124. data/lib/User_Lib/rois/roku/roku_720/roku_720_black_rois.rb +37 -0
  125. data/lib/User_Lib/rois/roku/roku_720/roku_720_color_rois.rb +336 -0
  126. data/lib/User_Lib/rois/roku/roku_720/roku_720_image_rois.rb +235 -0
  127. data/lib/User_Lib/rois/roku/roku_720/roku_720_rois.rb +23 -0
  128. data/lib/User_Lib/rois/roku/roku_720/roku_720_text_rois.rb +1523 -0
  129. data/lib/User_Lib/rois/roku/roku_720/roku_720_video_rois.rb +32 -0
  130. data/lib/User_Lib/rois/roku/roku_black_rois.rb +14 -0
  131. data/lib/User_Lib/rois/roku/roku_color_rois.rb +9 -0
  132. data/lib/User_Lib/rois/roku/roku_image_rois.rb +13 -0
  133. data/lib/User_Lib/rois/roku/roku_rois.rb +23 -0
  134. data/lib/User_Lib/rois/roku/roku_text_rois.rb +9 -0
  135. data/lib/User_Lib/rois/roku/roku_video_rois.rb +9 -0
  136. data/lib/User_Lib/rois/roku_tv/roku_tv_1080/roku_tv_1080_black_rois.rb +12 -0
  137. data/lib/User_Lib/rois/roku_tv/roku_tv_1080/roku_tv_1080_color_rois.rb +11 -0
  138. data/lib/User_Lib/rois/roku_tv/roku_tv_1080/roku_tv_1080_image_rois.rb +12 -0
  139. data/lib/User_Lib/rois/roku_tv/roku_tv_1080/roku_tv_1080_rois.rb +23 -0
  140. data/lib/User_Lib/rois/roku_tv/roku_tv_1080/roku_tv_1080_text_rois.rb +12 -0
  141. data/lib/User_Lib/rois/roku_tv/roku_tv_1080/roku_tv_1080_video_rois.rb +12 -0
  142. data/lib/User_Lib/rois/roku_tv/roku_tv_720/roku_tv_720_black_rois.rb +12 -0
  143. data/lib/User_Lib/rois/roku_tv/roku_tv_720/roku_tv_720_color_rois.rb +12 -0
  144. data/lib/User_Lib/rois/roku_tv/roku_tv_720/roku_tv_720_image_rois.rb +12 -0
  145. data/lib/User_Lib/rois/roku_tv/roku_tv_720/roku_tv_720_rois.rb +23 -0
  146. data/lib/User_Lib/rois/roku_tv/roku_tv_720/roku_tv_720_text_rois.rb +12 -0
  147. data/lib/User_Lib/rois/roku_tv/roku_tv_720/roku_tv_720_video_rois.rb +12 -0
  148. data/lib/User_Lib/rois/roku_tv/roku_tv_black_rois.rb +12 -0
  149. data/lib/User_Lib/rois/roku_tv/roku_tv_color_rois.rb +12 -0
  150. data/lib/User_Lib/rois/roku_tv/roku_tv_image_rois.rb +12 -0
  151. data/lib/User_Lib/rois/roku_tv/roku_tv_rois.rb +23 -0
  152. data/lib/User_Lib/rois/roku_tv/roku_tv_text_rois.rb +12 -0
  153. data/lib/User_Lib/rois/roku_tv/roku_tv_video_rois.rb +12 -0
  154. data/lib/User_Lib/rois/samsung_tv/samsung_tv_1080/samsung_tv_1080_black_rois.rb +13 -0
  155. data/lib/User_Lib/rois/samsung_tv/samsung_tv_1080/samsung_tv_1080_color_rois.rb +29 -0
  156. data/lib/User_Lib/rois/samsung_tv/samsung_tv_1080/samsung_tv_1080_image_rois.rb +9 -0
  157. data/lib/User_Lib/rois/samsung_tv/samsung_tv_1080/samsung_tv_1080_rois.rb +23 -0
  158. data/lib/User_Lib/rois/samsung_tv/samsung_tv_1080/samsung_tv_1080_text_rois.rb +92 -0
  159. data/lib/User_Lib/rois/samsung_tv/samsung_tv_1080/samsung_tv_1080_video_rois.rb +11 -0
  160. data/lib/User_Lib/rois/samsung_tv/samsung_tv_720/samsung_tv_720_black_rois.rb +9 -0
  161. data/lib/User_Lib/rois/samsung_tv/samsung_tv_720/samsung_tv_720_color_rois.rb +9 -0
  162. data/lib/User_Lib/rois/samsung_tv/samsung_tv_720/samsung_tv_720_image_rois.rb +9 -0
  163. data/lib/User_Lib/rois/samsung_tv/samsung_tv_720/samsung_tv_720_rois.rb +23 -0
  164. data/lib/User_Lib/rois/samsung_tv/samsung_tv_720/samsung_tv_720_text_rois.rb +12 -0
  165. data/lib/User_Lib/rois/samsung_tv/samsung_tv_720/samsung_tv_720_video_rois.rb +11 -0
  166. data/lib/User_Lib/rois/samsung_tv/samsung_tv_black_rois.rb +9 -0
  167. data/lib/User_Lib/rois/samsung_tv/samsung_tv_color_rois.rb +9 -0
  168. data/lib/User_Lib/rois/samsung_tv/samsung_tv_image_rois.rb +9 -0
  169. data/lib/User_Lib/rois/samsung_tv/samsung_tv_rois.rb +23 -0
  170. data/lib/User_Lib/rois/samsung_tv/samsung_tv_text_rois.rb +12 -0
  171. data/lib/User_Lib/rois/samsung_tv/samsung_tv_video_rois.rb +9 -0
  172. data/lib/User_Lib/rois/sara/sara_1080/sara_1080_black_rois.rb +8 -0
  173. data/lib/User_Lib/rois/sara/sara_1080/sara_1080_color_rois.rb +8 -0
  174. data/lib/User_Lib/rois/sara/sara_1080/sara_1080_image_rois.rb +8 -0
  175. data/lib/User_Lib/rois/sara/sara_1080/sara_1080_rois.rb +26 -0
  176. data/lib/User_Lib/rois/sara/sara_1080/sara_1080_text_rois.rb +8 -0
  177. data/lib/User_Lib/rois/sara/sara_1080/sara_1080_video_rois.rb +8 -0
  178. data/lib/User_Lib/rois/sara/sara_720/sara_720_black_rois.rb +8 -0
  179. data/lib/User_Lib/rois/sara/sara_720/sara_720_color_rois.rb +8 -0
  180. data/lib/User_Lib/rois/sara/sara_720/sara_720_image_rois.rb +8 -0
  181. data/lib/User_Lib/rois/sara/sara_720/sara_720_rois.rb +26 -0
  182. data/lib/User_Lib/rois/sara/sara_720/sara_720_text_rois.rb +8 -0
  183. data/lib/User_Lib/rois/sara/sara_720/sara_720_video_rois.rb +8 -0
  184. data/lib/User_Lib/rois/sara/sara_black_rois.rb +9 -0
  185. data/lib/User_Lib/rois/sara/sara_color_rois.rb +9 -0
  186. data/lib/User_Lib/rois/sara/sara_image_rois.rb +9 -0
  187. data/lib/User_Lib/rois/sara/sara_rois.rb +26 -0
  188. data/lib/User_Lib/rois/sara/sara_text_rois.rb +9 -0
  189. data/lib/User_Lib/rois/sara/sara_video_rois.rb +9 -0
  190. data/lib/User_Lib/rois/stb/iguide/iguide_1080/iguide_1080_black_rois.rb +9 -0
  191. data/lib/User_Lib/rois/stb/iguide/iguide_1080/iguide_1080_color_rois.rb +17 -0
  192. data/lib/User_Lib/rois/stb/iguide/iguide_1080/iguide_1080_image_rois.rb +19 -0
  193. data/lib/User_Lib/rois/stb/iguide/iguide_1080/iguide_1080_rois.rb +23 -0
  194. data/lib/User_Lib/rois/stb/iguide/iguide_1080/iguide_1080_text_rois.rb +47 -0
  195. data/lib/User_Lib/rois/stb/iguide/iguide_1080/iguide_1080_video_rois.rb +23 -0
  196. data/lib/User_Lib/rois/stb/iguide/iguide_720/iguide_720_black_rois.rb +9 -0
  197. data/lib/User_Lib/rois/stb/iguide/iguide_720/iguide_720_color_rois.rb +9 -0
  198. data/lib/User_Lib/rois/stb/iguide/iguide_720/iguide_720_image_rois.rb +9 -0
  199. data/lib/User_Lib/rois/stb/iguide/iguide_720/iguide_720_rois.rb +23 -0
  200. data/lib/User_Lib/rois/stb/iguide/iguide_720/iguide_720_text_rois.rb +17 -0
  201. data/lib/User_Lib/rois/stb/iguide/iguide_720/iguide_720_video_rois.rb +11 -0
  202. data/lib/User_Lib/rois/stb/iguide/iguide_black_rois.rb +9 -0
  203. data/lib/User_Lib/rois/stb/iguide/iguide_color_rois.rb +9 -0
  204. data/lib/User_Lib/rois/stb/iguide/iguide_image_rois.rb +9 -0
  205. data/lib/User_Lib/rois/stb/iguide/iguide_rois.rb +23 -0
  206. data/lib/User_Lib/rois/stb/iguide/iguide_text_rois.rb +9 -0
  207. data/lib/User_Lib/rois/stb/iguide/iguide_video_rois.rb +9 -0
  208. data/lib/User_Lib/rois/stb/odn/odn_1080/odn_1080_black_rois.rb +8 -0
  209. data/lib/User_Lib/rois/stb/odn/odn_1080/odn_1080_color_rois.rb +8 -0
  210. data/lib/User_Lib/rois/stb/odn/odn_1080/odn_1080_image_rois.rb +12 -0
  211. data/lib/User_Lib/rois/stb/odn/odn_1080/odn_1080_rois.rb +23 -0
  212. data/lib/User_Lib/rois/stb/odn/odn_1080/odn_1080_text_rois.rb +23 -0
  213. data/lib/User_Lib/rois/stb/odn/odn_1080/odn_1080_video_rois.rb +11 -0
  214. data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_black_rois.rb +46 -0
  215. data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_color_rois.rb +142 -0
  216. data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_image_rois.rb +103 -0
  217. data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_moto/odn_720_moto_black_rois.rb +6 -0
  218. data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_moto/odn_720_moto_color_rois.rb +6 -0
  219. data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_moto/odn_720_moto_image_rois.rb +6 -0
  220. data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_moto/odn_720_moto_rois.rb +23 -0
  221. data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_moto/odn_720_moto_text_rois.rb +7 -0
  222. data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_moto/odn_720_moto_video_rois.rb +7 -0
  223. data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_rois.rb +23 -0
  224. data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_sa/odn_720_sa_black_rois.rb +6 -0
  225. data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_sa/odn_720_sa_color_rois.rb +6 -0
  226. data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_sa/odn_720_sa_image_rois.rb +6 -0
  227. data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_sa/odn_720_sa_rois.rb +23 -0
  228. data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_sa/odn_720_sa_text_rois.rb +7 -0
  229. data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_sa/odn_720_sa_video_rois.rb +7 -0
  230. data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_black_rois.rb +6 -0
  231. data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_color_rois.rb +77 -0
  232. data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_image_rois.rb +67 -0
  233. data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_rois.rb +23 -0
  234. data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_text_rois.rb +159 -0
  235. data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_video_rois.rb +17 -0
  236. data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_text_rois.rb +221 -0
  237. data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_video_rois.rb +26 -0
  238. data/lib/User_Lib/rois/stb/odn/odn_black_rois.rb +10 -0
  239. data/lib/User_Lib/rois/stb/odn/odn_color_rois.rb +10 -0
  240. data/lib/User_Lib/rois/stb/odn/odn_image_rois.rb +58 -0
  241. data/lib/User_Lib/rois/stb/odn/odn_rois.rb +23 -0
  242. data/lib/User_Lib/rois/stb/odn/odn_text_rois.rb +70 -0
  243. data/lib/User_Lib/rois/stb/odn/odn_video_rois.rb +19 -0
  244. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_black_rois.rb +16 -0
  245. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_color_rois.rb +373 -0
  246. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_black_rois.rb +7 -0
  247. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_color_rois.rb +7 -0
  248. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_image_rois.rb +7 -0
  249. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_rois.rb +23 -0
  250. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_text_rois.rb +7 -0
  251. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_video_rois.rb +7 -0
  252. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_black_rois.rb +8 -0
  253. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_color_rois.rb +8 -0
  254. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_image_rois.rb +8 -0
  255. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_rois.rb +26 -0
  256. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_text_rois.rb +8 -0
  257. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_video_rois.rb +8 -0
  258. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_black_rois.rb +8 -0
  259. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_color_rois.rb +8 -0
  260. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_image_rois.rb +8 -0
  261. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_rois.rb +26 -0
  262. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_text_rois.rb +8 -0
  263. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_video_rois.rb +8 -0
  264. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_black_rois.rb +8 -0
  265. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_color_rois.rb +8 -0
  266. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_image_rois.rb +8 -0
  267. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_rois.rb +26 -0
  268. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_text_rois.rb +8 -0
  269. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_video_rois.rb +8 -0
  270. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_image_rois.rb +1592 -0
  271. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_black_rois.rb +7 -0
  272. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_color_rois.rb +7 -0
  273. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_image_rois.rb +7 -0
  274. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_rois.rb +23 -0
  275. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_text_rois.rb +7 -0
  276. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_video_rois.rb +7 -0
  277. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_rois.rb +23 -0
  278. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_text_rois.rb +2489 -0
  279. data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_video_rois.rb +64 -0
  280. data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_black_rois.rb +7 -0
  281. data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_color_rois.rb +63 -0
  282. data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_black_rois.rb +8 -0
  283. data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_color_rois.rb +8 -0
  284. data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_image_rois.rb +8 -0
  285. data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_rois.rb +26 -0
  286. data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_text_rois.rb +8 -0
  287. data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_video_rois.rb +8 -0
  288. data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_black_rois.rb +8 -0
  289. data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_color_rois.rb +8 -0
  290. data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_image_rois.rb +8 -0
  291. data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_rois.rb +26 -0
  292. data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_text_rois.rb +8 -0
  293. data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_video_rois.rb +8 -0
  294. data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_black_rois.rb +8 -0
  295. data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_color_rois.rb +8 -0
  296. data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_image_rois.rb +8 -0
  297. data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_rois.rb +26 -0
  298. data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_text_rois.rb +8 -0
  299. data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_video_rois.rb +8 -0
  300. data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_image_rois.rb +117 -0
  301. data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_rois.rb +23 -0
  302. data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_text_rois.rb +84 -0
  303. data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_video_rois.rb +35 -0
  304. data/lib/User_Lib/rois/stb/spectrum/spectrum_black_rois.rb +9 -0
  305. data/lib/User_Lib/rois/stb/spectrum/spectrum_color_rois.rb +17 -0
  306. data/lib/User_Lib/rois/stb/spectrum/spectrum_image_rois.rb +49 -0
  307. data/lib/User_Lib/rois/stb/spectrum/spectrum_rois.rb +23 -0
  308. data/lib/User_Lib/rois/stb/spectrum/spectrum_text_rois.rb +51 -0
  309. data/lib/User_Lib/rois/stb/spectrum/spectrum_video_rois.rb +9 -0
  310. data/lib/User_Lib/rois/stb/stb_black_rois.rb +9 -0
  311. data/lib/User_Lib/rois/stb/stb_color_rois.rb +9 -0
  312. data/lib/User_Lib/rois/stb/stb_image_rois.rb +9 -0
  313. data/lib/User_Lib/rois/stb/stb_rois.rb +23 -0
  314. data/lib/User_Lib/rois/stb/stb_text_rois.rb +9 -0
  315. data/lib/User_Lib/rois/stb/stb_video_rois.rb +9 -0
  316. data/lib/User_Lib/rois/template.txt +23 -0
  317. data/lib/User_Lib/rois/text_rois.rb +36 -0
  318. data/lib/User_Lib/rois/tivo/tivo_1080/tivo_1080_black_rois.rb +7 -0
  319. data/lib/User_Lib/rois/tivo/tivo_1080/tivo_1080_color_rois.rb +9 -0
  320. data/lib/User_Lib/rois/tivo/tivo_1080/tivo_1080_image_rois.rb +7 -0
  321. data/lib/User_Lib/rois/tivo/tivo_1080/tivo_1080_rois.rb +23 -0
  322. data/lib/User_Lib/rois/tivo/tivo_1080/tivo_1080_text_rois.rb +9 -0
  323. data/lib/User_Lib/rois/tivo/tivo_1080/tivo_1080_video_rois.rb +7 -0
  324. data/lib/User_Lib/rois/tivo/tivo_720/tivo_720_black_rois.rb +7 -0
  325. data/lib/User_Lib/rois/tivo/tivo_720/tivo_720_color_rois.rb +7 -0
  326. data/lib/User_Lib/rois/tivo/tivo_720/tivo_720_image_rois.rb +7 -0
  327. data/lib/User_Lib/rois/tivo/tivo_720/tivo_720_rois.rb +23 -0
  328. data/lib/User_Lib/rois/tivo/tivo_720/tivo_720_text_rois.rb +7 -0
  329. data/lib/User_Lib/rois/tivo/tivo_720/tivo_720_video_rois.rb +7 -0
  330. data/lib/User_Lib/rois/tivo/tivo_black_rois.rb +7 -0
  331. data/lib/User_Lib/rois/tivo/tivo_color_rois.rb +7 -0
  332. data/lib/User_Lib/rois/tivo/tivo_image_rois.rb +7 -0
  333. data/lib/User_Lib/rois/tivo/tivo_rois.rb +23 -0
  334. data/lib/User_Lib/rois/tivo/tivo_text_rois.rb +7 -0
  335. data/lib/User_Lib/rois/tivo/tivo_video_rois.rb +7 -0
  336. data/lib/User_Lib/rois/video_rois.rb +33 -0
  337. data/lib/User_Lib/screen/apple_tv/apple_tv_dvr.rb +25 -0
  338. data/lib/User_Lib/screen/apple_tv/apple_tv_guide.rb +25 -0
  339. data/lib/User_Lib/screen/apple_tv/apple_tv_library.rb +25 -0
  340. data/lib/User_Lib/screen/apple_tv/apple_tv_live_tv.rb +17 -0
  341. data/lib/User_Lib/screen/apple_tv/apple_tv_login.rb +24 -0
  342. data/lib/User_Lib/screen/apple_tv/apple_tv_main_menu.rb +25 -0
  343. data/lib/User_Lib/screen/apple_tv/apple_tv_mini_guide.rb +25 -0
  344. data/lib/User_Lib/screen/apple_tv/apple_tv_movies.rb +25 -0
  345. data/lib/User_Lib/screen/apple_tv/apple_tv_on_demand.rb +25 -0
  346. data/lib/User_Lib/screen/apple_tv/apple_tv_parental_controls.rb +25 -0
  347. data/lib/User_Lib/screen/apple_tv/apple_tv_product_page.rb +25 -0
  348. data/lib/User_Lib/screen/apple_tv/apple_tv_screen.rb +23 -0
  349. data/lib/User_Lib/screen/apple_tv/apple_tv_search.rb +31 -0
  350. data/lib/User_Lib/screen/apple_tv/apple_tv_settings.rb +25 -0
  351. data/lib/User_Lib/screen/apple_tv/apple_tv_tv_shows.rb +25 -0
  352. data/lib/User_Lib/screen/apple_tv/apple_tv_video_store.rb +25 -0
  353. data/lib/User_Lib/screen/dta/dta_dvr.rb +26 -0
  354. data/lib/User_Lib/screen/dta/dta_guide.rb +26 -0
  355. data/lib/User_Lib/screen/dta/dta_library.rb +26 -0
  356. data/lib/User_Lib/screen/dta/dta_live_tv.rb +26 -0
  357. data/lib/User_Lib/screen/dta/dta_log_in.rb +26 -0
  358. data/lib/User_Lib/screen/dta/dta_main_menu.rb +26 -0
  359. data/lib/User_Lib/screen/dta/dta_mini_guide.rb +26 -0
  360. data/lib/User_Lib/screen/dta/dta_movies.rb +26 -0
  361. data/lib/User_Lib/screen/dta/dta_on_demand.rb +26 -0
  362. data/lib/User_Lib/screen/dta/dta_parental_controls.rb +26 -0
  363. data/lib/User_Lib/screen/dta/dta_product_page.rb +26 -0
  364. data/lib/User_Lib/screen/dta/dta_screen.rb +24 -0
  365. data/lib/User_Lib/screen/dta/dta_search.rb +26 -0
  366. data/lib/User_Lib/screen/dta/dta_settings.rb +26 -0
  367. data/lib/User_Lib/screen/dta/dta_tv_shows.rb +26 -0
  368. data/lib/User_Lib/screen/dta/dta_video_store.rb +26 -0
  369. data/lib/User_Lib/screen/mdn/mdn_dvr.rb +26 -0
  370. data/lib/User_Lib/screen/mdn/mdn_guide.rb +26 -0
  371. data/lib/User_Lib/screen/mdn/mdn_library.rb +26 -0
  372. data/lib/User_Lib/screen/mdn/mdn_live_tv.rb +26 -0
  373. data/lib/User_Lib/screen/mdn/mdn_log_in.rb +26 -0
  374. data/lib/User_Lib/screen/mdn/mdn_main_menu.rb +26 -0
  375. data/lib/User_Lib/screen/mdn/mdn_mini_guide.rb +26 -0
  376. data/lib/User_Lib/screen/mdn/mdn_movies.rb +26 -0
  377. data/lib/User_Lib/screen/mdn/mdn_on_demand.rb +26 -0
  378. data/lib/User_Lib/screen/mdn/mdn_parental_controls.rb +26 -0
  379. data/lib/User_Lib/screen/mdn/mdn_product_page.rb +26 -0
  380. data/lib/User_Lib/screen/mdn/mdn_screen.rb +24 -0
  381. data/lib/User_Lib/screen/mdn/mdn_search.rb +26 -0
  382. data/lib/User_Lib/screen/mdn/mdn_settings.rb +26 -0
  383. data/lib/User_Lib/screen/mdn/mdn_tv_shows.rb +26 -0
  384. data/lib/User_Lib/screen/mdn/mdn_video_store.rb +26 -0
  385. data/lib/User_Lib/screen/mobile/android/android_devices.rb +35 -0
  386. data/lib/User_Lib/screen/mobile/android/android_dvr.rb +337 -0
  387. data/lib/User_Lib/screen/mobile/android/android_favorites.rb +164 -0
  388. data/lib/User_Lib/screen/mobile/android/android_guide.rb +256 -0
  389. data/lib/User_Lib/screen/mobile/android/android_live_tv.rb +372 -0
  390. data/lib/User_Lib/screen/mobile/android/android_login.rb +111 -0
  391. data/lib/User_Lib/screen/mobile/android/android_main_menu.rb +53 -0
  392. data/lib/User_Lib/screen/mobile/android/android_on_demand.rb +402 -0
  393. data/lib/User_Lib/screen/mobile/android/android_parental_controls.rb +73 -0
  394. data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_dvr.rb +31 -0
  395. data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_guide.rb +39 -0
  396. data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_live_tv.rb +104 -0
  397. data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_main_menu.rb +27 -0
  398. data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_on_demand.rb +35 -0
  399. data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_product_page.rb +7 -0
  400. data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_search.rb +26 -0
  401. data/lib/User_Lib/screen/mobile/android/android_privacy_legal.rb +54 -0
  402. data/lib/User_Lib/screen/mobile/android/android_product_page.rb +484 -0
  403. data/lib/User_Lib/screen/mobile/android/android_screen.rb +56 -0
  404. data/lib/User_Lib/screen/mobile/android/android_search.rb +39 -0
  405. data/lib/User_Lib/screen/mobile/android/android_settings.rb +90 -0
  406. data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_dvr.rb +58 -0
  407. data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_guide.rb +24 -0
  408. data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_live_tv.rb +24 -0
  409. data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_main_menu.rb +19 -0
  410. data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_on_demand.rb +16 -0
  411. data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_product_page.rb +45 -0
  412. data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_search.rb +14 -0
  413. data/lib/User_Lib/screen/mobile/devices_mobile.rb +53 -0
  414. data/lib/User_Lib/screen/mobile/dvr_mobile.rb +5 -0
  415. data/lib/User_Lib/screen/mobile/favorites_mobile.rb +5 -0
  416. data/lib/User_Lib/screen/mobile/guide_mobile.rb +5 -0
  417. data/lib/User_Lib/screen/mobile/ios/ios_devices.rb +43 -0
  418. data/lib/User_Lib/screen/mobile/ios/ios_dvr.rb +231 -0
  419. data/lib/User_Lib/screen/mobile/ios/ios_favorites.rb +79 -0
  420. data/lib/User_Lib/screen/mobile/ios/ios_guide.rb +53 -0
  421. data/lib/User_Lib/screen/mobile/ios/ios_live_tv.rb +413 -0
  422. data/lib/User_Lib/screen/mobile/ios/ios_login.rb +76 -0
  423. data/lib/User_Lib/screen/mobile/ios/ios_main_menu.rb +38 -0
  424. data/lib/User_Lib/screen/mobile/ios/ios_on_demand.rb +371 -0
  425. data/lib/User_Lib/screen/mobile/ios/ios_parental_controls.rb +104 -0
  426. data/lib/User_Lib/screen/mobile/ios/ios_phone/ios_phone_dvr.rb +14 -0
  427. data/lib/User_Lib/screen/mobile/ios/ios_phone/ios_phone_live_tv.rb +36 -0
  428. data/lib/User_Lib/screen/mobile/ios/ios_phone/ios_phone_main_menu.rb +7 -0
  429. data/lib/User_Lib/screen/mobile/ios/ios_phone/ios_phone_on_demand.rb +7 -0
  430. data/lib/User_Lib/screen/mobile/ios/ios_phone/ios_phone_search.rb +13 -0
  431. data/lib/User_Lib/screen/mobile/ios/ios_privacy_legal.rb +56 -0
  432. data/lib/User_Lib/screen/mobile/ios/ios_product_page.rb +441 -0
  433. data/lib/User_Lib/screen/mobile/ios/ios_screen.rb +60 -0
  434. data/lib/User_Lib/screen/mobile/ios/ios_search.rb +145 -0
  435. data/lib/User_Lib/screen/mobile/ios/ios_settings.rb +34 -0
  436. data/lib/User_Lib/screen/mobile/ios/ios_tablet/ios_tablet_live_tv.rb +34 -0
  437. data/lib/User_Lib/screen/mobile/ios/ios_tablet/ios_tablet_main_menu.rb +7 -0
  438. data/lib/User_Lib/screen/mobile/ios/ios_tablet/ios_tablet_on_demand.rb +7 -0
  439. data/lib/User_Lib/screen/mobile/ios/ios_tablet/ios_tablet_search.rb +13 -0
  440. data/lib/User_Lib/screen/mobile/live_tv_mobile.rb +73 -0
  441. data/lib/User_Lib/screen/mobile/login_mobile.rb +5 -0
  442. data/lib/User_Lib/screen/mobile/main_menu_mobile.rb +83 -0
  443. data/lib/User_Lib/screen/mobile/mobile_screen.rb +232 -0
  444. data/lib/User_Lib/screen/mobile/on_demand_mobile.rb +70 -0
  445. data/lib/User_Lib/screen/mobile/parental_controls_mobile.rb +5 -0
  446. data/lib/User_Lib/screen/mobile/privacy_legal_mobile.rb +5 -0
  447. data/lib/User_Lib/screen/mobile/product_page_mobile.rb +5 -0
  448. data/lib/User_Lib/screen/mobile/search_mobile.rb +5 -0
  449. data/lib/User_Lib/screen/mobile/settings_mobile.rb +33 -0
  450. data/lib/User_Lib/screen/passport/passport_dvr.rb +25 -0
  451. data/lib/User_Lib/screen/passport/passport_guide.rb +37 -0
  452. data/lib/User_Lib/screen/passport/passport_library.rb +25 -0
  453. data/lib/User_Lib/screen/passport/passport_live_tv.rb +17 -0
  454. data/lib/User_Lib/screen/passport/passport_main_menu.rb +25 -0
  455. data/lib/User_Lib/screen/passport/passport_mini_guide.rb +25 -0
  456. data/lib/User_Lib/screen/passport/passport_movies.rb +25 -0
  457. data/lib/User_Lib/screen/passport/passport_on_demand.rb +25 -0
  458. data/lib/User_Lib/screen/passport/passport_parental_controls.rb +25 -0
  459. data/lib/User_Lib/screen/passport/passport_product_page.rb +25 -0
  460. data/lib/User_Lib/screen/passport/passport_screen.rb +23 -0
  461. data/lib/User_Lib/screen/passport/passport_search.rb +25 -0
  462. data/lib/User_Lib/screen/passport/passport_settings.rb +25 -0
  463. data/lib/User_Lib/screen/passport/passport_tv_shows.rb +25 -0
  464. data/lib/User_Lib/screen/passport/passport_video_store.rb +25 -0
  465. data/lib/User_Lib/screen/roku/brs/roku_guide_brs.rb +12 -0
  466. data/lib/User_Lib/screen/roku/brs/roku_home_brs.rb +12 -0
  467. data/lib/User_Lib/screen/roku/brs/roku_live_tv_brs.rb +12 -0
  468. data/lib/User_Lib/screen/roku/brs/roku_login_brs.rb +103 -0
  469. data/lib/User_Lib/screen/roku/brs/roku_main_menu_brs.rb +46 -0
  470. data/lib/User_Lib/screen/roku/brs/roku_on_demand_brs.rb +12 -0
  471. data/lib/User_Lib/screen/roku/brs/roku_product_page_brs.rb +12 -0
  472. data/lib/User_Lib/screen/roku/brs/roku_screen_brs.rb +9 -0
  473. data/lib/User_Lib/screen/roku/brs/roku_search_brs.rb +12 -0
  474. data/lib/User_Lib/screen/roku/brs/roku_settings_brs.rb +42 -0
  475. data/lib/User_Lib/screen/roku/brs/roku_watch_later_brs.rb +12 -0
  476. data/lib/User_Lib/screen/roku/brs/roku_welcome_brs.rb +12 -0
  477. data/lib/User_Lib/screen/roku/roku_dvr.rb +7 -0
  478. data/lib/User_Lib/screen/roku/roku_guide.rb +590 -0
  479. data/lib/User_Lib/screen/roku/roku_home.rb +346 -0
  480. data/lib/User_Lib/screen/roku/roku_library.rb +26 -0
  481. data/lib/User_Lib/screen/roku/roku_live_tv.rb +210 -0
  482. data/lib/User_Lib/screen/roku/roku_login.rb +795 -0
  483. data/lib/User_Lib/screen/roku/roku_main_menu.rb +425 -0
  484. data/lib/User_Lib/screen/roku/roku_mini_guide.rb +7 -0
  485. data/lib/User_Lib/screen/roku/roku_on_demand.rb +479 -0
  486. data/lib/User_Lib/screen/roku/roku_product_page.rb +483 -0
  487. data/lib/User_Lib/screen/roku/roku_screen.rb +85 -0
  488. data/lib/User_Lib/screen/roku/roku_search.rb +229 -0
  489. data/lib/User_Lib/screen/roku/roku_settings.rb +304 -0
  490. data/lib/User_Lib/screen/roku/roku_watch_later.rb +51 -0
  491. data/lib/User_Lib/screen/roku/roku_welcome.rb +10 -0
  492. data/lib/User_Lib/screen/roku_tv/roku_tv_dvr.rb +14 -0
  493. data/lib/User_Lib/screen/roku_tv/roku_tv_guide.rb +14 -0
  494. data/lib/User_Lib/screen/roku_tv/roku_tv_home.rb +14 -0
  495. data/lib/User_Lib/screen/roku_tv/roku_tv_library.rb +14 -0
  496. data/lib/User_Lib/screen/roku_tv/roku_tv_live_tv.rb +14 -0
  497. data/lib/User_Lib/screen/roku_tv/roku_tv_login.rb +14 -0
  498. data/lib/User_Lib/screen/roku_tv/roku_tv_main_menu.rb +14 -0
  499. data/lib/User_Lib/screen/roku_tv/roku_tv_mini_guide.rb +14 -0
  500. data/lib/User_Lib/screen/roku_tv/roku_tv_on_demand.rb +26 -0
  501. data/lib/User_Lib/screen/roku_tv/roku_tv_product_page.rb +14 -0
  502. data/lib/User_Lib/screen/roku_tv/roku_tv_screen.rb +7 -0
  503. data/lib/User_Lib/screen/roku_tv/roku_tv_search.rb +14 -0
  504. data/lib/User_Lib/screen/roku_tv/roku_tv_settings.rb +14 -0
  505. data/lib/User_Lib/screen/roku_tv/roku_tv_watch_later.rb +14 -0
  506. data/lib/User_Lib/screen/roku_tv/roku_tv_welcome.rb +14 -0
  507. data/lib/User_Lib/screen/samsung_tv/samsung_tv_dvr.rb +24 -0
  508. data/lib/User_Lib/screen/samsung_tv/samsung_tv_guide.rb +24 -0
  509. data/lib/User_Lib/screen/samsung_tv/samsung_tv_library.rb +24 -0
  510. data/lib/User_Lib/screen/samsung_tv/samsung_tv_live_tv.rb +21 -0
  511. data/lib/User_Lib/screen/samsung_tv/samsung_tv_login.rb +13 -0
  512. data/lib/User_Lib/screen/samsung_tv/samsung_tv_main_menu.rb +64 -0
  513. data/lib/User_Lib/screen/samsung_tv/samsung_tv_mini_guide.rb +24 -0
  514. data/lib/User_Lib/screen/samsung_tv/samsung_tv_movies.rb +140 -0
  515. data/lib/User_Lib/screen/samsung_tv/samsung_tv_on_demand.rb +76 -0
  516. data/lib/User_Lib/screen/samsung_tv/samsung_tv_parental_controls.rb +24 -0
  517. data/lib/User_Lib/screen/samsung_tv/samsung_tv_product_page.rb +24 -0
  518. data/lib/User_Lib/screen/samsung_tv/samsung_tv_screen.rb +74 -0
  519. data/lib/User_Lib/screen/samsung_tv/samsung_tv_search.rb +29 -0
  520. data/lib/User_Lib/screen/samsung_tv/samsung_tv_settings.rb +189 -0
  521. data/lib/User_Lib/screen/samsung_tv/samsung_tv_tv_shows.rb +24 -0
  522. data/lib/User_Lib/screen/samsung_tv/samsung_tv_video_store.rb +24 -0
  523. data/lib/User_Lib/screen/sara/sara_dvr.rb +26 -0
  524. data/lib/User_Lib/screen/sara/sara_guide.rb +43 -0
  525. data/lib/User_Lib/screen/sara/sara_library.rb +26 -0
  526. data/lib/User_Lib/screen/sara/sara_live_tv.rb +26 -0
  527. data/lib/User_Lib/screen/sara/sara_log_in.rb +26 -0
  528. data/lib/User_Lib/screen/sara/sara_main_menu.rb +26 -0
  529. data/lib/User_Lib/screen/sara/sara_mini_guide.rb +26 -0
  530. data/lib/User_Lib/screen/sara/sara_movies.rb +26 -0
  531. data/lib/User_Lib/screen/sara/sara_on_demand.rb +26 -0
  532. data/lib/User_Lib/screen/sara/sara_parental_controls.rb +26 -0
  533. data/lib/User_Lib/screen/sara/sara_product_page.rb +26 -0
  534. data/lib/User_Lib/screen/sara/sara_screen.rb +24 -0
  535. data/lib/User_Lib/screen/sara/sara_search.rb +26 -0
  536. data/lib/User_Lib/screen/sara/sara_settings.rb +26 -0
  537. data/lib/User_Lib/screen/sara/sara_tv_shows.rb +26 -0
  538. data/lib/User_Lib/screen/sara/sara_video_store.rb +26 -0
  539. data/lib/User_Lib/screen/stb/iguide/iguide_devices.rb +10 -0
  540. data/lib/User_Lib/screen/stb/iguide/iguide_dvr.rb +10 -0
  541. data/lib/User_Lib/screen/stb/iguide/iguide_favorites.rb +10 -0
  542. data/lib/User_Lib/screen/stb/iguide/iguide_guide.rb +39 -0
  543. data/lib/User_Lib/screen/stb/iguide/iguide_home.rb +10 -0
  544. data/lib/User_Lib/screen/stb/iguide/iguide_library.rb +10 -0
  545. data/lib/User_Lib/screen/stb/iguide/iguide_live_tv.rb +59 -0
  546. data/lib/User_Lib/screen/stb/iguide/iguide_login.rb +10 -0
  547. data/lib/User_Lib/screen/stb/iguide/iguide_main_menu.rb +10 -0
  548. data/lib/User_Lib/screen/stb/iguide/iguide_mini_guide.rb +10 -0
  549. data/lib/User_Lib/screen/stb/iguide/iguide_movies.rb +10 -0
  550. data/lib/User_Lib/screen/stb/iguide/iguide_on_demand.rb +531 -0
  551. data/lib/User_Lib/screen/stb/iguide/iguide_parental_controls.rb +10 -0
  552. data/lib/User_Lib/screen/stb/iguide/iguide_privacy_legal.rb +10 -0
  553. data/lib/User_Lib/screen/stb/iguide/iguide_product_page.rb +10 -0
  554. data/lib/User_Lib/screen/stb/iguide/iguide_quick_menu.rb +7 -0
  555. data/lib/User_Lib/screen/stb/iguide/iguide_screen.rb +21 -0
  556. data/lib/User_Lib/screen/stb/iguide/iguide_search.rb +10 -0
  557. data/lib/User_Lib/screen/stb/iguide/iguide_settings.rb +10 -0
  558. data/lib/User_Lib/screen/stb/iguide/iguide_tv_shows.rb +10 -0
  559. data/lib/User_Lib/screen/stb/iguide/iguide_video_store.rb +10 -0
  560. data/lib/User_Lib/screen/stb/login_stb.rb +5 -0
  561. data/lib/User_Lib/screen/stb/odn/odn_dvr.rb +59 -0
  562. data/lib/User_Lib/screen/stb/odn/odn_favorites.rb +8 -0
  563. data/lib/User_Lib/screen/stb/odn/odn_guide.rb +177 -0
  564. data/lib/User_Lib/screen/stb/odn/odn_live_tv.rb +115 -0
  565. data/lib/User_Lib/screen/stb/odn/odn_login.rb +8 -0
  566. data/lib/User_Lib/screen/stb/odn/odn_main_menu.rb +175 -0
  567. data/lib/User_Lib/screen/stb/odn/odn_on_demand.rb +1170 -0
  568. data/lib/User_Lib/screen/stb/odn/odn_on_demand_kids.rb +23 -0
  569. data/lib/User_Lib/screen/stb/odn/odn_on_demand_left_menu.rb +180 -0
  570. data/lib/User_Lib/screen/stb/odn/odn_parental_controls.rb +9 -0
  571. data/lib/User_Lib/screen/stb/odn/odn_product_page.rb +8 -0
  572. data/lib/User_Lib/screen/stb/odn/odn_screen.rb +111 -0
  573. data/lib/User_Lib/screen/stb/odn/odn_search.rb +167 -0
  574. data/lib/User_Lib/screen/stb/odn/odn_settings.rb +142 -0
  575. data/lib/User_Lib/screen/stb/spectrum/spectrum_diagnostics.rb +27 -0
  576. data/lib/User_Lib/screen/stb/spectrum/spectrum_docsis/screen_spectrum_docsis.rb +12 -0
  577. data/lib/User_Lib/screen/stb/spectrum/spectrum_docsis/spectrum_1080_docsis_guide.rb +10 -0
  578. data/lib/User_Lib/screen/stb/spectrum/spectrum_docsis/spectrum_1080_docsis_main_menu.rb +10 -0
  579. data/lib/User_Lib/screen/stb/spectrum/spectrum_docsis/spectrum_1080_docsis_settings.rb +10 -0
  580. data/lib/User_Lib/screen/stb/spectrum/spectrum_dvr.rb +1781 -0
  581. data/lib/User_Lib/screen/stb/spectrum/spectrum_guide.rb +841 -0
  582. data/lib/User_Lib/screen/stb/spectrum/spectrum_library.rb +384 -0
  583. data/lib/User_Lib/screen/stb/spectrum/spectrum_live_tv.rb +259 -0
  584. data/lib/User_Lib/screen/stb/spectrum/spectrum_main_menu.rb +223 -0
  585. data/lib/User_Lib/screen/stb/spectrum/spectrum_mini_guide.rb +404 -0
  586. data/lib/User_Lib/screen/stb/spectrum/spectrum_movies.rb +420 -0
  587. data/lib/User_Lib/screen/stb/spectrum/spectrum_netflix.rb +37 -0
  588. data/lib/User_Lib/screen/stb/spectrum/spectrum_on_demand.rb +2137 -0
  589. data/lib/User_Lib/screen/stb/spectrum/spectrum_parental_controls.rb +528 -0
  590. data/lib/User_Lib/screen/stb/spectrum/spectrum_pay_per_view.rb +26 -0
  591. data/lib/User_Lib/screen/stb/spectrum/spectrum_product_page.rb +58 -0
  592. data/lib/User_Lib/screen/stb/spectrum/spectrum_screen.rb +48 -0
  593. data/lib/User_Lib/screen/stb/spectrum/spectrum_search.rb +92 -0
  594. data/lib/User_Lib/screen/stb/spectrum/spectrum_settings.rb +1657 -0
  595. data/lib/User_Lib/screen/stb/spectrum/spectrum_tv_shows.rb +1532 -0
  596. data/lib/User_Lib/screen/stb/spectrum/spectrum_video_store.rb +1598 -0
  597. data/lib/User_Lib/screen/stb/stb_screen.rb +7 -0
  598. data/lib/User_Lib/screen/tivo/tivo_dvr.rb +25 -0
  599. data/lib/User_Lib/screen/tivo/tivo_guide.rb +25 -0
  600. data/lib/User_Lib/screen/tivo/tivo_library.rb +25 -0
  601. data/lib/User_Lib/screen/tivo/tivo_live_tv.rb +17 -0
  602. data/lib/User_Lib/screen/tivo/tivo_login.rb +25 -0
  603. data/lib/User_Lib/screen/tivo/tivo_main_menu.rb +25 -0
  604. data/lib/User_Lib/screen/tivo/tivo_mini_guide.rb +25 -0
  605. data/lib/User_Lib/screen/tivo/tivo_movies.rb +25 -0
  606. data/lib/User_Lib/screen/tivo/tivo_on_demand.rb +25 -0
  607. data/lib/User_Lib/screen/tivo/tivo_parental_controls.rb +25 -0
  608. data/lib/User_Lib/screen/tivo/tivo_product_page.rb +25 -0
  609. data/lib/User_Lib/screen/tivo/tivo_screen.rb +20 -0
  610. data/lib/User_Lib/screen/tivo/tivo_search.rb +31 -0
  611. data/lib/User_Lib/screen/tivo/tivo_settings.rb +25 -0
  612. data/lib/User_Lib/screen/tivo/tivo_tv_shows.rb +25 -0
  613. data/lib/User_Lib/screen/tivo/tivo_video_store.rb +25 -0
  614. data/lib/config/ConfigParams.xml +96 -0
  615. data/lib/config/ImageROI.xml +45 -0
  616. data/lib/config/ROI.xml +150 -0
  617. data/lib/config/Userlog4j.xml +62 -0
  618. data/lib/config/schema-docs/mode.xsd +12 -0
  619. data/lib/config/schema-docs/processTestJobs.xsd +63 -0
  620. data/lib/config/schema-docs/rackip.xsd +24 -0
  621. data/lib/copy_ref_images.rb +199 -0
  622. data/lib/copy_repo.rb +136 -0
  623. data/lib/diagnostics/conductor/conductor_checkup.tmc +24 -0
  624. data/lib/diagnostics/db/mad_db_check.tmc +56 -0
  625. data/lib/diagnostics/db/mas_db_checkup.tmc +24 -0
  626. data/lib/diagnostics/db/mas_db_checkup_gem.tmc +20 -0
  627. data/lib/diagnostics/db/mas_db_checkup_jar.tmc +50 -0
  628. data/lib/diagnostics/iguide/iguide_nvram_reset.tmc +23 -0
  629. data/lib/diagnostics/iguide/iguide_prepare_stb.tmc +33 -0
  630. data/lib/diagnostics/iguide/iguide_prepare_stb_and_health_check.tmc +63 -0
  631. data/lib/diagnostics/iguide/iguide_stb_health_check.tmc +54 -0
  632. data/lib/diagnostics/prepare_stb.tmc +30 -0
  633. data/lib/diagnostics/prepare_stb_and_health_check.tmc +56 -0
  634. data/lib/diagnostics/script_options/options_checkup.tmc +145 -0
  635. data/lib/diagnostics/server_components_check.tmc +62 -0
  636. data/lib/diagnostics/ssh/dncs_checkup.tmc +24 -0
  637. data/lib/diagnostics/ssh/mas_checkup.tmc +24 -0
  638. data/lib/diagnostics/stb_health_check.tmc +46 -0
  639. data/lib/diagnostics/stb_ip_check.tmc +120 -0
  640. data/lib/diagnostics/webservices/mas_rest_services_checkup.tmc +24 -0
  641. data/lib/diagnostics/webservices/mas_soap_services_checkup.tmc +24 -0
  642. data/lib/dsllib/common/dncs/dncs_utils.rb +449 -0
  643. data/lib/dsllib/common/mas_db/mas_conductor.rb +1328 -0
  644. data/lib/dsllib/common/mas_db/mas_db.rb +154 -0
  645. data/lib/dsllib/common/mas_db/mas_publish.rb +2349 -0
  646. data/lib/dsllib/common/mas_db/mas_rest_services.rb +75 -0
  647. data/lib/dsllib/common/mas_db/mas_soap_services.rb +540 -0
  648. data/lib/dsllib/common/mas_db/mas_utils.rb +422 -0
  649. data/lib/dsllib/common/remote_diagnostics/mdn_remote_diagnostics.rb +1335 -0
  650. data/lib/dsllib/common/remote_diagnostics/odn_web_server.rb +269 -0
  651. data/lib/dsllib/common/utils/excel_export.rb +273 -0
  652. data/lib/dsllib/common/utils/excel_module.rb +890 -0
  653. data/lib/dsllib/common/utils/server_components_utils.rb +130 -0
  654. data/lib/dsllib/common/utils/stb_health_check_utils.rb +92 -0
  655. data/lib/dsllib/common/utils/sword_utils.rb +393 -0
  656. data/lib/dsllib/common/utils/tmc_utils.rb +2944 -0
  657. data/lib/dsllib/common/utils/virtual_keyboard_navigator.rb +208 -0
  658. data/lib/dsllib/common/utils/virtual_keyboard_vp_navigator.rb +195 -0
  659. data/lib/dsllib/performance/DTA/roi.rb +214 -0
  660. data/lib/dsllib/performance/DTA/utils.rb +96 -0
  661. data/lib/dsllib/performance/iguide_concurrent_test/ROI.rb +236 -0
  662. data/lib/dsllib/performance/iguide_concurrent_test/utils.rb +533 -0
  663. data/lib/dsllib/performance/measure_tune.rb +438 -0
  664. data/lib/dsllib/performance/perf_lib.rb +660 -0
  665. data/lib/end_iteration.rb +4 -0
  666. data/lib/lib/data_services/channel.rb +39 -0
  667. data/lib/lib/data_services/data_services.rb +14 -0
  668. data/lib/lib/data_services/guide.rb +104 -0
  669. data/lib/lib/data_services/lineup.rb +114 -0
  670. data/lib/lib/data_services/program.rb +48 -0
  671. data/lib/lib/data_services/schedule.rb +18 -0
  672. data/lib/lib/data_services/splunk_connector.rb +135 -0
  673. data/lib/lib/data_services/splunk_data_reader.rb +77 -0
  674. data/lib/lib/element/element.rb +79 -0
  675. data/lib/lib/extensions/array_extensions.rb +32 -0
  676. data/lib/lib/extensions/datetime_extensions.rb +8 -0
  677. data/lib/lib/extensions/extensions.rb +51 -0
  678. data/lib/lib/extensions/file_extensions.rb +32 -0
  679. data/lib/lib/extensions/float_extensions.rb +32 -0
  680. data/lib/lib/extensions/integer_extensions.rb +39 -0
  681. data/lib/lib/extensions/nethttp_extensions.rb +11 -0
  682. data/lib/lib/extensions/object_extensions.rb +7 -0
  683. data/lib/lib/extensions/string_extensions.rb +35 -0
  684. data/lib/lib/helpers/tmc_helpers/csv_helper/csv_helper.rb +85 -0
  685. data/lib/lib/helpers/tmc_helpers/email_helper/email_helper.rb +71 -0
  686. data/lib/lib/helpers/tmc_helpers/http_helper/http_helper.rb +133 -0
  687. data/lib/lib/helpers/tmc_helpers/roi_helper/roi_helper.rb +17 -0
  688. data/lib/lib/helpers/tmc_helpers/snmp_helper/snmp_helper.rb +71 -0
  689. data/lib/lib/helpers/tmc_helpers/ssh_helper/ssh_helper.rb +337 -0
  690. data/lib/lib/helpers/tmc_helpers/tmc_helpers.rb +1260 -0
  691. data/lib/lib/keyboard/apple_tv/apple_tv_password_keyboard.rb +102 -0
  692. data/lib/lib/keyboard/apple_tv/apple_tv_search_keyboard.rb +103 -0
  693. data/lib/lib/keyboard/apple_tv/apple_tv_username_keyboard.rb +105 -0
  694. data/lib/lib/keyboard/keyboard.rb +504 -0
  695. data/lib/lib/keyboard/keyboard_layout.rb +51 -0
  696. data/lib/lib/keyboard/roku/roku_reset_pin_keyboard.rb +12 -0
  697. data/lib/lib/keyboard/roku/roku_rsg_search_keyboard.rb +67 -0
  698. data/lib/lib/keyboard/roku/roku_rsg_signin_keyboard.rb +106 -0
  699. data/lib/lib/keyboard/roku/roku_search_keyboard.rb +10 -0
  700. data/lib/lib/keyboard/roku/roku_signin_keyboard.rb +42 -0
  701. data/lib/lib/keyboard/samsung_tv/samsung_tv_search_keyboard.rb +50 -0
  702. data/lib/lib/keyboard/samsung_tv/samsung_tv_signin_keyboard.rb +52 -0
  703. data/lib/lib/keyboard/stb/odn/odn_on_demand_search_keyboard.rb +10 -0
  704. data/lib/lib/keyboard/stb/odn/odn_search_keyboard.rb +10 -0
  705. data/lib/lib/keyboard/stb/spectrum/spectrum_netflix_email_keyboard.rb +50 -0
  706. data/lib/lib/keyboard/stb/spectrum/spectrum_netflix_keyboard.rb +43 -0
  707. data/lib/lib/keyboard/stb/spectrum/spectrum_netflix_name_keyboard.rb +16 -0
  708. data/lib/lib/keyboard/stb/spectrum/spectrum_search_keyboard.rb +32 -0
  709. data/lib/lib/keyboard/tivo/tivo_password_keyboard.rb +0 -0
  710. data/lib/lib/keyboard/tivo/tivo_search_keyboard.rb +0 -0
  711. data/lib/lib/keyboard/tivo/tivo_username_keyboard.rb +0 -0
  712. data/lib/lib/keys/apple_tv/apple_tv_keys.rb +26 -0
  713. data/lib/lib/keys/base_keys.rb +14 -0
  714. data/lib/lib/keys/dta/dta_keys.rb +60 -0
  715. data/lib/lib/keys/mdn/mdn_keys.rb +60 -0
  716. data/lib/lib/keys/passport/passport_keys.rb +59 -0
  717. data/lib/lib/keys/roku/roku_keys.rb +31 -0
  718. data/lib/lib/keys/roku_tv/roku_tv_keys.rb +32 -0
  719. data/lib/lib/keys/samsung_tv/samsung_tv_keys.rb +58 -0
  720. data/lib/lib/keys/sara/sara_keys.rb +60 -0
  721. data/lib/lib/keys/stb/iguide/iguide_keys.rb +56 -0
  722. data/lib/lib/keys/stb/odn/odn_keys.rb +63 -0
  723. data/lib/lib/keys/stb/spectrum/spectrum_keys.rb +59 -0
  724. data/lib/lib/keys/stb/stb_keys.rb +13 -0
  725. data/lib/lib/keys/tivo/tivo_keys.rb +26 -0
  726. data/lib/lib/logger/multi_io.rb +14 -0
  727. data/lib/lib/logger/tmc_dut_logger.rb +251 -0
  728. data/lib/lib/logger/tmc_logger.rb +30 -0
  729. data/lib/lib/mixins/assignable.rb +19 -0
  730. data/lib/lib/mixins/can_have_special_methods.rb +50 -0
  731. data/lib/lib/mixins/enumish.rb +16 -0
  732. data/lib/lib/new_platform.rb +302 -0
  733. data/lib/lib/new_sub_platform.rb +90 -0
  734. data/lib/lib/platform/apple_tv/apple_tv.rb +33 -0
  735. data/lib/lib/platform/apple_tv/apple_tv_1080/apple_tv_1080.rb +54 -0
  736. data/lib/lib/platform/apple_tv/apple_tv_720/apple_tv_720.rb +14 -0
  737. data/lib/lib/platform/dta/dta.rb +35 -0
  738. data/lib/lib/platform/dta/dta_1080/dta_1080.rb +15 -0
  739. data/lib/lib/platform/dta/dta_720/dta_720.rb +15 -0
  740. data/lib/lib/platform/mdn/mdn.rb +35 -0
  741. data/lib/lib/platform/mdn/mdn_1080/mdn_1080.rb +15 -0
  742. data/lib/lib/platform/mdn/mdn_720/mdn_720.rb +15 -0
  743. data/lib/lib/platform/mobile/android/android.rb +23 -0
  744. data/lib/lib/platform/mobile/android/android_phone/android_phone.rb +23 -0
  745. data/lib/lib/platform/mobile/android/android_tablet/android_tablet.rb +23 -0
  746. data/lib/lib/platform/mobile/ios/ios.rb +23 -0
  747. data/lib/lib/platform/mobile/ios/ios_phone/ios_phone.rb +23 -0
  748. data/lib/lib/platform/mobile/ios/ios_tablet/ios_tablet.rb +23 -0
  749. data/lib/lib/platform/mobile/mobile.rb +102 -0
  750. data/lib/lib/platform/passport/passport.rb +41 -0
  751. data/lib/lib/platform/passport/passport1080/passport_1080.rb +15 -0
  752. data/lib/lib/platform/passport/passport_720/passport_720.rb +14 -0
  753. data/lib/lib/platform/platform.rb +884 -0
  754. data/lib/lib/platform/roku/roku.rb +96 -0
  755. data/lib/lib/platform/roku/roku_720/roku_720.rb +16 -0
  756. data/lib/lib/platform/roku_tv/roku_tv.rb +33 -0
  757. data/lib/lib/platform/roku_tv/roku_tv_1080/roku_tv_1080.rb +14 -0
  758. data/lib/lib/platform/roku_tv/roku_tv_720/roku_tv_720.rb +14 -0
  759. data/lib/lib/platform/samsung_tv/samsung_tv.rb +31 -0
  760. data/lib/lib/platform/samsung_tv/samsung_tv_1080/samsung_tv_1080.rb +14 -0
  761. data/lib/lib/platform/samsung_tv/samsung_tv_720/samsung_tv_720.rb +14 -0
  762. data/lib/lib/platform/sara/sara.rb +42 -0
  763. data/lib/lib/platform/sara/sara_1080/sara_1080.rb +15 -0
  764. data/lib/lib/platform/sara/sara_720/sara_720.rb +15 -0
  765. data/lib/lib/platform/stb/iguide/iguide.rb +18 -0
  766. data/lib/lib/platform/stb/iguide/iguide_1080/iguide_1080.rb +14 -0
  767. data/lib/lib/platform/stb/iguide/iguide_720/iguide_720.rb +14 -0
  768. data/lib/lib/platform/stb/odn/odn.rb +480 -0
  769. data/lib/lib/platform/stb/odn/odn_1080/odn_1080.rb +14 -0
  770. data/lib/lib/platform/stb/odn/odn_720/odn_720.rb +14 -0
  771. data/lib/lib/platform/stb/odn/odn_720/odn_720_moto/odn_720_moto.rb +14 -0
  772. data/lib/lib/platform/stb/odn/odn_720/odn_720_sa/odn_720_sa.rb +14 -0
  773. data/lib/lib/platform/stb/odn/odn_720/odn_720_samsung/odn_720_samsung.rb +14 -0
  774. data/lib/lib/platform/stb/spectrum/spectrum.rb +48 -0
  775. data/lib/lib/platform/stb/spectrum/spectrum_1080/spectrum_1080.rb +14 -0
  776. data/lib/lib/platform/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis.rb +16 -0
  777. data/lib/lib/platform/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris.rb +15 -0
  778. data/lib/lib/platform/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax.rb +15 -0
  779. data/lib/lib/platform/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch.rb +15 -0
  780. data/lib/lib/platform/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace.rb +14 -0
  781. data/lib/lib/platform/stb/spectrum/spectrum_720/spectrum_720.rb +14 -0
  782. data/lib/lib/platform/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris.rb +15 -0
  783. data/lib/lib/platform/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax.rb +15 -0
  784. data/lib/lib/platform/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch.rb +15 -0
  785. data/lib/lib/platform/stb/stb.rb +93 -0
  786. data/lib/lib/platform/template.txt +16 -0
  787. data/lib/lib/platform/tivo/tivo.rb +28 -0
  788. data/lib/lib/platform/tivo/tivo_1080/tivo_1080.rb +15 -0
  789. data/lib/lib/platform/tivo/tivo_720/tivo_720.rb +14 -0
  790. data/lib/lib/platform/web/web.rb +51 -0
  791. data/lib/lib/platform_libs/roku/roku_controller.rb +254 -0
  792. data/lib/lib/prereqs/prereqs.rb +17 -0
  793. data/lib/lib/prereqs/prereqs_for_dut.rb +14 -0
  794. data/lib/lib/prereqs/prereqs_for_test.rb +14 -0
  795. data/lib/lib/remotes/remotes.rb +8 -0
  796. data/lib/lib/remotes/stb/spectrum/spectrum_remotes.rb +22 -0
  797. data/lib/lib/roi/black/black_roi.rb +125 -0
  798. data/lib/lib/roi/color/color_roi.rb +138 -0
  799. data/lib/lib/roi/image/image_roi.rb +187 -0
  800. data/lib/lib/roi/roi.rb +1064 -0
  801. data/lib/lib/roi/template_roi.txt +9 -0
  802. data/lib/lib/roi/text/text_roi.rb +187 -0
  803. data/lib/lib/roi/video/video_roi.rb +98 -0
  804. data/lib/lib/screen/screen.rb +183 -0
  805. data/lib/lib/screen/template.txt +7 -0
  806. data/lib/lib/screen/template_screen.txt +10 -0
  807. data/lib/lib/screens/apple_tv/apple_tv_screens.rb +44 -0
  808. data/lib/lib/screens/dta/dta_screens.rb +49 -0
  809. data/lib/lib/screens/mdn/mdn_screens.rb +49 -0
  810. data/lib/lib/screens/mobile/android/android_phone/android_phone_screens.rb +28 -0
  811. data/lib/lib/screens/mobile/android/android_screens.rb +40 -0
  812. data/lib/lib/screens/mobile/android/android_tablet/android_tablet_screens.rb +29 -0
  813. data/lib/lib/screens/mobile/ios/ios_phone/ios_phone_screens.rb +22 -0
  814. data/lib/lib/screens/mobile/ios/ios_screens.rb +39 -0
  815. data/lib/lib/screens/mobile/ios/ios_tablet/ios_tablet_screens.rb +20 -0
  816. data/lib/lib/screens/mobile/mobile_screens.rb +18 -0
  817. data/lib/lib/screens/passport/passport_screens.rb +42 -0
  818. data/lib/lib/screens/roku/roku_screens.rb +72 -0
  819. data/lib/lib/screens/roku_tv/roku_tv_screens.rb +43 -0
  820. data/lib/lib/screens/samsung_tv/samsung_tv_screens.rb +44 -0
  821. data/lib/lib/screens/sara/sara_screens.rb +49 -0
  822. data/lib/lib/screens/screens.rb +23 -0
  823. data/lib/lib/screens/stb/iguide/iguide_1080/iguide_1080_screens.rb +56 -0
  824. data/lib/lib/screens/stb/iguide/iguide_720/iguide_720_screens.rb +56 -0
  825. data/lib/lib/screens/stb/iguide/iguide_screens.rb +54 -0
  826. data/lib/lib/screens/stb/odn/odn_screens.rb +40 -0
  827. data/lib/lib/screens/stb/spectrum/spectrum_docsis/spectrum_1080_docsis_screens.rb +18 -0
  828. data/lib/lib/screens/stb/spectrum/spectrum_screens.rb +48 -0
  829. data/lib/lib/screens/stb/stb_screens.rb +13 -0
  830. data/lib/lib/screens/template.txt +52 -0
  831. data/lib/lib/screens/tivo/tivo_screens.rb +44 -0
  832. data/lib/lib/selenium/appium/appium.rb +388 -0
  833. data/lib/lib/selenium/selenium.rb +466 -0
  834. data/lib/lib/selenium/webdriver/webdriver.rb +254 -0
  835. data/lib/lib/test_case/boilerplate/functional.rb +7 -0
  836. data/lib/lib/test_case/boilerplate/performance.rb +7 -0
  837. data/lib/lib/test_case/ci_test.rb +47 -0
  838. data/lib/lib/test_case/functional_test_case.rb +27 -0
  839. data/lib/lib/test_case/make_boilerplate.rb +32 -0
  840. data/lib/lib/test_case/monitoring/apple_monitor.rb +104 -0
  841. data/lib/lib/test_case/monitoring/base_monitor.rb +140 -0
  842. data/lib/lib/test_case/monitoring/dta_monitor.rb +53 -0
  843. data/lib/lib/test_case/monitoring/iguide_monitor.rb +72 -0
  844. data/lib/lib/test_case/monitoring/mdn_monitor.rb +28 -0
  845. data/lib/lib/test_case/monitoring/monitoring_test.rb +111 -0
  846. data/lib/lib/test_case/monitoring/odn_monitor.rb +137 -0
  847. data/lib/lib/test_case/monitoring/passport_monitor.rb +50 -0
  848. data/lib/lib/test_case/monitoring/report_monitor.rb +178 -0
  849. data/lib/lib/test_case/monitoring/roku_monitor.rb +102 -0
  850. data/lib/lib/test_case/monitoring/sara_monitor.rb +33 -0
  851. data/lib/lib/test_case/monitoring/spec_monitor.rb +154 -0
  852. data/lib/lib/test_case/performance_test_case.rb +29 -0
  853. data/lib/lib/test_case/test_case.rb +1055 -0
  854. data/lib/lib/test_case/test_error.rb +29 -0
  855. data/lib/lib/test_case/test_exception.rb +9 -0
  856. data/lib/lib/test_case/test_status.rb +39 -0
  857. data/lib/lib/test_case/test_step.rb +156 -0
  858. data/lib/lib/test_case/test_trace.rb +80 -0
  859. data/lib/lib/test_data.rb +222 -0
  860. data/lib/lib/test_wrapper.rb +146 -0
  861. data/lib/misc/get_latest_android.sh +14 -0
  862. data/lib/misc/get_latest_ios.sh +14 -0
  863. data/lib/package-lock.json +3 -0
  864. data/lib/run_test.rb +4 -0
  865. data/lib/script_validator.rb +48 -0
  866. data/lib/syntax_eval.rb +151 -0
  867. data/lib/tools/convert_old_scripts.rb +100 -0
  868. data/lib/tools/find_duplicate_rois.rb +27 -0
  869. data/lib/tools/roku/inspector.rb +130 -0
  870. data/lib/tools/syntax_checker.rb +83 -0
  871. data/lib/upload_ref_images.rb +255 -0
  872. metadata +912 -0
@@ -0,0 +1,96 @@
1
+ require './dsllib/performance/DTA/roi'
2
+ require './dsllib/common/utils/roi_common'
3
+ require './dsllib/common/utils/tmc_utils'
4
+ require './dsllib/common/screens/twc_nav/guide_screen'
5
+ require './dsllib/common/utils/remotekey_utils'
6
+ require './dsllib/common/screens/twc_nav/info_banner_screen'
7
+ require './dsllib/common/screens/twc_nav/settings_screen'
8
+ require './dsllib/common/utils/menu_iterator'
9
+ require './dsllib/common/mas_db/mas_conductor'
10
+
11
+ def tuneToChannel(channel, sleepTimeInSec=0)
12
+ press_exit(5.sec())
13
+
14
+ tune_to channel.to_s
15
+ press_select
16
+
17
+ sleep sleepTimeInSec.to_s.to_i.sec if !(sleepTimeInSec==0)
18
+ end
19
+
20
+ def verify_video_playing? timeOutInMilliSec=1500, retries=10, sleepTimeInSec=1, percent=nil
21
+ result = false
22
+
23
+ retries.times do
24
+ return true if (video_playing? stb_img_roi(:check_video_playing), timeOutInMilliSec, percent)
25
+ sleep sleepTimeInSec.to_s.to_i.sec if !(sleepTimeInSec==0)
26
+ end
27
+
28
+ return false
29
+ end
30
+
31
+ def waitTillVideoStopsPlaying(timeOutInSec=15)
32
+ statTime = Time.now
33
+
34
+ begin
35
+ return time_diff_milli(statTime, Time.now) if !(verify_video_playing? 150,1,0)
36
+ end while (time_diff_milli(statTime, Time.now) < timeOutInSec * 1000.0)
37
+
38
+ loginfo("Unable to detect video stop playing",false)
39
+
40
+ return 0
41
+ end
42
+
43
+ def waitTillVideoStartsPlaying(timeOutInSec=15)
44
+ statTime = Time.now
45
+
46
+ begin
47
+ return time_diff_milli(statTime, Time.now) if (verify_video_playing? 150,1,0)
48
+ end while (time_diff_milli(statTime, Time.now) < timeOutInSec * 1000.0)
49
+
50
+ loginfo("Unable to detect video playing",false)
51
+
52
+ return 0
53
+ end
54
+
55
+ def initializeExecution()
56
+ press_exit(5.sec())
57
+
58
+ press_power_sleep if !(verify_video_playing?)
59
+ sleep 5.sec
60
+
61
+ tuneToChannel($firstChannel, 5)
62
+
63
+ return true if (verify_video_playing?)
64
+
65
+ loginfo("Unable to INITIALIZE",false)
66
+ return false
67
+ end
68
+
69
+ def time_diff_milli(t1, t2)
70
+ return (t2 - t1) * 1000.0
71
+ end
72
+
73
+ def buildExecutionArray()
74
+ execArray = Array.new
75
+
76
+ for j in 0..$SDChans.length-1
77
+ execArray[j] = "SD-"+$SDChans[j]
78
+ end
79
+
80
+ k = execArray.length()
81
+
82
+ for j in k..(k+$HDChans.length-1)
83
+ execArray[j] = "HD-"+$HDChans[j-k]
84
+ end
85
+ return execArray
86
+ end
87
+
88
+ def writeToReportFile(text)
89
+ if not(File.exist? $resultsLocation+$resultsFileName)
90
+ rFile = File.new($resultsLocation+$resultsFileName, "w")
91
+ else
92
+ rFile = File.open($resultsLocation+$resultsFileName, "a")
93
+ end
94
+ rFile.puts(text + "\n")
95
+ rFile.close
96
+ end
@@ -0,0 +1,236 @@
1
+ require './dsllib/common/utils/stb_registry.rb'
2
+
3
+ class TwcNavRoi
4
+ include ::DSL
5
+
6
+ @@OCRROI = {
7
+ :default => {
8
+ :iGuide_selected_submenu_text => [8, 132, 296, 23, [6], "", ""],
9
+ :iGuide_selected_program_title => [11, 94, 335, 35, [6], "", ""],
10
+ },
11
+ }
12
+
13
+ @@StbImageROI = {
14
+ :default => {
15
+ :iGuide_menu_title => [103, 105, 202, 22, 75, "client\\images\\iguide_concurrent_test\\iguide_concurrent_test_menuItem.jpg" ],
16
+ :iGuide_selected_submenu => [8, 132, 209, 18, 75, "client\\images\\iguide_concurrent_test\\iguide_concurrent_test_menuItem.jpg" ],
17
+ :iGuide_submenu_ON_icon => [3, 95, 190, 38, 65, "client\\images\\iguide_concurrent_test\\ON_icon.JPG" ],
18
+
19
+ :iGuide_list_ON_icon => [3, 198, 62, 55, 65, "client\\images\\iguide_concurrent_test\\ON_icon.JPG" ],
20
+ :iGuide_list_title => [18, 218, 164, 17, 75, "client\\images\\iguide_concurrent_test\\iguide_concurrent_test_programTitle.jpg" ],
21
+ :iGuide_selected_program_name => [12, 93, 185, 22, 75, "client\\images\\iguide_concurrent_test\\iguide_concurrent_test_programTitle.jpg" ],
22
+ :iGuide_selected_program_name_l => [12, 93, 346, 22, 75, "client\\images\\iguide_concurrent_test\\iguide_concurrent_test_programTitle.jpg" ],
23
+ :iGuide_selected_program_run_time => [10, 137, 90, 39, 75, "client\\images\\iguide_concurrent_test\\iguide_concurrent_test_programTitle.jpg" ],
24
+
25
+ :iguide_no_listing_available_icon => [174, 245, 228, 34, 60, "client\\images\\iguide_concurrent_test\\no_listing_available_icon.JPG" ],
26
+ :iguide_main_TWC_icon => [0, 23, 94, 76, 65, "client\\images\\iguide_concurrent_test\\TWC_icon.JPG" ],
27
+ :iGuide_watch_buy_back_icon => [1, 360, 97, 78, 65, "client\\images\\iguide_concurrent_test\\back_icon.JPG"],
28
+ :iguide_menu_icon => [238, 328, 162, 34, 75, "client\\images\\iguide_concurrent_test\\menu_icon.JPG" ],
29
+ :iGuide_menu_on_demand_icon => [74, 404, 186, 38, 75, "client\\images\\iguide_concurrent_test\\on_demand_icon.JPG"],
30
+
31
+
32
+ :iguide_error_3005_icon => [208, 182, 412, 164, 70, "client\\images\\iguide_concurrent_test\\3005_icon.JPG" ],
33
+ :iguide_error_3007_icon => [208, 182, 412, 164, 70, "client\\images\\iguide_concurrent_test\\3007_icon.JPG" ],
34
+ :iguide_error_3008_icon => [208, 182, 412, 164, 70, "client\\images\\iguide_concurrent_test\\3008_icon.JPG" ],
35
+ :iguide_error_3101_icon => [208, 182, 412, 164, 70, "client\\images\\iguide_concurrent_test\\3101_icon.JPG" ],
36
+ :iguide_error_3102_icon => [208, 182, 412, 164, 70, "client\\images\\iguide_concurrent_test\\3102_icon.JPG" ],
37
+ :iguide_error_3107_icon => [208, 182, 412, 164, 70, "client\\images\\iguide_concurrent_test\\3107_icon.JPG" ],
38
+ :iguide_error_please_icon => [208, 182, 412, 164, 70, "client\\images\\iguide_concurrent_test\\error_please_icon.JPG" ],
39
+ },
40
+ }
41
+
42
+ @@GoldenROI = {
43
+ }
44
+
45
+ @@GenericMap = {
46
+ :default => {
47
+
48
+ },
49
+ :DCT2224 => {
50
+ :first_column_x_coordinate => 48,
51
+ :second_column_x_coordinate => 350,
52
+ :first_row_y_coordinate => 188,
53
+ :row_coordinate_difference => 35,
54
+ :width => 250,
55
+ :height => 28,
56
+ },
57
+ :DCT2000 => {
58
+ :first_column_x_coordinate => 48,
59
+ :second_column_x_coordinate => 350,
60
+ :first_row_y_coordinate => 188,
61
+ :row_coordinate_difference => 35,
62
+ :width => 250,
63
+ :height => 28,
64
+ },
65
+ :DCH6416 => {
66
+ :first_column_x_coordinate => 48,
67
+ :second_column_x_coordinate => 350,
68
+ :first_row_y_coordinate => 220 ,
69
+ :row_coordinate_difference => 35,
70
+ :width => 250,
71
+ :height => 28,
72
+ },
73
+ :DCT2500 => {
74
+ :first_column_x_coordinate => 48,
75
+ :second_column_x_coordinate => 350,
76
+ :first_row_y_coordinate => 220 ,
77
+ :row_coordinate_difference => 35,
78
+ :width => 250,
79
+ :height => 28,
80
+ },
81
+ :DCT2524 => {
82
+ :first_column_x_coordinate => 48,
83
+ :second_column_x_coordinate => 350,
84
+ :first_row_y_coordinate => 220 ,
85
+ :row_coordinate_difference => 35,
86
+ :width => 250,
87
+ :height => 28,
88
+ },
89
+ :DCH100 => {
90
+ :first_column_x_coordinate => 48,
91
+ :second_column_x_coordinate => 350,
92
+ :first_row_y_coordinate => 220 ,
93
+ :row_coordinate_difference => 35,
94
+ :width => 250,
95
+ :height => 28,
96
+ },
97
+ :DCT5100 => {
98
+ :first_column_x_coordinate => 48,
99
+ :second_column_x_coordinate => 350,
100
+ :first_row_y_coordinate => 220 ,
101
+ :row_coordinate_difference => 35,
102
+ :width => 250,
103
+ :height => 28,
104
+ },
105
+ :DCH3416 => {
106
+ :first_column_x_coordinate => 48,
107
+ :second_column_x_coordinate => 350,
108
+ :first_row_y_coordinate => 220 ,
109
+ :row_coordinate_difference => 35,
110
+ :width => 250,
111
+ :height => 28,
112
+ },
113
+ :DCH6200 => {
114
+ :first_column_x_coordinate => 48,
115
+ :second_column_x_coordinate => 350,
116
+ :first_row_y_coordinate => 220 ,
117
+ :row_coordinate_difference => 35,
118
+ :width => 250,
119
+ :height => 28,
120
+ },
121
+ :DCT6208 => {
122
+ :first_column_x_coordinate => 48,
123
+ :second_column_x_coordinate => 350,
124
+ :first_row_y_coordinate => 220 ,
125
+ :row_coordinate_difference => 35,
126
+ :width => 250,
127
+ :height => 28,
128
+ },
129
+ :DCT6412 => {
130
+ :first_column_x_coordinate => 48,
131
+ :second_column_x_coordinate => 350,
132
+ :first_row_y_coordinate => 220 ,
133
+ :row_coordinate_difference => 35,
134
+ :width => 250,
135
+ :height => 28,
136
+ },
137
+ :DCT6416 => {
138
+ :first_column_x_coordinate => 48,
139
+ :second_column_x_coordinate => 350,
140
+ :first_row_y_coordinate => 220 ,
141
+ :row_coordinate_difference => 35,
142
+ :width => 250,
143
+ :height => 28,
144
+ },
145
+ :DCX3200 => {
146
+ :first_column_x_coordinate => 48,
147
+ :second_column_x_coordinate => 350,
148
+ :first_row_y_coordinate => 220 ,
149
+ :row_coordinate_difference => 35,
150
+ :width => 250,
151
+ :height => 28,
152
+ },
153
+ :DCH3200 => {
154
+ :first_column_x_coordinate => 48,
155
+ :second_column_x_coordinate => 350,
156
+ :first_row_y_coordinate => 220 ,
157
+ :row_coordinate_difference => 35,
158
+ :width => 250,
159
+ :height => 28,
160
+ },
161
+ :DCX3200p2 => {
162
+ :first_column_x_coordinate => 48,
163
+ :second_column_x_coordinate => 350,
164
+ :first_row_y_coordinate => 220 ,
165
+ :row_coordinate_difference => 35,
166
+ :width => 250,
167
+ :height => 28,
168
+ },
169
+ :DCT6200 => {
170
+ :first_column_x_coordinate => 48,
171
+ :second_column_x_coordinate => 350,
172
+ :first_row_y_coordinate => 220 ,
173
+ :row_coordinate_difference => 35,
174
+ :width => 250,
175
+ :height => 28,
176
+ },
177
+
178
+ }
179
+
180
+ def TwcNavRoi.dynamic_ocr_roi(row_num,column_num, pre_process_level,expected_text)
181
+ do_get_dynamic(@@GenericMap,row_num, column_num, pre_process_level,expected_text)
182
+ end
183
+
184
+ def TwcNavRoi.ocr_roi(roi_name)
185
+ do_get(@@OCRROI, roi_name)
186
+ end
187
+
188
+ def TwcNavRoi.stb_img_roi(roi_name)
189
+ do_get(@@StbImageROI, roi_name)
190
+ end
191
+
192
+ def TwcNavRoi.golden_roi(roi_name)
193
+ do_get(@@GoldenROI, roi_name)
194
+ end
195
+
196
+ # Changes pre-process level on OCRRoi object and returns modified object
197
+ def TwcNavRoi.change_preprocess_level(ocr_obj, pre_process_level)
198
+ newOcrRoi = OcrRoi.new(ocr_obj.left, ocr_obj.top, ocr_obj.width,ocr_obj.height, pre_process_level,"", ocr_obj.expected_text)
199
+ return newOcrRoi
200
+ end
201
+
202
+
203
+ def TwcNavRoi.do_get(registry, roi_name)
204
+ if registry[fetch_stb.model.to_sym]
205
+ roi_instance = registry[fetch_stb.model.to_sym][roi_name]
206
+ return roi_instance if roi_instance
207
+ end
208
+ return registry[:default][roi_name]
209
+ end
210
+
211
+ def TwcNavRoi.do_get_sub_registry(sub_registry, roi_name)
212
+ return false unless sub_registry[:default]
213
+ return sub_registry[:default][roi_name]
214
+ end
215
+
216
+ def TwcNavRoi.do_get_dynamic(registry,row_num, col_num, pre_process_level,expected_text)
217
+ if registry[fetch_stb.model.to_sym]
218
+ row_diff = registry[fetch_stb.model.to_sym][:row_coordinate_difference]
219
+ width = registry[fetch_stb.model.to_sym][:width]
220
+ height = registry[fetch_stb.model.to_sym][:height]
221
+
222
+ if(col_num == 1)
223
+ x = registry[fetch_stb.model.to_sym][:first_column_x_coordinate]
224
+ y = registry[fetch_stb.model.to_sym][:first_row_y_coordinate]
225
+ actual_y = y + ((row_num - 1)* row_diff)
226
+ return OcrRoi.new(x,actual_y, width,height,pre_process_level, "", expected_text)
227
+ else
228
+ x = registry[fetch_stb.model.to_sym][:second_column_x_coordinate]
229
+ y = registry[fetch_stb.model.to_sym][:first_row_y_coordinate]
230
+ actual_y = y + ((row_num - 1)* row_diff)
231
+ return OcrRoi.new(x,actual_y, width,height,pre_process_level, "", expected_text)
232
+ end
233
+ end
234
+ end
235
+
236
+ end
@@ -0,0 +1,533 @@
1
+ require './dsllib/common/utils/tmc_utils'
2
+ require './dsllib/performance/iguide_concurrent_test/ROI.rb'
3
+ require './dsllib/common/utils/tmc_utils.rb'
4
+
5
+ def navigateNodes(pageTitle,breadCrumbs,isParent=false)
6
+ logdebug("Start navigating menu page '" + pageTitle + "'",$captureImagesforDebug) if $displayDebugLog
7
+ row = 0
8
+ column = 0
9
+ menuCount = 0
10
+
11
+ if (isParent)
12
+ row = $first_row - 1
13
+ column = $first_column - 1
14
+ end
15
+
16
+ while (column <= 2)
17
+ column = column + 1
18
+ row=0 if menuCount != 0
19
+
20
+ while (row <= 20)
21
+ row = row + 1
22
+
23
+ $category = "MENU"
24
+
25
+ if ($pageLevel > 15)
26
+ error_text = "Resetting on unexpected error: Page level is greater than 15"
27
+ set_reset(breadCrumbs+"-"+row.to_s()+"-"+column.to_s(),pageTitle,"","",error_text)
28
+ $pageLevel = 0
29
+ end
30
+
31
+ if ($reset)
32
+ return false unless isParent
33
+ break if ((row > $numberOfRowsInMainVODPage) and (column == 1)) #Since there are only X number of menu items in the first page in one column
34
+
35
+ $errorCount = $errorCount + 1
36
+
37
+ prepare_exit("Total errors exceeded max errors. Quitting test!!") if $errorCount > $maxErrors
38
+ prepare_exit("On VOD page - Row > " + $numberOfRowsInMainVODPage.to_s() + " and Column = 2. Reached execution end. Quitting test!!") if ((row > $numberOfRowsInMainVODPage) and (column == 2)) #Since there are only 5 menu items in the first page in one column. If row > 5 and column == 2 then it completed execution
39
+
40
+ abort if $exit_execution
41
+
42
+ recover_error(row,column)
43
+ breadCrumbs = "VOD"
44
+ $pageLevel = 0
45
+ $reset = false
46
+ end
47
+
48
+ if (isParent)
49
+ menuCount = menuCount + 1
50
+ if (menuCount == 2)
51
+ row = 1
52
+ column = 1
53
+ reset_to_initial(row,column)
54
+ end
55
+ end
56
+
57
+ pageImage = capture_screen()
58
+ nextPageTitle = ocr_text_for_roi(:iGuide_selected_submenu_text)
59
+
60
+ $pageLevel = $pageLevel + 1
61
+ capture_screen_to $menuPage
62
+
63
+ logdebug("Pressing SELECT on menu page '" + pageTitle + "' to go to '" + nextPageTitle + "'",$captureImagesforDebug) if $displayDebugLog
64
+
65
+ press_select_now()
66
+
67
+ next unless calculate_load_time_sub_menu("SELECT",nextPageTitle,pageTitle,breadCrumbs+"-"+row.to_s()+"-"+column.to_s()+"; "+$pageLevel.to_s())
68
+ sleep 2.sec
69
+
70
+ nextPageImage = capture_screen()
71
+
72
+ if not(screen_matches_for_icon_roi(:iguide_no_listing_available_icon, stb_img_roi(:iguide_no_listing_available_icon).referenceImage))
73
+ if (screen_matches_for_icon_roi(:iGuide_list_ON_icon, stb_img_roi(:iGuide_list_ON_icon).referenceImage))
74
+ next unless navigateProgramList(nextPageTitle,breadCrumbs+"-"+row.to_s()+"-"+column.to_s()+"; "+$pageLevel.to_s())
75
+ next unless verify_correct_screen(breadCrumbs+"-"+row.to_s()+"-"+column.to_s()+"; "+$pageLevel.to_s(),nextPageTitle, :iGuide_list_title, nextPageImage)
76
+ else
77
+ next unless navigateNodes(nextPageTitle,breadCrumbs+"-"+row.to_s()+"-"+column.to_s()+"; "+$pageLevel.to_s())
78
+ next unless verify_correct_screen(breadCrumbs+"-"+row.to_s()+"-"+column.to_s()+"; "+$pageLevel.to_s(),nextPageTitle, :iGuide_menu_title, nextPageImage)
79
+ end
80
+ end
81
+
82
+ $pageLevel = $pageLevel - 1
83
+ capture_screen_to $menuPage
84
+
85
+ logdebug("Pressing LAST from inside '" + nextPageTitle + "' to go back to menu page '" + pageTitle + "'",$captureImagesforDebug) if $displayDebugLog
86
+
87
+ press_last_now()
88
+
89
+ next unless calculate_load_time_sub_menu("LAST",pageTitle,nextPageTitle,breadCrumbs+"-"+row.to_s()+"-"+column.to_s())
90
+ sleep 2.sec
91
+
92
+ next unless verify_correct_screen(breadCrumbs+"-"+row.to_s()+"-"+column.to_s(),pageTitle,:iGuide_menu_title, pageImage)
93
+
94
+ if (isParent)
95
+ if (menuCount == 1)
96
+ row = 1
97
+ column = 1
98
+ reset_to_initial(row,column)
99
+ end
100
+ end
101
+
102
+ capture_screen_to $menuPage
103
+
104
+ # loop to verify it is really the last item
105
+ logdebug("Navigating to next menu item from "+breadCrumbs+"-"+(row+1).to_s()+"-"+column.to_s(),$captureImagesforDebug) if $displayDebugLog
106
+ press_down_arrow_sleep()
107
+
108
+ # included this to take care of bug - control transfer from column 2 to 1 when we navigate down from one page to another
109
+ if (column == 2)
110
+ press_right_arrow_sleep()
111
+ end
112
+
113
+ if (comapre_screen_with_image(:iGuide_selected_submenu,$menuPage))
114
+ if (column == 1)
115
+ logdebug("Reached end of column 1 (" + row.to_s() + " row) on page '" + pageTitle + "' going up on column 1 to go to column 2",$captureImagesforDebug) if $displayDebugLog
116
+
117
+ for k in 1..(row+1)
118
+ press_up_arrow_sleep()
119
+ end
120
+
121
+ press_right_arrow_sleep()
122
+
123
+ logdebug("Went to top of column 1 on page '" + pageTitle + "' and then right to column 2",$captureImagesforDebug) if $displayDebugLog
124
+
125
+ if (comapre_screen_with_image(:iGuide_selected_submenu,$menuPage))
126
+ logdebug("Only one item on page. Complete navigating menu page '" + pageTitle + "'",$captureImagesforDebug) if $displayDebugLog
127
+ return true
128
+ end
129
+ break
130
+ else
131
+ logdebug("Complete navigating menu page '" + pageTitle + "'",$captureImagesforDebug) if $displayDebugLog
132
+ return true
133
+ end
134
+ else
135
+ next
136
+ end
137
+ end
138
+ end
139
+
140
+ logdebug("Complete navigating menu page '" + pageTitle + "'",$captureImagesforDebug) if $displayDebugLog
141
+ return true
142
+ end
143
+
144
+ def navigateProgramList(pageTitle,breadCrumbs)
145
+ logdebug("Start navigating program list '" + pageTitle + "'",$captureImagesforDebug) if $displayDebugLog
146
+
147
+ for row in 1..20
148
+ progTitle = ocr_text_for_roi(:iGuide_selected_program_title)
149
+
150
+ $pageLevel = $pageLevel + 1
151
+ capture_screen_to $progListPage
152
+
153
+ logdebug("Pressing SELECT on list page '" + pageTitle + "'",$captureImagesforDebug) if $displayDebugLog
154
+
155
+ $category = "PROGRAM"
156
+
157
+ press_select_now()
158
+
159
+ return false unless calculate_load_time_ICON(:iGuide_watch_buy_back_icon,"SELECT",progTitle,pageTitle,breadCrumbs+"-"+row.to_s()+"; "+$pageLevel.to_s())
160
+ sleep 2.sec
161
+
162
+ $pageLevel = $pageLevel - 1
163
+
164
+ logdebug("Pressing LAST on program page '" + progTitle + "'",$captureImagesforDebug) if $displayDebugLog
165
+
166
+ $category = "LIST"
167
+
168
+ press_last_now()
169
+
170
+ return false unless calculate_load_time_ICON(:iGuide_list_ON_icon,"LAST",pageTitle,progTitle,breadCrumbs+"-"+row.to_s())
171
+ sleep 2.sec
172
+
173
+ # loop to verify it is really the last item
174
+ for k in 1..2
175
+ logdebug("Navigating to next program item from "+breadCrumbs+"-"+(row+1).to_s(),$captureImagesforDebug) if $displayDebugLog
176
+ press_down_arrow_sleep()
177
+ loginfo ("Complte1")
178
+
179
+ if (comapre_screen_with_image(:iGuide_selected_program_name,$progListPage) and comapre_screen_with_image(:iGuide_selected_program_name_l,$progListPage) and comapre_screen_with_image(:iGuide_selected_program_run_time,$progListPage))
180
+ if (k == 2)
181
+ loginfo ("Complte2")
182
+ logdebug("Complete navigating program list '" + pageTitle + "'",$captureImagesforDebug) if $displayDebugLog
183
+ return true
184
+ else
185
+ row = row + 1
186
+ next
187
+ end
188
+ else
189
+ break
190
+ end
191
+ end
192
+ end
193
+
194
+ loginfo ("Complte3")
195
+
196
+ logdebug("Complete navigating program list '" + pageTitle + "'",$captureImagesforDebug) if $displayDebugLog
197
+ return true
198
+ end
199
+
200
+ def recover_error(row,column)
201
+ logdebug("Entering recovery section",$captureImagesforDebug) if $displayDebugLog
202
+ reset_to_initial(row,column)
203
+ logdebug("Completed recovery; Now at page level 0 and menu item - " + row.to_s() + "," + column.to_s(),$captureImagesforDebug) if $displayDebugLog
204
+ end
205
+
206
+ def reset_to_initial(row,column)
207
+ logdebug("Resetting to page level 0 and menu item - " + row.to_s() + "," + column.to_s(),$captureImagesforDebug) if $displayDebugLog
208
+
209
+ 3.times do
210
+ press_exit_sleep()
211
+ end
212
+
213
+ abort unless launch_vod
214
+ sleep 15.sec
215
+
216
+ go_to_option(row, column)
217
+
218
+ logdebug("Complete reset to page level 0 and menu item - " + row.to_s() + "," + column.to_s(),$captureImagesforDebug) if $displayDebugLog
219
+ end
220
+
221
+ def comapre_screen_with_image(stb_roi_name,image_location,retries=3)
222
+ image_roi = stb_img_roi(stb_roi_name)
223
+ image_roi.referenceImage = image_location
224
+
225
+ retries.times do
226
+ return true if screen_contains_image? stb_img_roi(stb_roi_name), image_roi
227
+
228
+ if retries > 1
229
+ sleep 1.sec
230
+ end
231
+ end
232
+ # puts2 "WARNING: Golden copy does not match for icon ROI #{roi_name}", true, false
233
+ return false
234
+ end
235
+
236
+ def ocr_text_for_roi(ocr_roi_name, alphanumeric_only=true, retries=3)
237
+ retries.times do |i|
238
+ ocr_text = ocr_text_from_screen(lookup_ocr_roi(ocr_roi_name)).downcase.strip
239
+
240
+ # puts "OCR text : #{ocr_text}"
241
+
242
+ if alphanumeric_only
243
+ ocr_text = ocr_text.gsub(/[^0-9a-z]/, '')
244
+ end
245
+
246
+ if not(ocr_text == "")
247
+ return ocr_text
248
+ end
249
+
250
+ if retries > 1
251
+ sleep 1.sec
252
+ end
253
+ end
254
+
255
+ return ""
256
+ end
257
+
258
+ def calculate_load_time_ICON(icon_roi_name, keyPressed, pageTitle, fromPageName, breadCrumbs)
259
+ statTime = Time.now
260
+
261
+ begin
262
+ if screen_matches_for_icon_roi(icon_roi_name, stb_img_roi(icon_roi_name).referenceImage, 1)
263
+ timeDiff = time_diff_milli(statTime, Time.now)
264
+
265
+ logdebug("Success - " + breadCrumbs + " - Took '" + timeDiff.to_s() + "' to go from '" + fromPageName + "' to '" + pageTitle + "' after key press '" + keyPressed + "'",$captureImagesforDebug) if $displayDebugLog
266
+ reportText = Time.new.strftime('%m-%d-%y %H:%M:%S')+","+$category+","+$pageLevel.to_s()+","+breadCrumbs+","+pageTitle+","+fromPageName+","+keyPressed+","+timeDiff.to_s()
267
+ writeToReportFile(reportText)
268
+
269
+ return true #Found
270
+ end
271
+
272
+ timeDiff = time_diff_milli(statTime, Time.now)
273
+
274
+ if (timeDiff > ($timeToStartLookingForErrorsInSec*1000.0))
275
+ break if check_for_error_screens()
276
+ end
277
+ end while (timeDiff < $timeOutInSec * 1000.0)
278
+
279
+ if ($category.equal?("PROGRAM"))
280
+ error_text = "FAIL loading PROGRAM '" + pageTitle + "' after key press '" + keyPressed + "'; BreadCrumbs - '" + breadCrumbs + "' From - '" + fromPageName
281
+ else
282
+ error_text = "FAIL ICON compare '" + pageTitle + "' after key press '" + keyPressed + "'; BreadCrumbs - '" + breadCrumbs + "' From - '" + fromPageName
283
+ end
284
+ loginfo(error_text)
285
+ reportText = Time.new.strftime('%m-%d-%y %H:%M:%S')+","+$category+","+$pageLevel.to_s()+","+breadCrumbs+","+pageTitle+","+fromPageName+","+keyPressed+",,"+error_text+","+capture_screen()+","+stb_img_roi(icon_roi_name).referenceImage
286
+ writeToReportFile(reportText)
287
+
288
+ error_text = "Resetting on error: Pressed " + keyPressed + " on page '" + fromPageName + "' to go to '" + pageTitle + "'"
289
+ set_reset(breadCrumbs,pageTitle,fromPageName,keyPressed,error_text)
290
+ return false #Timed Out
291
+ end
292
+
293
+ def calculate_load_time_sub_menu(keyPressed,pageTitle,fromPageName,breadCrumbs)
294
+ statTime = Time.now
295
+
296
+ ref_image = $menuPage
297
+
298
+ begin
299
+ if (not(comapre_screen_with_image(:iGuide_selected_submenu,$menuPage,1)) or not(comapre_screen_with_image(:iGuide_menu_title,$menuPage,1)))
300
+ begin
301
+ if ((screen_matches_for_icon_roi(:iGuide_submenu_ON_icon, stb_img_roi(:iGuide_submenu_ON_icon).referenceImage, 1)) or (screen_matches_for_icon_roi(:iGuide_list_ON_icon, stb_img_roi(:iGuide_list_ON_icon).referenceImage)))
302
+ timeDiff = time_diff_milli(statTime, Time.now)
303
+
304
+ if (screen_matches_for_icon_roi(:iGuide_submenu_ON_icon, stb_img_roi(:iGuide_submenu_ON_icon).referenceImage))
305
+ $category = "MENU"
306
+ else
307
+ $category = "LIST"
308
+ end
309
+
310
+ logdebug("Success - " + breadCrumbs + " - Took '" + timeDiff.to_s() + "' to go from '" + fromPageName + "' to '" + pageTitle + "' after key press '" + keyPressed + "'",$captureImagesforDebug) if $displayDebugLog
311
+
312
+ reportText = Time.new.strftime('%m-%d-%y %H:%M:%S')+","+$category+","+$pageLevel.to_s()+","+breadCrumbs+","+pageTitle+","+fromPageName+","+keyPressed+","+timeDiff.to_s()
313
+ writeToReportFile(reportText)
314
+
315
+ return true #Found
316
+ end
317
+
318
+ timeDiff = time_diff_milli(statTime, Time.now)
319
+
320
+ if (timeDiff > ($timeToStartLookingForErrorsInSec*1000.0))
321
+ break if check_for_error_screens()
322
+ end
323
+ end while (timeDiff < $timeOutInSec * 1000.0)
324
+
325
+ ref_image = stb_img_roi(:iGuide_submenu_ON_icon).referenceImage
326
+ break
327
+ end
328
+
329
+ timeDiff = time_diff_milli(statTime, Time.now)
330
+
331
+ if (timeDiff > ($timeToStartLookingForErrorsInSec*1000.0))
332
+ break if check_for_error_screens()
333
+ end
334
+ end while (timeDiff < $timeOutInSec * 1000.0)
335
+
336
+ if screen_matches_for_icon_roi(:iguide_no_listing_available_icon, stb_img_roi(:iguide_no_listing_available_icon).referenceImage)
337
+ logdebug("No listing avaialble - " + breadCrumbs + " from '" + fromPageName + "' to '" + pageTitle + "' after key press '" + keyPressed + "'",$captureImagesforDebug) if $displayDebugLog
338
+ return true
339
+ end
340
+
341
+ error_text = "FAIL to load '" + pageTitle + "' after key press '" + keyPressed + "'; BreadCrumbs - '" + breadCrumbs + "' From - '" + fromPageName + "'"
342
+
343
+ loginfo(error_text)
344
+
345
+ reportText = Time.new.strftime('%m-%d-%y %H:%M:%S')+","+$category+","+$pageLevel.to_s()+","+breadCrumbs+","+pageTitle+","+fromPageName+","+keyPressed+",,"+error_text+","+capture_screen()+","+ref_image
346
+ writeToReportFile(reportText)
347
+
348
+ error_text = "Resetting on error: Pressed " + keyPressed + " on page '" + fromPageName + "' to go to '" + pageTitle + "'"
349
+ set_reset(breadCrumbs,pageTitle,fromPageName,keyPressed,error_text)
350
+ return false #Timed Out
351
+ end
352
+
353
+ def time_diff_milli(t1, t2)
354
+ return (t2 - t1) * 1000.0
355
+ end
356
+
357
+ def capture_exec_image()
358
+ capture_screen_to($imagesLocation + $resultsFileName.sub(".csv", "") + "_" + $imageNumber.to_s() + ".jpg") if $capture_exec_images
359
+ $imageNumber = $imageNumber + 1
360
+ end
361
+
362
+ def capture_screen
363
+ return capture_screen_to(Time.new.strftime('%m%d%y_%H_%M_%S') + ".jpg")
364
+ end
365
+
366
+ def verify_correct_screen(breadCrumbs,pageTitle,image_roi_name,ref_image,retries=3)
367
+ image_roi = stb_img_roi(image_roi_name)
368
+ image_roi.referenceImage = ref_image
369
+ # image_roi = ImageRoi.new(image_roi.left, image_roi.top, image_roi.width, image_roi.height, image_roi.threshold, ref_image)
370
+
371
+ retries.times do
372
+ if (screen_contains_image? stb_img_roi(image_roi_name), image_roi)
373
+ logdebug("Successfully verified screen '" + pageTitle,$captureImagesforDebug) if $displayDebugLog
374
+ return true
375
+ end
376
+
377
+ if retries > 1
378
+ sleep 1.sec
379
+ end
380
+ end
381
+
382
+ error_text = "FAIL to verify correct screen '" + pageTitle + "'"
383
+
384
+ loginfo(error_text)
385
+
386
+ reportText = Time.new.strftime('%m-%d-%y %H:%M:%S')+","+$category+","+$pageLevel.to_s()+","+breadCrumbs+","+pageTitle+",,,,"+error_text+","+capture_screen()+","+ref_image
387
+ writeToReportFile(reportText)
388
+
389
+ error_text = "Resetting on error: Page '" + pageTitle + "' verification failed"
390
+ set_reset(breadCrumbs,pageTitle,"","",error_text)
391
+ return false
392
+ end
393
+
394
+ def set_reset(breadCrumbs,pageTitle,fromPageName,keyPressed,error_text)
395
+ loginfo(error_text)
396
+ reportText = Time.new.strftime('%m-%d-%y %H:%M:%S')+","+$category+","+$pageLevel.to_s()+","+breadCrumbs+","+pageTitle+","+fromPageName+","+keyPressed+",,"+error_text
397
+ writeToReportFile(reportText)
398
+ $reset = true
399
+ end
400
+
401
+ def writeToReportFile(text)
402
+ if not(File.exist? $resultsLocation+$resultsFileName)
403
+ rFile = File.new($resultsLocation+$resultsFileName, "w")
404
+ else
405
+ rFile = File.open($resultsLocation+$resultsFileName, "a")
406
+ end
407
+ rFile.puts(text + "\n")
408
+ rFile.close
409
+ end
410
+
411
+ def prepare_exit(error_text)
412
+ reportText = Time.new.strftime('%m-%d-%y %H:%M:%S')+",,,,,,,," + error_text
413
+ writeToReportFile(reportText)
414
+
415
+ loginfo(error_text)
416
+
417
+ $exit_execution = true
418
+ end
419
+
420
+ def check_for_error_screens()
421
+ if screen_matches_for_icon_roi(:iguide_error_please_icon, stb_img_roi(:iguide_error_please_icon).referenceImage)
422
+ if screen_matches_for_icon_roi(:iguide_error_3005_icon, stb_img_roi(:iguide_error_3005_icon).referenceImage)
423
+ error_screen_name = "CL-CTN 3005"
424
+ elsif screen_matches_for_icon_roi(:iguide_error_3007_icon, stb_img_roi(:iguide_error_3007_icon).referenceImage)
425
+ error_screen_name = "CL-CCM 3007"
426
+ elsif screen_matches_for_icon_roi(:iguide_error_3008_icon, stb_img_roi(:iguide_error_3008_icon).referenceImage)
427
+ error_screen_name = "CL-CTN 3008"
428
+ elsif screen_matches_for_icon_roi(:iguide_error_3101_icon, stb_img_roi(:iguide_error_3101_icon).referenceImage)
429
+ error_screen_name = "CL-CCM 3101"
430
+ elsif screen_matches_for_icon_roi(:iguide_error_3102_icon, stb_img_roi(:iguide_error_3102_icon).referenceImage)
431
+ error_screen_name = "CL-CCM 3102"
432
+ elsif screen_matches_for_icon_roi(:iguide_error_3107_icon, stb_img_roi(:iguide_error_3107_icon).referenceImage)
433
+ error_screen_name = "CL-CCM 3107"
434
+ else
435
+ error_screen_name = "Some kind of"
436
+ end
437
+
438
+ loginfo(error_screen_name+" error screen detected")
439
+ reportText = Time.new.strftime('%m-%d-%y %H:%M:%S')+",,,,,,,,'" + error_screen_name+" error screen detected," + capture_screen()
440
+ writeToReportFile(reportText)
441
+
442
+ return true
443
+ end
444
+
445
+ return false
446
+ end
447
+
448
+ def launch_vod
449
+ press_menu_sleep()
450
+
451
+ statTime = Time.now
452
+
453
+ begin
454
+ if screen_matches_for_icon_roi(:iguide_menu_icon, stb_img_roi(:iguide_menu_icon).referenceImage)
455
+ statTime = Time.now
456
+ logdebug("Menu screen appeared",$captureImagesforDebug) if $displayDebugLog
457
+
458
+ for i in 1..15
459
+ if screen_matches_for_icon_roi(:iGuide_menu_on_demand_icon, stb_img_roi(:iGuide_menu_on_demand_icon).referenceImage)
460
+ logdebug("OD icon screen appeared",$captureImagesforDebug) if $displayDebugLog
461
+
462
+ press_select_now()
463
+ return true
464
+ end
465
+
466
+ press_right_arrow_sleep()
467
+ end
468
+
469
+ loginfo("OD icon did not appear")
470
+ reportText = Time.new.strftime('%m-%d-%y %H:%M:%S')+",,,,,,,,Unable to find ON DEMAND icon in menu," + capture_screen()
471
+ writeToReportFile(reportText)
472
+ return false
473
+ end
474
+
475
+ timeDiff = time_diff_milli(statTime, Time.now)
476
+ end while (timeDiff < $timeOutInSec * 1000.0)
477
+
478
+ loginfo("Menu screen did not appear")
479
+ reportText = Time.new.strftime('%m-%d-%y %H:%M:%S')+",,,,,,,,Unable to launch menu," + capture_screen()
480
+ writeToReportFile(reportText)
481
+ return false
482
+ end
483
+
484
+ def go_to_option(row, column)
485
+ for k in 1..(row-1)
486
+ press_down_arrow_sleep()
487
+ end
488
+
489
+ if column == 2
490
+ press_right_arrow_sleep()
491
+ end
492
+ end
493
+
494
+ def navigateFirstMenuItem()
495
+ $first_row = 1
496
+ $first_column = 1
497
+
498
+ for i in 2..$stb_number.to_i
499
+ break if $stb_number.to_i==1
500
+ capture_screen_to $menuPage
501
+
502
+ $first_row=$first_row+1
503
+ press_down_arrow_sleep()
504
+
505
+ if (comapre_screen_with_image(:iGuide_selected_submenu,$menuPage))
506
+ if ($first_column==1)
507
+ $first_column = 2
508
+ press_right_arrow_sleep()
509
+ else
510
+ $first_column = 1
511
+ press_left_arrow_sleep()
512
+ end
513
+
514
+ for j in 1..($first_row+2)
515
+ press_up_arrow_sleep()
516
+ end
517
+
518
+ $first_row = 1
519
+ end
520
+ end
521
+
522
+ logdebug("Completed first menu navigation for random row = "+$first_row.to_s()+"; first column = "+$first_column.to_s(),$captureImagesforDebug) if $displayDebugLog
523
+ end
524
+
525
+ def press_select_now
526
+ press_select
527
+ success_log_key_press "select"
528
+ end
529
+
530
+ def press_last_now
531
+ press_last
532
+ success_log_key_press "last"
533
+ end