Audiobookshelf support mostly working.
This commit is contained in:
@@ -62,6 +62,16 @@ class ConfigManager:
|
||||
'library_directory': ''
|
||||
}
|
||||
|
||||
self.config['Audiobookshelf'] = {
|
||||
'server_url': '',
|
||||
'username': '',
|
||||
'auth_token': '',
|
||||
'auto_sync': 'true',
|
||||
'sync_interval': '30',
|
||||
'prefer_local': 'true',
|
||||
'stream_cache_limit': '500'
|
||||
}
|
||||
|
||||
self.save()
|
||||
|
||||
def get(self, section, key, fallback=None):
|
||||
@@ -219,3 +229,80 @@ class ConfigManager:
|
||||
"""Set library directory"""
|
||||
self.set('Paths', 'library_directory', str(libraryDir))
|
||||
self.save()
|
||||
|
||||
# Audiobookshelf settings
|
||||
|
||||
def get_abs_server_url(self):
|
||||
"""Get Audiobookshelf server URL"""
|
||||
return self.get('Audiobookshelf', 'server_url', '')
|
||||
|
||||
def set_abs_server_url(self, serverUrl):
|
||||
"""Set Audiobookshelf server URL"""
|
||||
self.set('Audiobookshelf', 'server_url', str(serverUrl))
|
||||
self.save()
|
||||
|
||||
def get_abs_username(self):
|
||||
"""Get Audiobookshelf username"""
|
||||
return self.get('Audiobookshelf', 'username', '')
|
||||
|
||||
def set_abs_username(self, username):
|
||||
"""Set Audiobookshelf username"""
|
||||
self.set('Audiobookshelf', 'username', str(username))
|
||||
self.save()
|
||||
|
||||
def get_abs_auth_token(self):
|
||||
"""Get Audiobookshelf authentication token"""
|
||||
return self.get('Audiobookshelf', 'auth_token', '')
|
||||
|
||||
def set_abs_auth_token(self, token):
|
||||
"""Set Audiobookshelf authentication token"""
|
||||
self.set('Audiobookshelf', 'auth_token', str(token))
|
||||
self.save()
|
||||
|
||||
def get_abs_auto_sync(self):
|
||||
"""Get Audiobookshelf auto-sync setting"""
|
||||
return self.get_bool('Audiobookshelf', 'auto_sync', True)
|
||||
|
||||
def set_abs_auto_sync(self, enabled):
|
||||
"""Set Audiobookshelf auto-sync setting"""
|
||||
self.set('Audiobookshelf', 'auto_sync', str(enabled).lower())
|
||||
self.save()
|
||||
|
||||
def get_abs_sync_interval(self):
|
||||
"""Get Audiobookshelf sync interval in seconds"""
|
||||
try:
|
||||
return int(self.get('Audiobookshelf', 'sync_interval', '30'))
|
||||
except ValueError:
|
||||
return 30
|
||||
|
||||
def set_abs_sync_interval(self, seconds):
|
||||
"""Set Audiobookshelf sync interval in seconds"""
|
||||
self.set('Audiobookshelf', 'sync_interval', str(seconds))
|
||||
self.save()
|
||||
|
||||
def get_abs_prefer_local(self):
|
||||
"""Get Audiobookshelf prefer local books setting"""
|
||||
return self.get_bool('Audiobookshelf', 'prefer_local', True)
|
||||
|
||||
def set_abs_prefer_local(self, enabled):
|
||||
"""Set Audiobookshelf prefer local books setting"""
|
||||
self.set('Audiobookshelf', 'prefer_local', str(enabled).lower())
|
||||
self.save()
|
||||
|
||||
def get_abs_stream_cache_limit(self):
|
||||
"""Get Audiobookshelf stream cache limit in MB"""
|
||||
try:
|
||||
return int(self.get('Audiobookshelf', 'stream_cache_limit', '500'))
|
||||
except ValueError:
|
||||
return 500
|
||||
|
||||
def set_abs_stream_cache_limit(self, limitMb):
|
||||
"""Set Audiobookshelf stream cache limit in MB"""
|
||||
self.set('Audiobookshelf', 'stream_cache_limit', str(limitMb))
|
||||
self.save()
|
||||
|
||||
def is_abs_configured(self):
|
||||
"""Check if Audiobookshelf server is configured"""
|
||||
serverUrl = self.get_abs_server_url()
|
||||
username = self.get_abs_username()
|
||||
return bool(serverUrl and username)
|
||||
|
||||
Reference in New Issue
Block a user