Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /usr/bin/env python
- import k8055
- import time
- import oauth2 as oauth
- import urllib
- import irclib
- import time
- import logging
- #Basic Config Vars
- name="REDACTED"
- username="REDACTED"
- irc_net="REDACTED"
- irc_chan="REDACTED"
- log_dir="/tmp/"
- irc_port=6667
- occupied = True
- twitter=True
- irc=True
- testing=False
- #Twitter Auth
- ckey='REDACTED'
- csecret='REDACTED'
- akey='REDACTED'
- asecret='REDACTED'
- postapi = "http://api.twitter.com/1/statuses/update.json"
- #INIT Logging
- logging.basicConfig(filename=log_dir+username+'.log',
- level=logging.DEBUG,
- )
- logging.debug("Logging enabled")
- #INIT Board
- try:
- board = k8055.Board()
- except k8055.BoardError as err:
- logging.error("Cannot Grab Board, Aborting:"+err)
- exit
- logging.info("Board Acquired")
- #INIT IRC
- try:
- irc=irclib.IRC()
- irc_serv=irc.server()
- irc_serv.connect(irc_net,irc_port,username)
- irc_serv.join(irc_chan)
- except irclib.IRCError as err:
- logging.error("Cannot Connect to IRC Service, Aborting:"+err)
- exit
- logging.info("IRC Acquired and Joined")
- #Posting Functions
- def post_twitter(status):
- try:
- consumer = oauth.Consumer(key=ckey, secret=csecret)
- token = oauth.Token(key=akey, secret=asecret)
- client = oauth.Client(consumer, token)
- resp, content = client.request(
- postapi,
- method='POST',
- body = urllib.urlencode({"status": status,
- "wrap_links": True,
- "place_id":'7d53c42656301e0f'}),
- #headers=http_headers,
- #force_auth_header=True
- )
- except oauth.Error as err:
- logging.error("Twitter Error:"+err)
- return resp, content
- def post_irc(status):
- irc_serv.privmsg("#FarsetLabs",status)
- def update(status):
- status="The Space is now "+status
- if testing:
- status+=": Test- ignore me"
- if twitter:
- post_twitter(status)
- if irc:
- post_irc(status)
- print status
- while True:
- #Reset Board
- board.read()
- board.reset_digital_outputs()
- board.digital_outputs[0]=occupied
- #IRC keepalive
- irc.process_once()
- #Slowdown
- time.sleep(1)
- if not board.digital_inputs[4]:
- if not occupied:
- update("Open")
- occupied=True
- else:
- if occupied:
- update("Closed")
- occupied=False
Advertisement
Add Comment
Please, Sign In to add comment