title: How do I get a Blender exporter script to run from the command line?
body: <p>I am trying to export some objects from blender into a proprietary format. I'd like the script I write to be able to export the objects from blender from the File drop down and from the command line. I am using blender 2.66 on ubuntu 12.04 LTS. Below is the file I currently am trying to get to run.</p>
  
  <pre><code># Required Blender information.
  bl_info = {
             "name": "My Exporter",
             "author": "",
             "version": (1, 0),
             "blender": (2, 65, 0),
             "location": "File &gt; Export &gt; Test (.tst)",
             "description": "",
             "warning": "",
             "wiki_url": "",
             "tracker_url": "",
             "category": "Import-Export"
            }
  
  # Import the Blender required namespaces.
  import bpy
  from bpy_extras.io_utils import ExportHelper
  
  
  # The main exporter class.
  class MyExporter(bpy.types.Operator, ExportHelper):
     bl_idname       = "test.tst";
     bl_label        = "My Exporter";
     bl_options      = {'PRESET'};
  
     filename_ext    = ".tst";
  
     object_count    = 0;
  
     def __init__(self):
        pass
  
     def execute(self, context):
        print("Execute was called.");
  
        # Parse all the objects in the scene.
        return {'FINISHED'};
  
     def export_object(self, gameObject):
        if (gameObject.type != "MESH"):
           print("Object was not of type mesh.");
        else:
           object_count += 1;
  
        return;
  
  
  # Define a function to create the menu option for exporting.
  def create_menu(self, context):
     self.layout.operator(MyExporter.bl_idname,text="test (.tst)");
  
  # Define the Blender required registration functions.
  def register():
     """
     Handles the registration of the Blender Addon.
     """
     bpy.utils.register_module(__name__);
     bpy.types.INFO_MT_file_export.append(create_menu);
  
  def unregister():
     """
     Handles the unregistering of this Blender Addon.
     """
     bpy.utils.unregister_module(__name__);
     bpy.types.INFO_MT_file_export.remove(create_menu);
  
  # Handle running the script from Blender's text editor.
  if (__name__ == "__main__"):
     print("Registering.");
     register();
  
     print("Executing.");
  
     # I have tried with these lines uncommented to force it to run
     # the execute function, but I get an error saying:
     #    exporter = MyExporter();
     #    TypeError: bpy_struct.__new__(type): expected a single argument
  
     #exporter = MyExporter();
     #exporter.execute(bpy.context.scene);
  </code></pre>
  
  <p>I have tried the following command:</p>
  
  <pre><code>blender model.blend --background --python myexporter.py
  </code></pre>
  
  <p>From which I get the following as output:</p>
  
  <pre><code>Note: No (valid) '~/.config/blender/2.66/config/startup.blend' found,
        fall back to built-in default.
  
  Read new prefs: ~/.config/blender/2.66/config/userpref.blend
  found bundled python: ~/blender/2.66/python
  read blend: ~/model.blend
  Registering.
  Executing.
  
  Blender quit
  </code></pre>
  
  <p>The execute function from the MyExporter class never seems to get called. I even tried calling the execute function directly but, if you read the comment above that area, I seem to be missing something there as well.</p>
  
  <p>Everything works fine when the script is added as an add-on to blender. It calls execute perfectly. So at least I have half of it working.</p>
  
  <p>Thank you in advance for any help you can give me. If I made a stupid mistake I apologize, I am learning python at the same time as I write this script.</p>