aboutsummaryrefslogtreecommitdiffhomepage
path: root/examples/data/plugins
diff options
context:
space:
mode:
authorGravatar keis <keijser@gmail.com>2011-01-23 21:57:16 +0100
committerGravatar keis <keijser@gmail.com>2011-02-15 21:17:16 +0100
commit3594f35e565ebf210b583bcc3c4df042e0dc4191 (patch)
tree614eab8b78bc09cc16a642783064ae119ee573c9 /examples/data/plugins
parentbed2433630f6d0d78e8b829c46b00c3ab301b512 (diff)
move common function related to escaping to Plugin
Diffstat (limited to 'examples/data/plugins')
-rw-r--r--examples/data/plugins/bind.py9
-rw-r--r--examples/data/plugins/config.py14
-rw-r--r--examples/data/plugins/cookies.py11
3 files changed, 3 insertions, 31 deletions
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):