Source code for rtkit.entities

import os

__all__ = ['User', 'Queue', 'Ticket', 'Attachment', 'History', 'Links']

if os.environ.get('__GEN_DOCS__', None):
    __all__.insert(0, "RTEntity")



[docs]class RTEntity(object): """Base Class for an Entity""" def __init__(self, id): self._id = id @property
[docs] def id(self): """:return: int with the ID""" return int(self._id.split('/')[1])
@staticmethod
[docs] def api(): """:return: NotImplementedError - needs to be implemented in subclass""" raise NotImplementedError
[docs]class User(RTEntity): """User Object""" def __init__(self, id, **kwargs): super(User, self).__init__(id) self.name = kwargs.get('Name') self.mail = kwargs.get('EmailAddress') self.realname = kwargs.get('RealName') self.language = kwargs.get('Lang') def __str__(self): return '{s.realname} <{s.mail}>'.format(s=self) @staticmethod
[docs] def api(): """:return: str with 'user'""" return 'user'
[docs]class Queue(RTEntity): """Queue Object""" def __init__(self, id, **kwargs): super(Queue, self).__init__(id) self.name = kwargs.get('Name') """Queue Name""" self.description = kwargs.get('Description') """Queue Description""" def __str__(self): return '{s.id}: {s.name}'.format(s=self) @staticmethod
[docs] def api(): """:return: str with 'queue'""" return 'queue'
[docs]class Ticket(RTEntity): """Ticket Object""" def __init__(self, id, **kwargs): super(Ticket, self).__init__(id) self.subject = kwargs.get('Subject') """Subject""" self._queue_name = kwargs.get('Queue') """Queue""" self.owner = kwargs.get('Owner') """Owner""" self.creator = kwargs.get('Creator') """Creator""" self.status = kwargs.get('Status') """Status""" self.priority = kwargs.get('Priority') """Priority""" self.delta = { 'worked': kwargs.get('TimeWorked'), 'estimated': kwargs.get('TimeEstimated'), 'left': kwargs.get('TimeLeft'), } """Time Deltas dictionary with keys * worked * estimated * left """ self.date = { 'created': kwargs.get('Created'), 'started': kwargs.get('Started'), 'due': kwargs.get('Due'), 'resolved': kwargs.get('Resolved'), 'updated': kwargs.get('LastUpdated'), } """Dates as dicionary with keys * created * started * due * resolved * updated """ def __str__(self): return '{s.id}: {s.subject}'.format(s=self) @staticmethod
[docs] def api(): """:return: str with 'ticket'""" return 'ticket'
[docs]class Attachment(RTEntity): """Attachment Object """ def __init__(self, id, **kwargs): super(Attachment, self).__init__(id) self.filename = kwargs.get('Filename') """Filename""" self.ctype = kwargs.get('ContentType') """ContentType""" self.encoding = kwargs.get('ContentEncoding') """ContentEncoding""" self.content = kwargs.get('Content') """Content""" def __str__(self): return '[{s.ticket}]{s.id}'.format(s=self) @property
[docs] def id(self): return int(self._id)
@staticmethod
[docs] def api(): """:return: str with 'attachments'""" return 'attachments'
[docs]class History(RTEntity): """History Object .. todo:: `History` not implemented """ pass

This Page