Add "or '.'" after dirname() calls in hooke.command_stack and .playlist.
authorW. Trevor King <wking@drexel.edu>
Sun, 15 Aug 2010 11:48:46 +0000 (07:48 -0400)
committerW. Trevor King <wking@drexel.edu>
Sun, 15 Aug 2010 11:48:46 +0000 (07:48 -0400)
Because
  >>> import os.path
  >>> os.path.dirname('some-file')
  ''
  >>> os.path.dirname('some-file') or '.'
  '.'
and
  >>> import os
  >>> os.makedirs('')
  Traceback (most recent call last):
    ...
  OSError: [Errno 2] No such file or directory: ''

hooke/command_stack.py
hooke/playlist.py

index 9b2dcd7..c116473 100644 (file)
@@ -154,7 +154,7 @@ class FileCommandStack (CommandStack):
         """Saves the command stack to `path`.
         """
         self.set_path(path)
-        dirname = os.path.dirname(self.path)
+        dirname = os.path.dirname(self.path) or '.'
         if makedirs == True and not os.path.isdir(dirname):
             os.makedirs(dirname)
         with open(self.path, 'w') as f:
index 352617c..ee58609 100644 (file)
@@ -370,7 +370,7 @@ class FilePlaylist (Playlist):
         """Saves the playlist in a XML file.
         """
         self.set_path(path)
-        dirname = os.path.dirname(self.path)
+        dirname = os.path.dirname(self.path) or '.'
         if makedirs == True and not os.path.isdir(dirname):
             os.makedirs(dirname)
         with open(self.path, 'w') as f: