tivohmo 0.2.3 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -1
  3. data/CHANGELOG +30 -0
  4. data/Gemfile +2 -0
  5. data/README.md +4 -6
  6. data/TODO +1 -0
  7. data/contrib/tivohmo.conf +2 -2
  8. data/contrib/tivohmo.plist +1 -1
  9. data/contrib/tivohmo.yml +60 -0
  10. data/lib/tivohmo/adapters/filesystem/file_item.rb +2 -3
  11. data/lib/tivohmo/adapters/plex/category.rb +87 -6
  12. data/lib/tivohmo/adapters/plex/episode.rb +30 -11
  13. data/lib/tivohmo/adapters/plex/group.rb +20 -0
  14. data/lib/tivohmo/adapters/plex/movie.rb +15 -3
  15. data/lib/tivohmo/adapters/plex/qualified_category.rb +14 -3
  16. data/lib/tivohmo/adapters/plex/season.rb +2 -2
  17. data/lib/tivohmo/adapters/plex/section.rb +5 -5
  18. data/lib/tivohmo/adapters/plex/transcoder.rb +5 -1
  19. data/lib/tivohmo/adapters/plex.rb +1 -0
  20. data/lib/tivohmo/adapters/settings/application.rb +37 -0
  21. data/lib/tivohmo/adapters/settings/display_item.rb +35 -0
  22. data/lib/tivohmo/adapters/settings/key_container.rb +35 -0
  23. data/lib/tivohmo/adapters/settings/metadata.rb +26 -0
  24. data/lib/tivohmo/adapters/settings/reset_defaults_item.rb +39 -0
  25. data/lib/tivohmo/adapters/settings/set_value_item.rb +38 -0
  26. data/lib/tivohmo/adapters/settings/transcoder.rb +23 -0
  27. data/lib/tivohmo/adapters/settings.rb +7 -0
  28. data/lib/tivohmo/adapters/streamio/transcoder.rb +39 -1
  29. data/lib/tivohmo/api/container.rb +5 -1
  30. data/lib/tivohmo/api/item.rb +2 -0
  31. data/lib/tivohmo/api/subtitle.rb +13 -0
  32. data/lib/tivohmo/api/transcoder.rb +1 -3
  33. data/lib/tivohmo/api.rb +1 -0
  34. data/lib/tivohmo/beacon.rb +3 -3
  35. data/lib/tivohmo/cli.rb +175 -48
  36. data/lib/tivohmo/config.rb +157 -0
  37. data/lib/tivohmo/server/views/_container.builder +1 -1
  38. data/lib/tivohmo/server.rb +6 -3
  39. data/lib/tivohmo/version.rb +1 -1
  40. data/lib/tivohmo.rb +1 -0
  41. data/spec/adapters/filesystem/file_item_spec.rb +1 -1
  42. data/spec/adapters/plex/application_spec.rb +10 -1
  43. data/spec/adapters/plex/category_spec.rb +93 -20
  44. data/spec/adapters/plex/episode_spec.rb +34 -15
  45. data/spec/adapters/plex/metadata_spec.rb +5 -7
  46. data/spec/adapters/plex/movie_spec.rb +10 -7
  47. data/spec/adapters/plex/qualified_category_spec.rb +17 -17
  48. data/spec/adapters/plex/season_spec.rb +23 -4
  49. data/spec/adapters/plex/section_spec.rb +4 -4
  50. data/spec/adapters/plex/show_spec.rb +19 -4
  51. data/spec/adapters/plex/transcoder_spec.rb +2 -8
  52. data/spec/adapters/settings/application_spec.rb +25 -0
  53. data/spec/adapters/settings/display_item_spec.rb +29 -0
  54. data/spec/adapters/settings/key_container_spec.rb +33 -0
  55. data/spec/adapters/settings/metadata_spec.rb +33 -0
  56. data/spec/adapters/settings/reset_defaults_item_spec.rb +54 -0
  57. data/spec/adapters/settings/set_value_item_spec.rb +54 -0
  58. data/spec/api/container_spec.rb +12 -0
  59. data/spec/api/item_spec.rb +2 -0
  60. data/spec/api/transcoder_spec.rb +0 -1
  61. data/spec/beacon_spec.rb +3 -1
  62. data/spec/cli_spec.rb +57 -19
  63. data/spec/config_spec.rb +224 -0
  64. data/spec/fixtures/vcr/TivoHMO_Adapters_Plex_Application/_children/should_get_children.yml +61 -0
  65. data/spec/fixtures/vcr/TivoHMO_Adapters_Plex_Category/_children/should_allow_disabling_subtitles.yml +424 -0
  66. data/spec/fixtures/vcr/TivoHMO_Adapters_Plex_Category/_children/should_display_non-zero_child_count_once_children_fetched.yml +653 -0
  67. data/spec/fixtures/vcr/TivoHMO_Adapters_Plex_Category/_children/should_have_children.yml +599 -0
  68. data/spec/fixtures/vcr/TivoHMO_Adapters_Plex_Category/_children/should_have_children_with_embedded_subtitles.yml +595 -0
  69. data/spec/fixtures/vcr/TivoHMO_Adapters_Plex_Category/_children/should_have_children_with_subtitles.yml +482 -0
  70. data/spec/fixtures/vcr/TivoHMO_Adapters_Plex_Category/_children/should_memoize.yml +478 -0
  71. data/spec/fixtures/vcr/TivoHMO_Adapters_Plex_Category/_children/should_refresh_children_when_config_changes.yml +1245 -0
  72. data/spec/fixtures/vcr/TivoHMO_Adapters_Plex_Category/_children/should_use_category_value_for_children.yml +395 -0
  73. data/spec/fixtures/vcr/TivoHMO_Adapters_Plex_Category/_initialize/should_instantiate.yml +61 -0
  74. data/spec/fixtures/vcr/TivoHMO_Adapters_Plex_Category/_initialize/should_set_presorted_if_present.yml +61 -0
  75. data/spec/fixtures/vcr/TivoHMO_Adapters_Plex_Category/_initialize/should_use_category_value_for_title_if_present.yml +61 -0
  76. data/spec/fixtures/vcr/TivoHMO_Adapters_Plex_Episode/_initialize/should_instantiate.yml +444 -0
  77. data/spec/fixtures/vcr/TivoHMO_Adapters_Plex_Episode/_metadata/should_allow_disabling_series_id_in_metadata.yml +444 -0
  78. data/spec/fixtures/vcr/TivoHMO_Adapters_Plex_Episode/_metadata/should_populate_metadata.yml +579 -0
  79. data/spec/fixtures/vcr/TivoHMO_Adapters_Plex_Metadata/_initialize/should_instantiate.yml +296 -0
  80. data/spec/fixtures/vcr/TivoHMO_Adapters_Plex_Movie/_initialize/should_instantiate.yml +296 -0
  81. data/spec/fixtures/vcr/TivoHMO_Adapters_Plex_Movie/_metadata/should_populate_metadata.yml +296 -0
  82. data/spec/fixtures/vcr/TivoHMO_Adapters_Plex_QualifiedCategory/_children/should_display_non-zero_child_count_once_children_fetched.yml +220 -0
  83. data/spec/fixtures/vcr/TivoHMO_Adapters_Plex_QualifiedCategory/_children/should_have_children.yml +393 -0
  84. data/spec/fixtures/vcr/TivoHMO_Adapters_Plex_QualifiedCategory/_children/should_memoize.yml +219 -0
  85. data/spec/fixtures/vcr/TivoHMO_Adapters_Plex_QualifiedCategory/_initialize/should_instantiate.yml +61 -0
  86. data/spec/fixtures/vcr/TivoHMO_Adapters_Plex_Season/_children/should_have_children.yml +444 -0
  87. data/spec/fixtures/vcr/TivoHMO_Adapters_Plex_Season/_children/should_memoize.yml +444 -0
  88. data/spec/fixtures/vcr/TivoHMO_Adapters_Plex_Season/_initialize/should_instantiate.yml +250 -0
  89. data/spec/fixtures/vcr/TivoHMO_Adapters_Plex_Section/_children/should_have_category_children.yml +61 -0
  90. data/spec/fixtures/vcr/TivoHMO_Adapters_Plex_Section/_children/should_memoize.yml +61 -0
  91. data/spec/fixtures/vcr/TivoHMO_Adapters_Plex_Section/_initialize/should_instantiate.yml +61 -0
  92. data/spec/fixtures/vcr/TivoHMO_Adapters_Plex_Show/_children/should_have_children.yml +250 -0
  93. data/spec/fixtures/vcr/TivoHMO_Adapters_Plex_Show/_children/should_memoize.yml +250 -0
  94. data/spec/fixtures/vcr/TivoHMO_Adapters_Plex_Show/_initialize/should_instantiate.yml +166 -0
  95. data/spec/fixtures/vcr/TivoHMO_Adapters_Plex_Transcoder/_initialize/should_instantiate.yml +296 -0
  96. data/spec/server_spec.rb +31 -2
  97. data/spec/spec_helper.rb +24 -36
  98. data/tivohmo.gemspec +2 -2
  99. metadata +109 -3
