|
1 | 1 | from os.path import dirname, join, splitext, exists, basename |
2 | 2 | import re |
3 | 3 | import urllib2 |
| 4 | +import urllib |
4 | 5 |
|
5 | 6 | from log import * |
6 | 7 |
|
@@ -167,21 +168,25 @@ def select_exist(*args): |
167 | 168 |
|
168 | 169 | def put_update(media_id, title, tagline): |
169 | 170 | token = Prefs["Token"] |
170 | | - if (title is None and tagline is None) or not token: |
| 171 | + if not token: |
171 | 172 | return |
172 | 173 | pageUrl = "http://127.0.0.1:32400/library/metadata/" + media_id |
173 | 174 | xml_element = XML.ElementFromURL(pageUrl) |
174 | 175 | section = String.Unquote(xml_element.xpath("//MediaContainer")[0].get("librarySectionID").encode("utf-8")) |
175 | 176 | opener = urllib2.build_opener(urllib2.HTTPHandler) |
176 | | - request_url = "http://127.0.0.1:32400/library/sections/" + section + "/all?type=2&id=" + media_id + "&X-Plex-Token=" + token |
| 177 | + query = {"type": "2", "id": media_id, "X-Plex-Token": token, "originalTitle.locked": "0", "tagline.locked": "0"} # Movie Type 1 |
| 178 | + request_url = "http://127.0.0.1:32400/library/sections/" + section + "/all?" |
177 | 179 | if title is not None: |
178 | | - request_url += "&originalTitle.value=" + title |
| 180 | + query["originalTitle.value"] = title |
179 | 181 | if tagline is not None: |
180 | | - request_url += "&tagline.value=" + tagline |
| 182 | + query["tagline.value"] = tagline |
| 183 | + request_url += urllib.urlencode(query) |
| 184 | + PlexLog.warn("request_url %s" % request_url) |
181 | 185 | request = urllib2.Request(request_url) |
182 | 186 | request.get_method = lambda: 'PUT' |
183 | 187 | try: |
184 | 188 | url = opener.open(request) |
185 | 189 | url.read() |
186 | | - except HTTPError as e: |
187 | | - PlexLog.error(e.strerror) |
| 190 | + except urllib2.HTTPError as e: |
| 191 | + PlexLog.error("request_url %s" % request_url) |
| 192 | + PlexLog.error(str(e)) |
0 commit comments