From 15f677205a9b968d636703a5d49b99cf7bb84a15 Mon Sep 17 00:00:00 2001 From: Victor Häggqvist Date: Mon, 18 May 2015 19:29:33 +0200 Subject: handle Esc interrupt in dmenu --- xboomx/bin/xboomx_update.py | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) (limited to 'xboomx') diff --git a/xboomx/bin/xboomx_update.py b/xboomx/bin/xboomx_update.py index 4b5d98e..a49f126 100644 --- a/xboomx/bin/xboomx_update.py +++ b/xboomx/bin/xboomx_update.py @@ -12,24 +12,29 @@ def main(): if len(sys.argv) > 1 and sys.argv[1] != "--stats": db_type = sys.argv[1] - item = fileinput.input()[0] - pprint(item) + try: + item = fileinput.input()[0] + pprint(item) - item = item.strip('\n') + item = item.strip('\n') - 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) + 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) + + session.commit() + session.close() - session.commit() - session.close() + print(item) + except IndexError: + # handle if one press Esc to exit dmenu, catch broken pipe + exit(0) - print(item) if __name__ == '__main__': main() -- cgit v1.2.3