projects
/
hooke.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added command stack saving and loading.
[hooke.git]
/
hooke
/
playlist.py
diff --git
a/hooke/playlist.py
b/hooke/playlist.py
index dfec6d72c28c65b3888f6b4d5265b43fee523d73..352617ce90120c7c2afd6698300d61293535096d 100644
(file)
--- a/
hooke/playlist.py
+++ b/
hooke/playlist.py
@@
-23,6
+23,7
@@
import copy
import hashlib
import copy
import hashlib
+import os
import os.path
import types
import xml.dom.minidom
import os.path
import types
import xml.dom.minidom
@@
-157,6
+158,8
@@
class Playlist (NoteIndexList):
class FilePlaylist (Playlist):
class FilePlaylist (Playlist):
+ """A file-backed :class:`Playlist`.
+ """
version = '0.1'
def __init__(self, drivers, name=None, path=None):
version = '0.1'
def __init__(self, drivers, name=None, path=None):
@@
-240,7
+243,7
@@
class FilePlaylist (Playlist):
Relative paths are interpreted relative to the location of the
playlist file.
Relative paths are interpreted relative to the location of the
playlist file.
-
+
Examples
--------
Examples
--------
@@
-362,11
+365,14
@@
class FilePlaylist (Playlist):
self._digest = self.digest()
for curve in self:
curve.set_hooke(hooke)
self._digest = self.digest()
for curve in self:
curve.set_hooke(hooke)
-
- def save(self, path=None):
+
+ def save(self, path=None
, makedirs=True
):
"""Saves the playlist in a XML file.
"""
self.set_path(path)
"""Saves the playlist in a XML file.
"""
self.set_path(path)
+ dirname = os.path.dirname(self.path)
+ if makedirs == True and not os.path.isdir(dirname):
+ os.makedirs(dirname)
with open(self.path, 'w') as f:
f.write(self.flatten())
self._digest = self.digest()
with open(self.path, 'w') as f:
f.write(self.flatten())
self._digest = self.digest()