<p dir="auto">I migrated to the latest Blender exporter, had error on my project file which previously worked.  I started a new blender file and found the same error persists.</p>
<p dir="auto">To reproduce:</p>
<ol dir="auto">
<li>create a new blender file</li>
<li>create cube</li>
<li>apply blender material</li>
<li>apply blender texture (point at any image)</li>
<li>Export to JSON</li>
<li>Check box titled "Textures"</li>
<li>Error when saving:</li>
</ol>
<p dir="auto">Traceback (most recent call last):<br>
File "C:\Program Files\Blender Foundation\Blender\2.76\scripts\addons\io_three<br>
_<em>init</em>_.py", line 812, in execute<br>
exporter.export_scene(filepath, settings)<br>
File "C:\Program Files\Blender Foundation\Blender\2.76\scripts\addons\io_three<br>
\exporter_<em>init</em>_.py", line 20, in inner<br>
func(filepath, options, *args, **kwargs)<br>
File "C:\Program Files\Blender Foundation\Blender\2.76\scripts\addons\io_three<br>
\exporter_<em>init</em>_.py", line 51, in export_scene<br>
scene_.parse()<br>
File "C:\Program Files\Blender Foundation\Blender\2.76\scripts\addons\io_three<br>
\exporter\scene.py", line 102, in parse<br>
self._parse_textures()<br>
File "C:\Program Files\Blender Foundation\Blender\2.76\scripts\addons\io_three<br>
\exporter\scene.py", line 243, in _parse_textures<br>
tex_inst = texture.Texture(texture_name, self)<br>
File "C:\Program Files\Blender Foundation\Blender\2.76\scripts\addons\io_three<br>
\exporter\texture.py", line 24, in <strong>init</strong><br>
self[constants.WRAP] = (num[wrap[0]], num[wrap[1]])<br>
KeyError: 'repeat'</p>
<p dir="auto">(note that by changing the texture "Image Mapping" to something other than 'repeat' simply alters the key error to whatever you selected)</p>
<ul dir="auto">
<li>Blender version 2.74, 2.76, 2.78 (others not tested)</li>
<li>Exporter says it is version "1.5" but I know previous versions were also still called "1.5".  I used the Master version from 2017-03-03 (today).</li>
</ul>
<h5 dir="auto">OS</h5>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> All of them</li>
</ul>
<h5 dir="auto">Description of the problem</h5>
<p dir="auto">Blender Exporter Fails to produce a .json file and throws an error that could be improved with clarity</p>
<div class="highlight highlight-source-python notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="Traceback (most recent call last):
  File &quot;/Users/kev/Library/Application Support/Blender/2.78/scripts/addons/io_three/__init__.py&quot;, line 812, in execute
    exporter.export_scene(filepath, settings)
  File &quot;/Users/kev/Library/Application Support/Blender/2.78/scripts/addons/io_three/exporter/__init__.py&quot;, line 20, in inner
    func(filepath, options, *args, **kwargs)
  File &quot;/Users/kev/Library/Application Support/Blender/2.78/scripts/addons/io_three/exporter/__init__.py&quot;, line 51, in export_scene
    scene_.parse()
  File &quot;/Users/kev/Library/Application Support/Blender/2.78/scripts/addons/io_three/exporter/scene.py&quot;, line 102, in parse
    self._parse_textures()
  File &quot;/Users/kev/Library/Application Support/Blender/2.78/scripts/addons/io_three/exporter/scene.py&quot;, line 243, in _parse_textures
    tex_inst = texture.Texture(texture_name, self)
  File &quot;/Users/kev/Library/Application Support/Blender/2.78/scripts/addons/io_three/exporter/texture.py&quot;, line 24, in __init__
    self[constants.WRAP] = (num[wrap[0]], num[wrap[1]])
KeyError: 'repeat'

location: &lt;unknown location&gt;:-1

