Python plistlib.dumps() Examples
The following are 30
code examples of plistlib.dumps().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
plistlib
, or try the search function
.
Example #1
Source File: plist.py From ProperTree with BSD 3-Clause "New" or "Revised" License | 6 votes |
def dumps(value, fmt=FMT_XML, skipkeys=False, sort_keys=True): if _check_py3(): return plistlib.dumps(value, fmt=fmt, skipkeys=skipkeys, sort_keys=sort_keys).decode("utf-8") else: # We avoid using writePlistToString() as that uses # cStringIO and fails when Unicode strings are detected f = StringIO() dump(value, f, fmt=fmt, skipkeys=skipkeys, sort_keys=sort_keys) return f.getvalue() ### ### # Binary Plist Stuff For Py2 # ### ### # From the python 3 plistlib.py source: https://github.com/python/cpython/blob/3.7/Lib/plistlib.py # Tweaked to function on Python 2
Example #2
Source File: plist.py From gibMacOS with MIT License | 6 votes |
def dumps(value, fmt=FMT_XML, skipkeys=False, sort_keys=True): if _check_py3(): return plistlib.dumps(value, fmt=fmt, skipkeys=skipkeys, sort_keys=sort_keys).decode("utf-8") else: # We avoid using writePlistToString() as that uses # cStringIO and fails when Unicode strings are detected f = StringIO() dump(value, f, fmt=fmt, skipkeys=skipkeys, sort_keys=sort_keys) return f.getvalue() ### ### # Binary Plist Stuff For Py2 # ### ### # From the python 3 plistlib.py source: https://github.com/python/cpython/blob/3.7/Lib/plistlib.py # Tweaked to function on Python 2
Example #3
Source File: plist.py From thinkpad-x1c5-hackintosh with MIT License | 6 votes |
def dumps(value, fmt=FMT_XML, skipkeys=False, sort_keys=True): if _check_py3(): return plistlib.dumps(value, fmt=fmt, skipkeys=skipkeys, sort_keys=sort_keys).decode("utf-8") else: # We avoid using writePlistToString() as that uses # cStringIO and fails when Unicode strings are detected f = StringIO() dump(value, f, fmt=fmt, skipkeys=skipkeys, sort_keys=sort_keys) return f.getvalue() ### ### # Binary Plist Stuff For Py2 # ### ### # From the python 3 plistlib.py source: https://github.com/python/cpython/blob/3.7/Lib/plistlib.py # Tweaked to function on Python 2
Example #4
Source File: test_plistlib.py From ironpython3 with Apache License 2.0 | 6 votes |
def test_cycles(self): # recursive list a = [] a.append(a) b = plistlib.loads(plistlib.dumps(a, fmt=plistlib.FMT_BINARY)) self.assertIs(b[0], b) # recursive tuple a = ([],) a[0].append(a) b = plistlib.loads(plistlib.dumps(a, fmt=plistlib.FMT_BINARY)) self.assertIs(b[0][0], b) # recursive dict a = {} a['x'] = a b = plistlib.loads(plistlib.dumps(a, fmt=plistlib.FMT_BINARY)) self.assertIs(b['x'], b)
Example #5
Source File: test_plistlib.py From Fluid-Designer with GNU General Public License v3.0 | 6 votes |
def test_int(self): for pl in [0, 2**8-1, 2**8, 2**16-1, 2**16, 2**32-1, 2**32, 2**63-1, 2**64-1, 1, -2**63]: for fmt in ALL_FORMATS: with self.subTest(pl=pl, fmt=fmt): data = plistlib.dumps(pl, fmt=fmt) pl2 = plistlib.loads(data) self.assertIsInstance(pl2, int) self.assertEqual(pl, pl2) data2 = plistlib.dumps(pl2, fmt=fmt) self.assertEqual(data, data2) for fmt in ALL_FORMATS: for pl in (2 ** 64 + 1, 2 ** 127-1, -2**64, -2 ** 127): with self.subTest(pl=pl, fmt=fmt): self.assertRaises(OverflowError, plistlib.dumps, pl, fmt=fmt)
Example #6
Source File: test_plistlib.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 6 votes |
def test_int(self): for pl in [0, 2**8-1, 2**8, 2**16-1, 2**16, 2**32-1, 2**32, 2**63-1, 2**64-1, 1, -2**63]: for fmt in ALL_FORMATS: with self.subTest(pl=pl, fmt=fmt): data = plistlib.dumps(pl, fmt=fmt) pl2 = plistlib.loads(data) self.assertIsInstance(pl2, int) self.assertEqual(pl, pl2) data2 = plistlib.dumps(pl2, fmt=fmt) self.assertEqual(data, data2) for fmt in ALL_FORMATS: for pl in (2 ** 64 + 1, 2 ** 127-1, -2**64, -2 ** 127): with self.subTest(pl=pl, fmt=fmt): self.assertRaises(OverflowError, plistlib.dumps, pl, fmt=fmt)
Example #7
Source File: test_plistlib.py From ironpython3 with Apache License 2.0 | 6 votes |
def test_dataobject_deprecated(self): in_data = { 'key': plistlib.Data(b'hello') } out_data = { 'key': b'hello' } buf = plistlib.dumps(in_data) cur = plistlib.loads(buf) self.assertEqual(cur, out_data) self.assertNotEqual(cur, in_data) cur = plistlib.loads(buf, use_builtin_types=False) self.assertNotEqual(cur, out_data) self.assertEqual(cur, in_data) with self.assertWarns(DeprecationWarning): cur = plistlib.readPlistFromBytes(buf) self.assertNotEqual(cur, out_data) self.assertEqual(cur, in_data)
Example #8
Source File: utils.py From zentral with Apache License 2.0 | 6 votes |
def build_configuration_profile(enrolled_machine): payload_content = {"PayloadContent": {"ManagedInstalls": {"Forced": [ {"mcx_preference_settings": build_configuration(enrolled_machine)} ]}}, "PayloadEnabled": True, "PayloadIdentifier": get_payload_identifier("monolith.settings.0"), "PayloadUUID": generate_payload_uuid(), "PayloadType": "com.apple.ManagedClient.preferences", "PayloadVersion": 1} configuration_profile_data = {"PayloadContent": [payload_content], "PayloadDescription": "Munki settings for Zentral/Monolith", "PayloadDisplayName": "Zentral - Munki settings", "PayloadIdentifier": get_payload_identifier("monolith.settings"), "PayloadOrganization": "Zentral", "PayloadRemovalDisallowed": True, "PayloadScope": "System", "PayloadType": "Configuration", "PayloadUUID": generate_payload_uuid(), "PayloadVersion": 1} content = sign_payload_openssl(plistlib.dumps(configuration_profile_data)) return (get_payload_identifier("monolith.settings.mobileconfig"), content)
Example #9
Source File: utils.py From zentral with Apache License 2.0 | 6 votes |
def build_configuration_profile(enrolled_machine): configuration = enrolled_machine.enrollment.configuration payload_content = {"PayloadContent": {"com.google.santa": {"Forced": [ {"mcx_preference_settings": build_santa_configuration_dict(enrolled_machine)} ]}}, "PayloadEnabled": True, "PayloadIdentifier": get_payload_identifier("santa.configuration.{}".format(configuration.pk)), "PayloadUUID": generate_payload_uuid(), 'PayloadType': 'com.apple.ManagedClient.preferences', 'PayloadVersion': 1} configuration_profile_data = {"PayloadContent": [payload_content], "PayloadDisplayName": "Zentral - Santa settings", "PayloadDescription": "Google Santa settings for Zentral", "PayloadIdentifier": "com.google.santa", "PayloadOrganization": "Zentral", "PayloadRemovalDisallowed": True, "PayloadScope": "System", "PayloadType": "Configuration", "PayloadUUID": generate_payload_uuid(), "PayloadVersion": 1} content = sign_payload_openssl(plistlib.dumps(configuration_profile_data)) return "com.google.santa.zentral.mobileconfig", content
Example #10
Source File: commands.py From zentral with Apache License 2.0 | 6 votes |
def build_device_command(enrolled_device, request_type, body_command, command_uuid=None, queue=False): device_command = DeviceCommand(enrolled_device=enrolled_device, request_type=request_type) body_command["RequestType"] = request_type body = {"Command": body_command} if command_uuid: device_command.uuid = command_uuid else: device_command.uuid = uuid.uuid4() body["CommandUUID"] = str(device_command.uuid) device_command.body = plistlib.dumps(body).decode("utf-8") if not queue: device_command.time = timezone.now() device_command.save() return device_command
Example #11
Source File: test_plistlib.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 6 votes |
def test_keysort(self): pl = collections.OrderedDict() pl['b'] = 1 pl['a'] = 2 pl['c'] = 3 for fmt in ALL_FORMATS: for sort_keys in (False, True): with self.subTest(fmt=fmt, sort_keys=sort_keys): data = plistlib.dumps(pl, fmt=fmt, sort_keys=sort_keys) pl2 = plistlib.loads(data, dict_type=collections.OrderedDict) self.assertEqual(dict(pl), dict(pl2)) if sort_keys: self.assertEqual(list(pl2.keys()), ['a', 'b', 'c']) else: self.assertEqual(list(pl2.keys()), ['b', 'a', 'c'])
Example #12
Source File: plist.py From USBMap with MIT License | 6 votes |
def dumps(value, fmt=FMT_XML, skipkeys=False, sort_keys=True): if _check_py3(): return plistlib.dumps(value, fmt=fmt, skipkeys=skipkeys, sort_keys=sort_keys).decode("utf-8") else: # We avoid using writePlistToString() as that uses # cStringIO and fails when Unicode strings are detected f = StringIO() dump(value, f, fmt=fmt, skipkeys=skipkeys, sort_keys=sort_keys) return f.getvalue() ### ### # Binary Plist Stuff For Py2 # ### ### # From the python 3 plistlib.py source: https://github.com/python/cpython/blob/3.7/Lib/plistlib.py # Tweaked to function on Python 2
Example #13
Source File: profile.py From salt-osx with MIT License | 6 votes |
def _content_to_uuid(payload): ''' Generate a UUID based upon the payload content :param payload: :return: ''' log.debug('Attempting to Hash {}'.format(payload)) if six.PY3: str_payload = plistlib.dumps(payload) else: str_payload = plistlib.writePlistToString(payload) hashobj = hashlib.md5(str_payload) identifier = re.sub( b'([0-9a-f]{8})([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{12})', b'\\1-\\2-\\3-\\4-\\5', binascii.hexlify(hashobj.digest())) return identifier.decode()
Example #14
Source File: plist.py From Web-Driver-Toolkit with MIT License | 6 votes |
def dumps(value, fmt=FMT_XML, skipkeys=False, sort_keys=True): if _check_py3(): return plistlib.dumps(value, fmt=fmt, skipkeys=skipkeys, sort_keys=sort_keys).decode("utf-8") else: # We avoid using writePlistToString() as that uses # cStringIO and fails when Unicode strings are detected f = StringIO() dump(value, f, fmt=fmt, skipkeys=skipkeys, sort_keys=sort_keys) return f.getvalue() ### ### # Binary Plist Stuff For Py2 # ### ### # From the python 3 plistlib.py source: https://github.com/python/cpython/blob/3.7/Lib/plistlib.py # Tweaked to function on Python 2
Example #15
Source File: usbmux.py From facebook-wda with MIT License | 6 votes |
def send_packet(self, payload: dict, reqtype: int = 8): """ Args: payload: required # The following args only used in the first request reqtype: request type, always 8 tag: int """ body_data = plistlib.dumps(payload) if self._first: # first package length = 16 + len(body_data) header = struct.pack( "IIII", length, 1, reqtype, self._tag) # version: 1, request: 8(?), tag: 1(?) else: header = struct.pack(">I", len(body_data)) self.sendall(header + body_data)
Example #16
Source File: test_plistlib.py From Fluid-Designer with GNU General Public License v3.0 | 6 votes |
def test_keysort(self): pl = collections.OrderedDict() pl['b'] = 1 pl['a'] = 2 pl['c'] = 3 for fmt in ALL_FORMATS: for sort_keys in (False, True): with self.subTest(fmt=fmt, sort_keys=sort_keys): data = plistlib.dumps(pl, fmt=fmt, sort_keys=sort_keys) pl2 = plistlib.loads(data, dict_type=collections.OrderedDict) self.assertEqual(dict(pl), dict(pl2)) if sort_keys: self.assertEqual(list(pl2.keys()), ['a', 'b', 'c']) else: self.assertEqual(list(pl2.keys()), ['b', 'a', 'c'])
Example #17
Source File: test_plistlib.py From ironpython3 with Apache License 2.0 | 6 votes |
def test_dict_members(self): pl = { 'first': {'a': 1}, 'second': {'a': 1}, 'third': {'b': 2 }, } for fmt in ALL_FORMATS: with self.subTest(fmt=fmt): data = plistlib.dumps(pl, fmt=fmt) pl2 = plistlib.loads(data) self.assertEqual(pl2, { 'first': {'a': 1}, 'second': {'a': 1}, 'third': {'b': 2 }, }) self.assertIsNot(pl2['first'], pl2['second'])
Example #18
Source File: test_plistlib.py From Fluid-Designer with GNU General Public License v3.0 | 6 votes |
def test_skipkeys(self): pl = { 42: 'aNumber', 'snake': 'aWord', } for fmt in ALL_FORMATS: with self.subTest(fmt=fmt): data = plistlib.dumps( pl, fmt=fmt, skipkeys=True, sort_keys=False) pl2 = plistlib.loads(data) self.assertEqual(pl2, {'snake': 'aWord'}) fp = BytesIO() plistlib.dump( pl, fp, fmt=fmt, skipkeys=True, sort_keys=False) data = fp.getvalue() pl2 = plistlib.loads(fp.getvalue()) self.assertEqual(pl2, {'snake': 'aWord'})
Example #19
Source File: test_plistlib.py From Fluid-Designer with GNU General Public License v3.0 | 6 votes |
def test_tuple_members(self): pl = { 'first': (1, 2), 'second': (1, 2), 'third': (3, 4), } for fmt in ALL_FORMATS: with self.subTest(fmt=fmt): data = plistlib.dumps(pl, fmt=fmt) pl2 = plistlib.loads(data) self.assertEqual(pl2, { 'first': [1, 2], 'second': [1, 2], 'third': [3, 4], }) self.assertIsNot(pl2['first'], pl2['second'])
Example #20
Source File: test_plistlib.py From Fluid-Designer with GNU General Public License v3.0 | 6 votes |
def test_dict_members(self): pl = { 'first': {'a': 1}, 'second': {'a': 1}, 'third': {'b': 2 }, } for fmt in ALL_FORMATS: with self.subTest(fmt=fmt): data = plistlib.dumps(pl, fmt=fmt) pl2 = plistlib.loads(data) self.assertEqual(pl2, { 'first': {'a': 1}, 'second': {'a': 1}, 'third': {'b': 2 }, }) self.assertIsNot(pl2['first'], pl2['second'])
Example #21
Source File: auth.py From pyatv with MIT License | 6 votes |
def _send_plist(self, step, **kwargs): plist = dict((str(k), v) for k, v in kwargs.items()) headers = copy(_AIRPLAY_HEADERS) headers["Content-Type"] = "application/x-apple-binary-plist" # TODO: For some reason pylint does not find FMT_BINARY, why? # pylint: disable=no-member resp, code = await self.http.post_data( "pair-setup-pin", data=plistlib.dumps(plist, fmt=plistlib.FMT_BINARY) ) if code != 200: raise AuthenticationError("{0} failed with code {1}".format(step, code)) return resp # pylint: disable=too-few-public-methods
Example #22
Source File: test_plistlib.py From ironpython3 with Apache License 2.0 | 6 votes |
def test_list_members(self): pl = { 'first': [1, 2], 'second': [1, 2], 'third': [3, 4], } for fmt in ALL_FORMATS: with self.subTest(fmt=fmt): data = plistlib.dumps(pl, fmt=fmt) pl2 = plistlib.loads(data) self.assertEqual(pl2, { 'first': [1, 2], 'second': [1, 2], 'third': [3, 4], }) self.assertIsNot(pl2['first'], pl2['second'])
Example #23
Source File: test_plistlib.py From Fluid-Designer with GNU General Public License v3.0 | 6 votes |
def test_dataobject_deprecated(self): in_data = { 'key': plistlib.Data(b'hello') } out_data = { 'key': b'hello' } buf = plistlib.dumps(in_data) cur = plistlib.loads(buf) self.assertEqual(cur, out_data) self.assertNotEqual(cur, in_data) cur = plistlib.loads(buf, use_builtin_types=False) self.assertNotEqual(cur, out_data) self.assertEqual(cur, in_data) with self.assertWarns(DeprecationWarning): cur = plistlib.readPlistFromBytes(buf) self.assertNotEqual(cur, out_data) self.assertEqual(cur, in_data)
Example #24
Source File: test_plistlib.py From ironpython3 with Apache License 2.0 | 6 votes |
def test_skipkeys(self): pl = { 42: 'aNumber', 'snake': 'aWord', } for fmt in ALL_FORMATS: with self.subTest(fmt=fmt): data = plistlib.dumps( pl, fmt=fmt, skipkeys=True, sort_keys=False) pl2 = plistlib.loads(data) self.assertEqual(pl2, {'snake': 'aWord'}) fp = BytesIO() plistlib.dump( pl, fp, fmt=fmt, skipkeys=True, sort_keys=False) data = fp.getvalue() pl2 = plistlib.loads(fp.getvalue()) self.assertEqual(pl2, {'snake': 'aWord'})
Example #25
Source File: test_plistlib.py From ironpython3 with Apache License 2.0 | 6 votes |
def test_int(self): for pl in [0, 2**8-1, 2**8, 2**16-1, 2**16, 2**32-1, 2**32, 2**63-1, 2**64-1, 1, -2**63]: for fmt in ALL_FORMATS: with self.subTest(pl=pl, fmt=fmt): data = plistlib.dumps(pl, fmt=fmt) pl2 = plistlib.loads(data) self.assertIsInstance(pl2, int) self.assertEqual(pl, pl2) data2 = plistlib.dumps(pl2, fmt=fmt) self.assertEqual(data, data2) for fmt in ALL_FORMATS: for pl in (2 ** 64 + 1, 2 ** 127-1, -2**64, -2 ** 127): with self.subTest(pl=pl, fmt=fmt): self.assertRaises(OverflowError, plistlib.dumps, pl, fmt=fmt)
Example #26
Source File: utils.py From commandment with MIT License | 6 votes |
def plistify(*args, **kwargs): """Similar to jsonify, which ships with Flask, this function wraps plistlib.dumps and sets up the correct mime type for the response.""" if args and kwargs: raise TypeError('plistify() behavior undefined when passed both args and kwargs') elif len(args) == 1: # single args are passed directly to dumps() data = args[0] else: data = args or kwargs mimetype = kwargs.get('mimetype', current_app.config['PLISTIFY_MIMETYPE']) return current_app.response_class( (plistlib.dumps(data), '\n'), mimetype=mimetype )
Example #27
Source File: test_plistlib.py From ironpython3 with Apache License 2.0 | 6 votes |
def test_keysort(self): pl = collections.OrderedDict() pl['b'] = 1 pl['a'] = 2 pl['c'] = 3 for fmt in ALL_FORMATS: for sort_keys in (False, True): with self.subTest(fmt=fmt, sort_keys=sort_keys): data = plistlib.dumps(pl, fmt=fmt, sort_keys=sort_keys) pl2 = plistlib.loads(data, dict_type=collections.OrderedDict) self.assertEqual(dict(pl), dict(pl2)) if sort_keys: self.assertEqual(list(pl2.keys()), ['a', 'b', 'c']) else: self.assertEqual(list(pl2.keys()), ['b', 'a', 'c'])
Example #28
Source File: plist.py From SSDTTime with MIT License | 6 votes |
def dumps(value, fmt=FMT_XML, skipkeys=False, sort_keys=True): if _check_py3(): return plistlib.dumps(value, fmt=fmt, skipkeys=skipkeys, sort_keys=sort_keys).decode("utf-8") else: # We avoid using writePlistToString() as that uses # cStringIO and fails when Unicode strings are detected f = StringIO() dump(value, f, fmt=fmt, skipkeys=skipkeys, sort_keys=sort_keys) return f.getvalue() ### ### # Binary Plist Stuff For Py2 # ### ### # From the python 3 plistlib.py source: https://github.com/python/cpython/blob/3.7/Lib/plistlib.py # Tweaked to function on Python 2
Example #29
Source File: models.py From zentral with Apache License 2.0 | 6 votes |
def serialize_catalog(self, tags=None): pkginfo_list = [] # the repository catalogs for catalog in self.catalogs(tags): for pkginfo in catalog.iter_pkginfos(): pkginfo_list.append(pkginfo) # the sub manifests attachments for sma in SubManifestAttachment.objects.newest().filter(sub_manifest__in=self.sub_manifests(tags)): pkginfo_list.append(sma.get_pkg_info()) # the enrollment packages for enrollment_package in self.enrollment_packages(tags).values(): pkginfo_list.append(enrollment_package.get_pkg_info()) # include the catalog with all the printers for autoremove for printer in self.printer_set.all(): pkginfo_list.append(printer.pkg_info) return plistlib.dumps(pkginfo_list) # the manifest
Example #30
Source File: payloads.py From zentral with Apache License 2.0 | 5 votes |
def build_profile(display_name, suffix, content, payload_type="Configuration", payload_description=None, sign=True, encrypt=False): profile = {"PayloadUUID": generate_payload_uuid(), "PayloadIdentifier": get_payload_identifier(suffix), "PayloadVersion": 1, "PayloadDisplayName": display_name, "PayloadType": payload_type, # Only known exception: "Profile Service" "PayloadContent": content} if payload_description: profile["PayloadDescription"] = payload_description data = plistlib.dumps(profile) if sign: data = sign_payload_openssl(data) return data