aboutsummaryrefslogtreecommitdiff
path: root/xboomx/bin
diff options
context:
space:
mode:
Diffstat (limited to 'xboomx/bin')
-rw-r--r--xboomx/bin/web_xboomx13
-rwxr-xr-xxboomx/bin/xboomx53
-rwxr-xr-xxboomx/bin/xboomx_path.py22
-rwxr-xr-x[-rw-r--r--]xboomx/bin/xboomx_sort.py35
-rw-r--r--xboomx/bin/xboomx_update.py34
-rw-r--r--xboomx/bin/xboomx_urls.py15
6 files changed, 78 insertions, 94 deletions
diff --git a/xboomx/bin/web_xboomx b/xboomx/bin/web_xboomx
deleted file mode 100644
index 67baba3..0000000
--- a/xboomx/bin/web_xboomx
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/usr/bin/python
-
-import subprocess
-from xboomx.config import config
-
-
-DMENU_LAUNCHER = 'dmenu ' + config.get("dmenu_params", "")
-
-subprocess.call("""xboomx_urls.py | xboomx_sort.py urls | \
- """ + DMENU_LAUNCHER + """| \
- xboomx_update.py urls | \
- xargs -I {} sh -c \'exec firefox {} &\'""",
- shell=True)
diff --git a/xboomx/bin/xboomx b/xboomx/bin/xboomx
index c8865dc..98641ee 100755
--- a/xboomx/bin/xboomx
+++ b/xboomx/bin/xboomx
@@ -1,35 +1,38 @@
-#!/usr/bin/python
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+
+__author__ = 'Victor Häggqvist, Yuriy Netesov'
+__copyright__ = 'Copyright 2014-2015, Victor Häggqvist'
+__credits__ = ['Victor Häggqvist', 'Yuriy Netesov']
+__license__ = 'GPL-2.0'
+__version__ = '0.7.0'
+__maintainer__ = 'Victor Häggqvist <[email protected]>'
+
import subprocess
from xboomx.config import config
-import xboomx.db
+from xboomx.sqlitemgr import get_session, PathItem
import sys
+def main():
+ if len(sys.argv) > 1 and sys.argv[1] == "--stats":
+ session = get_session()
+ items = session.query(PathItem).order_by(PathItem.count.desc())
-if len(sys.argv) > 1 and sys.argv[1] == "--stats":
- db = xboomx.db.open_shelve('')
-
- items = []
-
- keys = db.keys()
-
- for x in keys:
- items.append([x, db.get(x, "")])
-
- db.close()
+ print('Application\tLaunches')
+ for item in items:
+ if item.count < 3:
+ continue
- # sort items
- items.sort(key=lambda x: x[1], reverse=True)
+ if len(item.name) < 8:
+ print('%s\t\t%s' % (item.name, item.count))
+ else:
+ print('%s\t%s' % (item.name, item.count))
- # print items
- print "Application\tLaunches"
- for item in items:
- if len(item[0]) < 8:
- print item[0]+"\t\t"+str(item[1])
- else:
- print item[0]+"\t"+str(item[1])
+ exit(0)
- exit(0)
+ dmenu_launcher = 'dmenu ' + config.get("dmenu_params", "")
-DMENU_LAUNCHER = 'dmenu ' + config.get("dmenu_params", "")
+ subprocess.call('xboomx_path.py | xboomx_sort.py | ' + dmenu_launcher + "| xboomx_update.py | xargs -I {} sh -c \'exec {} &\'", shell=True)
-subprocess.call("xboomx_path.py | xboomx_sort.py | " + DMENU_LAUNCHER + "| xboomx_update.py | xargs -I {} sh -c \'exec {} &\'", shell=True)
+if __name__ == '__main__':
+ main()
diff --git a/xboomx/bin/xboomx_path.py b/xboomx/bin/xboomx_path.py
index 56779b3..4a5e87c 100755
--- a/xboomx/bin/xboomx_path.py
+++ b/xboomx/bin/xboomx_path.py
@@ -1,23 +1,27 @@
-#!/usr/bin/python
+#!/usr/bin/env python3
+# coding=utf-8
import os
from xboomx.config import config
+__author__ = 'Victor Häggqvist'
+
def main():
- pathes = os.environ['PATH'].split(':')
+ paths = os.environ['PATH'].split(':')
items = []
- for path in pathes:
+ for path in paths:
if os.path.isdir(path):
for f in os.listdir(path):
items.append(f)
- uniqeitems = list(set(items))
+ unique_items = list(set(items))
- ignorelist = config.get("ignorelist","");
- for item in uniqeitems:
- if item not in ignorelist:
- print item
+ ignore_list = config.get("ignorelist", "")
+ for item in unique_items:
+ if item not in ignore_list:
+ print(item)
-main() \ No newline at end of file
+if __name__ == '__main__':
+ main()
diff --git a/xboomx/bin/xboomx_sort.py b/xboomx/bin/xboomx_sort.py
index a30c362..3b78d83 100644..100755
--- a/xboomx/bin/xboomx_sort.py
+++ b/xboomx/bin/xboomx_sort.py
@@ -1,36 +1,37 @@
-#!/usr/bin/python
+#!/usr/bin/env python3
import fileinput
-import sys
-import xboomx.db
+from xboomx.sqlitemgr import get_session, PathItem
def main():
+ session = get_session()
+ dbitems = session.query(PathItem).all()
- # get db type
- db_type = ''
- if len(sys.argv) > 1:
- db_type = sys.argv[1]
-
- # open shelve
- db = xboomx.db.open_shelve(db_type)
+ items = {}
+ for i in dbitems:
+ items[i.name] = i.count
# read lines and set weight according to db
items = []
-
for input_item in fileinput.input([]):
input_item = input_item.strip('\n')
- items.append((db.get(input_item, 0), input_item))
+
+ try:
+ count = items[input_item]
+ items.append((count, input_item))
+ except KeyError:
+ items.append((0, input_item))
# sort items
items.sort(key=lambda x: x[0], reverse=True)
- # print items
+ # print items to be shown on dmenu
for item in items:
- print item[1]
+ print(item[1])
- # clean up
- db.close()
+ session.close()
-main()
+if __name__ == '__main__':
+ main()
diff --git a/xboomx/bin/xboomx_update.py b/xboomx/bin/xboomx_update.py
index 708c0b8..4b5d98e 100644
--- a/xboomx/bin/xboomx_update.py
+++ b/xboomx/bin/xboomx_update.py
@@ -1,7 +1,9 @@
-#!/usr/bin/python
+#!/usr/bin/env python3
+from pprint import pprint
import sys
import fileinput
-import xboomx.db
+from sqlalchemy.orm.exc import NoResultFound
+from xboomx.sqlitemgr import get_session, PathItem
def main():
@@ -10,22 +12,24 @@ def main():
if len(sys.argv) > 1 and sys.argv[1] != "--stats":
db_type = sys.argv[1]
- # open db
- db = xboomx.db.open_shelve(db_type)
+ item = fileinput.input()[0]
+ pprint(item)
- # get item to update
- item = fileinput.input([]).next()
item = item.strip('\n')
- # update item
- db[item] = db.get(item, 0) + 1
+ session = get_session()
+ try:
+ dbitem = session.query(PathItem).filter_by(name=item).one()
+ dbitem.count = dbitem.count + 1
+ session.add(dbitem)
+ except NoResultFound:
+ dbi = PathItem(name=item, couunt=0)
+ session.add(dbi)
- # print it
- print item
+ session.commit()
+ session.close()
- # clean up
- db.sync()
- db.close()
+ print(item)
-
-main()
+if __name__ == '__main__':
+ main()
diff --git a/xboomx/bin/xboomx_urls.py b/xboomx/bin/xboomx_urls.py
deleted file mode 100644
index 211c98c..0000000
--- a/xboomx/bin/xboomx_urls.py
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/usr/bin/python
-
-import xboomx.db
-DB_TYPE = 'urls'
-
-
-def main():
- db = xboomx.db.open_shelve(DB_TYPE)
- for url in db.keys():
- print url
-
- db.close()
-
-
-main()