twblue/src/sessionmanager/sessionManager.py

65 lines
1.8 KiB
Python
Raw Normal View History

# -*- coding: utf-8 -*-
import wx
import wxUI as view
import paths
import time
import os
2015-01-19 00:19:39 +01:00
import logging
import session
import manager
from config_utils import Configuration
import config
2015-01-19 00:19:39 +01:00
log = logging.getLogger("sessionmanager.sessionManager")
class sessionManagerController(object):
def __init__(self):
super(sessionManagerController, self).__init__()
2015-01-19 00:19:39 +01:00
log.debug("Setting up the session manager.")
manager.setup()
def fill_list(self):
sessionsList = []
2015-01-19 00:19:39 +01:00
log.debug("Filling the sessions list.")
self.sessions = []
for i in os.listdir(paths.config_path()):
if os.path.isdir(paths.config_path(i)):
2015-01-19 00:19:39 +01:00
log.debug("Adding session %s" % (i,))
strconfig = "%s/session.conf" % (paths.config_path(i))
config_test = Configuration(strconfig)
name = config_test["twitter"]["user_name"]
if name != "" and config_test["twitter"]["user_key"] != "" and config_test["twitter"]["user_secret"] != "":
sessionsList.append(name)
self.sessions.append(i)
# else:
# log.debug("Ignoring session %s" % (i,))
if hasattr(self, "view"): self.view.fill_list(sessionsList)
def show(self):
self.view = view.sessionManagerWindow(self)
if self.view.ShowModal() == wx.ID_CANCEL:
self.view.Destroy()
def do_ok(self):
2015-01-19 00:19:39 +01:00
log.debug("Starting sessions...")
for i in self.sessions:
s = session.Session(i)
s.get_configuration()
if i not in config.app["sessions"]["ignored_sessions"]:
s.login()
session.sessions[i] = s
def manage_new_account(self):
location = (str(time.time())[:6])
2015-01-19 00:19:39 +01:00
log.debug("Creating session in the %s path" % (location,))
s = session.Session(location)
manager.manager.add_session(location)
s.get_configuration()
try:
s.authorise()
self.sessions.append(location)
self.view.add_new_session_to_list()
except:
2015-01-19 00:19:39 +01:00
log.exception("Error authorising the session")
self.view.show_unauthorised_error()
return