Python plistlib.dump() Examples
The following are 30
code examples of plistlib.dump().
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: 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 #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: __init__.py From iOS-private-api-checker with GNU General Public License v2.0 | 6 votes |
def writePlist(rootObject, pathOrFile, binary=True): if not binary: rootObject = wrapDataObject(rootObject, binary) if hasattr(plistlib, "dump"): if isinstance(pathOrFile, (bytes, unicode)): with open(pathOrFile, 'wb') as f: return plistlib.dump(rootObject, f) else: return plistlib.dump(rootObject, pathOrFile) else: return plistlib.writePlist(rootObject, pathOrFile) else: didOpen = False if isinstance(pathOrFile, (bytes, unicode)): pathOrFile = open(pathOrFile, 'wb') didOpen = True writer = PlistWriter(pathOrFile) result = writer.writeRoot(rootObject) if didOpen: pathOrFile.close() return result
Example #4
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 #5
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 #6
Source File: test_plistlib.py From Fluid-Designer with GNU General Public License v3.0 | 6 votes |
def test_keysort_bytesio(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): b = BytesIO() plistlib.dump(pl, b, fmt=fmt, sort_keys=sort_keys) pl2 = plistlib.load(BytesIO(b.getvalue()), 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 #7
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 #8
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 #9
Source File: test_plistlib.py From ironpython3 with Apache License 2.0 | 6 votes |
def test_keysort_bytesio(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): b = BytesIO() plistlib.dump(pl, b, fmt=fmt, sort_keys=sort_keys) pl2 = plistlib.load(BytesIO(b.getvalue()), 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 #10
Source File: setup.py From eddy with GNU General Public License v3.0 | 6 votes |
def create_plist(self): """ Create the Contents/Info.plist file. """ import plistlib contents = { 'CFBundleName': APPNAME, 'CFBundleGetInfoString': VERSION, 'CFBundleShortVersionString': VERSION, 'CFBundleVersion': VERSION, 'CFBundlePackageType': 'APPL', 'CFBundleIconFile': 'icon.icns', 'CFBundleIdentifier': 'it.uniroma1.eddy', 'CFBundleInfoDictionaryVersion': '6.0', 'CFBundleDevelopmentRegion': 'English', 'CFBundleSpokenName': APPNAME, 'CFBundleExecutable': self.bundle_executable, 'NSPrincipalClass': 'NSApplication', 'NSHighResolutionCapable': 'True', } plist = open(os.path.join(self.contentsDir, 'Info.plist'), 'wb') plistlib.dump(contents, plist) plist.close()
Example #11
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 #12
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 #13
Source File: test_plistlib.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 6 votes |
def test_keysort_bytesio(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): b = BytesIO() plistlib.dump(pl, b, fmt=fmt, sort_keys=sort_keys) pl2 = plistlib.load(BytesIO(b.getvalue()), 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 #14
Source File: test_plistlib.py From Project-New-Reign---Nemesis-Main 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 #15
Source File: deserializer.py From mac_apt with MIT License | 6 votes |
def write_plist_to_file(deserialised_plist, output_path): #Using plistLib to write plist out_file = None try: print('Writing out .. ' + output_path) out_file = open(output_path, 'wb') try: plistlib.dump(deserialised_plist, out_file, fmt=plistlib.FMT_BINARY) out_file.close() return True except (TypeError, OverflowError, OSError) as ex: out_file.close() print('Had an exception (error)') traceback.print_exc() except OSError as ex: print('Error opening file for writing: Error={} Path={}'.format(output_path, str(ex))) # Try using biplist try: print('Writing out (using biplist) .. ' + output_path) biplist.writePlist(deserialised_plist, output_path) return True except (biplist.InvalidPlistException, biplist.NotBinaryPlistException, OSError) as ex: print('Had an exception (error)') traceback.print_exc()
Example #16
Source File: deserializer.py From iLEAPP with MIT License | 6 votes |
def write_plist_to_file(deserialised_plist, output_path): #Using plistLib to write plist out_file = None try: print('Writing out .. ' + output_path) out_file = open(output_path, 'wb') try: plistlib.dump(deserialised_plist, out_file, fmt=plistlib.FMT_BINARY) out_file.close() return True except (TypeError, OverflowError, OSError) as ex: out_file.close() print('Had an exception (error)') traceback.print_exc() except OSError as ex: print('Error opening file for writing: Error={} Path={}'.format(output_path, str(ex))) # Try using biplist try: print('Writing out (using biplist) .. ' + output_path) biplist.writePlist(deserialised_plist, output_path) return True except (biplist.InvalidPlistException, biplist.NotBinaryPlistException, OSError) as ex: print('Had an exception (error)') traceback.print_exc()
Example #17
Source File: __init__.py From Alfred_SourceTree with MIT License | 6 votes |
def writePlist(rootObject, pathOrFile, binary=True): if not binary: rootObject = wrapDataObject(rootObject, binary) if hasattr(plistlib, "dump"): if isinstance(pathOrFile, (bytes, unicode)): with open(pathOrFile, 'wb') as f: return plistlib.dump(rootObject, f) else: return plistlib.dump(rootObject, pathOrFile) else: return plistlib.writePlist(rootObject, pathOrFile) else: didOpen = False if isinstance(pathOrFile, (bytes, unicode)): pathOrFile = open(pathOrFile, 'wb') didOpen = True writer = PlistWriter(pathOrFile) result = writer.writeRoot(rootObject) if didOpen: pathOrFile.close() return result
Example #18
Source File: plist.py From GenSMBIOS 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 #19
Source File: test_plistlib.py From android_universal with MIT License | 6 votes |
def test_keysort_bytesio(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): b = BytesIO() plistlib.dump(pl, b, fmt=fmt, sort_keys=sort_keys) pl2 = plistlib.load(BytesIO(b.getvalue()), 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 #20
Source File: test_plistlib.py From android_universal with MIT License | 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 #21
Source File: plist.py From macbuild-ansible with MIT License | 5 votes |
def do_plist(module, filename, values, backup=False): working_values = values changed = False try: f = open(filename, 'rb') plist = plistlib.load(f) except IOError: plist = {} except plistlib.InvalidFileException: module.fail_json(msg="an invalid plist already exists") changed = not equal(plist, working_values) if changed and not module.check_mode: if backup: module.backup_local(filename) try: update(plist, working_values) plist_dir = os.path.dirname(filename) if not os.path.exists(plist_dir): os.makedirs(plist_dir) f = open(filename, 'wb') plistlib.dump(plist, f) except Exception as e: module.fail_json(msg="Can't change %s" % filename, error=str(e)) return changed
Example #22
Source File: plist.py From GenSMBIOS with MIT License | 5 votes |
def writePlist(value, pathOrFile): if not isinstance(pathOrFile, basestring): return dump(value, pathOrFile, fmt=FMT_XML, sort_keys=True, skipkeys=False) with open(pathOrFile, "wb") as f: return dump(value, f, fmt=FMT_XML, sort_keys=True, skipkeys=False) ### ### # Remapped Functions # ### ###
Example #23
Source File: __init__.py From CaveJohnson with MIT License | 5 votes |
def set_plist_value_for_key(plistpath, value, key): data = load_plist(plistpath) data[key] = value print("Setting value `{}` for key `{}` in plist `{}`".format(value, key, plistpath)) import plistlib with open(plistpath, "wb") as f: plistlib.dump(data, f)
Example #24
Source File: plist.py From USBMap with MIT License | 5 votes |
def dump(value, fp, fmt=FMT_XML, sort_keys=True, skipkeys=False): if _check_py3(): plistlib.dump(value, fp, fmt=fmt, sort_keys=sort_keys, skipkeys=skipkeys) else: if fmt == FMT_XML: # We need to monkey patch a bunch here too in order to avoid auto-sorting # of keys writer = plistlib.PlistWriter(fp) def writeDict(d): if d: writer.beginElement("dict") items = sorted(d.items()) if sort_keys else d.items() for key, value in items: if not isinstance(key, basestring): if skipkeys: continue raise TypeError("keys must be strings") writer.simpleElement("key", key) writer.writeValue(value) writer.endElement("dict") else: writer.simpleElement("dict") writer.writeDict = writeDict writer.writeln("<plist version=\"1.0\">") writer.writeValue(value) writer.writeln("</plist>") elif fmt == FMT_BINARY: # Assume binary at this point writer = _BinaryPlistWriter(fp, sort_keys=sort_keys, skipkeys=skipkeys) writer.write(value) else: # Not a proper format raise ValueError("Unsupported format: {}".format(fmt))
Example #25
Source File: deserializer.py From iLEAPP with MIT License | 5 votes |
def write_plist_to_json_file(deserialised_plist, output_path): try: print('Writing out .. ' + output_path) out_file = open(output_path, 'w') try: json_plist = {} if isinstance(deserialised_plist, dict) else [] get_json_writeable_plist(deserialised_plist, json_plist) json.dump(json_plist, out_file) out_file.close() return True except (TypeError, ValueError) as ex: print('json error - ' + str(ex)) except OSError as ex: print('Error opening file for writing: Error={} Path={}'.format(output_path, str(ex))) return False
Example #26
Source File: deserializer.py From mac_apt with MIT License | 5 votes |
def write_plist_to_json_file(deserialised_plist, output_path): try: print('Writing out .. ' + output_path) out_file = open(output_path, 'w') try: json_plist = {} if isinstance(deserialised_plist, dict) else [] get_json_writeable_plist(deserialised_plist, json_plist) json.dump(json_plist, out_file) out_file.close() return True except (TypeError, ValueError) as ex: print('json error - ' + str(ex)) except OSError as ex: print('Error opening file for writing: Error={} Path={}'.format(output_path, str(ex))) return False
Example #27
Source File: plist.py From thinkpad-x1c5-hackintosh with MIT License | 5 votes |
def writePlist(value, pathOrFile): if not isinstance(pathOrFile, _get_inst()): return dump(value, pathOrFile, fmt=FMT_XML, sort_keys=True, skipkeys=False) with open(pathOrFile, "wb") as f: return dump(value, f, fmt=FMT_XML, sort_keys=True, skipkeys=False) ### ### # Remapped Functions # ### ###
Example #28
Source File: test_plistlib.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def test_keys_no_string(self): pl = { 42: 'aNumber' } for fmt in ALL_FORMATS: with self.subTest(fmt=fmt): self.assertRaises(TypeError, plistlib.dumps, pl, fmt=fmt) b = BytesIO() self.assertRaises(TypeError, plistlib.dump, pl, b, fmt=fmt)
Example #29
Source File: plist.py From thinkpad-x1c5-hackintosh with MIT License | 5 votes |
def dump(value, fp, fmt=FMT_XML, sort_keys=True, skipkeys=False): if _check_py3(): plistlib.dump(value, fp, fmt=fmt, sort_keys=sort_keys, skipkeys=skipkeys) else: if fmt == FMT_XML: # We need to monkey patch a bunch here too in order to avoid auto-sorting # of keys writer = plistlib.PlistWriter(fp) def writeDict(d): if d: writer.beginElement("dict") items = sorted(d.items()) if sort_keys else d.items() for key, value in items: if not isinstance(key, (str,unicode)): if skipkeys: continue raise TypeError("keys must be strings") writer.simpleElement("key", key) writer.writeValue(value) writer.endElement("dict") else: writer.simpleElement("dict") writer.writeDict = writeDict writer.writeln("<plist version=\"1.0\">") writer.writeValue(value) writer.writeln("</plist>") elif fmt == FMT_BINARY: # Assume binary at this point writer = _BinaryPlistWriter(fp, sort_keys=sort_keys, skipkeys=skipkeys) writer.write(value) else: # Not a proper format raise ValueError("Unsupported format: {}".format(fmt))
Example #30
Source File: plist.py From GenSMBIOS with MIT License | 5 votes |
def dump(value, fp, fmt=FMT_XML, sort_keys=True, skipkeys=False): if _check_py3(): plistlib.dump(value, fp, fmt=fmt, sort_keys=sort_keys, skipkeys=skipkeys) else: if fmt == FMT_XML: # We need to monkey patch a bunch here too in order to avoid auto-sorting # of keys writer = plistlib.PlistWriter(fp) def writeDict(d): if d: writer.beginElement("dict") items = sorted(d.items()) if sort_keys else d.items() for key, value in items: if not isinstance(key, basestring): if skipkeys: continue raise TypeError("keys must be strings") writer.simpleElement("key", key) writer.writeValue(value) writer.endElement("dict") else: writer.simpleElement("dict") writer.writeDict = writeDict writer.writeln("<plist version=\"1.0\">") writer.writeValue(value) writer.writeln("</plist>") elif fmt == FMT_BINARY: # Assume binary at this point writer = _BinaryPlistWriter(fp, sort_keys=sort_keys, skipkeys=skipkeys) writer.write(value) else: # Not a proper format raise ValueError("Unsupported format: {}".format(fmt))