Ignore:
Timestamp:
04/27/2009 01:01:20 PM (16 years ago)
Author:
Damien Churchill <damoc@gmail.com>
Branches:
2.0.x, develop, extjs4-port, master
Children:
204f055
Parents:
c4cdd7
Message:

add basic session support

File:
1 edited

Legend:

Unmodified
Added
Removed
  • deluge/ui/web/json_api.py

    rc4cdd7 re837493  
    2626import time
    2727import base64
     28import random
    2829import urllib
    2930import hashlib
     
    428429        return d
    429430   
     431    def _create_session(self, login='admin'):
     432        m = hashlib.md5()
     433        m.update(login)
     434        m.update(str(time.time()))
     435        m.update(str(random.getrandbits(999)))
     436        m.update(m.hexdigest())
     437        session_id = m.hexdigest()
     438       
     439        config = component.get("DelugeWeb").config
     440        config["sessions"][session_id] = {
     441            "login": login
     442        }
     443        return session_id
     444   
     445    @export
     446    def check_session(self, session_id):
     447        d = Deferred()
     448        config = component.get("DelugeWeb").config
     449        d.callback(session_id in config["sessions"])
     450        return d
     451   
     452    @export
     453    def delete_session(self, session_id):
     454        d = Deferred()
     455        config = component.get("DelugeWeb").config
     456        del config["sessions"][session_id]
     457        d.callback(True)
     458        return d
     459   
    430460    @export
    431461    def login(self, password):
     
    437467        m.update(password)
    438468        d = Deferred()
    439         d.callback(m.hexdigest() == config['pwd_md5'])
     469        if m.hexdigest() == config['pwd_md5']:
     470            # Change this to return a session id
     471            d.callback(self._create_session())
     472        else:
     473            d.callback(False)
    440474        return d
    441475   
Note: See TracChangeset for help on using the changeset viewer.