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 pykka
|
||||||
|
|
||||||
|
import mopidy
|
||||||
|
|
||||||
from mopidy import audio, backend, mixer
|
from mopidy import audio, backend, mixer
|
||||||
from mopidy.audio import PlaybackState
|
from mopidy.audio import PlaybackState
|
||||||
from mopidy.core.history import HistoryController
|
from mopidy.core.history import HistoryController
|
||||||
@ -188,6 +190,7 @@ class Core(
|
|||||||
logger.info('Save state to %s', file_name)
|
logger.info('Save state to %s', file_name)
|
||||||
|
|
||||||
data = {}
|
data = {}
|
||||||
|
data['version'] = mopidy.__version__
|
||||||
data['tracklist'] = self.tracklist._export_state()
|
data['tracklist'] = self.tracklist._export_state()
|
||||||
data['history'] = self.history._export_state()
|
data['history'] = self.history._export_state()
|
||||||
data['playback'] = self.playback._export_state()
|
data['playback'] = self.playback._export_state()
|
||||||
|
|||||||
@ -6,6 +6,8 @@ import os
|
|||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
import mopidy
|
||||||
|
|
||||||
from mopidy import compat, local, models
|
from mopidy import compat, local, models
|
||||||
from mopidy.internal import timer
|
from mopidy.internal import timer
|
||||||
from mopidy.local import search, storage, translator
|
from mopidy.local import search, storage, translator
|
||||||
@ -164,7 +166,9 @@ class JsonLibrary(local.Library):
|
|||||||
self._tracks.pop(uri, None)
|
self._tracks.pop(uri, None)
|
||||||
|
|
||||||
def close(self):
|
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):
|
def clear(self):
|
||||||
try:
|
try:
|
||||||
|
|||||||
@ -6,7 +6,6 @@ import logging
|
|||||||
import os
|
import os
|
||||||
import tempfile
|
import tempfile
|
||||||
|
|
||||||
import mopidy
|
|
||||||
from mopidy import models
|
from mopidy import models
|
||||||
from mopidy.internal import encoding
|
from mopidy.internal import encoding
|
||||||
|
|
||||||
@ -22,6 +21,7 @@ def load(path):
|
|||||||
:return: deserialized data
|
:return: deserialized data
|
||||||
:rtype: dict
|
:rtype: dict
|
||||||
"""
|
"""
|
||||||
|
# Todo: raise an exception in case of error?
|
||||||
if not os.path.isfile(path):
|
if not os.path.isfile(path):
|
||||||
logger.info('File does not exist: %s.', path)
|
logger.info('File does not exist: %s.', path)
|
||||||
return {}
|
return {}
|
||||||
@ -44,7 +44,6 @@ def save(path, data):
|
|||||||
:param data: dictionary containing data to save
|
:param data: dictionary containing data to save
|
||||||
:type data: dict
|
:type data: dict
|
||||||
"""
|
"""
|
||||||
data['version'] = mopidy.__version__
|
|
||||||
directory, basename = os.path.split(path)
|
directory, basename = os.path.split(path)
|
||||||
|
|
||||||
# TODO: cleanup directory/basename.* files.
|
# TODO: cleanup directory/basename.* files.
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user