Rename/move config.parsers.line.LineConfigParser.

It's now misc.lineparser.LineParser since it handles other stuff than just
config.
This commit is contained in:
Florian Bruhin 2015-03-02 20:07:26 +01:00
parent a3a2c15114
commit 99de995813
5 changed files with 27 additions and 26 deletions

View File

@ -23,8 +23,8 @@ from PyQt5.QtNetwork import QNetworkCookie, QNetworkCookieJar
from PyQt5.QtCore import pyqtSignal, QDateTime from PyQt5.QtCore import pyqtSignal, QDateTime
from qutebrowser.config import config from qutebrowser.config import config
from qutebrowser.config.parsers import line as lineparser
from qutebrowser.utils import utils, standarddir, objreg from qutebrowser.utils import utils, standarddir, objreg
from qutebrowser.misc import lineparser
class RAMCookieJar(QNetworkCookieJar): class RAMCookieJar(QNetworkCookieJar):
@ -65,15 +65,15 @@ class CookieJar(RAMCookieJar):
"""A cookie jar saving cookies to disk. """A cookie jar saving cookies to disk.
Attributes: Attributes:
_linecp: The LineConfigParser managing the cookies file. _lineparser: The LineParser managing the cookies file.
""" """
def __init__(self, parent=None): def __init__(self, parent=None):
super().__init__(parent) super().__init__(parent)
self._linecp = lineparser.LineConfigParser( self._lineparser = lineparser.LineParser(
standarddir.data(), 'cookies', binary=True, parent=self) standarddir.data(), 'cookies', binary=True, parent=self)
cookies = [] cookies = []
for line in self._linecp: for line in self._lineparser:
cookies += QNetworkCookie.parseCookies(line) cookies += QNetworkCookie.parseCookies(line)
self.setAllCookies(cookies) self.setAllCookies(cookies)
objreg.get('config').changed.connect(self.cookies_store_changed) objreg.get('config').changed.connect(self.cookies_store_changed)
@ -97,13 +97,13 @@ class CookieJar(RAMCookieJar):
for cookie in self.allCookies(): for cookie in self.allCookies():
if not cookie.isSessionCookie(): if not cookie.isSessionCookie():
lines.append(cookie.toRawForm()) lines.append(cookie.toRawForm())
self._linecp.data = lines self._lineparser.data = lines
self._linecp.save() self._lineparser.save()
@config.change_filter('content', 'cookies-store') @config.change_filter('content', 'cookies-store')
def cookies_store_changed(self): def cookies_store_changed(self):
"""Delete stored cookies if cookies-store changed.""" """Delete stored cookies if cookies-store changed."""
if not config.get('content', 'cookies-store'): if not config.get('content', 'cookies-store'):
self._linecp.data = [] self._lineparser.data = []
self._linecp.save() self._lineparser.save()
self.changed.emit() self.changed.emit()

View File

@ -27,7 +27,7 @@ from PyQt5.QtWebKit import QWebHistoryInterface
from qutebrowser.utils import utils, objreg, standarddir from qutebrowser.utils import utils, objreg, standarddir
from qutebrowser.config import config from qutebrowser.config import config
from qutebrowser.config.parsers import line as lineparser from qutebrowser.misc import lineparser
class HistoryEntry: class HistoryEntry:
@ -64,9 +64,10 @@ class WebHistory(QWebHistoryInterface):
def __init__(self, parent=None): def __init__(self, parent=None):
super().__init__(parent) super().__init__(parent)
self._linecp = lineparser.LineConfigParser( self._lineparser = lineparser.LineParser(
standarddir.data(), 'history', parent=self) standarddir.data(), 'history', parent=self)
self._history = [HistoryEntry.from_str(e) for e in self._linecp.data] self._history = [HistoryEntry.from_str(e)
for e in self._lineparser.data]
objreg.get('save-manager').add_saveable('history', self.save, objreg.get('save-manager').add_saveable('history', self.save,
self.changed) self.changed)
@ -78,8 +79,8 @@ class WebHistory(QWebHistoryInterface):
def save(self): def save(self):
"""Save the history to disk.""" """Save the history to disk."""
self._linecp.data = (str(e) for e in self._history) self._lineparser.data = (str(e) for e in self._history)
self._linecp.save() self._lineparser.save()
def addHistoryEntry(self, url_string): def addHistoryEntry(self, url_string):
"""Called by WebKit when an URL should be added to the history. """Called by WebKit when an URL should be added to the history.

