예제 #1
0
    def __init__(self):
        settings = dict(
            # 设定 cookie_secret, 用于 secure_cookie
            cookie_secret=
            "e446976943b4e8442f099fed1f3fea28462d5832f483a0ed9a3d5d3859f==78d",
            # 设定 session_secret 用于生成 session_id
            session_secret=
            "3cdcb1f00803b6e78ab50b466a40b9977db396840c28307f428b25e2277f1bcc",
            # memcached 地址
            memcached_address=["127.0.0.1:11211"],
            # session 过期时间
            session_timeout=60,
            template_path=os.path.join(os.path.dirname(__file__), "templates"),
            static_path=os.path.join(os.path.dirname(__file__), "static"),
            xsrf_cookies=True,
            login_url="/login",
        )

        handlers = [(r"/", MainHandler), (r"/login", LoginHandler)]

        # 初始化父类 tornado.web.Application
        tornado.web.Application.__init__(self, handlers, **settings)
        # 初始化该类的 session_manager
        self.session_manager = session.SessionManager(
            settings["session_secret"], settings["memcached_address"],
            settings["session_timeout"])
예제 #2
0
파일: app.py 프로젝트: cash2one/Btrade
 def __init__(self):
     logger = logging.getLogger()
     if log and 'Linux' in platform.system():
         options.log_file_prefix = log_file
         timelog = logging.handlers.TimedRotatingFileHandler(
             log_file, 'midnight', 1, 0)
         formatter = logging.Formatter(
             "%(asctime)s %(levelname)s %(message)s")
         timelog.setFormatter(formatter)
         logger.addHandler(timelog)
     options.parse_command_line()
     settings['ui_modules'] = uimodule
     tornado.web.Application.__init__(self, handlers, **settings)
     self.session_manager = session.SessionManager(
         settings["session_secret"], settings["store_options"],
         settings["session_timeout"])
예제 #3
0
 def __init__(self):
     settings = dict(
         cookie_secret=
         "e446976943b4e8442f099fed1f3fea28462d5832f483a0ed9a3d5d3859f==78d",
         session_secret=
         "3cdcb1f00803b6e78ab50b466a40b9977db396840c28307f428b25e2277f1bcc",
         session_timeout=60,
         store_options={
             'redis_host': 'localhost',
             'redis_port': 6379,
             'redis_pass': ''
         },
     )
     handlers = [(r'/test', TestGetHandler), (r'/hello', HelloHandler)]
     tornado.web.Application.__init__(self, handlers, **settings)
     self.session_manager = session.SessionManager(
         settings['session_secret'], settings['store_options'],
         settings['session_timeout'])
예제 #4
0
    def __init__(self):

        settings = dict(
            cookie_secret=
            "e446976943b4e8442f099fed1f3fea28462d5832f483a0ed9a3d5d3859f==78d",
            session_secret=
            "3cdcb1f00803b6e78ab50b466a40b9977db396840c28307f428b25e2277f1bcc",
            session_timeout=60,
            store_options={
                'redis_host': 'localhost',
                'redis_port': 6379,
                'redis_pass': '******',
            },
        )

        handlers = [(r"/", MainHandler), (r"/login", LoginHandler)]

        tornado.web.Application.__init__(self, handlers, **settings)
        self.session_manager = session.SessionManager(
            settings["session_secret"], settings["store_options"],
            settings["session_timeout"])
예제 #5
0
    def __init__(self, server_address, request_handler_class, compressed=True):
        BaseHTTPServer.HTTPServer.__init__(self, server_address,
                                           request_handler_class)
        self.root_directory = "www"
        self.default_page_name = "index"
        self.executable_extensions = [".py", ".php", ".cgi", ".pyc", ".pyw"]
        self.file_extensions_resolution = [
            ".html", ".htm"
        ] + self.executable_extensions + [".pye"]
        self.extention_type_map = {
            "css": "text/css",
            "html": "text/html",
            "txt": "text/plain",
            "js": "text/javascript",
            "mp3": "audio/mpeg",
            "png": "image/png",
            "jpg": "image/jpeg",
            "zip": "application/zip"
        }

        self.no_compress_extensions = (".png", ".jpg", ".mp3", ".zip", ".doc",
                                       ".odt")
        self.compressed_response = compressed
        self.compression_level = 7
        self.compression_cache_enable = True

        self.loaded_python_scripts = {}

        self.session_manager = session.SessionManager(
            "pyserver_session_data.db")

        ##        self.restrict_access=open("disallow.txt").read().split("\n")

        try:
            f = open("ignore.txt")
            data = f.read().strip().split("\n")
            f.close()
        except IOError:
            data = []
        self.no_log_files = data
