From 3594f35e565ebf210b583bcc3c4df042e0dc4191 Mon Sep 17 00:00:00 2001 From: keis Date: Sun, 23 Jan 2011 21:57:16 +0100 Subject: move common function related to escaping to Plugin --- examples/data/plugins/bind.py | 9 --------- examples/data/plugins/config.py | 14 +++----------- examples/data/plugins/cookies.py | 11 ----------- 3 files changed, 3 insertions(+), 31 deletions(-) (limited to 'examples/data/plugins') diff --git a/examples/data/plugins/bind.py b/examples/data/plugins/bind.py index 41f96c5..69fd863 100644 --- a/examples/data/plugins/bind.py +++ b/examples/data/plugins/bind.py @@ -164,15 +164,6 @@ def split_glob(glob): return (mods, glob) -def unquote(str): - '''Remove quotation marks around string.''' - - if str and str[0] == str[-1] and str[0] in ['"', "'"]: - str = str[1:-1] - - return str - - class Bind(object): # Class attribute to hold the number of Bind classes created. diff --git a/examples/data/plugins/config.py b/examples/data/plugins/config.py index dde4ae1..b7ecf42 100644 --- a/examples/data/plugins/config.py +++ b/examples/data/plugins/config.py @@ -2,17 +2,7 @@ from re import compile from types import BooleanType from UserDict import DictMixin -_unquote = compile("'(.*?)'|\"(.*?)\"") -def unquote(s): - m = _unquote.match(s) - if m is not None: - return unicode(m.group(1)).decode('string_escape') - return unicode(s).decode('string_escape') - - valid_key = compile('^[A-Za-z0-9_\.]+$').match -types = {'int': int, 'float': float, 'str': unquote} -escape = lambda s: unicode(s).replace('\n', '\\n') class Config(DictMixin): def __init__(self, uzbl): @@ -57,7 +47,7 @@ class Config(DictMixin): value = int(value) else: - value = escape(value) + value = value.encode('unicode_escape') if not force and key in self and self[key] == value: return @@ -90,6 +80,8 @@ def parse_set_event(uzbl, args): # plugin init hook def init(uzbl): + global types + types = {'int': int, 'float': float, 'str': unquote} export(uzbl, 'config', Config(uzbl)) connect(uzbl, 'VARIABLE_SET', parse_set_event) diff --git a/examples/data/plugins/cookies.py b/examples/data/plugins/cookies.py index 05a8901..e29ee36 100644 --- a/examples/data/plugins/cookies.py +++ b/examples/data/plugins/cookies.py @@ -7,17 +7,6 @@ import os, re # these are symbolic names for the components of the cookie tuple symbolic = {'domain': 0, 'path':1, 'name':2, 'value':3, 'scheme':4, 'expires':5} -_unquote = re.compile("'(.*?)'|\"(.*?)\"") -def unquote(s): - m = _unquote.match(s) - if m is not None: - return unicode(m.group(1)).decode('string_escape') - return unicode(s).decode('string_escape') - -_splitquoted = re.compile("( |\"(?:\\\\.|[^\"])*?\"|'(?:\\\\.|[^'])*?')") -def splitquoted(text): - return [unquote(p) for p in _splitquoted.split(text) if p.strip()] - # allows for partial cookies # ? allow wildcard in key def match(key, cookie): -- cgit v1.2.3