# DEFAULTS
DIRNAME = 'mpd_sima'
-CONF_FILE = 'mpd_sima.cfg'
+CONF_FILE = 'sima.cfg'
DEFAULT_CONF = {
'MPD': {
'host': "localhost",
- 'password': "false",
- 'port': "6600"},
+ #'password': "",
+ 'port': "6600",
+ },
'sima': {
- 'similarity': "15",
- 'dynamic': "10",
- 'queue_mode': "track", #TODO control values
+ 'internal': "Crop, Lastfm, RandomFallBack",
+ 'contrib': "",
'user_db': "false",
'history_duration': "8",
'queue_length': "1",
- 'track_to_add': "1",
- 'album_to_add': "1",
- 'consume': "0",
- 'single_album': "false",
- 'check_new_version':"false",},
+ },
'daemon':{
'daemon': "false",
- 'pidfile': "",},
+ 'pidfile': "",
+ },
'log': {
- 'verbosity': "info"}}
+ 'verbosity': "info",
+ 'logfile': "",
+ },
+ 'echonest': {
+ },
+ 'lastfm': {
+ 'dynamic': "10",
+ 'similarity': "15",
+ 'queue_mode': "track", #TODO control values
+ 'single_album': "false",
+ 'track_to_add': "1",
+ 'album_to_add': "1",
+ 'depth': "1",
+ },
+ 'randomfallback': {
+ 'flavour': "sensible", # in pure, sensible, genre
+ 'track_to_add': "1",
+ }
+ }
#
-class ConfMan(object):#CONFIG MANAGER CLASS
+class ConfMan(object): # CONFIG MANAGER CLASS
"""
Configuration manager.
Default configuration is stored in DEFAULT_CONF dictionnary.
self.defaults = dict(DEFAULT_CONF)
self.startopt = options
## Sima sqlite DB
- self.userdb_file = None
+ self.db_file = None
self.log = logger
## INIT CALLS
self.init_config()
self.control_conf()
self.supersedes_config_with_cmd_line_options()
+ self.config['sima']['db_file'] = self.db_file
def get_pw(self):
try:
return None
except ValueError:
# ValueError if password not a boolean, hence an actual password.
- pw = self.config.get('MPD', 'password')
- if not pw:
+ pwd = self.config.get('MPD', 'password')
+ if not pwd:
self.log.debug('Password set as an empty string.')
return None
- return pw
+ return pwd
def control_mod(self):
"""
Controls conf file permissions.
"""
mode = S_IMODE(stat(self.conf_file)[ST_MODE])
- self.log.debug('file permision is: %o' % mode)
+ self.log.debug('file permission is: %o' % mode)
if mode & S_IRWXO or mode & S_IRWXG:
self.log.warning('File is readable by "other" and/or' +
' "group" (actual permission %o octal).' %
def init_config(self):
"""
Use XDG directory standard if exists
- else use "HOME/(.config|.local/share)/mpd_sima/"
+ else use "HOME/(.config|.local/share)/sima/"
http://standards.freedesktop.org/basedir-spec/basedir-spec-0.6.html
"""
self.log.error('Please use "--config" to locate the conf file')
sys.exit(1)
- self.userdb_file = join(data_dir, 'sima.db')
+ self.db_file = join(data_dir, 'sima.db')
config = configparser.SafeConfigParser()
-
# If no conf file present, uses defaults
if not isfile(self.conf_file):
self.config = config