Don't modify data in library function.
- storage.save: Don't modify data. mopidy.__version__ has to be added by caller. - storage.load: Added a Todo. Postponed decision, if load() shall raise an exception in case of error. See PR #310.
This commit is contained in:
parent
a9327c559f
commit
6e99a95aae
@ -7,6 +7,8 @@ import os
|
||||
|
||||
import pykka
|
||||
|
||||
import mopidy
|
||||
|
||||
from mopidy import audio, backend, mixer
|
||||
from mopidy.audio import PlaybackState
|
||||
from mopidy.core.history import HistoryController
|
||||
@ -188,6 +190,7 @@ class Core(
|
||||
logger.info('Save state to %s', file_name)
|
||||
|
||||
data = {}
|
||||
data['version'] = mopidy.__version__
|
||||
data['tracklist'] = self.tracklist._export_state()
|
||||
data['history'] = self.history._export_state()
|
||||
data['playback'] = self.playback._export_state()
|
||||
|
||||
@ -6,6 +6,8 @@ import os
|
||||
import re
|
||||
import sys
|
||||
|
||||
import mopidy
|
||||
|
||||
from mopidy import compat, local, models
|
||||
from mopidy.internal import timer
|
||||
from mopidy.local import search, storage, translator
|
||||
@ -164,7 +166,9 @@ class JsonLibrary(local.Library):
|
||||
self._tracks.pop(uri, None)
|
||||
|
||||
def close(self):
|
||||
models.storage.save(self._json_file, {'tracks': self._tracks.values()})
|
||||
models.storage.save(self._json_file,
|
||||
{'version': mopidy.__version__,
|
||||
'tracks': self._tracks.values()})
|
||||
|
||||
def clear(self):
|
||||
try:
|
||||
|
||||
@ -6,7 +6,6 @@ import logging
|
||||
import os
|
||||
import tempfile
|
||||
|
||||
import mopidy
|
||||
from mopidy import models
|
||||
from mopidy.internal import encoding
|
||||
|
||||
@ -22,6 +21,7 @@ def load(path):
|
||||
:return: deserialized data
|
||||
:rtype: dict
|
||||
"""
|
||||
# Todo: raise an exception in case of error?
|
||||
if not os.path.isfile(path):
|
||||
logger.info('File does not exist: %s.', path)
|
||||
return {}
|
||||
@ -44,7 +44,6 @@ def save(path, data):
|
||||
:param data: dictionary containing data to save
|
||||
:type data: dict
|
||||
"""
|
||||
data['version'] = mopidy.__version__
|
||||
directory, basename = os.path.split(path)
|
||||
|
||||
# TODO: cleanup directory/basename.* files.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user