##// END OF EJS Templates
Backport PR #4163: Fix for incorrect default encoding on Windows....
Backport PR #4163: Fix for incorrect default encoding on Windows. Whilst trying out rendering notebooks in a flask app under Apache on Windows I got the below error when simply trying to import `SlidesExporter` ```python mod_wsgi (pid=6260): Exception occurred processing WSGI script 'flask_test.wsgi'. Traceback (most recent call last): File "flask_test.py", line 81, in render_notebook from IPython.nbconvert.exporters import SlidesExporter File "c:\\dev\\code\\ipython\\IPython\\__init__.py", line 47, in <module> from .terminal.embed import embed File "c:\\dev\\code\\ipython\\IPython\\terminal\\embed.py", line 32, in <module> from IPython.terminal.interactiveshell import TerminalInteractiveShell File "c:\\dev\\code\\ipython\\IPython\\terminal\\interactiveshell.py", line 25, in <module> from IPython.core.interactiveshell import InteractiveShell, InteractiveShellABC File "c:\\dev\\code\\ipython\\IPython\\core\\interactiveshell.py", line 59, in <module> from IPython.core.prompts import PromptManager File "c:\\dev\\code\\ipython\\IPython\\core\\prompts.py", line 138, in <module> HOME = py3compat.str_to_unicode(os.environ.get("HOME","//////:::::ZZZZZ,,,~~~")) File "c:\\dev\\code\\ipython\\IPython\\utils\\py3compat.py", line 18, in decode return s.decode(encoding, "replace") LookupError: unknown encoding: cp0 ``` A little bit of [googling](http://bugs.python.org/issue6501) suggests that Windows returns 'cp0' to indicate there is no code page. This fix simply looks for this invalid value and replaces it with something valid. With this change it works for me.

File last commit:

r11692:3e731bb6
r12463:516353d0
Show More
tree.html
89 lines | 3.2 KiB | text/html | HtmlLexer
{% extends "page.html" %}
{% block title %}IPython Dashboard{% endblock %}
{% block stylesheet %}
{{super()}}
<link rel="stylesheet" href="{{ static_url("tree/css/override.css") }}" type="text/css" />
{% endblock %}
{% block params %}
data-project={{project}}
data-base-project-url={{base_project_url}}
data-base-kernel-url={{base_kernel_url}}
{% endblock %}
{% block site %}
<div id="ipython-main-app" class="container">
<div id="tabs" class="tabbable">
<ul class="nav nav-tabs" id="tabs">
<li class="active"><a href="#notebooks" data-toggle="tab">Notebooks</a></li>
<li><a href="#clusters" data-toggle="tab">Clusters</a></li>
</ul>
<div class="tab-content">
<div id="notebooks" class="tab-pane active">
<div id="notebook_toolbar">
<form id='alternate_upload' class='alternate_upload' >
<span id="drag_info" style="position:absolute" >
To import a notebook, drag the file onto the listing below or <strong>click here</strong>.
</span>
<input type="file" name="datafile" class="fileinput" multiple='multiple'>
</form>
<span id="notebook_buttons">
<button id="refresh_notebook_list" title="Refresh notebook list" class="btn btn-small">Refresh</button>
<button id="new_notebook" title="Create new notebook" class="btn btn-small">New Notebook</button>
</span>
</div>
<div id="notebook_list">
<div id="notebook_list_header" class="row-fluid list_header">
<div id="project_name">
<ul class="breadcrumb">
{% for component in project_component %}
<li>{{component}} <span>/</span></li>
{% endfor %}
</ul>
</div>
</div>
</div>
</div>
<div id="clusters" class="tab-pane">
<div id="cluster_toolbar">
<span id="cluster_list_info">IPython parallel computing clusters</span>
<span id="cluster_buttons">
<button id="refresh_cluster_list" title="Refresh cluster list" class="btn btn-small">Refresh</button>
</span>
</div>
<div id="cluster_list">
<div id="cluster_list_header" class="row-fluid list_header">
<span class="profile_col span4">profile</span>
<span class="status_col span3">status</span>
<span class="engines_col span3" title="Enter the number of engines to start or empty for default"># of engines</span>
<span class="action_col span2">action</span>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
{% block script %}
{{super()}}
<script src="{{static_url("base/js/dialog.js") }}" type="text/javascript" charset="utf-8"></script>
<script src="{{static_url("tree/js/notebooklist.js") }}" type="text/javascript" charset="utf-8"></script>
<script src="{{static_url("tree/js/clusterlist.js") }}" type="text/javascript" charset="utf-8"></script>
<script src="{{static_url("tree/js/main.js") }}" type="text/javascript" charset="utf-8"></script>
{% endblock %}