Пример #1
0
 def send_alert(self, to_users, subject, message, from_user, sub_group):
     jid_list = []
     from_jid = get_config("JABBER_FROM_JID", None).value
     from_password = get_config("JABBER_FROM_PASSWORD", None).value
     jid_space_char = get_config("JABBER_LOCAL_SPACE_CHAR", None).value
     jabber_domain = get_config("JABBER_LOCAL_DOMAIN", None).value
     local_jabber = get_config("JABBER_LOCAL_ENABLED", None).value == "1"
     full_message = render_to_string(
         "jabber_message.txt", {
             'subject': subject,
             'message': message,
             'sub_group': sub_group.name,
             'from_user': from_user.username,
             'time': datetime.now(pytz.utc)
         })
     for user in to_users:
         if self.is_registered(user, sub_group):
             if local_jabber:
                 jid_list.append(("%s@%s" % (user.username.replace(
                     " ", jid_space_char), jabber_domain)).encode('utf-8'))
             for jid in user.jabber_accounts.all():
                 jid_list.append(jid.jid.encode('utf-8'))
     client = JabberClient(jid=from_jid.encode('utf-8'),
                           password=from_password.encode('utf-8'),
                           to_list=jid_list,
                           message=full_message.encode('utf-8'))
     if client.connect():
         client.process()
Пример #2
0
 def send_alert(self, to_users, subject, message, from_user, sub_group):
     jid_list = []
     from_jid = get_config("JABBER_FROM_JID", None).value
     from_password = get_config("JABBER_FROM_PASSWORD", None).value
     jid_space_char = get_config("JABBER_LOCAL_SPACE_CHAR", None).value
     jabber_domain = get_config("JABBER_LOCAL_DOMAIN", None).value
     local_jabber = get_config("JABBER_LOCAL_ENABLED", None).value == "1"
     full_message = render_to_string("jabber_message.txt", {'subject': subject,
         'message': message, 'sub_group': sub_group.name,
         'from_user': from_user.username, 'time': datetime.now(pytz.utc)})
     for user in to_users:
         if self.is_registered(user, sub_group):
             if local_jabber:
                 jid_list.append(str("%s@%s" % (user.username.replace(" ",
                     jid_space_char), jabber_domain)))
             for jid in user.jabber_accounts.all():
                 jid_list.append(str(jid.jid))
     client = JabberClient(jid=str(from_jid), password=str(from_password), to_list=jid_list, message=str(full_message))
     if client.connect():
         client.process()
Пример #3
0
class App:

	def __init__(self,parent):
		self.parent=parent
		self.f = Frame(parent)
		self.arrPad=ArrowPad(self.f,self.controlButtonPress)
		self.arrPad.pack()
		self.optButton=Button(self.f,text="Options...",command=self.optionsButtonPress)
		self.optButton.pack()
		self.f.pack()
		if self.checkConfig():
			self.connect()
		else:
			self.jabberClient=None
			OptionsWindow(self.f)
			if self.checkConfig():
				self.connect()
		#self.f.after(1000,self.checkConnectionStatus)
	
	def connect(self):
		self.jabberClient=JabberClient(config.get("tkclient_username"),config.get("tkclient_password"))
		self.jabberClient.connect()
		self.signalConnectionStatus()
	
	def checkConfig(self):
		"""Checks whether username, password and bot address are present in the config"""
		return config.get("tkclient_username") and config.get("tkclient_password") and config.get("bot_username")

	def optionsButtonPress(self):
		o=OptionsWindow(self.f)

	def checkConnectionStatus(self):
		print "status check"
		self.f.after(1000, self.checkConnectionStatus)

	def signalConnectionStatus(self):
		if not self.jabberClient or not self.jabberClient.isConnected():
			self.arrPad.setSignal("connected","alert")
			return
		if self.jabberClient.isConnected():
			self.arrPad.setSignal("connected","ok")
		

	def controlButtonPress(self,bName): #bName is "pan|tilt [+-][123]"
		command,amount=bName.split()
		amount=int(amount)
		if amount<0:
			direction=-1
			amount=-amount
		else:
			direction=1
			amount=amount
		degrees=int(config.get("tkclient_%s%d"%(command,amount))) #Look up config file vars like tkclient_pan1
		self.jabberClient.sendMsg("%s %d"%(command,degrees*direction))
Пример #4
0
	def connect(self):
		self.jabberClient=JabberClient(config.get("tkclient_username"),config.get("tkclient_password"))
		self.jabberClient.connect()
		self.signalConnectionStatus()