From 90c6018a9401e38859f733b3521c919e042322b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?IOhannes=20m=20zm=C3=B6lnig?= Date: Wed, 14 Oct 2015 15:14:06 +0200 Subject: moved abstractions into abstractions/ --- find_hid.py | 75 ------------------------------------------------------------- 1 file changed, 75 deletions(-) delete mode 100644 find_hid.py (limited to 'find_hid.py') diff --git a/find_hid.py b/find_hid.py deleted file mode 100644 index 93800c1..0000000 --- a/find_hid.py +++ /dev/null @@ -1,75 +0,0 @@ -# Python script to search the udev file system for devices -# Copyright (C) 2005 Tim Blechmann -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -# Boston, MA 02111-1307, USA. -# -# $Id: find_hid.py,v 1.3 2005-12-17 17:52:01 timblech Exp $ -# - -from os import popen, listdir - -def parse_device(event, rules): - pipe = popen('udevinfo -a -p /sys/class/input/%s' % event) - - line = pipe.readline() - while line: - line.strip() - if '==' in line: - setting, value = line.split('==') - setting = setting.strip() - if '{' in setting: - setting = setting.split('{')[1].split('}')[0] - value = value.strip().strip('"') - - if setting in rules: - if rules [setting] == value: - # we matched one rule, so we remove it from the pending rules - del rules[setting] - - line = pipe.readline() - - if len(rules) == 0: - pipe.close() - print event - return float(event.strip("event")) - - pipe.close() - return -1 - -def find (*args): - name = "" - for token in args: - name+=" " + str(token) - - name = name.strip() - rules = name.split('" "') - rules = map (lambda x: x.strip('"'), rules) - - ruledict = dict() - - for rule in rules: - setting, value = rule.split('=',1) - ruledict[setting] = value - rules = ruledict - - events = filter(lambda x: "event" in x, listdir('/sys/class/input/')) - - for event in events: - ret = parse_device(event, dict(rules)) - if ret != -1: - return int(ret) - - return -1 -- cgit v1.2.1