View File

@ -32,7 +32,7 @@ from PyQt5.QtCore import pyqtSignal, QUrl, QObject
from qutebrowser.utils import message, usertypes, urlutils, standarddir, objreg from qutebrowser.utils import message, usertypes, urlutils, standarddir, objreg
from qutebrowser.commands import cmdexc, cmdutils from qutebrowser.commands import cmdexc, cmdutils
from qutebrowser.config.parsers import line as lineparser from qutebrowser.misc import lineparser
class QuickmarkManager(QObject): class QuickmarkManager(QObject):
@ -41,7 +41,7 @@ class QuickmarkManager(QObject):
Attributes: Attributes:
marks: An OrderedDict of all quickmarks. marks: An OrderedDict of all quickmarks.
_linecp: The LineConfigParser used for the quickmarks. _lineparser: The LineParser used for the quickmarks.
""" """
changed = pyqtSignal() changed = pyqtSignal()
@ -52,9 +52,9 @@ class QuickmarkManager(QObject):
self.marks = collections.OrderedDict() self.marks = collections.OrderedDict()
self._linecp = lineparser.LineConfigParser( self._lineparser = lineparser.LineParser(
standarddir.config(), 'quickmarks', parent=self) standarddir.config(), 'quickmarks', parent=self)
for line in self._linecp: for line in self._lineparser:
try: try:
key, url = line.rsplit(maxsplit=1) key, url = line.rsplit(maxsplit=1)
except ValueError: except ValueError:
@ -68,8 +68,8 @@ class QuickmarkManager(QObject):
def save(self): def save(self):
"""Save the quickmarks to disk.""" """Save the quickmarks to disk."""
self._linecp.data = [' '.join(tpl) for tpl in self.marks.items()] self._lineparser.data = [' '.join(tpl) for tpl in self.marks.items()]
self._linecp.save() self._lineparser.save()
def prompt_save(self, win_id, url): def prompt_save(self, win_id, url):
"""Prompt for a new quickmark name to be added and add it. """Prompt for a new quickmark name to be added and add it.

View File

@ -183,10 +183,10 @@ def _init_misc():
save_manager.add_saveable('state-config', state_config.save) save_manager.add_saveable('state-config', state_config.save)
# We need to import this here because lineparser needs config. # We need to import this here because lineparser needs config.
from qutebrowser.config.parsers import line from qutebrowser.misc import lineparser
command_history = line.LineConfigParser(standarddir.data(), 'cmd-history', command_history = lineparser.LineParser(
('completion', 'history-length'), standarddir.data(), 'cmd-history', ('completion', 'history-length'),
parent=objreg.get('config')) parent=objreg.get('config'))
objreg.register('command-history', command_history) objreg.register('command-history', command_history)
save_manager.add_saveable('command-history', command_history.save, save_manager.add_saveable('command-history', command_history.save,
command_history.changed) command_history.changed)

View File

@ -17,7 +17,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with qutebrowser. If not, see <http://www.gnu.org/licenses/>. # along with qutebrowser. If not, see <http://www.gnu.org/licenses/>.
"""Parser for line-based configurations like histories.""" """Parser for line-based files like histories."""
import os import os
import os.path import os.path
@ -28,7 +28,7 @@ from qutebrowser.utils import log, utils, objreg, qtutils
from qutebrowser.config import config from qutebrowser.config import config
class LineConfigParser(QObject): class LineParser(QObject):
"""Parser for configuration files which are simply line-based. """Parser for configuration files which are simply line-based.
@ -66,7 +66,7 @@ class LineConfigParser(QObject):
if not os.path.isfile(self._configfile): if not os.path.isfile(self._configfile):
self.data = [] self.data = []
else: else:
log.init.debug("Reading config from {}".format(self._configfile)) log.init.debug("Reading {}".format(self._configfile))
self.read(self._configfile) self.read(self._configfile)
if limit is not None: if limit is not None:
objreg.get('config').changed.connect(self.cleanup_file) objreg.get('config').changed.connect(self.cleanup_file)