aboutsummaryrefslogtreecommitdiffhomepage
path: root/examples/data/uzbl/plugins/on_event.py
diff options
context:
space:
mode:
authorGravatar Mason Larobina <mason.larobina@gmail.com>2009-12-24 00:27:19 +0800
committerGravatar Mason Larobina <mason.larobina@gmail.com>2009-12-24 00:27:19 +0800
commitf200c865fb8a5daae30ff9c070eb5c929c720a4b (patch)
treeb1a8b00bbd8a637a0e6874dc12c5a98bdb84548b /examples/data/uzbl/plugins/on_event.py
parent09d59497d1c06f07b1915e34c0110401916231b9 (diff)
Moved expand function to external plugin to reduce code duplication.
Diffstat (limited to 'examples/data/uzbl/plugins/on_event.py')
-rw-r--r--examples/data/uzbl/plugins/on_event.py27
1 files changed, 2 insertions, 25 deletions
diff --git a/examples/data/uzbl/plugins/on_event.py b/examples/data/uzbl/plugins/on_event.py
index 9d2525b..f1ad0c9 100644
--- a/examples/data/uzbl/plugins/on_event.py
+++ b/examples/data/uzbl/plugins/on_event.py
@@ -45,30 +45,6 @@ def get_on_events(uzbl):
return UZBLS[uzbl]
-def expand(cmd, args):
- '''Replaces "%s %1 %2 %3..." with "<all args> <arg 0> <arg 1>...".'''
-
- # Direct string replace.
- if '%s' in cmd:
- cmd = cmd.replace('%s', ' '.join(map(unicode, args)))
-
- # Escaped and quoted string replace.
- if '%r' in cmd:
- joined = ('%r' % ' '.join(map(unicode, args)))[1:]
- for char in ['\\', '@']:
- joined = joined.replace(char, '\\'+char)
-
- cmd = cmd.replace('%r', joined)
-
- # Arg index string replace.
- for (index, arg) in enumerate(args):
- index += 1
- if '%%%d' % index in cmd:
- cmd = cmd.replace('%%%d' % index, unicode(arg))
-
- return cmd
-
-
def event_handler(uzbl, *args, **kargs):
'''This function handles all the events being watched by various
on_event definitions and responds accordingly.'''
@@ -79,8 +55,9 @@ def event_handler(uzbl, *args, **kargs):
return
commands = events[event]
+ cmd_expand = uzbl.cmd_expand
for cmd in commands:
- cmd = expand(cmd, args)
+ cmd = cmd_expand(cmd, args)
uzbl.send(cmd)