examples/snippets: fix error in case .pyc files of snippets are present. Fixes #35

The code assumed that module.__file__ points to the source, but it
points to the .pyc file in case it exists. Use inspect.getsource()
instead.
This commit is contained in:
Christoph Reiter 2017-05-04 16:07:24 +02:00
parent 7f052bd8d9
commit 4ddad64956
1 changed files with 5 additions and 2 deletions

View File

@ -1,4 +1,5 @@
import os
import inspect
import importlib
@ -30,7 +31,9 @@ def get_snippets():
s.name = name
mod = importlib.import_module("." + name, __package__)
s.draw_func = getattr(mod, "draw")
with open(mod.__file__, "rb") as h:
s.code = h.read().decode("utf-8")
code = inspect.getsource(mod)
if isinstance(code, bytes):
code = code.decode("utf-8")
s.code = code
snippets[s.name] = s
return snippets