Changeset 872
- Timestamp:
- 07/20/06 17:26:51 (7 years ago)
- File:
-
- 1 edited
-
ccsd/trunk/crcnetd/_utils/ccsd_session.py (modified) (20 diffs)
Legend:
- Unmodified
- Added
- Removed
-
ccsd/trunk/crcnetd/_utils/ccsd_session.py
r871 r872 56 56 57 57 """ 58 58 59 # Currently active sessions 60 sessions = {} 61 59 62 timeout = config_get("session", "timeout", DEFAULT_SESSION_TIMEOUT) 60 63 cookie_timeout = config_get("session", "cookie_timeout", \ … … 82 85 else: 83 86 self.token = token 84 85 # XXX: Check that there is not another session already open for86 # this user!87 87 88 88 # Setup a database connection … … 111 111 else: 112 112 self.session_id = sid 113 113 114 114 # No changeset or revision active initially 115 115 self.changeset = 0 … … 519 519 self.db.close() 520 520 521 del self.sessions[self.session_id] 521 522 log_info("Session #%s (%s) shutdown." % \ 522 523 (self.session_id, self.username)) … … 616 617 self.db.close() 617 618 619 del self.sessions[self.session_id] 618 620 log_info("Session #%s (%s) shutdown." % \ 619 621 (self.session_id, self.username)) … … 655 657 """Returns a session object for the specified session""" 656 658 657 if session_id not in _sessions.keys():659 if session_id not in ccsd_session.sessions.keys(): 658 660 return None 659 661 660 return _sessions[session_id]662 return ccsd_session.sessions[session_id] 661 663 662 664 def getSessionE(session_id): … … 667 669 """ 668 670 669 if session_id not in _sessions.keys():671 if session_id not in ccsd_session.sessions.keys(): 670 672 raise ccsd_session_error("Session does not exist!") 671 673 672 return _sessions[session_id]674 return ccsd_session.sessions[session_id] 673 675 674 676 @exportViaXMLRPC(SESSION_NONE, AUTH_NONE) … … 694 696 695 697 # Validate the session parameters 696 if sauth["session_id"] not in _sessions.keys():698 if sauth["session_id"] not in ccsd_session.sessions.keys(): 697 699 return SESSION_NONE 698 session = _sessions[sauth["session_id"]]700 session = ccsd_session.sessions[sauth["session_id"]] 699 701 if session.username != sauth["username"]: 700 702 raise ccsd_session_error("Session username does not match!") … … 704 706 # Update the expiry time 705 707 session.updateExpiry() 706 _sessions[sauth["session_id"]] = session708 ccsd_session.sessions[sauth["session_id"]] = session 707 709 708 710 # Must be ok … … 714 716 715 717 # Loop through the list of sessions and remove expired ones 716 for sessionID,session in _sessions.items():718 for sessionID,session in ccsd_session.sessions.items(): 717 719 # Never expire the admin session 718 720 if sessionID==ADMIN_SESSION_ID: continue 719 721 rv = session.isExpired() 720 722 if rv == 1: 721 del _sessions[sessionID]723 del ccsd_session.sessions[sessionID] 722 724 723 725 # Also delete expired login cookies … … 733 735 program restarts. 734 736 """ 735 for sessionID,session in _sessions.items():737 for sessionID,session in ccsd_session.sessions.items(): 736 738 session.close(persist=True) 737 739 … … 794 796 795 797 # Check for existing sessions 796 for sess_id, sess in _sessions.items():798 for sess_id, sess in ccsd_session.sessions.items(): 797 799 # Skip the administrative session 798 800 if sess_id == ADMIN_SESSION_ID: … … 809 811 "session_id=%s", (SESSION_RW, sess_id)) 810 812 sess.mode = SESSION_RW 811 _sessions[sess_id] = sess813 ccsd_session.sessions[sess_id] = sess 812 814 return sess.getSessionObject() 813 815 … … 818 820 # Register it in the list of sessions 819 821 obj = newsession.getSessionObject() 820 _sessions[obj["sessionID"]] = newsession822 ccsd_session.sessions[obj["sessionID"]] = newsession 821 823 822 824 # Check for first_login … … 835 837 newsession = ccsd_basic_session(username, mode) 836 838 obj = newsession.getSessionObject() 837 _sessions[obj["sessionID"]] = newsession839 ccsd_session.sessions[obj["sessionID"]] = newsession 838 840 839 841 return obj … … 903 905 session.shutdown() 904 906 905 # Remove from the list906 del _sessions[session_id]907 908 907 return 0 909 908 … … 964 963 965 964 count = 0 966 for session_id2,tsession in _sessions.items():965 for session_id2,tsession in ccsd_session.sessions.items(): 967 966 if session_id2 == session_id: 968 967 continue … … 984 983 @exportViaXMLRPC(SESSION_NONE, AUTH_NONE) 985 984 def getNoSessions(): 986 return len( _sessions)985 return len(ccsd_session.sessions) 987 986 988 987 @exportViaXMLRPC(SESSION_NONE, AUTH_NONE) … … 995 994 # Session Initialisation 996 995 ##################################################################### 997 _sessions = {}998 996 def initSessions(): 999 997 try: … … 1009 1007 1010 1008 # Create a program wide 'admin' session which is always present 1011 _sessions[ADMIN_SESSION_ID] = ccsd_session("admin", SESSION_RW, "",1012 -1, -1, ADMIN_SESSION_ID)1009 ccsd_session.sessions[ADMIN_SESSION_ID] = \ 1010 ccsd_session("admin", SESSION_RW, "", -1, -1, ADMIN_SESSION_ID) 1013 1011 1014 1012 # Load any other saved sessions 1015 _sessions.update(loadSessions())1013 ccsd_session.sessions.update(loadSessions()) 1016 1014 1017 1015 log_info("Successfully loaded sessions")
Note: See TracChangeset
for help on using the changeset viewer.
