add a Directory object to get common dirs from

This commit is contained in:
Thomas Vander Stichele
2013-01-15 09:24:04 +01:00
parent d61b42490e
commit daff75f47e
3 changed files with 57 additions and 13 deletions

View File

@@ -9,6 +9,7 @@ morituri_PYTHON = \
cache.py \
common.py \
config.py \
directory.py \
drive.py \
encode.py \
gstreamer.py \

View File

@@ -27,7 +27,7 @@ import codecs
import tempfile
import ConfigParser
from morituri.common import log
from morituri.common import directory, log
class Config(log.Loggable):
@@ -43,18 +43,7 @@ class Config(log.Loggable):
self.open()
def getDefaultPath(self):
try:
from xdg import BaseDirectory
directory = os.path.join(BaseDirectory.xdg_config_home, 'morituri')
if not os.path.isdir(directory):
os.mkdir(directory)
path = os.path.join(directory, 'morituri.conf')
self.info('Using XDG, configuration file is %s' % path)
return path
except ImportError:
path = os.path.expanduser('~/.moriturirc')
self.info('Not using XDG, configuration file is %s' % path)
return path
return directory.Directory().getConfig()
def open(self):
# Open the file with the correct encoding

View File

@@ -0,0 +1,54 @@
# -*- Mode: Python; test-case-name: morituri.test.test_common_directory -*-
# vi:si:et:sw=4:sts=4:ts=4
# Morituri - for those about to RIP
# Copyright (C) 2013 Thomas Vander Stichele
# This file is part of morituri.
#
# morituri is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# morituri is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with morituri. If not, see <http://www.gnu.org/licenses/>.
import os
from morituri.common import log
class Directory(log.Loggable):
def getConfig(self):
try:
from xdg import BaseDirectory
directory = BaseDirectory.save_config_path('morituri')
path = os.path.join(directory, 'morituri.conf')
self.info('Using XDG, configuration file is %s' % path)
except ImportError:
path = os.path.expanduser('~/.moriturirc')
self.info('Not using XDG, configuration file is %s' % path)
return path
def getCache(self):
try:
from xdg import BaseDirectory
path = BaseDirectory.save_cache_path('morituri')
self.info('Using XDG, cache directory is %s' % path)
except ImportError:
path = os.path.expanduser('~/.morituri/cache')
if not os.path.exists(path):
os.makedirs(path)
self.info('Not using XDG, cache directory is %s' % path)
return path