예제 #6
0
import config
import session
import time_utils

if __name__ == "__main__":
    if len(sys.argv) < 2:
        print('usage: %s <target user>' % sys.argv[0])
        exit(1)

    target_user = sys.argv[1]
    conf = config.load()
    base_dir = conf['base_dir']
    me = conf['me']

    fs_session_storage = fs_storage.FileSystemSessionStorage(base_dir)
    session_manager = session.SessionManager(fs_session_storage,
                                             time_utils.TimeProvider())

    handlers = session_manager.get_running_sessions()
    matching_handles = [
        handle for handle in handlers if handle.owner == target_user
    ]
    if len(matching_handles) > 1:
        print('Error: more than one handle for user %s found!' % target_user)
        exit(1)
    if len(matching_handles) == 1:
        print('Session for user %s running.' % (target_user))
        print('Session for user %s running. Scheduled end time: %s' %
              (target_user, matching_handles[0].get_end_time()))
        print('Filing request...')
        matching_handles[0].make_request(me)
    else:
예제 #7
0
    def __init__(self, parent=None):
        super(SystemTrayIcon, self).__init__(common.app_icon, parent)

        # Set tooltip.
        self.setToolTip(common.app_name)

        self.widget = QWidget(None)
        self.widget.resize(0, 0)
        self.widget.setWindowFlags(Qt.FramelessWindowHint)

        # Set context menu.
        self.menu = QMenu(None)
        self.setContextMenu(self.menu)

        # New window action
        newWindowAction = QAction(common.complete_icon("window-new"),
                                  tr("&New Window"), self)
        newWindowAction.triggered.connect(self.newWindowRequested.emit)
        self.menu.addAction(newWindowAction)

        # Reopen window action
        reopenWindowAction = QAction(common.complete_icon("reopen-window"),
                                     tr("R&eopen Window"), self)
        reopenWindowAction.triggered.connect(self.reopenWindow)
        self.menu.addAction(reopenWindowAction)

        self.menu.addSeparator()

        self.sessionManager = session.SessionManager(None)

        # Load session action
        loadSessionAction = QAction(common.complete_icon("document-open"),
                                    tr("&Load Session..."), self)
        loadSessionAction.triggered.connect(self.loadSession)
        self.menu.addAction(loadSessionAction)

        # Save session action
        saveSessionAction = QAction(common.complete_icon("document-save-as"),
                                    tr("Sa&ve Session..."), self)
        saveSessionAction.triggered.connect(self.saveSession)
        self.menu.addAction(saveSessionAction)

        self.menu.addSeparator()

        # Settings action
        settingsAction = QAction(common.complete_icon("preferences-system"),
                                 tr("&Settings..."), self)
        settingsAction.triggered.connect(self.openSettings)
        self.menu.addAction(settingsAction)

        # Clippings manager
        clippingsAction = QAction(common.complete_icon("edit-paste"),
                                  tr("&Manage Clippings..."), self)
        clippingsAction.triggered.connect(self.openClippings)
        self.menu.addAction(clippingsAction)

        self.menu.addSeparator()

        # About Nimbus action.
        aboutAction = QAction(common.complete_icon("help-about"),
                              tr("A&bout %s") % (common.app_name, ), self)
        aboutAction.triggered.connect(self.about)
        self.menu.addAction(aboutAction)

        # Quit action
        quitAction = QAction(common.complete_icon("application-exit"),
                             tr("Quit"), self)
        quitAction.triggered.connect(QApplication.quit)
        self.menu.addAction(quitAction)
        """if self.geometry().width() < 8:
예제 #8
0
#!/usr/bin/env python
#-*-coding:utf-8-*-

import session

if __name__ == '__main__':
    m = session.SessionManager()

    s = m.new_session()
    print "session_id:%s" % s.session_id
    s['nickname'] = 'Yarkee'
    s['foo'] = 'bar'
    print "The length of session:%d" % len(s)

    if 'nickname' in s:
        print "nickname is %s" % s['nickname']
    print s

    del s['foo']

    s2 = m.get_session(s.session_id)
    print s2