# # Plex Extension Framework # Copyright (C) 2008-2012 Plex, Inc. (James Clarke, Elan Feingold). All Rights Reserved. # import Framework import plistlib feedparser = Framework.LazyModule('feedparser') from base import BaseKit from networkkit import BaseHTTPKit GLOBAL_DEFAULT_TIMEOUT = Framework.components.networking.GLOBAL_DEFAULT_TIMEOUT DEFAULT_MAX_SIZE = 1024 * 1024 * 5 def check_size(data, max_size): if max_size == None: max_size = DEFAULT_MAX_SIZE # Make sure we don't try to parse anything greater than the given maximum size. if len(data) > max_size: raise Framework.exceptions.APIException( "Data of size %d is greater than the maximum size %d" % (len(data), max_size)) class PlistKit(BaseHTTPKit): def ObjectFromString(self, string, max_size=None): """
# # Plex Extension Framework # Copyright (C) 2008-2012 Plex, Inc. (James Clarke, Elan Feingold). All Rights Reserved. # import Framework import simplejson, demjson, zipfile, hashlib, binascii from lxml import etree, html, objectify from lxml.html import soupparser, HTMLParser import cStringIO as StringIO from BeautifulSoup import UnicodeDammit import gzip from base import BaseComponent, SubComponent pickle = Framework.LazyModule('pickle') html_parser = HTMLParser(encoding='utf-8') xml_parser = etree.XMLParser(remove_blank_text=True) class Hashing(BaseComponent): def _generateHash(self, data, obj, digest=False): obj.update(data) if digest: return obj.digest() else: return obj.hexdigest() def md5(self, data, digest=False): return self._generateHash(data, hashlib.md5(), digest)