Show
Ignore:
Timestamp:
05/28/09 14:30:52 (3 years ago)
Author:
ocjhb
Message:

dont remember all I did

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/sandbox/jhb/mobile/ocwallet.py

    r319 r320  
    11import appuifw,e32,os,sys 
     2 
     3def error_catched(f): 
     4    def error_handled(*args,**kwargs): 
     5        try: 
     6            f(*args,**kwargs) 
     7        except: 
     8            appuifw.note(u'cought error','error')  
     9    return error_handled         
     10 
    211 
    312class WalletClient: 
     
    131140        url = appuifw.query(u'url','text',u'http://baach.de:9090') 
    132141        self.todo['url'] = url 
    133         transport = self.getHTTPTransport(url)  
     142        transport = self.getHTTPTransport(url) 
     143        if not transport: 
     144            self.displayActionMenu() 
     145            return 
    134146        self.wallet.addCurrency(transport) 
    135147        self.displayWalletMenu() 
     
    160172 
    161173        transport = self.getHTTPTransport(url) 
     174        if not transport: 
     175            self.displayActionMenu() 
     176            return 
     177  
    162178        self.wallet.mintCoins(transport,amount,target) 
    163179        coinsound.play()  
     
    178194 
    179195        transport = self.getHTTPTransport(url) 
     196        if not transport: 
     197            self.displayActionMenu() 
     198            return 
     199  
    180200        self.wallet.redeemCoins(transport,amount,target) 
    181201        self.displayWalletMenu() 
     
    185205        cdd,alreadythere = self.getCurrentCurrency() 
    186206        transport = self.getHTTPTransport(cdd.issuerServiceLocation) 
     207        if not transport: 
     208            self.displayActionMenu() 
     209            return 
     210  
    187211        self.wallet.freshenUp(transport,cdd) 
    188         coinsound.play()  
     212        #coinsound.play()  
    189213        self.displayWalletMenu() 
    190214 
     
    197221        if method ==0: 
    198222            transport = self.getHTTPTransport(cdd.issuerServiceLocation) 
     223            if not transport: 
     224                self.displayActionMenu() 
     225                return 
     226  
    199227            self.receiveCoinsBT(transport) 
     228  
    200229        else: 
    201230            transport = self.getHTTPTransport(cdd.issuerServiceLocation) 
     231            if not transport: 
     232                self.displayActionMenu() 
     233                return 
     234  
    202235            self.receiveCoinsHTTP(transport,walletport) 
    203236 
     
    208241 
    209242    def getHTTPTransport(self,url): 
    210         self.startInternet() 
     243        if not self.startInternet(): 
     244            return  
    211245        transport = transports.HTTPTransport(url) 
    212246        return transport 
     
    255289                    answer = self.wallet.listenSum(message) 
    256290                if message.header == 'SpendRequest': 
    257                     answer = self.wallet.listenSpend(message,transport) 
     291                    answer = self.wallet.listenSpend(transport,message) 
    258292                self.send_response(200) 
    259293                self.send_header("Content-type", "text/plain") 
     
    265299 
    266300        OCHandler.wallet = self.wallet 
    267         self.startInternet() 
     301        if not self.startInternet(): 
     302            return 
    268303         
    269304        self.httpd = StoppableHTTPServer(("",port),OCHandler) 
     
    380415                url = 'http://%s:%s' % (url,walletport) 
    381416            transport = self.getHTTPTransport(url) 
     417            if not transport: 
     418                self.displayActionMenu() 
     419                return 
    382420            self.wallet.spendCoins(transport,cdd.currencyId,amount,target) 
    383421        else: 
     
    413451                aps.sort() 
    414452                apid = appuifw.popup_menu(aps,u'select access point') 
     453                if apid == None: 
     454                    return None 
    415455                self.feedback(u'Preparing internet access:setting access point') 
    416456 
     
    426466            s.connect(('www.google.com',80)) 
    427467            self.ip = s.getsockname()[0] 
    428  
     468        return True 
    429469     
    430470 
     
    515555#Try to use a password on the data file. Repeat till its sucessfully loaded 
    516556password = '' 
    517 while 1: 
     557while 0: #don't use the password protected storage, too slow atm. 
    518558    password = appuifw.query(u'password','text') 
    519559 
     
    530570        appuifw.note(u'wrong password','error') 
    531571        pass 
     572storage = oc2storage.Storage() 
     573storage.setFilename(storagepath+'wallet.bin') 
     574tmp = open(storagepath+'wallet.bin') 
     575tmpcontent = tmp.read() 
     576tmp.close() 
     577if tmpcontent.startswith('salt'): 
     578    os.remove(storagepath+'wallet.bin') 
     579storage.restore()     
     580 
     581 
     582 
     583 
     584 
    532585 
    533586#Load the rest of the libs