##// END OF EJS Templates
Massive reorganization of the IPython documentation. It is now ready to be hacked on by users. ...
Massive reorganization of the IPython documentation. It is now ready to be hacked on by users. Overall the transition to Sphinx is great. BUT, we have lots of broken links in the docs. Developers need to become familiar with how Sphinx handles links.

File last commit:

r1234:52b55407
r1258:ccc2fc9b
Show More
fcutil.py
69 lines | 2.1 KiB | text/x-python | PythonLexer
# encoding: utf-8
"""Foolscap related utilities."""
__docformat__ = "restructuredtext en"
#-------------------------------------------------------------------------------
# Copyright (C) 2008 The IPython Development Team
#
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
# Imports
#-------------------------------------------------------------------------------
import os
from foolscap import Tub, UnauthenticatedTub
def check_furl_file_security(furl_file, secure):
"""Remove the old furl_file if changing security modes."""
if os.path.isfile(furl_file):
f = open(furl_file, 'r')
oldfurl = f.read().strip()
f.close()
if (oldfurl.startswith('pb://') and not secure) or (oldfurl.startswith('pbu://') and secure):
os.remove(furl_file)
def is_secure(furl):
if is_valid(furl):
if furl.startswith("pb://"):
return True
elif furl.startswith("pbu://"):
return False
else:
raise ValueError("invalid furl: %s" % furl)
def is_valid(furl):
if isinstance(furl, str):
if furl.startswith("pb://") or furl.startswith("pbu://"):
return True
else:
return False
def find_furl(furl_or_file):
if isinstance(furl_or_file, str):
if is_valid(furl_or_file):
return furl_or_file
if os.path.isfile(furl_or_file):
furl = open(furl_or_file, 'r').read().strip()
if is_valid(furl):
return furl
raise ValueError("not a furl or a file containing a furl: %s" % furl_or_file)
# We do this so if a user doesn't have OpenSSL installed, it will try to use
# an UnauthenticatedTub. But, they will still run into problems if they
# try to use encrypted furls.
try:
import OpenSSL
except:
Tub = UnauthenticatedTub
have_crypto = False
else:
have_crypto = True