platutils.py
47 lines
| 1.5 KiB
| text/x-python
|
PythonLexer
/ IPython / platutils.py
vivainio
|
r107 | # -*- coding: utf-8 -*- | ||
""" Proxy module for accessing platform specific utility functions. | ||||
Importing this module should give you the implementations that are correct | ||||
for your operation system, from platutils_PLATFORMNAME module. | ||||
""" | ||||
#***************************************************************************** | ||||
# Copyright (C) 2001-2006 Fernando Perez <fperez@colorado.edu> | ||||
# | ||||
# Distributed under the terms of the BSD License. The full license is in | ||||
# the file COPYING, distributed as part of this software. | ||||
#***************************************************************************** | ||||
from IPython import Release | ||||
__author__ = '%s <%s>' % Release.authors['Ville'] | ||||
__license__ = Release.license | ||||
Fernando Perez
|
r1331 | import os | ||
import sys | ||||
vivainio
|
r107 | |||
Fernando Perez
|
r1331 | # Import the platform-specific implementations | ||
vivainio
|
r107 | if os.name == 'posix': | ||
Fernando Perez
|
r1331 | import platutils_posix as _platutils | ||
vivainio
|
r115 | elif sys.platform == 'win32': | ||
Fernando Perez
|
r1331 | import platutils_win32 as _platutils | ||
vivainio
|
r107 | else: | ||
Fernando Perez
|
r1331 | import platutils_dummy as _platutils | ||
vivainio
|
r107 | import warnings | ||
warnings.warn("Platutils not available for platform '%s', some features may be missing" % | ||||
os.name) | ||||
del warnings | ||||
Fernando Perez
|
r1331 | |||
# Functionality that's logically common to all platforms goes here, each | ||||
# platform-specific module only provides the bits that are OS-dependent. | ||||
def freeze_term_title(): | ||||
_platutils.ignore_termtitle = True | ||||
def set_term_title(title): | ||||
"""Set terminal title using the necessary platform-dependent calls.""" | ||||
if _platutils.ignore_termtitle: | ||||
return | ||||
_platutils.set_term_title(title) | ||||