Update of /cvsroot/freevo/freevo/src/util
In directory sc8-pr-cvs1:/tmp/cvs-serv19283
Added Files:
lirc.py
Log Message:
A new module to help with lirc. This contains a lircd.conf file parser which
I will be using for some infrared transmitting modules.
--- NEW FILE: lirc.py ---
#if 0 /*
# -----------------------------------------------------------------------
# util/lirc.py - A module to help with some lirc tasks.
# -----------------------------------------------------------------------
# $Id: lirc.py,v 1.1 2003/10/11 11:57:11 rshortt Exp $
#
# Notes:
# Todo:
#
# -----------------------------------------------------------------------
# $Log: lirc.py,v $
# Revision 1.1 2003/10/11 11:57:11 rshortt
# A new module to help with lirc. This contains a lircd.conf file parser which
# I will be using for some infrared transmitting modules.
#
#
#
# -----------------------------------------------------------------------
# Freevo - A Home Theater PC framework
# Copyright (C) 2003 Krister Lagerstrom, et al.
# Please see the file freevo/Docs/CREDITS for a complete list of authors.
#
# 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 MER-
# CHANTABILITY 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; if not, write to the Free Software Foundation, Inc.,
# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# ----------------------------------------------------------------------- */
#endif
import string, os, re
def parse_lircd(conf):
remotes = {}
remote = None
input_codes = 0
try:
lircd = open(conf, 'r')
except:
print 'Unable to open %s.' % conf
return
for line in lircd.readlines():
line = string.strip(line)
if not line or line[0] == '#': continue
data = line.split()
if len(data) < 2: continue
if data[0].lower() == 'begin' and data[1].lower() == 'remote':
remote = LircRemote()
continue
if remote:
if input_codes:
if data[0].lower() == 'end' and data[1].lower() == 'codes':
input_codes = 0
continue
#remote.codes[data[0]] = long(data[1])
remote.codes[data[0]] = data[1]
continue
if data[0].lower() == 'name':
remote.name = data[1]
elif data[0].lower() == 'bits':
remote.bits = int(data[1])
elif data[0].lower() == 'flags':
remote.flags = data[1]
elif data[0].lower() == 'eps':
remote.eps = int(data[1])
elif data[0].lower() == 'aeps':
remote.aeps = int(data[1])
elif data[0].lower() == 'one':
remote.one[0] = int(data[1])
remote.one[1] = int(data[2])
elif data[0].lower() == 'zero':
remote.zero[0] = int(data[1])
remote.zero[1] = int(data[2])
elif data[0].lower() == 'plead':
remote.plead = int(data[1])
elif data[0].lower() == 'gap':
remote.gap = int(data[1])
elif data[0].lower() == 'toggle_bit':
remote.toggle_bit = int(data[1])
elif data[0].lower() == 'begin' and data[1].lower() == 'codes':
input_codes = 1
continue
if data[0].lower() == 'end' and data[1].lower() == 'remote':
remotes[remote.name] = remote
return remotes
def dump_remotes(remotes):
for remote in remotes.values():
print 'Remote: %s' % remote.name
print ' bits: %d' % remote.bits
print ' flags: %s' % remote.flags
print ' eps: %d' % remote.eps
print ' aeps: %d' % remote.aeps
print ' one: %d %d' % (remote.one[0], remote.one[1])
print ' zero: %d %d' % (remote.zero[0], remote.zero[1])
print ' plead: %d' % remote.plead
print ' gap: %d' % remote.gap
print ' toggle_bit: %d' % remote.toggle_bit
print ' Codes:'
for code in remote.codes.keys():
print ' %s: %s' % (code, remote.codes[code])
class LircRemote:
def __init__(self):
self.name = 'undefined'
self.bits = 0
self.flags = None
self.eps = 0
self.aeps = 0
self.one = [0, 0]
self.zero = [0, 0]
self.plead = 0
self.gap = 0
self.toggle_bit = 0
self.codes = {}
# dump_remotes(parse_lircd('/etc/lircd.conf'))
-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php
_______________________________________________
Freevo-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog