From 02dbf93f0e98a56ed04b4a9e6a6d62efd6d801f9 Mon Sep 17 00:00:00 2001 From: Philipp Hagemeister Date: Mon, 25 Nov 2013 03:12:26 +0100 Subject: [zdf/common] Use API in ZDF extractor. This also comes with a lot of extra format fields Fixes #1518 --- youtube_dl/utils.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'youtube_dl/utils.py') diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index 34b3d19e0..ad0a06287 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -8,6 +8,7 @@ import gzip import io import json import locale +import math import os import pipes import platform @@ -16,6 +17,7 @@ import ssl import socket import sys import traceback +import xml.etree.ElementTree import zlib try: @@ -1006,3 +1008,22 @@ def unsmuggle_url(smug_url): jsond = compat_parse_qs(sdata)[u'__youtubedl_smuggle'][0] data = json.loads(jsond) return url, data + + +def parse_xml_doc(s): + assert isinstance(s, type(u'')) + return xml.etree.ElementTree.fromstring(s.encode('utf-8')) + + +def format_bytes(bytes): + if bytes is None: + return u'N/A' + if type(bytes) is str: + bytes = float(bytes) + if bytes == 0.0: + exponent = 0 + else: + exponent = int(math.log(bytes, 1024.0)) + suffix = [u'B', u'KiB', u'MiB', u'GiB', u'TiB', u'PiB', u'EiB', u'ZiB', u'YiB'][exponent] + converted = float(bytes) / float(1024 ** exponent) + return u'%.2f%s' % (converted, suffix) -- cgit v1.2.3