iro/joblist.py
branchdevel
changeset 240 3406d3bf05d4
parent 239 4cf5e664c847
child 241 546316b0b09c
--- a/iro/joblist.py	Wed Mar 21 19:41:55 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-# -*- coding: utf-8 -*-
-#Copyright (C) 2009  Sandro Knauß <bugs@sandroknauss.de>
-
-#This program is free software; you can redistribute it and/or modify it under the terms
-#of the GNU General Public License as published by the Free Software Foundation;
-#either version 3 of the License, or any later version.
-#This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
-#without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#See the GNU General Public License for more details.
-
-#You should have received a copy of the GNU General Public License
-#along with this program; if not, see <http://www.gnu.org/licenses/>.
-
-from anbieter import content
-import hashlib, os,  time
-import logging
-logger=logging.getLogger("iro.joblist");
-
-class Joblist:
-    '''
-    Providing an list of jobs; each new job gets a hash id
-    '''
-    def __init__(self,manager, queue,providerlist,dbconn=None):
-        self.jobs={}
-        self.manager=manager
-        self.queue=queue
-        self.providerlist=providerlist
-        self.dbconn=dbconn
-        
-
-    def __getitem__(self,key):
-        return self.jobs[key]
-
-    def __registerJob__(self, job, user):
-        id = self._createID()
-        if self.dbconn:
-            job.setAcounting(self.manager.Acounting(id,self.dbconn))
-        job.setId(id, user)
-        self.jobs[id]=job
-        self.queue.put(job)
-        return id
-
-    def newSMS(self, message, recipients, provider="default", user=None):
-        '''
-        creates a new SMS
-        '''
-        job=self.manager.SMSJob(self.providerlist, provider,message, content.SMS(message),recipients)
-        return self.__registerJob__(job,user)
-
-    def newFAX(self,subject, fax,recipients,provider="default",user=None):
-        '''
-        creates a new Fax
-        '''
-        job=self.manager.FaxJob(self.providerlist, provider,subject, content.FAX(subject,'' ,fax),recipients)
-        return self.__registerJob__(job,user)
-
-    def newMail(self, subject, body, recipients, frm, provider="default",user=None):
-        '''
-        creates a new Mail
-        '''
-        job=self.manager.MailJob(self.providerlist, provider,subject, content.Mail(subject, body, frm),recipients)
-        return self.__registerJob__(job,user) 
-
-    def _createID(self):
-        '''
-        creats a random hash id
-        '''
-        while True:
-            m = hashlib.sha1()
-            m.update(str(time.time()))
-            m.update(os.urandom(10))
-            if not self.jobs.has_key(m.hexdigest):
-                if not self.dbconn:                    
-                    self.jobs[m.hexdigest()]=None
-                    break
-                if not self.manager.Acounting(m.hexdigest(),self.dbconn).getStatus():
-                    self.jobs[m.hexdigest()]=None
-                    break
-        return m.hexdigest()