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,478 @@
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:35 GMT
61
+ - request:
62
+ method: get
63
+ uri: http://localhost:32400/library/sections
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
+ - '2991'
87
+ X-Plex-Content-Compressed-Length:
88
+ - '805'
89
+ Content-Length:
90
+ - '805'
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="6" allowSync="0" identifier="com.plexapp.plugins.library" mediaTagPrefix="/system/bundle/media/flags/" mediaTagVersion="1420767545" title1="Plex Library">
98
+ <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">
99
+ <Location id="4" path="/Users/mconway/Movies/Adult Movies" />
100
+ </Directory>
101
+ <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">
102
+ <Location id="6" path="/Users/mconway/Movies/Adult TV Shows" />
103
+ </Directory>
104
+ <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">
105
+ <Location id="9" path="/Users/mconway/Movies/Kid Movies" />
106
+ </Directory>
107
+ <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">
108
+ <Location id="8" path="/Users/mconway/Movies/Kid TV Shows" />
109
+ </Directory>
110
+ <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">
111
+ <Location id="10" path="/Users/mconway/Movies/TivoHMOTest/Movies" />
112
+ </Directory>
113
+ <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">
114
+ <Location id="11" path="/Users/mconway/Movies/TivoHMOTest/TV Shows" />
115
+ </Directory>
116
+ </MediaContainer>
117
+ http_version:
118
+ recorded_at: Sat, 14 Feb 2015 17:47:35 GMT
119
+ - request:
120
+ method: get
121
+ uri: http://localhost:32400/library/sections/6/newest
122
+ body:
123
+ encoding: US-ASCII
124
+ string: ''
125
+ headers:
126
+ Accept-Encoding:
127
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
128
+ Accept:
129
+ - "*/*"
130
+ User-Agent:
131
+ - Ruby
132
+ response:
133
+ status:
134
+ code: 200
135
+ message: OK
136
+ headers:
137
+ Content-Type:
138
+ - text/xml;charset=utf-8
139
+ Connection:
140
+ - close
141
+ X-Plex-Protocol:
142
+ - '1.0'
143
+ X-Plex-Content-Original-Length:
144
+ - '3653'
145
+ X-Plex-Content-Compressed-Length:
146
+ - '1732'
147
+ Content-Length:
148
+ - '1732'
149
+ Cache-Control:
150
+ - no-cache
151
+ body:
152
+ encoding: ASCII-8BIT
153
+ string: !binary |-
154
+ PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPE1lZGlh
155
+ Q29udGFpbmVyIHNpemU9IjIiIGFsbG93U3luYz0iMSIgYXJ0PSIvOi9yZXNv
156
+ dXJjZXMvbW92aWUtZmFuYXJ0LmpwZyIgaWRlbnRpZmllcj0iY29tLnBsZXhh
157
+ cHAucGx1Z2lucy5saWJyYXJ5IiBsaWJyYXJ5U2VjdGlvbklEPSI2IiBsaWJy
158
+ YXJ5U2VjdGlvblRpdGxlPSJUZXN0IE1vdmllcyIgbGlicmFyeVNlY3Rpb25V
159
+ VUlEPSJmYmM4MTBiNy02YjUxLTQwYmEtYTNjNS05YTJjMzkxZTVhM2QiIG1l
160
+ ZGlhVGFnUHJlZml4PSIvc3lzdGVtL2J1bmRsZS9tZWRpYS9mbGFncy8iIG1l
161
+ ZGlhVGFnVmVyc2lvbj0iMTQyMDc2NzU0NSIgdGh1bWI9Ii86L3Jlc291cmNl
162
+ cy9tb3ZpZS5wbmciIHRpdGxlMT0iVGVzdCBNb3ZpZXMiIHRpdGxlMj0iUmVj
163
+ ZW50bHkgUmVsZWFzZWQiIHZpZXdHcm91cD0ibW92aWUiIHZpZXdNb2RlPSI2
164
+ NTU5MiI+CjxWaWRlbyByYXRpbmdLZXk9IjExNzUiIGtleT0iL2xpYnJhcnkv
165
+ bWV0YWRhdGEvMTE3NSIgc3R1ZGlvPSJHdWVyaWxsYSBGaWxtcyIgdHlwZT0i
166
+ bW92aWUiIHRpdGxlPSJXeXJtd29vZCIgc3VtbWFyeT0iQmFycnkgaXMgYSB0
167
+ YWxlbnRlZCBtZWNoYW5pYyBhbmQgZmFtaWx5IG1hbiB3aG9zZSBsaWZlIGlz
168
+ IHRvcm4gYXBhcnQgb24gdGhlIGV2ZSBvZiBhIHpvbWJpZSBhcG9jYWx5cHNl
169
+ LiBIaXMgc2lzdGVyLCBCcm9va2UsIGlzIGtpZG5hcHBlZCBieSBhIHNpbmlz
170
+ dGVyIHRlYW0gb2YgZ2FzLW1hc2sgd2VhcmluZyBzb2xkaWVycyAmYW1wO2Ft
171
+ cDsgZXhwZXJpbWVudGVkIG9uIGJ5IGEgcHN5Y2hvdGljIGRvY3Rvci4gV2hp
172
+ bGUgQnJvb2tlIHBsYW5zIGhlciBlc2NhcGUgQmFycnkgZ29lcyBvdXQgb24g
173
+ dGhlIHJvYWQgdG8gZmluZCBoZXIgJmFtcDthbXA7IHRlYW1zIHVwIHdpdGgg
174
+ QmVubnksIGEgZmVsbG93IHN1cnZpdm9yIC0gdG9nZXRoZXIgdGhleSBtdXN0
175
+ IGFybSB0aGVtc2VsdmVzIGFuZCBwcmVwYXJlIHRvIGJhdHRsZSB0aGVpciB3
176
+ YXkgdGhyb3VnaCBob3JkZXMgb2YgZmxlc2gtZWF0aW5nIG1vbnN0ZXJzIGlu
177
+ IGEgaGFyc2ggQXVzdHJhbGlhbiBidXNobGFuZC4iIHllYXI9IjIwMTUiIHRo
178
+ dW1iPSIvbGlicmFyeS9tZXRhZGF0YS8xMTc1L3RodW1iLzE0MjM5MzYwNTEi
179
+ IGFydD0iL2xpYnJhcnkvbWV0YWRhdGEvMTE3NS9hcnQvMTQyMzkzNjA1MSIg
180
+ ZHVyYXRpb249IjU5MTQ2NTkiIG9yaWdpbmFsbHlBdmFpbGFibGVBdD0iMjAx
181
+ NS0wMi0xMyIgYWRkZWRBdD0iMTQyMzkzNjAzNiIgdXBkYXRlZEF0PSIxNDIz
182
+ OTM2MDUxIj4KPE1lZGlhIHZpZGVvUmVzb2x1dGlvbj0ic2QiIGlkPSIxNDAy
183
+ IiBkdXJhdGlvbj0iNTkxNDY1OSIgYml0cmF0ZT0iOTg5IiB3aWR0aD0iNjQw
184
+ IiBoZWlnaHQ9IjM1MiIgYXNwZWN0UmF0aW89IjEuODUiIGF1ZGlvQ2hhbm5l
185
+ bHM9IjIiIGF1ZGlvQ29kZWM9Im1wMyIgdmlkZW9Db2RlYz0ibXBlZzQiIGNv
186
+ bnRhaW5lcj0iYXZpIiB2aWRlb0ZyYW1lUmF0ZT0iMjRwIj4KPFBhcnQgaWQ9
187
+ IjE5NTciIGtleT0iL2xpYnJhcnkvcGFydHMvMTk1Ny9maWxlLmF2aSIgZHVy
188
+ YXRpb249IjU5MTQ2NTkiIGZpbGU9Ii9Vc2Vycy9tY29ud2F5L01vdmllcy9U
189
+ aXZvSE1PVGVzdC9Nb3ZpZXMvV3lybXdvb2QgKDIwMTQpLmF2aSIgc2l6ZT0i
190
+ NzMxMDMzOTE4IiBjb250YWluZXI9ImF2aSIgLz4KPC9NZWRpYT4KPEdlbnJl
191
+ IHRhZz0iQWN0aW9uIiAvPgo8R2VucmUgdGFnPSJIb3Jyb3IiIC8+CjxXcml0
192
+ ZXIgdGFnPSJLaWFoIFJvYWNoZS1UdXJuZXIiIC8+CjxXcml0ZXIgdGFnPSJU
193
+ cmlzdGFuIFJvYWNoZS1UdXJuZXIiIC8+CjxEaXJlY3RvciB0YWc9IktpYWgg
194
+ Um9hY2hlLVR1cm5lciIgLz4KPENvdW50cnkgdGFnPSJBdXN0cmFsaWEiIC8+
195
+ CjxSb2xlIHRhZz0iSmF5IEdhbGxhZ2hlciIgLz4KPFJvbGUgdGFnPSJCaWFu
196
+ Y2EgQnJhZGV5IiAvPgo8Um9sZSB0YWc9Ikxlb24gQnVyY2hpbGwiIC8+Cjwv
197
+ VmlkZW8+CjxWaWRlbyByYXRpbmdLZXk9IjExNjkiIGtleT0iL2xpYnJhcnkv
198
+ bWV0YWRhdGEvMTE2OSIgc3R1ZGlvPSJWaWRodSBWaW5vZCBDaG9wcmEgUHJv
199
+ ZHVjdGlvbnMiIHR5cGU9Im1vdmllIiB0aXRsZT0iMyBJZGlvdHMiIGNvbnRl
200
+ bnRSYXRpbmc9IlBHIiBzdW1tYXJ5PSJJbiB0aGUgdHJhZGl0aW9uIG9mIOKA
201
+ nEZlcnJpcyBCdWVsbGVy4oCZcyBEYXkgT2Zm4oCdIGNvbWVzIHRoaXMgcmVm
202
+ cmVzaGluZyBjb21lZHkgYWJvdXQgYSByZWJlbGxpb3VzIHByYW5rc3RlciB3
203
+ aXRoIGEgY3JhZnR5IG1pbmQgYW5kIGEgaGVhcnQgb2YgZ29sZC4gUmFzY2Fs
204
+ LiBKb2tlci4gRHJlYW1lci4gR2VuaXVzLi4uIFlvdSZhcG9zO3ZlIG5ldmVy
205
+ IG1ldCBhIGNvbGxlZ2Ugc3R1ZGVudCBxdWl0ZSBsaWtlICZxdW90O1JhbmNo
206
+ by4mcXVvdDsgRnJvbSB0aGUgbW9tZW50IGhlIGFycml2ZXMgYXQgSW5kaWEm
207
+ YXBvcztzIG1vc3QgcHJlc3RpZ2lvdXMgdW5pdmVyc2l0eSwgUmFuY2hvJmFw
208
+ b3M7cyBvdXRsYW5kaXNoIHNjaGVtZXMgdHVybiB0aGUgY2FtcHVzIHVwc2lk
209
+ ZSBkb3du4oCUYWxvbmcgd2l0aCB0aGUgbGl2ZXMgb2YgaGlzIHR3byBuZXdm
210
+ b3VuZCBiZXN0IGZyaWVuZHMuIFRvZ2V0aGVyLCB0aGV5IG1ha2UgbGlmZSBt
211
+ aXNlcmFibGUgZm9yICZxdW90O1ZpcnVzLCZxdW90OyB0aGUgc2Nob29s4oCZ
212
+ cyB1cHRpZ2h0IGFuZCBoZWFydGxlc3MgZGVhbi4gQnV0IHdoZW4gUmFuY2hv
213
+ IGNhdGNoZXMgdGhlIGV5ZSBvZiB0aGUgZGVhbiZhcG9zO3Mgc2V4eSBkYXVn
214
+ aHRlciwgVmlydXMgc2V0cyBoaXMgc2lnaHRzIG9uIGZsdW5raW5nIG91dCB0
215
+ aGUgJnF1b3Q7MyBpZGlvdHMmcXVvdDsgb25jZSBhbmQgZm9yIGFsbC4iIHJh
216
+ dGluZz0iNy42OTk5OTk4MDkyNjUxNDAzIiB5ZWFyPSIyMDA5IiB0aHVtYj0i
217
+ L2xpYnJhcnkvbWV0YWRhdGEvMTE2OS90aHVtYi8xNDIzOTM1MzY3IiBhcnQ9
218
+ Ii9saWJyYXJ5L21ldGFkYXRhLzExNjkvYXJ0LzE0MjM5MzUzNjciIGR1cmF0
219
+ aW9uPSI5ODU1NDQwIiBvcmlnaW5hbGx5QXZhaWxhYmxlQXQ9IjIwMDktMTIt
220
+ MjUiIGFkZGVkQXQ9IjE0MjM5MzUzNTIiIHVwZGF0ZWRBdD0iMTQyMzkzNTM2
221
+ NyI+CjxNZWRpYSB2aWRlb1Jlc29sdXRpb249InNkIiBpZD0iMTM5OSIgZHVy
222
+ YXRpb249Ijk4NTU0NDAiIGJpdHJhdGU9IjgwOCIgd2lkdGg9IjY0MCIgaGVp
223
+ Z2h0PSIyNzIiIGFzcGVjdFJhdGlvPSIyLjM1IiBhdWRpb0NoYW5uZWxzPSI2
224
+ IiBhdWRpb0NvZGVjPSJhYzMiIHZpZGVvQ29kZWM9Im1wZWc0IiBjb250YWlu
225
+ ZXI9ImF2aSIgdmlkZW9GcmFtZVJhdGU9IlBBTCI+CjxQYXJ0IGlkPSIxOTU0
226
+ IiBrZXk9Ii9saWJyYXJ5L3BhcnRzLzE5NTQvZmlsZS5hdmkiIGR1cmF0aW9u
227
+ PSI5ODU1NDQwIiBmaWxlPSIvVXNlcnMvbWNvbndheS9Nb3ZpZXMvVGl2b0hN
228
+ T1Rlc3QvTW92aWVzLzMgSWRpb3RzICgyMDA5KS5hdmkiIHNpemU9Ijk5NTQ0
229
+ Mzc4NCIgY29udGFpbmVyPSJhdmkiIC8+CjwvTWVkaWE+CjxHZW5yZSB0YWc9
230
+ IkNvbWVkeSIgLz4KPEdlbnJlIHRhZz0iRHJhbWEiIC8+CjxXcml0ZXIgdGFn
231
+ PSJSYWprdW1hciBIaXJhbmkiIC8+CjxEaXJlY3RvciB0YWc9IlJhamt1bWFy
232
+ IEhpcmFuaSIgLz4KPENvdW50cnkgdGFnPSJJbmRpYSIgLz4KPFJvbGUgdGFn
233
+ PSJBYW1pciBLaGFuIiAvPgo8Um9sZSB0YWc9IkthcmVlbmEgS2Fwb29yIiAv
234
+ Pgo8Um9sZSB0YWc9Ik1hZGhhdmFuIiAvPgo8L1ZpZGVvPgo8L01lZGlhQ29u
235
+ dGFpbmVyPgo=
236
+ http_version:
237
+ recorded_at: Sat, 14 Feb 2015 17:47:35 GMT
238
+ - request:
239
+ method: get
240
+ uri: http://localhost:32400/library/metadata/1175
241
+ body:
242
+ encoding: US-ASCII
243
+ string: ''
244
+ headers:
245
+ Accept-Encoding:
246
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
247
+ Accept:
248
+ - "*/*"
249
+ User-Agent:
250
+ - Ruby
251
+ response:
252
+ status:
253
+ code: 200
254
+ message: OK
255
+ headers:
256
+ Content-Type:
257
+ - text/xml;charset=utf-8
258
+ Connection:
259
+ - close
260
+ X-Plex-Protocol:
261
+ - '1.0'
262
+ X-Plex-Content-Original-Length:
263
+ - '3128'
264
+ X-Plex-Content-Compressed-Length:
265
+ - '1533'
266
+ Content-Length:
267
+ - '1533'
268
+ Cache-Control:
269
+ - no-cache
270
+ body:
271
+ encoding: UTF-8
272
+ string: |
273
+ <?xml version="1.0" encoding="UTF-8"?>
274
+ <MediaContainer size="1" allowSync="1" identifier="com.plexapp.plugins.library" librarySectionID="6" librarySectionTitle="Test Movies" librarySectionUUID="fbc810b7-6b51-40ba-a3c5-9a2c391e5a3d" mediaTagPrefix="/system/bundle/media/flags/" mediaTagVersion="1420767545">
275
+ <Video ratingKey="1175" key="/library/metadata/1175" guid="com.plexapp.agents.imdb://tt2535470?lang=en" studio="Guerilla Films" type="movie" title="Wyrmwood" summary="Barry is a talented mechanic and family man whose life is torn apart on the eve of a zombie apocalypse. His sister, Brooke, is kidnapped by a sinister team of gas-mask wearing soldiers &amp;amp; experimented on by a psychotic doctor. While Brooke plans her escape Barry goes out on the road to find her &amp;amp; teams up with Benny, a fellow survivor - together they must arm themselves and prepare to battle their way through hordes of flesh-eating monsters in a harsh Australian bushland." year="2015" thumb="/library/metadata/1175/thumb/1423936051" art="/library/metadata/1175/art/1423936051" duration="5914659" originallyAvailableAt="2015-02-13" addedAt="1423936036" updatedAt="1423936051">
276
+ <Media videoResolution="sd" id="1402" duration="5914659" bitrate="989" width="640" height="352" aspectRatio="1.85" audioChannels="2" audioCodec="mp3" videoCodec="mpeg4" container="avi" videoFrameRate="24p">
277
+ <Part id="1957" key="/library/parts/1957/file.avi" duration="5914659" file="/Users/mconway/Movies/TivoHMOTest/Movies/Wyrmwood (2014).avi" size="731033918" container="avi">
278
+ <Stream id="5736" streamType="1" codec="mpeg4" index="0" bitrate="851" bitDepth="8" chromaSubsampling="4:2:0" codecID="XVID" colorSpace="yuv" duration="5914659" frameRate="23.976" gmc="0" height="352" level="5" profile="asp" qpel="0" scanType="progressive" title="" width="640" />
279
+ <Stream id="5737" streamType="2" selected="1" codec="mp3" index="1" channels="2" bitrate="128" bitrateMode="cbr" codecID="55" duration="5914659" samplingRate="48000" title="" />
280
+ </Part>
281
+ </Media>
282
+ <Genre id="89" tag="Action" />
283
+ <Genre id="1859" tag="Horror" />
284
+ <Genre id="251" tag="Science Fiction" />
285
+ <Writer id="7694" tag="Kiah Roache-Turner" />
286
+ <Writer id="7695" tag="Tristan Roache-Turner" />
287
+ <Director id="7693" tag="Kiah Roache-Turner" />
288
+ <Country id="1669" tag="Australia" />
289
+ <Role id="7696" tag="Jay Gallagher" role="Barry" />
290
+ <Role id="7697" tag="Bianca Bradey" role="Brooke" thumb="http://image.tmdb.org/t/p/original/1RxZYeFEcIOGI7A0yO0WUJcHCXZ.jpg" />
291
+ <Role id="7698" tag="Leon Burchill" role="Benny" />
292
+ <Role id="7699" tag="Luke McKenzie" role="The Captain" />
293
+ <Role id="7700" tag="Yure Covich" role="Chalker" />
294
+ <Role id="7701" tag="Catherine Terracini" role="Annie" />
295
+ <Role id="7702" tag="Keith Agius" role="Frank" />
296
+ <Role id="7703" tag="Berryn Schwerdt" role="The Doctor" />
297
+ <Role id="7704" tag="Cain Thompson" role="McGaughlin" />
298
+ <Role id="7705" tag="Beth Aubrey" role="Charlotte" />
299
+ <Role id="7706" tag="Sheridan Harbridge" role="Sherri" />
300
+ <Role id="7707" tag="Damian Dyke" role="Thompson" />
301
+ <Role id="7708" tag="John Michael Burdon" role="Zombie" />
302
+ </Video>
303
+ </MediaContainer>
304
+ http_version:
305
+ recorded_at: Sat, 14 Feb 2015 17:47:35 GMT
306
+ - request:
307
+ method: get
308
+ uri: http://localhost:32400/library/metadata/1169
309
+ body:
310
+ encoding: US-ASCII
311
+ string: ''
312
+ headers:
313
+ Accept-Encoding:
314
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
315
+ Accept:
316
+ - "*/*"
317
+ User-Agent:
318
+ - Ruby
319
+ response:
320
+ status:
321
+ code: 200
322
+ message: OK
323
+ headers:
324
+ Content-Type:
325
+ - text/xml;charset=utf-8
326
+ Connection:
327
+ - close
328
+ X-Plex-Protocol:
329
+ - '1.0'
330
+ X-Plex-Content-Original-Length:
331
+ - '3461'
332
+ X-Plex-Content-Compressed-Length:
333
+ - '1721'
334
+ Content-Length:
335
+ - '1721'
336
+ Cache-Control:
337
+ - no-cache
338
+ body:
339
+ encoding: ASCII-8BIT
340
+ string: !binary |-
341
+ PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPE1lZGlh
342
+ Q29udGFpbmVyIHNpemU9IjEiIGFsbG93U3luYz0iMSIgaWRlbnRpZmllcj0i
343
+ Y29tLnBsZXhhcHAucGx1Z2lucy5saWJyYXJ5IiBsaWJyYXJ5U2VjdGlvbklE
344
+ PSI2IiBsaWJyYXJ5U2VjdGlvblRpdGxlPSJUZXN0IE1vdmllcyIgbGlicmFy
345
+ eVNlY3Rpb25VVUlEPSJmYmM4MTBiNy02YjUxLTQwYmEtYTNjNS05YTJjMzkx
346
+ ZTVhM2QiIG1lZGlhVGFnUHJlZml4PSIvc3lzdGVtL2J1bmRsZS9tZWRpYS9m
347
+ bGFncy8iIG1lZGlhVGFnVmVyc2lvbj0iMTQyMDc2NzU0NSI+CjxWaWRlbyBy
348
+ YXRpbmdLZXk9IjExNjkiIGtleT0iL2xpYnJhcnkvbWV0YWRhdGEvMTE2OSIg
349
+ c3R1ZGlvPSJWaWRodSBWaW5vZCBDaG9wcmEgUHJvZHVjdGlvbnMiIHR5cGU9
350
+ Im1vdmllIiB0aXRsZT0iMyBJZGlvdHMiIGNvbnRlbnRSYXRpbmc9IlBHIiBz
351
+ dW1tYXJ5PSJJbiB0aGUgdHJhZGl0aW9uIG9mIOKAnEZlcnJpcyBCdWVsbGVy
352
+ 4oCZcyBEYXkgT2Zm4oCdIGNvbWVzIHRoaXMgcmVmcmVzaGluZyBjb21lZHkg
353
+ YWJvdXQgYSByZWJlbGxpb3VzIHByYW5rc3RlciB3aXRoIGEgY3JhZnR5IG1p
354
+ bmQgYW5kIGEgaGVhcnQgb2YgZ29sZC4gUmFzY2FsLiBKb2tlci4gRHJlYW1l
355
+ ci4gR2VuaXVzLi4uIFlvdSZhcG9zO3ZlIG5ldmVyIG1ldCBhIGNvbGxlZ2Ug
356
+ c3R1ZGVudCBxdWl0ZSBsaWtlICZxdW90O1JhbmNoby4mcXVvdDsgRnJvbSB0
357
+ aGUgbW9tZW50IGhlIGFycml2ZXMgYXQgSW5kaWEmYXBvcztzIG1vc3QgcHJl
358
+ c3RpZ2lvdXMgdW5pdmVyc2l0eSwgUmFuY2hvJmFwb3M7cyBvdXRsYW5kaXNo
359
+ IHNjaGVtZXMgdHVybiB0aGUgY2FtcHVzIHVwc2lkZSBkb3du4oCUYWxvbmcg
360
+ d2l0aCB0aGUgbGl2ZXMgb2YgaGlzIHR3byBuZXdmb3VuZCBiZXN0IGZyaWVu
361
+ ZHMuIFRvZ2V0aGVyLCB0aGV5IG1ha2UgbGlmZSBtaXNlcmFibGUgZm9yICZx
362
+ dW90O1ZpcnVzLCZxdW90OyB0aGUgc2Nob29s4oCZcyB1cHRpZ2h0IGFuZCBo
363
+ ZWFydGxlc3MgZGVhbi4gQnV0IHdoZW4gUmFuY2hvIGNhdGNoZXMgdGhlIGV5
364
+ ZSBvZiB0aGUgZGVhbiZhcG9zO3Mgc2V4eSBkYXVnaHRlciwgVmlydXMgc2V0
365
+ cyBoaXMgc2lnaHRzIG9uIGZsdW5raW5nIG91dCB0aGUgJnF1b3Q7MyBpZGlv
366
+ dHMmcXVvdDsgb25jZSBhbmQgZm9yIGFsbC4iIHJhdGluZz0iNy42OTk5OTk4
367
+ MDkyNjUxNDAzIiB5ZWFyPSIyMDA5IiB0aHVtYj0iL2xpYnJhcnkvbWV0YWRh
368
+ dGEvMTE2OS90aHVtYi8xNDIzOTM2MDU1IiBhcnQ9Ii9saWJyYXJ5L21ldGFk
369
+ YXRhLzExNjkvYXJ0LzE0MjM5MzYwNTUiIGR1cmF0aW9uPSI5ODU1NDQwIiBv
370
+ cmlnaW5hbGx5QXZhaWxhYmxlQXQ9IjIwMDktMTItMjUiIGFkZGVkQXQ9IjE0
371
+ MjM5MzUzNTIiIHVwZGF0ZWRBdD0iMTQyMzkzNjA1NSI+CjxNZWRpYSB2aWRl
372
+ b1Jlc29sdXRpb249InNkIiBpZD0iMTM5OSIgZHVyYXRpb249Ijk4NTU0NDAi
373
+ IGJpdHJhdGU9IjgwOCIgd2lkdGg9IjY0MCIgaGVpZ2h0PSIyNzIiIGFzcGVj
374
+ dFJhdGlvPSIyLjM1IiBhdWRpb0NoYW5uZWxzPSI2IiBhdWRpb0NvZGVjPSJh
375
+ YzMiIHZpZGVvQ29kZWM9Im1wZWc0IiBjb250YWluZXI9ImF2aSIgdmlkZW9G
376
+ cmFtZVJhdGU9IlBBTCI+CjxQYXJ0IGlkPSIxOTU0IiBrZXk9Ii9saWJyYXJ5
377
+ L3BhcnRzLzE5NTQvZmlsZS5hdmkiIGR1cmF0aW9uPSI5ODU1NDQwIiBmaWxl
378
+ PSIvVXNlcnMvbWNvbndheS9Nb3ZpZXMvVGl2b0hNT1Rlc3QvTW92aWVzLzMg
379
+ SWRpb3RzICgyMDA5KS5hdmkiIHNpemU9Ijk5NTQ0Mzc4NCIgY29udGFpbmVy
380
+ PSJhdmkiPgo8U3RyZWFtIGlkPSI1NzMyIiBzdHJlYW1UeXBlPSIxIiBjb2Rl
381
+ Yz0ibXBlZzQiIGluZGV4PSIwIiBiaXRyYXRlPSI2MTEiIGJpdERlcHRoPSI4
382
+ IiBjaHJvbWFTdWJzYW1wbGluZz0iNDoyOjAiIGNvZGVjSUQ9IlhWSUQiIGNv
383
+ bG9yU3BhY2U9Inl1diIgZHVyYXRpb249Ijk4NTU0NDAiIGZyYW1lUmF0ZT0i
384
+ MjUuMDAwIiBnbWM9IjAiIGhlaWdodD0iMjcyIiBsZXZlbD0iNSIgcHJvZmls
385
+ ZT0iYXNwIiBxcGVsPSIwIiBzY2FuVHlwZT0icHJvZ3Jlc3NpdmUiIHRpdGxl
386
+ PSIiIHdpZHRoPSI2NDAiIC8+CjxTdHJlYW0gaWQ9IjU3MzMiIHN0cmVhbVR5
387
+ cGU9IjIiIHNlbGVjdGVkPSIxIiBjb2RlYz0iYWMzIiBpbmRleD0iMSIgY2hh
388
+ bm5lbHM9IjYiIGJpdHJhdGU9IjE5MiIgYml0RGVwdGg9IjE2IiBiaXRyYXRl
389
+ TW9kZT0iY2JyIiBjb2RlY0lEPSIyMDAwIiBkaWFsb2dOb3JtPSItMzEiIGR1
390
+ cmF0aW9uPSI5ODU1MzYwIiBzYW1wbGluZ1JhdGU9IjQ4MDAwIiB0aXRsZT0i
391
+ IiAvPgo8L1BhcnQ+CjwvTWVkaWE+CjxHZW5yZSBpZD0iNDQiIHRhZz0iQ29t
392
+ ZWR5IiAvPgo8R2VucmUgaWQ9Ijg4IiB0YWc9IkRyYW1hIiAvPgo8R2VucmUg
393
+ aWQ9IjM2ODEiIHRhZz0iUm9tYW5jZSIgLz4KPFdyaXRlciBpZD0iNjkwNSIg
394
+ dGFnPSJSYWprdW1hciBIaXJhbmkiIC8+CjxEaXJlY3RvciBpZD0iNjkwMiIg
395
+ dGFnPSJSYWprdW1hciBIaXJhbmkiIC8+CjxQcm9kdWNlciBpZD0iNjkyOSIg
396
+ dGFnPSJWaWRodSBWaW5vZCBDaG9wcmEiIC8+CjxDb3VudHJ5IGlkPSI2MDki
397
+ IHRhZz0iSW5kaWEiIC8+CjxSb2xlIGlkPSI2OTEzIiB0YWc9IkFhbWlyIEto
398
+ YW4iIHJvbGU9IlJhbmNobyIgdGh1bWI9Imh0dHA6Ly9pbWFnZS50bWRiLm9y
399
+ Zy90L3Avb3JpZ2luYWwvallvaGxVVmtMUEZkbkRyeVo4VjFIWmtKekR0Lmpw
400
+ ZyIgLz4KPFJvbGUgaWQ9IjcyNDciIHRhZz0iS2FyZWVuYSBLYXBvb3IiIHJv
401
+ bGU9IlBpYSIgdGh1bWI9Imh0dHA6Ly9pbWFnZS50bWRiLm9yZy90L3Avb3Jp
402
+ Z2luYWwva0RZZUJFTlhjVktmSEpqU0hsY2lOQ0xtdHJHLmpwZyIgLz4KPFJv
403
+ bGUgaWQ9IjcyNDgiIHRhZz0iTWFkaGF2YW4iIHJvbGU9IkZhcmhhbiIgdGh1
404
+ bWI9Imh0dHA6Ly9pbWFnZS50bWRiLm9yZy90L3Avb3JpZ2luYWwvanhxRXg0
405
+ SWk5YVl4N2tra3oxTXg3RldyakN0LmpwZyIgLz4KPFJvbGUgaWQ9IjY5MTUi
406
+ IHRhZz0iU2hhcm1hbiBKb3NoaSIgcm9sZT0iUmFqdSIgdGh1bWI9Imh0dHA6
407
+ Ly9pbWFnZS50bWRiLm9yZy90L3Avb3JpZ2luYWwvbGFzbWVpMVNvV2tTWnhX
408
+ UXROaDJiSTEwVDJILmpwZyIgLz4KPFJvbGUgaWQ9IjY5MTQiIHRhZz0iQm9t
409
+ YW4gSXJhbmkiIHJvbGU9IlZpcnUgU2FoYXN0cmFidWRoaGUiIHRodW1iPSJo
410
+ dHRwOi8vaW1hZ2UudG1kYi5vcmcvdC9wL29yaWdpbmFsL3liaEZhbThhZFVw
411
+ V3ozUmU0OVQ4dURtOERjVC5qcGciIC8+CjxSb2xlIGlkPSI2OTA4IiB0YWc9
412
+ Ik1vbmEgU2luZ2giIHJvbGU9Ik1vbmEiIHRodW1iPSJodHRwOi8vaW1hZ2Uu
413
+ dG1kYi5vcmcvdC9wL29yaWdpbmFsLzdUd0VOSElNaktaTzZ3WVRWR3k5bnFo
414
+ VllMWi5qcGciIC8+CjxSb2xlIGlkPSI2OTE3IiB0YWc9Ik9taSBWYWlkeWEi
415
+ IHJvbGU9IkNoYXR1ciBSYW1hbGluZ2FtIiB0aHVtYj0iaHR0cDovL2ltYWdl
416
+ LnRtZGIub3JnL3QvcC9vcmlnaW5hbC9qTXNIcWxyejQxWnBEN1JFeXM3OFph
417
+ Q1RNM1UuanBnIiAvPgo8L1ZpZGVvPgo8L01lZGlhQ29udGFpbmVyPgo=
418
+ http_version:
419
+ recorded_at: Sat, 14 Feb 2015 17:47:35 GMT
420
+ - request:
421
+ method: get
422
+ uri: http://localhost:32400/library/sections
423
+ body:
424
+ encoding: US-ASCII
425
+ string: ''
426
+ headers:
427
+ Accept-Encoding:
428
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
429
+ Accept:
430
+ - "*/*"
431
+ User-Agent:
432
+ - Ruby
433
+ response:
434
+ status:
435
+ code: 200
436
+ message: OK
437
+ headers:
438
+ Content-Type:
439
+ - text/xml;charset=utf-8
440
+ Connection:
441
+ - close
442
+ X-Plex-Protocol:
443
+ - '1.0'
444
+ X-Plex-Content-Original-Length:
445
+ - '2991'
446
+ X-Plex-Content-Compressed-Length:
447
+ - '805'
448
+ Content-Length:
449
+ - '805'
450
+ Cache-Control:
451
+ - no-cache
452
+ body:
453
+ encoding: UTF-8
454
+ string: |
455
+ <?xml version="1.0" encoding="UTF-8"?>
456
+ <MediaContainer size="6" allowSync="0" identifier="com.plexapp.plugins.library" mediaTagPrefix="/system/bundle/media/flags/" mediaTagVersion="1420767545" title1="Plex Library">
457
+ <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">
458
+ <Location id="4" path="/Users/mconway/Movies/Adult Movies" />
459
+ </Directory>
460
+ <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">
461
+ <Location id="6" path="/Users/mconway/Movies/Adult TV Shows" />
462
+ </Directory>
463
+ <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">
464
+ <Location id="9" path="/Users/mconway/Movies/Kid Movies" />
465
+ </Directory>
466
+ <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">
467
+ <Location id="8" path="/Users/mconway/Movies/Kid TV Shows" />
468
+ </Directory>
469
+ <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">
470
+ <Location id="10" path="/Users/mconway/Movies/TivoHMOTest/Movies" />
471
+ </Directory>
472
+ <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">
473
+ <Location id="11" path="/Users/mconway/Movies/TivoHMOTest/TV Shows" />
474
+ </Directory>
475
+ </MediaContainer>
476
+ http_version:
477
+ recorded_at: Sat, 14 Feb 2015 17:47:35 GMT
478
+ recorded_with: VCR 2.9.3