You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
...
Rendering page intro/micropython (index)
ERROR:flask.app:Exception on /static/css/body.css [GET]
Traceback (most recent call last):
File "C:\Users\Linux\.virtualenvs\naucse.python.cz-Ap5RjXMi\lib\site-packages\
flask\app.py", line 2292, in wsgi_app
response = self.full_dispatch_request()
File "C:\Users\Linux\.virtualenvs\naucse.python.cz-Ap5RjXMi\lib\site-packages\
flask\app.py", line 1815, in full_dispatch_request
rv = self.handle_user_exception(e)
File "C:\Users\Linux\.virtualenvs\naucse.python.cz-Ap5RjXMi\lib\site-packages\
flask\app.py", line 1718, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "C:\Users\Linux\.virtualenvs\naucse.python.cz-Ap5RjXMi\lib\site-packages\
flask\_compat.py", line 35, in reraise
raise value
File "C:\Users\Linux\.virtualenvs\naucse.python.cz-Ap5RjXMi\lib\site-packages\
flask\app.py", line 1811, in full_dispatch_request
rv = self.preprocess_request()
File "C:\Users\Linux\.virtualenvs\naucse.python.cz-Ap5RjXMi\lib\site-packages\
flask\app.py", line 2087, in preprocess_request
rv = func()
File "C:\Users\Linux\naucse.python.cz\naucse\views.py", line 51, in _get_model
g.model.freeze()
File "C:\Users\Linux\naucse.python.cz\naucse\models.py", line 1029, in freeze
course.freeze()
File "C:\Users\Linux\naucse.python.cz\naucse\models.py", line 816, in freeze
self.load_all_lessons()
File "C:\Users\Linux\naucse.python.cz\naucse\models.py", line 799, in load_all
_lessons
self.load_lessons(self._requested_lessons)
File "C:\Users\Linux\naucse.python.cz\naucse\models.py", line 780, in load_les
sons
parent=self,
File "C:\Users\Linux\naucse.python.cz\naucse\converters.py", line 603, in load
return converter.load(data[slug], **kwargs)
File "C:\Users\Linux\naucse.python.cz\naucse\converters.py", line 215, in load
result[k] = self.item_converter.load(v, **kwargs)
File "C:\Users\Linux\naucse.python.cz\naucse\converters.py", line 468, in load
field.load_into(result, data, parent=result)
File "C:\Users\Linux\naucse.python.cz\naucse\converters.py", line 360, in load
_into
value = self.converter.load(item_data, **kwargs)
File "C:\Users\Linux\naucse.python.cz\naucse\converters.py", line 215, in load
result[k] = self.item_converter.load(v, **kwargs)
File "C:\Users\Linux\naucse.python.cz\naucse\converters.py", line 468, in load
field.load_into(result, data, parent=result)
File "C:\Users\Linux\naucse.python.cz\naucse\converters.py", line 360, in load
_into
value = self.converter.load(item_data, **kwargs)
File "C:\Users\Linux\naucse.python.cz\naucse\models.py", line 162, in load
return self.sanitizer(parent, value)
File "C:\Users\Linux\naucse.python.cz\naucse\models.py", line 147, in _sanitiz
e_page_content
'static': static_url,
File "C:\Users\Linux\naucse.python.cz\naucse\sanitize.py", line 198, in saniti
ze_html
for fragment in lxml.html.fragments_fromstring(text)
File "C:\Users\Linux\naucse.python.cz\naucse\sanitize.py", line 198, in <listc
omp>
for fragment in lxml.html.fragments_fromstring(text)
File "C:\Users\Linux\naucse.python.cz\naucse\sanitize.py", line 186, in saniti
ze_fragment
sanitize_element(fragment, naucse_urls=naucse_urls)
File "C:\Users\Linux\naucse.python.cz\naucse\sanitize.py", line 179, in saniti
ze_element
sanitize_element(child, naucse_urls=naucse_urls)
File "C:\Users\Linux\naucse.python.cz\naucse\sanitize.py", line 179, in saniti
ze_element
sanitize_element(child, naucse_urls=naucse_urls)
File "C:\Users\Linux\naucse.python.cz\naucse\sanitize.py", line 169, in saniti
ze_element
attr_name, value, naucse_urls=naucse_urls)
File "C:\Users\Linux\naucse.python.cz\naucse\sanitize.py", line 103, in conver
t_link
new_url = naucse_urls[url.path](**query)
File "C:\Users\Linux\naucse.python.cz\naucse\models.py", line 140, in static_u
rl
return parent_page.lesson.static_files[filename].get_url(**kw)
KeyError: 'pics/grass.svg'
Traceback (most recent call last):
File "C:\Users\Linux\AppData\Local\Programs\Python\Python36-32\Lib\runpy.py",
line 193, in _run_module_as_main
"__main__", mod_spec)
File "C:\Users\Linux\AppData\Local\Programs\Python\Python36-32\Lib\runpy.py",
line 85, in _run_code
exec(code, run_globals)
File "C:\Users\Linux\naucse.python.cz\naucse\__main__.py", line 3, in <module>
main()
File "C:\Users\Linux\naucse.python.cz\naucse\cli.py", line 8, in main
elsa.cli(app, base_url='https://naucse.python.cz')
File "C:\Users\Linux\.virtualenvs\naucse.python.cz-Ap5RjXMi\lib\site-packages\
elsa\_cli.py", line 158, in cli
return command()
File "C:\Users\Linux\.virtualenvs\naucse.python.cz-Ap5RjXMi\lib\site-packages\
click\core.py", line 764, in __call__
return self.main(*args, **kwargs)
File "C:\Users\Linux\.virtualenvs\naucse.python.cz-Ap5RjXMi\lib\site-packages\
click\core.py", line 717, in main
rv = self.invoke(ctx)
File "C:\Users\Linux\.virtualenvs\naucse.python.cz-Ap5RjXMi\lib\site-packages\
click\core.py", line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "C:\Users\Linux\.virtualenvs\naucse.python.cz-Ap5RjXMi\lib\site-packages\
click\core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "C:\Users\Linux\.virtualenvs\naucse.python.cz-Ap5RjXMi\lib\site-packages\
click\core.py", line 555, in invoke
return callback(*args, **kwargs)
File "C:\Users\Linux\.virtualenvs\naucse.python.cz-Ap5RjXMi\lib\site-packages\
elsa\_cli.py", line 113, in freeze
freeze_app(app, freezer, path, base_url, verbose=verbose)
File "C:\Users\Linux\.virtualenvs\naucse.python.cz-Ap5RjXMi\lib\site-packages\
elsa\_cli.py", line 50, in freeze_app
for page in freezer.freeze_yield():
File "C:\Users\Linux\.virtualenvs\naucse.python.cz-Ap5RjXMi\lib\site-packages\
flask_frozen\__init__.py", line 183, in freeze_yield
new_filename = self._build_one(url)
File "C:\Users\Linux\.virtualenvs\naucse.python.cz-Ap5RjXMi\lib\site-packages\
flask_frozen\__init__.py", line 322, in _build_one
% (response.status, url))
ValueError: Unexpected status '500 INTERNAL SERVER ERROR' on URL /static/css/bod
y.css
C:\Users\Linux\naucse.python.cz>
Hacking on:
diff --git a/naucse/models.py b/naucse/models.py
index 6cbb0169..e5072320 100644
--- a/naucse/models.py+++ b/naucse/models.py@@ -137,7 +137,9 @@ def _sanitize_page_content(parent, content):
return parent_page.solutions[int(solution)].get_url(**kw)
def static_url(*, filename, **kw):
- return parent_page.lesson.static_files[filename].get_url(**kw)+ filename_ = filename.replace('/', '\\')+ print('XXX', filename, filename_)+ return parent_page.lesson.static_files[filename_].get_url(**kw)
return sanitize.sanitize_html(
content,
diff --git a/naucse/sanitize.py b/naucse/sanitize.py
index 4595bfb7..edee94de 100644
--- a/naucse/sanitize.py+++ b/naucse/sanitize.py@@ -81,7 +81,7 @@ def convert_link(attr_name, value, *, naucse_urls=None):
elif url.scheme == '':
if url.netloc == '':
# Relative URL
- if url.path.startswith('static/'):+ if url.path.startswith(('static/', 'static\\')):
return url.path
elif url.path != '':
# Documents should not assume that naucse has any particular
diff --git a/naucse/views.py b/naucse/views.py
index f72bfdbd..f59a7612 100644
--- a/naucse/views.py+++ b/naucse/views.py@@ -2,6 +2,7 @@ import datetime
from pathlib import Path
import functools
import calendar
+import mimetypes
import os
from flask import Flask, render_template, jsonify, url_for, Response, abort, g,
redirect
@@ -103,6 +104,9 @@ def init_model():
register_url_converters(app)
setup_jinja_env(app.jinja_env)
+# Old Windows might serve this as application/octet-stream+mimetypes.add_type('application/json', '.json')+
@app.route('/')
def index():
So far I have:
...
XXX pics/wall.svg pics\wall.svg
XXX naucse_fork.png naucse_fork.png
XXX naucse_fork.png naucse_fork.png
sending C:\Users\Linux\naucse.python.cz info.yml
Traceback (most recent call last):
File "C:\Users\Linux\AppData\Local\Programs\Python\Python36-32\Lib\runpy.py",
line 193, in _run_module_as_main
"__main__", mod_spec)
File "C:\Users\Linux\AppData\Local\Programs\Python\Python36-32\Lib\runpy.py",
line 85, in _run_code
exec(code, run_globals)
File "C:\Users\Linux\naucse.python.cz\naucse\__main__.py", line 3, in <module>
main()
File "C:\Users\Linux\naucse.python.cz\naucse\cli.py", line 8, in main
elsa.cli(app, base_url='https://naucse.python.cz')
File "C:\Users\Linux\.virtualenvs\naucse.python.cz-Ap5RjXMi\lib\site-packages\
elsa\_cli.py", line 158, in cli
return command()
File "C:\Users\Linux\.virtualenvs\naucse.python.cz-Ap5RjXMi\lib\site-packages\
click\core.py", line 764, in __call__
return self.main(*args, **kwargs)
File "C:\Users\Linux\.virtualenvs\naucse.python.cz-Ap5RjXMi\lib\site-packages\
click\core.py", line 717, in main
rv = self.invoke(ctx)
File "C:\Users\Linux\.virtualenvs\naucse.python.cz-Ap5RjXMi\lib\site-packages\
click\core.py", line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "C:\Users\Linux\.virtualenvs\naucse.python.cz-Ap5RjXMi\lib\site-packages\
click\core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "C:\Users\Linux\.virtualenvs\naucse.python.cz-Ap5RjXMi\lib\site-packages\
click\core.py", line 555, in invoke
return callback(*args, **kwargs)
File "C:\Users\Linux\.virtualenvs\naucse.python.cz-Ap5RjXMi\lib\site-packages\
elsa\_cli.py", line 113, in freeze
freeze_app(app, freezer, path, base_url, verbose=verbose)
File "C:\Users\Linux\.virtualenvs\naucse.python.cz-Ap5RjXMi\lib\site-packages\
elsa\_cli.py", line 50, in freeze_app
for page in freezer.freeze_yield():
File "C:\Users\Linux\.virtualenvs\naucse.python.cz-Ap5RjXMi\lib\site-packages\
flask_frozen\__init__.py", line 183, in freeze_yield
new_filename = self._build_one(url)
File "C:\Users\Linux\.virtualenvs\naucse.python.cz-Ap5RjXMi\lib\site-packages\
flask_frozen\__init__.py", line 322, in _build_one
% (response.status, url))
ValueError: Unexpected status '404 NOT FOUND' on URL /course/meta/meta/local-run
/static/info.yml
C:\Users\Linux\naucse.python.cz>
The text was updated successfully, but these errors were encountered:
Got:
Hacking on:
So far I have:
The text was updated successfully, but these errors were encountered: