summaryrefslogtreecommitdiff
path: root/.uzbl/scripts/adblock.py
diff options
context:
space:
mode:
Diffstat (limited to '.uzbl/scripts/adblock.py')
-rwxr-xr-x.uzbl/scripts/adblock.py86
1 files changed, 0 insertions, 86 deletions
diff --git a/.uzbl/scripts/adblock.py b/.uzbl/scripts/adblock.py
deleted file mode 100755
index aae39f4..0000000
--- a/.uzbl/scripts/adblock.py
+++ /dev/null
@@ -1,86 +0,0 @@
-#!/usr/bin/python
-import os
-from sys import argv
-from urlparse import urlparse
-
-# This is the original adblock.py script from http://www.uzbl.org/wiki/adblock
-# Nothing was modified. This script is here just to have everything at one place.
-
-def xdghome(key, default):
- '''Attempts to use the environ XDG_*_HOME paths if they exist otherwise
- use $HOME and the default path.'''
-
- xdgkey = "XDG_%s_HOME" % key
- if xdgkey in os.environ.keys() and os.environ[xdgkey]:
- return os.environ[xdgkey]
-
- return os.path.join(os.environ['HOME'], default)
-
-# Setup xdg paths.
-DATA_DIR = os.path.join(xdghome('DATA', '.local/share/'), 'uzbl/')
-
-# Blockfile location.
-BLOCKFILE = os.path.join(DATA_DIR, 'adblock')
-
-JAVASCRIPT = ' '.join(filter(None, map(str.strip, '''
-var uzblAdBlock = function() {
- var toblock = %s;
- for(var n = 0; n < toblock.length; n++) {
- var items;
- while (1) {
- try {
- items = document.evaluate(toblock[n], document, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null);
- if (items == null) { break; }
- var i = items.iterateNext();
- if (i == null) { break; }
- i.parentNode.removeChild(i);
- } catch (e) {
- break;
- }
- }
- }
-};
-'''.split('\n'))))
-
-
-def get_domain(url):
- '''Return domain segment of url.'''
-
- if not url.startswith('http'):
- url = "http://%s" % url
-
- loc = urlparse(url).netloc
- if loc.startswith('www.'):
- loc = loc[4:]
-
- return loc
-
-
-def adblock(url, fifo):
- fh = open(BLOCKFILE, 'r')
- lines = [line.strip() for line in fh.readlines()]
- fh.close()
-
- rules, capture = [], False
- for l in lines:
- if not l: # newline splits section
- capture = False
-
- elif l[0] == '#':
- continue
-
- elif capture:
- rules.append(l)
-
- elif l[-1] == ':':
- if get_domain(l[:-1]) == url or l[:-1] == "global":
- capture = True
-
- rulestr = repr(rules).replace("@", "\@")
- js = "js %s\n" % (JAVASCRIPT % rulestr)
- fh = open(fifo, "w")
- fh.write(js)
- fh.close()
-
-if __name__ == '__main__':
- adblock(get_domain(argv[6]), argv[4])