diff options
Diffstat (limited to 'xboomx/bin/xboomx_sort.py')
-rwxr-xr-x[-rw-r--r--] | xboomx/bin/xboomx_sort.py | 35 |
1 files changed, 18 insertions, 17 deletions
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() |