Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from suds.client import Client
- class TeradataProxy:
- @staticmethod
- def for_model(model):
- return TeradataProxy(model.teradata_url, model.teradata_user, model.teradata_pwd)
- def __init__(self, url, username, password):
- self.url = url
- self.username = username
- self.password = password
- def connect(self):
- self.client = Client(self.url, username=self.username, password=self.password)
- def create_draft_message(self, name, subject, body_html):
- draft_message = self.client.factory.create("draftMessage")
- draft_message.name = name
- draft_message.externalId = name
- message = self.client.factory.create("messageBase")
- message.subject = subject
- message.encoding = "UTF-8"
- message.emailBodyHtml = body_html
- draft_message.message = message
- response = self.client.service.draftmessageCreate(draft_message)
- return response.id
- def update_draft_message(self, message_id, name, subject, body_html):
- draft_message = self.client.factory.create("draftMessage")
- draft_message.id = message_id
- draft_message.name = name
- draft_message.externalId = name
- message = self.client.factory.create("messageBase")
- message.subject = subject
- message.encoding = "UTF-8"
- message.emailBodyHtml = body_html
- draft_message.message = message
- self.client.service.draftmessageUpdate(draft_message)
- def get_message_statistics(self, external_message_id):
- message_filter = self.client.factory.create("messageFilter")
- message_filter.externalMessageId = external_message_id
- messages = self.client.service.messageFind(message_filter)
- for message in messages:
- if message.status == "SENT":
- response = self.client.service.messageGetStatistics(message.id)
- statistics = response.statisticValues
- return {stat["name"]: stat["value"] for stat in statistics if "value" in stat}
- def message_is_scheduled(self, external_message_id):
- message_filter = self.client.factory.create("messageFilter")
- message_filter.externalMessageId = external_message_id
- response = self.client.service.messageFind(message_filter)
- for result in response:
- if result.sendoutDate:
- return True
- return False
- def delete_user_by_email(self, email):
- self.client.service.userDeleteByEmail(email)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement