Пример #1
0
#
#  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):
        """
Пример #2
0
#
#  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)