Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /usr/bin/python
- import time, os, serial, textwrap, string
- #Set the filename and open the file
- filename = '/home/speechbot/irclogs/freenode/#geekstreams.log'
- logfile = open(filename,'r')
- #Find the size of the file and move to the end
- st_results = os.stat(filename)
- st_size = st_results[6]
- logfile.seek(st_size)
- def namelookup(name):
- if name.lower() == "dal3ksec":
- name="dialec sec[:nh]"
- elif name.lower() == "n2toh":
- name="N2[:nf]"
- elif name.lower() == "zer00":
- name="zero[:np]"
- elif name.lower() == "j0rd":
- name="jord[:np]"
- elif name.lower() == "tprg":
- name="telephonica[:nr]"
- elif name.lower() == "vt_entity":
- name="vt entity[:np]"
- elif name.lower() == "gi_jack":
- name="G eye Jack[:np]"
- return name
- def talk(line):
- ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=1)
- ser.open()
- name, sep, message=line.partition("<")
- name, sep, message=message.partition(">")
- name=name.lstrip("@")
- name=name.strip()
- name=namelookup(name)
- message=message.strip()
- if not message.startswith("."):
- lines=string.split(textwrap.fill(message,100), '\n')
- ser.write(name + ", \n\n")
- for x in range(0,len(lines)):
- ser.write(lines[x] +"\r\r")
- time.sleep(1)
- ser.write("[:np]\r\r")
- print name +" says: "+ textwrap.fill(message,100) +"\n\r", # already has newline
- ser.close()
- return
- while 1:
- where = logfile.tell()
- line = logfile.readline()
- if not line:
- time.sleep(1)
- logfile.seek(where)
- else:
- talk(line)
Advertisement
Add Comment
Please, Sign In to add comment