@@ -0,0 +1,250 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://localhost:32400/library/sections
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Content-Type:
22
+ - text/xml;charset=utf-8
23
+ Connection:
24
+ - close
25
+ X-Plex-Protocol:
26
+ - '1.0'
27
+ X-Plex-Content-Original-Length:
28
+ - '2991'
29
+ X-Plex-Content-Compressed-Length:
30
+ - '805'
31
+ Content-Length:
32
+ - '805'
33
+ Cache-Control:
34
+ - no-cache
35
+ body:
36
+ encoding: UTF-8
37
+ string: |
38
+ <?xml version="1.0" encoding="UTF-8"?>
39
+ <MediaContainer size="6" allowSync="0" identifier="com.plexapp.plugins.library" mediaTagPrefix="/system/bundle/media/flags/" mediaTagVersion="1420767545" title1="Plex Library">
40
+ <Directory allowSync="0" art="/:/resources/movie-fanart.jpg" filters="1" refreshing="0" thumb="/:/resources/movie.png" key="1" type="movie" title="Adult Movies" composite="/library/sections/1/composite/1423777283" agent="com.plexapp.agents.imdb" scanner="Plex Movie Scanner" language="en" uuid="9113e43dc6c547eede809f9439c8e80498b4a610" updatedAt="1423777283" createdAt="1332713366">
41
+ <Location id="4" path="/Users/mconway/Movies/Adult Movies" />
42
+ </Directory>
43
+ <Directory allowSync="0" art="/:/resources/show-fanart.jpg" filters="1" refreshing="0" thumb="/:/resources/show.png" key="2" type="show" title="Adult TV Shows" composite="/library/sections/2/composite/1423932892" agent="com.plexapp.agents.thetvdb" scanner="Plex Series Scanner" language="en" uuid="af8295a272d545681d462eed8025113d09195007" updatedAt="1423932892" createdAt="1332713366">
44
+ <Location id="6" path="/Users/mconway/Movies/Adult TV Shows" />
45
+ </Directory>
46
+ <Directory allowSync="0" art="/:/resources/movie-fanart.jpg" filters="1" refreshing="0" thumb="/:/resources/movie.png" key="5" type="movie" title="Kid Movies" composite="/library/sections/5/composite/1423777310" agent="com.plexapp.agents.imdb" scanner="Plex Movie Scanner" language="en" uuid="340479de-6015-4e6c-9ec0-c74f936f4013" updatedAt="1423777310" createdAt="1411071543">
47
+ <Location id="9" path="/Users/mconway/Movies/Kid Movies" />
48
+ </Directory>
49
+ <Directory allowSync="0" art="/:/resources/show-fanart.jpg" filters="1" refreshing="0" thumb="/:/resources/show.png" key="4" type="show" title="Kid TV Shows" composite="/library/sections/4/composite/1423777311" agent="com.plexapp.agents.thetvdb" scanner="Plex Series Scanner" language="en" uuid="fa1dde48-f6dd-44f7-91f3-9283160dc953" updatedAt="1423777311" createdAt="1411071497">
50
+ <Location id="8" path="/Users/mconway/Movies/Kid TV Shows" />
51
+ </Directory>
52
+ <Directory allowSync="0" art="/:/resources/movie-fanart.jpg" filters="1" refreshing="1" thumb="/:/resources/movie.png" key="6" type="movie" title="Test Movies" composite="/library/sections/6/composite/1423936036" agent="com.plexapp.agents.imdb" scanner="Plex Movie Scanner" language="en" uuid="fbc810b7-6b51-40ba-a3c5-9a2c391e5a3d" updatedAt="1423936036" createdAt="1423935251">
53
+ <Location id="10" path="/Users/mconway/Movies/TivoHMOTest/Movies" />
54
+ </Directory>
55
+ <Directory allowSync="0" art="/:/resources/show-fanart.jpg" filters="1" refreshing="0" thumb="/:/resources/show.png" key="7" type="show" title="Test TV Shows" composite="/library/sections/7/composite/1423935290" agent="com.plexapp.agents.thetvdb" scanner="Plex Series Scanner" language="en" uuid="4c37cd05-86d7-4a34-8d5b-aa2fb261a136" updatedAt="1423935290" createdAt="1423935290">
56
+ <Location id="11" path="/Users/mconway/Movies/TivoHMOTest/TV Shows" />
57
+ </Directory>
58
+ </MediaContainer>
59
+ http_version:
60
+ recorded_at: Sat, 14 Feb 2015 17:47:37 GMT
61
+ - request:
62
+ method: get
63
+ uri: http://localhost:32400/library/sections/7/all
64
+ body:
65
+ encoding: US-ASCII
66
+ string: ''
67
+ headers:
68
+ Accept-Encoding:
69
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
70
+ Accept:
71
+ - "*/*"
72
+ User-Agent:
73
+ - Ruby
74
+ response:
75
+ status:
76
+ code: 200
77
+ message: OK
78
+ headers:
79
+ Content-Type:
80
+ - text/xml;charset=utf-8
81
+ Connection:
82
+ - close
83
+ X-Plex-Protocol:
84
+ - '1.0'
85
+ X-Plex-Content-Original-Length:
86
+ - '1631'
87
+ X-Plex-Content-Compressed-Length:
88
+ - '901'
89
+ Content-Length:
90
+ - '901'
91
+ Cache-Control:
92
+ - no-cache
93
+ body:
94
+ encoding: UTF-8
95
+ string: |
96
+ <?xml version="1.0" encoding="UTF-8"?>
97
+ <MediaContainer size="1" allowSync="1" art="/:/resources/show-fanart.jpg" identifier="com.plexapp.plugins.library" librarySectionID="7" librarySectionTitle="Test TV Shows" librarySectionUUID="4c37cd05-86d7-4a34-8d5b-aa2fb261a136" mediaTagPrefix="/system/bundle/media/flags/" mediaTagVersion="1420767545" nocache="1" thumb="/:/resources/show.png" title1="Test TV Shows" title2="All Shows" viewGroup="show" viewMode="65592">
98
+ <Directory ratingKey="1170" key="/library/metadata/1170/children" studio="NBC" type="show" title="Grimm" contentRating="TV-14" summary="Nick Burkhardt thought he prepared himself for the realities of working as a homicide detective until he started seeing things he couldn&apos;t explain. Nick&apos;s life turns upside down when his Aunt Marie reveals they are descendants of an elite group of hunters, known as &quot;Grimms,&quot; who fight to keep humanity safe from supernatural creatures. As Nick digs deeper into her past, he realizes that he will have to shoulder the responsibility of his ancestors." index="1" rating="8.3999996185302699" year="2011" thumb="/library/metadata/1170/thumb/1423935406" art="/library/metadata/1170/art/1423935406" banner="/library/metadata/1170/banner/1423935406" theme="/library/metadata/1170/theme/1423935406" duration="3600000" originallyAvailableAt="2011-10-28" leafCount="1" viewedLeafCount="0" childCount="1" addedAt="1423935401" updatedAt="1423935406">
99
+ <Genre tag="Drama" />
100
+ <Genre tag="Fantasy" />
101
+ <Role tag="David Giuntoli" />
102
+ <Role tag="Silas Weir Mitchell" />
103
+ <Role tag="Bitsie Tulloch" />
104
+ </Directory>
105
+ </MediaContainer>
106
+ http_version:
107
+ recorded_at: Sat, 14 Feb 2015 17:47:37 GMT
108
+ - request:
109
+ method: get
110
+ uri: http://localhost:32400/library/metadata/1170
111
+ body:
112
+ encoding: US-ASCII
113
+ string: ''
114
+ headers:
115
+ Accept-Encoding:
116
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
117
+ Accept:
118
+ - "*/*"
119
+ User-Agent:
120
+ - Ruby
121
+ response:
122
+ status:
123
+ code: 200
124
+ message: OK
125
+ headers:
126
+ Content-Type:
127
+ - text/xml;charset=utf-8
128
+ Connection:
129
+ - close
130
+ X-Plex-Protocol:
131
+ - '1.0'
132
+ X-Plex-Content-Original-Length:
133
+ - '2330'
134
+ X-Plex-Content-Compressed-Length:
135
+ - '1197'
136
+ Content-Length:
137
+ - '1197'
138
+ Cache-Control:
139
+ - no-cache
140
+ body:
141
+ encoding: UTF-8
142
+ string: |
143
+ <?xml version="1.0" encoding="UTF-8"?>
144
+ <MediaContainer size="1" allowSync="1" identifier="com.plexapp.plugins.library" librarySectionID="7" librarySectionTitle="Test TV Shows" librarySectionUUID="4c37cd05-86d7-4a34-8d5b-aa2fb261a136" mediaTagPrefix="/system/bundle/media/flags/" mediaTagVersion="1420767545">
145
+ <Directory ratingKey="1170" key="/library/metadata/1170/children" guid="com.plexapp.agents.thetvdb://248736?lang=en" studio="NBC" type="show" title="Grimm" contentRating="TV-14" summary="Nick Burkhardt thought he prepared himself for the realities of working as a homicide detective until he started seeing things he couldn&apos;t explain. Nick&apos;s life turns upside down when his Aunt Marie reveals they are descendants of an elite group of hunters, known as &quot;Grimms,&quot; who fight to keep humanity safe from supernatural creatures. As Nick digs deeper into her past, he realizes that he will have to shoulder the responsibility of his ancestors." index="1" rating="8.3999996185302699" year="2011" thumb="/library/metadata/1170/thumb/1423935406" art="/library/metadata/1170/art/1423935406" banner="/library/metadata/1170/banner/1423935406" theme="/library/metadata/1170/theme/1423935406" duration="3600000" originallyAvailableAt="2011-10-28" leafCount="1" viewedLeafCount="0" childCount="1" addedAt="1423935401" updatedAt="1423935406">
146
+ <Genre id="88" tag="Drama" />
147
+ <Genre id="65" tag="Fantasy" />
148
+ <Genre id="1859" tag="Horror" />
149
+ <Role id="7617" tag="David Giuntoli" role="Det. Nick Burkhardt" />
150
+ <Role id="7618" tag="Silas Weir Mitchell" role="Eddie Monroe" />
151
+ <Role id="7619" tag="Bitsie Tulloch" role="Juliette Silverton" />
152
+ <Role id="2559" tag="Bree Turner" role="Rosalee Calvert" />
153
+ <Role id="7620" tag="Russell Hornsby" role="Lt. Hank Griffin" />
154
+ <Role id="7621" tag="Sasha Roiz" role="Captain Renard" />
155
+ <Role id="7622" tag="Claire Coffee" role="Adalind Schade" />
156
+ <Role id="7623" tag="Jacqueline Toboni" role="Theresa &quot;Trubel&quot; Rubel" />
157
+ <Role id="7624" tag="Mary Elizabeth Mastrantonio" role="Woman in Black / Kelly Burkhardt" />
158
+ <Role id="2924" tag="Reggie Lee" role="Sgt. Wu" />
159
+ <Role id="7625" tag="Kate Burton" role="Marie" />
160
+ <Role id="7626" tag="Elizabeth Rodriguez" role="Chavez" />
161
+ <Location path="/Users/mconway/Movies/TivoHMOTest/TV Shows/Grimm" />
162
+ </Directory>
163
+ </MediaContainer>
164
+ http_version:
165
+ recorded_at: Sat, 14 Feb 2015 17:47:37 GMT
166
+ - request:
167
+ method: get
168
+ uri: http://localhost:32400/library/metadata/1170/children/children
169
+ body:
170
+ encoding: US-ASCII
171
+ string: ''
172
+ headers:
173
+ Accept-Encoding:
174
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
175
+ Accept:
176
+ - "*/*"
177
+ User-Agent:
178
+ - Ruby
179
+ response:
180
+ status:
181
+ code: 200
182
+ message: OK
183
+ headers:
184
+ Content-Type:
185
+ - text/xml;charset=utf-8
186
+ Connection:
187
+ - close
188
+ X-Plex-Protocol:
189
+ - '1.0'
190
+ X-Plex-Content-Original-Length:
191
+ - '1466'
192
+ X-Plex-Content-Compressed-Length:
193
+ - '771'
194
+ Content-Length:
195
+ - '771'
196
+ Cache-Control:
197
+ - no-cache
198
+ body:
199
+ encoding: UTF-8
200
+ string: |
201
+ <?xml version="1.0" encoding="UTF-8"?>
202
+ <MediaContainer size="1" allowSync="1" art="/library/metadata/1170/art/1423935406" banner="/library/metadata/1170/banner/1423935406" identifier="com.plexapp.plugins.library" key="1170" librarySectionID="7" librarySectionTitle="Test TV Shows" librarySectionUUID="4c37cd05-86d7-4a34-8d5b-aa2fb261a136" mediaTagPrefix="/system/bundle/media/flags/" mediaTagVersion="1420767545" nocache="1" parentIndex="1" parentTitle="Grimm" parentYear="2011" summary="Nick Burkhardt thought he prepared himself for the realities of working as a homicide detective until he started seeing things he couldn&apos;t explain. Nick&apos;s life turns upside down when his Aunt Marie reveals they are descendants of an elite group of hunters, known as &quot;Grimms,&quot; who fight to keep humanity safe from supernatural creatures. As Nick digs deeper into her past, he realizes that he will have to shoulder the responsibility of his ancestors." theme="/library/metadata/1170/theme/1423935406" thumb="/library/metadata/1170/thumb/1423935406" title1="Test TV Shows" title2="Grimm" viewGroup="season" viewMode="65593">
203
+ <Directory ratingKey="1173" key="/library/metadata/1173/children" parentRatingKey="1170" type="season" title="Season 1" parentKey="/library/metadata/1170" summary="" index="1" thumb="/library/metadata/1173/thumb/1423935424" leafCount="1" viewedLeafCount="0" addedAt="1423935423" updatedAt="1423935424">
204
+ </Directory>
205
+ </MediaContainer>
206
+ http_version:
207
+ recorded_at: Sat, 14 Feb 2015 17:47:37 GMT
208
+ - request:
209
+ method: get
210
+ uri: http://localhost:32400/library/metadata/1173
211
+ body:
212
+ encoding: US-ASCII
213
+ string: ''
214
+ headers:
215
+ Accept-Encoding:
216
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
217
+ Accept:
218
+ - "*/*"
219
+ User-Agent:
220
+ - Ruby
221
+ response:
222
+ status:
223
+ code: 200
224
+ message: OK
225
+ headers:
226
+ Content-Type:
227
+ - text/xml;charset=utf-8
228
+ Connection:
229
+ - close
230
+ X-Plex-Protocol:
231
+ - '1.0'
232
+ X-Plex-Content-Original-Length:
233
+ - '884'
234
+ X-Plex-Content-Compressed-Length:
235
+ - '461'
236
+ Content-Length:
237
+ - '461'
238
+ Cache-Control:
239
+ - no-cache
240
+ body:
241
+ encoding: UTF-8
242
+ string: |
243
+ <?xml version="1.0" encoding="UTF-8"?>
244
+ <MediaContainer size="1" allowSync="1" identifier="com.plexapp.plugins.library" librarySectionID="7" librarySectionTitle="Test TV Shows" librarySectionUUID="4c37cd05-86d7-4a34-8d5b-aa2fb261a136" mediaTagPrefix="/system/bundle/media/flags/" mediaTagVersion="1420767545">
245
+ <Directory ratingKey="1173" key="/library/metadata/1173/children" parentRatingKey="1170" guid="com.plexapp.agents.thetvdb://248736/1?lang=en" type="season" title="Season 1" parentKey="/library/metadata/1170" parentTitle="Grimm" summary="" index="1" parentIndex="1" thumb="/library/metadata/1173/thumb/1423935424" art="/library/metadata/1170/art/1423935406" parentThumb="/library/metadata/1170/thumb/1423935406" parentTheme="/library/metadata/1170/theme/1423935406" leafCount="1" viewedLeafCount="0" addedAt="1423935423" updatedAt="1423935424">
246
+ </Directory>
247
+ </MediaContainer>
248
+ http_version:
249
+ recorded_at: Sat, 14 Feb 2015 17:47:37 GMT
250
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,250 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://localhost:32400/library/sections
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Content-Type:
22
+ - text/xml;charset=utf-8
23
+ Connection:
24
+ - close
25
+ X-Plex-Protocol:
26
+ - '1.0'
27
+ X-Plex-Content-Original-Length:
28
+ - '2991'
29
+ X-Plex-Content-Compressed-Length:
30
+ - '805'
31
+ Content-Length:
32
+ - '805'
33
+ Cache-Control:
34
+ - no-cache
35
+ body:
36
+ encoding: UTF-8
37
+ string: |
38
+ <?xml version="1.0" encoding="UTF-8"?>
39
+ <MediaContainer size="6" allowSync="0" identifier="com.plexapp.plugins.library" mediaTagPrefix="/system/bundle/media/flags/" mediaTagVersion="1420767545" title1="Plex Library">
40
+ <Directory allowSync="0" art="/:/resources/movie-fanart.jpg" filters="1" refreshing="0" thumb="/:/resources/movie.png" key="1" type="movie" title="Adult Movies" composite="/library/sections/1/composite/1423777283" agent="com.plexapp.agents.imdb" scanner="Plex Movie Scanner" language="en" uuid="9113e43dc6c547eede809f9439c8e80498b4a610" updatedAt="1423777283" createdAt="1332713366">
41
+ <Location id="4" path="/Users/mconway/Movies/Adult Movies" />
42
+ </Directory>
43
+ <Directory allowSync="0" art="/:/resources/show-fanart.jpg" filters="1" refreshing="0" thumb="/:/resources/show.png" key="2" type="show" title="Adult TV Shows" composite="/library/sections/2/composite/1423932892" agent="com.plexapp.agents.thetvdb" scanner="Plex Series Scanner" language="en" uuid="af8295a272d545681d462eed8025113d09195007" updatedAt="1423932892" createdAt="1332713366">
44
+ <Location id="6" path="/Users/mconway/Movies/Adult TV Shows" />
45
+ </Directory>
46
+ <Directory allowSync="0" art="/:/resources/movie-fanart.jpg" filters="1" refreshing="0" thumb="/:/resources/movie.png" key="5" type="movie" title="Kid Movies" composite="/library/sections/5/composite/1423777310" agent="com.plexapp.agents.imdb" scanner="Plex Movie Scanner" language="en" uuid="340479de-6015-4e6c-9ec0-c74f936f4013" updatedAt="1423777310" createdAt="1411071543">
47
+ <Location id="9" path="/Users/mconway/Movies/Kid Movies" />
48
+ </Directory>
49
+ <Directory allowSync="0" art="/:/resources/show-fanart.jpg" filters="1" refreshing="0" thumb="/:/resources/show.png" key="4" type="show" title="Kid TV Shows" composite="/library/sections/4/composite/1423777311" agent="com.plexapp.agents.thetvdb" scanner="Plex Series Scanner" language="en" uuid="fa1dde48-f6dd-44f7-91f3-9283160dc953" updatedAt="1423777311" createdAt="1411071497">
50
+ <Location id="8" path="/Users/mconway/Movies/Kid TV Shows" />
51
+ </Directory>
52
+ <Directory allowSync="0" art="/:/resources/movie-fanart.jpg" filters="1" refreshing="1" thumb="/:/resources/movie.png" key="6" type="movie" title="Test Movies" composite="/library/sections/6/composite/1423936036" agent="com.plexapp.agents.imdb" scanner="Plex Movie Scanner" language="en" uuid="fbc810b7-6b51-40ba-a3c5-9a2c391e5a3d" updatedAt="1423936036" createdAt="1423935251">
53
+ <Location id="10" path="/Users/mconway/Movies/TivoHMOTest/Movies" />
54
+ </Directory>
55
+ <Directory allowSync="0" art="/:/resources/show-fanart.jpg" filters="1" refreshing="0" thumb="/:/resources/show.png" key="7" type="show" title="Test TV Shows" composite="/library/sections/7/composite/1423935290" agent="com.plexapp.agents.thetvdb" scanner="Plex Series Scanner" language="en" uuid="4c37cd05-86d7-4a34-8d5b-aa2fb261a136" updatedAt="1423935290" createdAt="1423935290">
56
+ <Location id="11" path="/Users/mconway/Movies/TivoHMOTest/TV Shows" />
57
+ </Directory>
58
+ </MediaContainer>
59
+ http_version:
60
+ recorded_at: Sat, 14 Feb 2015 17:47:37 GMT
61
+ - request:
62
+ method: get
63
+ uri: http://localhost:32400/library/sections/7/all
64
+ body:
65
+ encoding: US-ASCII
66
+ string: ''
67
+ headers:
68
+ Accept-Encoding:
69
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
70
+ Accept:
71
+ - "*/*"
72
+ User-Agent:
73
+ - Ruby
74
+ response:
75
+ status:
76
+ code: 200
77
+ message: OK
78
+ headers:
79
+ Content-Type:
80
+ - text/xml;charset=utf-8
81
+ Connection:
82
+ - close
83
+ X-Plex-Protocol:
84
+ - '1.0'
85
+ X-Plex-Content-Original-Length:
86
+ - '1631'
87
+ X-Plex-Content-Compressed-Length:
88
+ - '901'
89
+ Content-Length:
90
+ - '901'
91
+ Cache-Control:
92
+ - no-cache
93
+ body:
94
+ encoding: UTF-8
95
+ string: |
96
+ <?xml version="1.0" encoding="UTF-8"?>
97
+ <MediaContainer size="1" allowSync="1" art="/:/resources/show-fanart.jpg" identifier="com.plexapp.plugins.library" librarySectionID="7" librarySectionTitle="Test TV Shows" librarySectionUUID="4c37cd05-86d7-4a34-8d5b-aa2fb261a136" mediaTagPrefix="/system/bundle/media/flags/" mediaTagVersion="1420767545" nocache="1" thumb="/:/resources/show.png" title1="Test TV Shows" title2="All Shows" viewGroup="show" viewMode="65592">
98
+ <Directory ratingKey="1170" key="/library/metadata/1170/children" studio="NBC" type="show" title="Grimm" contentRating="TV-14" summary="Nick Burkhardt thought he prepared himself for the realities of working as a homicide detective until he started seeing things he couldn&apos;t explain. Nick&apos;s life turns upside down when his Aunt Marie reveals they are descendants of an elite group of hunters, known as &quot;Grimms,&quot; who fight to keep humanity safe from supernatural creatures. As Nick digs deeper into her past, he realizes that he will have to shoulder the responsibility of his ancestors." index="1" rating="8.3999996185302699" year="2011" thumb="/library/metadata/1170/thumb/1423935406" art="/library/metadata/1170/art/1423935406" banner="/library/metadata/1170/banner/1423935406" theme="/library/metadata/1170/theme/1423935406" duration="3600000" originallyAvailableAt="2011-10-28" leafCount="1" viewedLeafCount="0" childCount="1" addedAt="1423935401" updatedAt="1423935406">
99
+ <Genre tag="Drama" />
100
+ <Genre tag="Fantasy" />
101
+ <Role tag="David Giuntoli" />
102
+ <Role tag="Silas Weir Mitchell" />
103
+ <Role tag="Bitsie Tulloch" />
104
+ </Directory>
105
+ </MediaContainer>
106
+ http_version:
107
+ recorded_at: Sat, 14 Feb 2015 17:47:37 GMT
108
+ - request:
109
+ method: get
110
+ uri: http://localhost:32400/library/metadata/1170
111
+ body:
112
+ encoding: US-ASCII
113
+ string: ''
114
+ headers:
115
+ Accept-Encoding:
116
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
117
+ Accept:
118
+ - "*/*"
119
+ User-Agent:
120
+ - Ruby
121
+ response:
122
+ status:
123
+ code: 200
124
+ message: OK
125
+ headers:
126
+ Content-Type:
127
+ - text/xml;charset=utf-8
128
+ Connection:
129
+ - close
130
+ X-Plex-Protocol:
131
+ - '1.0'
132
+ X-Plex-Content-Original-Length:
133
+ - '2330'
134
+ X-Plex-Content-Compressed-Length:
135
+ - '1197'
136
+ Content-Length:
137
+ - '1197'
138
+ Cache-Control:
139
+ - no-cache
140
+ body:
141
+ encoding: UTF-8
142
+ string: |
143
+ <?xml version="1.0" encoding="UTF-8"?>
144
+ <MediaContainer size="1" allowSync="1" identifier="com.plexapp.plugins.library" librarySectionID="7" librarySectionTitle="Test TV Shows" librarySectionUUID="4c37cd05-86d7-4a34-8d5b-aa2fb261a136" mediaTagPrefix="/system/bundle/media/flags/" mediaTagVersion="1420767545">
145
+ <Directory ratingKey="1170" key="/library/metadata/1170/children" guid="com.plexapp.agents.thetvdb://248736?lang=en" studio="NBC" type="show" title="Grimm" contentRating="TV-14" summary="Nick Burkhardt thought he prepared himself for the realities of working as a homicide detective until he started seeing things he couldn&apos;t explain. Nick&apos;s life turns upside down when his Aunt Marie reveals they are descendants of an elite group of hunters, known as &quot;Grimms,&quot; who fight to keep humanity safe from supernatural creatures. As Nick digs deeper into her past, he realizes that he will have to shoulder the responsibility of his ancestors." index="1" rating="8.3999996185302699" year="2011" thumb="/library/metadata/1170/thumb/1423935406" art="/library/metadata/1170/art/1423935406" banner="/library/metadata/1170/banner/1423935406" theme="/library/metadata/1170/theme/1423935406" duration="3600000" originallyAvailableAt="2011-10-28" leafCount="1" viewedLeafCount="0" childCount="1" addedAt="1423935401" updatedAt="1423935406">
146
+ <Genre id="88" tag="Drama" />
147
+ <Genre id="65" tag="Fantasy" />
148
+ <Genre id="1859" tag="Horror" />
149
+ <Role id="7617" tag="David Giuntoli" role="Det. Nick Burkhardt" />
150
+ <Role id="7618" tag="Silas Weir Mitchell" role="Eddie Monroe" />
151
+ <Role id="7619" tag="Bitsie Tulloch" role="Juliette Silverton" />
152
+ <Role id="2559" tag="Bree Turner" role="Rosalee Calvert" />
153
+ <Role id="7620" tag="Russell Hornsby" role="Lt. Hank Griffin" />
154
+ <Role id="7621" tag="Sasha Roiz" role="Captain Renard" />
155
+ <Role id="7622" tag="Claire Coffee" role="Adalind Schade" />
156
+ <Role id="7623" tag="Jacqueline Toboni" role="Theresa &quot;Trubel&quot; Rubel" />
157
+ <Role id="7624" tag="Mary Elizabeth Mastrantonio" role="Woman in Black / Kelly Burkhardt" />
158
+ <Role id="2924" tag="Reggie Lee" role="Sgt. Wu" />
159
+ <Role id="7625" tag="Kate Burton" role="Marie" />
160
+ <Role id="7626" tag="Elizabeth Rodriguez" role="Chavez" />
161
+ <Location path="/Users/mconway/Movies/TivoHMOTest/TV Shows/Grimm" />
162
+ </Directory>
163
+ </MediaContainer>
164
+ http_version:
165
+ recorded_at: Sat, 14 Feb 2015 17:47:37 GMT
166
+ - request:
167
+ method: get
168
+ uri: http://localhost:32400/library/metadata/1170/children/children
169
+ body:
170
+ encoding: US-ASCII
171
+ string: ''
172
+ headers:
173
+ Accept-Encoding:
174
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
175
+ Accept:
176
+ - "*/*"
177
+ User-Agent:
178
+ - Ruby
179
+ response:
180
+ status:
181
+ code: 200
182
+ message: OK
183
+ headers:
184
+ Content-Type:
185
+ - text/xml;charset=utf-8
186
+ Connection:
187
+ - close
188
+ X-Plex-Protocol:
189
+ - '1.0'
190
+ X-Plex-Content-Original-Length:
191
+ - '1466'
192
+ X-Plex-Content-Compressed-Length:
193
+ - '771'
194
+ Content-Length:
195
+ - '771'
196
+ Cache-Control:
197
+ - no-cache
198
+ body:
199
+ encoding: UTF-8
200
+ string: |
201
+ <?xml version="1.0" encoding="UTF-8"?>
202
+ <MediaContainer size="1" allowSync="1" art="/library/metadata/1170/art/1423935406" banner="/library/metadata/1170/banner/1423935406" identifier="com.plexapp.plugins.library" key="1170" librarySectionID="7" librarySectionTitle="Test TV Shows" librarySectionUUID="4c37cd05-86d7-4a34-8d5b-aa2fb261a136" mediaTagPrefix="/system/bundle/media/flags/" mediaTagVersion="1420767545" nocache="1" parentIndex="1" parentTitle="Grimm" parentYear="2011" summary="Nick Burkhardt thought he prepared himself for the realities of working as a homicide detective until he started seeing things he couldn&apos;t explain. Nick&apos;s life turns upside down when his Aunt Marie reveals they are descendants of an elite group of hunters, known as &quot;Grimms,&quot; who fight to keep humanity safe from supernatural creatures. As Nick digs deeper into her past, he realizes that he will have to shoulder the responsibility of his ancestors." theme="/library/metadata/1170/theme/1423935406" thumb="/library/metadata/1170/thumb/1423935406" title1="Test TV Shows" title2="Grimm" viewGroup="season" viewMode="65593">
203
+ <Directory ratingKey="1173" key="/library/metadata/1173/children" parentRatingKey="1170" type="season" title="Season 1" parentKey="/library/metadata/1170" summary="" index="1" thumb="/library/metadata/1173/thumb/1423935424" leafCount="1" viewedLeafCount="0" addedAt="1423935423" updatedAt="1423935424">
204
+ </Directory>
205
+ </MediaContainer>
206
+ http_version:
207
+ recorded_at: Sat, 14 Feb 2015 17:47:37 GMT
208
+ - request:
209
+ method: get
210
+ uri: http://localhost:32400/library/metadata/1173
211
+ body:
212
+ encoding: US-ASCII
213
+ string: ''
214
+ headers:
215
+ Accept-Encoding:
216
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
217
+ Accept:
218
+ - "*/*"
219
+ User-Agent:
220
+ - Ruby
221
+ response:
222
+ status:
223
+ code: 200
224
+ message: OK
225
+ headers:
226
+ Content-Type:
227
+ - text/xml;charset=utf-8
228
+ Connection:
229
+ - close
230
+ X-Plex-Protocol:
231
+ - '1.0'
232
+ X-Plex-Content-Original-Length:
233
+ - '884'
234
+ X-Plex-Content-Compressed-Length:
235
+ - '461'
236
+ Content-Length:
237
+ - '461'
238
+ Cache-Control:
239
+ - no-cache
240
+ body:
241
+ encoding: UTF-8
242
+ string: |
243
+ <?xml version="1.0" encoding="UTF-8"?>
244
+ <MediaContainer size="1" allowSync="1" identifier="com.plexapp.plugins.library" librarySectionID="7" librarySectionTitle="Test TV Shows" librarySectionUUID="4c37cd05-86d7-4a34-8d5b-aa2fb261a136" mediaTagPrefix="/system/bundle/media/flags/" mediaTagVersion="1420767545">
245
+ <Directory ratingKey="1173" key="/library/metadata/1173/children" parentRatingKey="1170" guid="com.plexapp.agents.thetvdb://248736/1?lang=en" type="season" title="Season 1" parentKey="/library/metadata/1170" parentTitle="Grimm" summary="" index="1" parentIndex="1" thumb="/library/metadata/1173/thumb/1423935424" art="/library/metadata/1170/art/1423935406" parentThumb="/library/metadata/1170/thumb/1423935406" parentTheme="/library/metadata/1170/theme/1423935406" leafCount="1" viewedLeafCount="0" addedAt="1423935423" updatedAt="1423935424">
246
+ </Directory>
247
+ </MediaContainer>
248
+ http_version:
249
+ recorded_at: Sat, 14 Feb 2015 17:47:37 GMT
250
+ recorded_with: VCR 2.9.3