location: &lt;unknown location&gt;:-1"><pre class="notranslate"><span class="pl-v">Traceback</span> (<span class="pl-s1">most</span> <span class="pl-s1">recent</span> <span class="pl-s1">call</span> <span class="pl-s1">last</span>):
  <span class="pl-v">File</span> <span class="pl-s">"/Users/kev/Library/Application Support/Blender/2.78/scripts/addons/io_three/__init__.py"</span>, <span class="pl-s1">line</span> <span class="pl-c1">812</span>, <span class="pl-s1">in</span> <span class="pl-s1">execute</span>
    <span class="pl-s1">exporter</span>.<span class="pl-en">export_scene</span>(<span class="pl-s1">filepath</span>, <span class="pl-s1">settings</span>)
  <span class="pl-v">File</span> <span class="pl-s">"/Users/kev/Library/Application Support/Blender/2.78/scripts/addons/io_three/exporter/__init__.py"</span>, <span class="pl-s1">line</span> <span class="pl-c1">20</span>, <span class="pl-s1">in</span> <span class="pl-s1">inner</span>
    <span class="pl-en">func</span>(<span class="pl-s1">filepath</span>, <span class="pl-s1">options</span>, <span class="pl-c1">*</span><span class="pl-s1">args</span>, <span class="pl-c1">**</span><span class="pl-s1">kwargs</span>)
  <span class="pl-v">File</span> <span class="pl-s">"/Users/kev/Library/Application Support/Blender/2.78/scripts/addons/io_three/exporter/__init__.py"</span>, <span class="pl-s1">line</span> <span class="pl-c1">51</span>, <span class="pl-s1">in</span> <span class="pl-s1">export_scene</span>
    <span class="pl-s1">scene_</span>.<span class="pl-en">parse</span>()
  <span class="pl-v">File</span> <span class="pl-s">"/Users/kev/Library/Application Support/Blender/2.78/scripts/addons/io_three/exporter/scene.py"</span>, <span class="pl-s1">line</span> <span class="pl-c1">102</span>, <span class="pl-s1">in</span> <span class="pl-s1">parse</span>
    <span class="pl-s1">self</span>.<span class="pl-en">_parse_textures</span>()
  <span class="pl-v">File</span> <span class="pl-s">"/Users/kev/Library/Application Support/Blender/2.78/scripts/addons/io_three/exporter/scene.py"</span>, <span class="pl-s1">line</span> <span class="pl-c1">243</span>, <span class="pl-s1">in</span> <span class="pl-s1">_parse_textures</span>
    <span class="pl-s1">tex_inst</span> <span class="pl-c1">=</span> <span class="pl-s1">texture</span>.<span class="pl-v">Texture</span>(<span class="pl-s1">texture_name</span>, <span class="pl-s1">self</span>)
  <span class="pl-v">File</span> <span class="pl-s">"/Users/kev/Library/Application Support/Blender/2.78/scripts/addons/io_three/exporter/texture.py"</span>, <span class="pl-s1">line</span> <span class="pl-c1">24</span>, <span class="pl-s1">in</span> <span class="pl-s1">__init__</span>
    <span class="pl-s1">self</span>[<span class="pl-s1">constants</span>.<span class="pl-v">WRAP</span>] <span class="pl-c1">=</span> (<span class="pl-s1">num</span>[<span class="pl-s1">wrap</span>[<span class="pl-c1">0</span>]], <span class="pl-s1">num</span>[<span class="pl-s1">wrap</span>[<span class="pl-c1">1</span>]])
<span class="pl-v">KeyError</span>: <span class="pl-s">'repeat'</span>

<span class="pl-s1">location</span>: <span class="pl-c1">&lt;</span><span class="pl-s1">unknown</span> <span class="pl-s1">location</span><span class="pl-c1">&gt;</span>:<span class="pl-c1">-</span><span class="pl-c1">1</span>

<span class="pl-s1">location</span>: <span class="pl-c1">&lt;</span><span class="pl-s1">unknown</span> <span class="pl-s1">location</span><span class="pl-c1">&gt;</span>:<span class="pl-c1">-</span><span class="pl-c1">1</span></pre></div>
<p dir="auto">Is there any way to get better logging from this?</p>