Skip to content

Instantly share code, notes, and snippets.

@oubiwann
Created October 14, 2012 01:30
Show Gist options
  • Save oubiwann/3886906 to your computer and use it in GitHub Desktop.
Save oubiwann/3886906 to your computer and use it in GitHub Desktop.
Twisted Ping.fm Client
#!/usr/bin/python
import sys
from ConfigParser import SafeConfigParser
from twisted.internet import reactor
from pyngfm.client import PingFMAsyncClient
def checkMessage(message):
if len(message) > 140:
print "Message is too long! (%s chars)" % len(message)
sys.exit(1)
def getKeys():
cred_file = "/etc/ping.fm.creds"
config = SafeConfigParser()
config.read([cred_file])
api_key = config.get("default", "api-key")
user_app_key = config.get("default", "user-app-key")
return api_key, user_app_key
def pingIt(message):
def check_result(status):
print status
def check_error(error):
print error.getErrorMessage()
def finish(ignored):
reactor.stop()
pinger = PingFMAsyncClient(*getKeys())
deferred = pinger.user_post("status", body=message)
deferred.addErrback(check_error)
deferred.addCallback(check_result)
deferred.addErrback(check_error)
deferred.addCallback(finish)
if __name__ == "__main__":
message = " ".join(sys.argv[1:])
checkMessage(message)
pingIt(message)
reactor.run()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment