iro/controller/viewinterface.py
author Sandro Knauß <knauss@netzguerilla.net>
Fri, 27 Jan 2012 17:49:57 +0100
branchdevel
changeset 115 323d06431100
parent 114 1ed072cc6793
child 117 351a02310dd8
permissions -rw-r--r--
restructering validate
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
92
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     1
# -*- coding: utf-8 -*-
115
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
     2
from ..model.decorators import vUser, vRoute
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
     3
from ..model.utils import vTyp
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
     4
from ..validate import validate, vBool, vHash, vTel, vEmail
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
     5
92
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     6
class Interface(object):
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     7
    '''class for a xmlrpc user
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     8
    '''
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     9
    
115
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
    10
    @validate(kwd="detailed", func=vBool, need=False)
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
    11
    @validate(kwd="id", func=vHash, need=False, maxlength=40)
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
    12
    @vUser
92
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    13
    def status(self, user, id=None, detailed=False):
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    14
        '''Gibt den aktuellen Status eines Auftrages oder Mehreren zurück.
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    15
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    16
        Keywords:
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    17
        apikey[string]: Der API Key
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    18
        id[hash]: Eine Auftragsnummer
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    19
        detailed[boolean]: Details ausgeben
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    20
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    21
        Return:
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    22
        jobs[list]: Eine Liste der Aufträge.
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    23
        job.name[string]: Angebener Name
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    24
        job.status[string]: Status des Auftrages
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    25
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    26
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    27
        '''
114
1ed072cc6793 reconstructing validate decorator
Sandro Knauß <knauss@netzguerilla.net>
parents: 109
diff changeset
    28
        if id or detailed:
1ed072cc6793 reconstructing validate decorator
Sandro Knauß <knauss@netzguerilla.net>
parents: 109
diff changeset
    29
            return str(user),id,detailed
1ed072cc6793 reconstructing validate decorator
Sandro Knauß <knauss@netzguerilla.net>
parents: 109
diff changeset
    30
        else:
1ed072cc6793 reconstructing validate decorator
Sandro Knauß <knauss@netzguerilla.net>
parents: 109
diff changeset
    31
            return str(user)
92
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    32
        #return user.status(id,detailed)
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    33
        return ""
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    34
115
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
    35
    @vUser
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
    36
    @validate(kwd="id", func=vHash,maxlength=40)
92
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    37
    def stop(self, user, id):
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    38
        '''Stoppt den angegeben Auftrag.
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    39
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    40
        Keywords:
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    41
        apikey[string]: Der API Key
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    42
        id[hash]: Eine Auftragsnummer
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    43
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    44
        Return:
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    45
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    46
        '''
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    47
        return ""
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    48
    
115
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
    49
    @validate(kwd="recipients",func=vTel)
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
    50
    @vUser
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
    51
    @vRoute(typ="sms")
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
    52
    def sms(self, user, message, recipients, route="default", info=""):
92
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    53
        '''Versendet eine SMS.
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    54
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    55
        Keywords:
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    56
        apikey[string]: Der API Key
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    57
        message[string]: Nachricht
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    58
        recipients[list]: eine Liste von Emfänger-Nummern (gemäß ITU-T E.123)
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    59
        route[string|list]: Route über den geschickt werden soll, 
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    60
                            oder eine Liste von Routen, um Fallbacks anzugeben
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    61
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    62
        Return:
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    63
        id[hash]: Die ID des Auftrages
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    64
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    65
        '''
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    66
        return ""
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    67
   
115
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
    68
    @validate(kwd="recipients",func=vTel)
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
    69
    @vUser
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
    70
    @vRoute(typ="fax")
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
    71
    def fax(self, user, subject, fax, recipients, route="default", info=""):
92
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    72
        '''Versendet ein FAX.
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    73
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    74
        Keywords:
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    75
        apikey[string]: Der API Key
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    76
        subject[string]: Der Betreff
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    77
        fax[string]: Das PDF base64 kodiert
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    78
        recipients[list]: Eine Liste von Emfänger-Nummern (gemäß ITU-T E.123)
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    79
        route[string|list]: Route über den geschickt werden soll, 
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    80
                            oder eine Liste von Routen, um Fallbacks anzugeben
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    81
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    82
        Return:
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    83
        id[hash]: Die ID des Auftrages
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    84
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    85
        '''
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    86
        return ""
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    87
115
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
    88
    @validate(kwd="recipients",func=vEmail)
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
    89
    @vUser
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
    90
    @vRoute(typ="mail")
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
    91
    def mail(self, user, subject,  body, recipients, frm, route="default", info=""):
92
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    92
        '''Versendet eine Email.
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    93
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    94
        Keywords:
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    95
        apikey[string]: Der API Key
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    96
        subject[string]: Der Betreff
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    97
        body[string]: Der Email Body
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    98
        recipients[list]: Eine Liste von Emailadressen
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    99
        frm[string]: Die Absender Emailadresse
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   100
        route[string|list]: Route über den geschickt werden soll, 
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   101
                            oder eine Liste von Routen, um Fallbacks anzugeben
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   102
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   103
        Return:
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   104
        id[hash]: Die ID des Auftrages
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   105
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   106
        '''
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   107
        return ""
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   108
       
115
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
   109
    @validate(kwd="typ", func=vTyp)
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
   110
    @vUser
92
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   111
    def routes(self, user, typ):
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   112
        '''Gibt eine Liste aller verfügbaren Provider zurück.
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   113
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   114
        Keywords:
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   115
        apikey[string]: Der API Key
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   116
        typ[string]: Der Typ zu dem die Providerloste ausgeben werden soll
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   117
                     Einer der Liste ["sms","fax","mail"]
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   118
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   119
        Return:
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   120
        providerlist[list]: Eine Liste aller möglichen Provider
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   121
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   122
        '''
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   123
        return ""
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   124
        
115
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
   125
    @validate(kwd="typ", func=vTyp)
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
   126
    @vUser
92
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   127
    def defaultRoute(self, user, typ):
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   128
        '''Gibt den Standardprovider zurück.
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   129
 
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   130
        Keywords:
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   131
        apikey[string]: Der API Key
109
935b5fcaf152 little typos
Sandro Knauß <knauss@netzguerilla.net>
parents: 106
diff changeset
   132
        typ[string]: Der Typ zu dem die Providerliste ausgeben werden soll
92
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   133
                     Einer der Liste ["sms","fax","mail"]
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   134
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   135
        Return:
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   136
        provider[string]: Der Standardprovider für den angeben Typ
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   137
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   138
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   139
        '''
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   140
        return ""
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   141
115
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
   142
    @vUser
92
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   143
    def statistic(self, user):
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   144
        '''Gibt eine Statik zurück über die versendendeten Nachrichten und des Preises.
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   145
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   146
        Keywords:
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   147
        apikey[string]: Der API Key
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   148
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   149
        Return:
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   150
        statistic[list]: Eine Liste nach Nachrichtentypen
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   151
        '''
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   152
        return ""
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   153
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   154