diff options
Diffstat (limited to 'xboomx/bin')
-rw-r--r-- | xboomx/bin/web_xboomx | 13 | ||||
-rwxr-xr-x | xboomx/bin/xboomx | 53 | ||||
-rwxr-xr-x | xboomx/bin/xboomx_path.py | 22 | ||||
-rwxr-xr-x[-rw-r--r--] | xboomx/bin/xboomx_sort.py | 35 | ||||
-rw-r--r-- | xboomx/bin/xboomx_update.py | 34 | ||||
-rw-r--r-- | xboomx/bin/xboomx_urls.py | 15 |
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() |