aboutsummaryrefslogtreecommitdiff
path: root/xboomx/bin/xboomx_sort.py
diff options
context:
space:
mode:
Diffstat (limited to 'xboomx/bin/xboomx_sort.py')
-rwxr-xr-x[-rw-r--r--]xboomx/bin/xboomx_sort.py35
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()