Use xml.etree.cElementTree whenever possible to avoid memory leaks
This commit is contained in:
parent
b7a9a1eca9
commit
c5741c7225
7 changed files with 14 additions and 11 deletions
|
@ -2,7 +2,6 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import absolute_import, division, unicode_literals
|
||||
from logging import getLogger
|
||||
import defusedxml.ElementTree as etree # etree parse unsafe
|
||||
import requests
|
||||
|
||||
from . import utils
|
||||
|
@ -276,7 +275,7 @@ class DownloadUtils():
|
|||
return r
|
||||
try:
|
||||
# xml response
|
||||
r = etree.fromstring(r.content)
|
||||
r = utils.defused_etree.fromstring(r.content)
|
||||
return r
|
||||
except:
|
||||
r.encoding = 'utf-8'
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
from __future__ import absolute_import, division, unicode_literals
|
||||
from logging import getLogger
|
||||
from Queue import Queue
|
||||
import xml.etree.ElementTree as etree
|
||||
|
||||
from xbmc import executebuiltin, translatePath
|
||||
|
||||
|
@ -494,7 +493,7 @@ class InitialSetup(object):
|
|||
xml.set_setting(['video', 'ignoresecondsatstart'],
|
||||
value='60')
|
||||
reboot = xml.write_xml
|
||||
except etree.ParseError:
|
||||
except utils.etree.ParseError:
|
||||
cache = None
|
||||
reboot = False
|
||||
# Kodi default cache if no setting is set
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import absolute_import, division, unicode_literals
|
||||
from logging import getLogger
|
||||
from xml.etree.ElementTree import ParseError
|
||||
|
||||
from . import utils
|
||||
from .plex_api import API
|
||||
|
@ -66,7 +65,7 @@ def excludefromscan_music_folders(xml):
|
|||
element.text)
|
||||
parent.remove(element)
|
||||
xml_file.write_xml = True
|
||||
except (ParseError, IOError):
|
||||
except (utils.etree.ParseError, IOError):
|
||||
LOG.error('Could not adjust advancedsettings.xml')
|
||||
if reboot is True:
|
||||
# 'New Plex music library detected. Sorry, but we need to
|
||||
|
|
|
@ -67,6 +67,7 @@ class Service():
|
|||
utils.settings('syncSpecificPlexPlaylistsPrefix') == 'true')
|
||||
LOG.info('Play playlist prefix: %s',
|
||||
utils.settings('syncSpecificPlexPlaylistsPrefix'))
|
||||
LOG.info('XML decoding being used: %s', utils.ETREE)
|
||||
self.monitor = xbmc.Monitor()
|
||||
# Load/Reset PKC entirely - important for user/Kodi profile switch
|
||||
initialsetup.reload_pkc()
|
||||
|
|
|
@ -9,8 +9,14 @@ from sqlite3 import connect, OperationalError
|
|||
from datetime import datetime, timedelta
|
||||
from time import localtime, strftime
|
||||
from unicodedata import normalize
|
||||
import xml.etree.ElementTree as etree
|
||||
import defusedxml.ElementTree as defused_etree # etree parse unsafe
|
||||
try:
|
||||
import xml.etree.cElementTree as etree
|
||||
import defusedxml.cElementTree as defused_etree # etree parse unsafe
|
||||
ETREE = 'cElementTree'
|
||||
except ImportError:
|
||||
import xml.etree.ElementTree as etree
|
||||
import defusedxml.ElementTree as defused_etree # etree parse unsafe
|
||||
ETREE = 'ElementTree'
|
||||
from functools import wraps, partial
|
||||
from urllib import quote_plus
|
||||
import hashlib
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import absolute_import, division, unicode_literals
|
||||
from logging import getLogger
|
||||
import xml.etree.ElementTree as etree
|
||||
|
||||
from . import utils
|
||||
from .utils import etree
|
||||
from . import path_ops
|
||||
from . import variables as v
|
||||
from . import state
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from logging import getLogger
|
||||
from json import loads
|
||||
import defusedxml.ElementTree as etree # etree parse unsafe
|
||||
from threading import Thread
|
||||
from ssl import CERT_NONE
|
||||
from xbmc import sleep
|
||||
|
@ -222,7 +221,7 @@ class Alexa_Websocket(WebSocket):
|
|||
self.__class__.__name__)
|
||||
LOG.debug('%s: %s', self.__class__.__name__, message)
|
||||
try:
|
||||
message = etree.fromstring(message)
|
||||
message = utils.defused_etree.fromstring(message)
|
||||
except Exception as ex:
|
||||
LOG.error('%s: Error decoding message from Alexa: %s',
|
||||
self.__class__.__name__, ex)
|
||||
|
|
Loading…
Reference in a new issue