Example #1
0
 def find_google_id(google_id):
     """ Return the model matching the google_id, dowload it if needed. """
     try:
         return SketchupModel.objects.get(google_id=google_id)
     except SketchupModel.DoesNotExist:
         from warehouse_scrapper.models import retreive_model
         model = retreive_model(google_id)
         if model is None:
             raise SketchupModel.DoesNotExist("google id : %s" % google_id)
         else:
             return model
Example #2
0
 def find_google_id(google_id):
     """ Return the model matching the google_id, dowload it if needed. """
     try:
         return SketchupModel.objects.get(google_id=google_id)
     except SketchupModel.DoesNotExist:
         from warehouse_scrapper.models import retreive_model
         model = retreive_model(google_id)
         if model is None:
             raise SketchupModel.DoesNotExist("google id : %s" % google_id)
         else:
             return model
Example #3
0
 def test_session_can_store_big_identifier(self):
     """ Test that a session can contain a large identifier. """
     from .models import EvaluationSession
     from warehouse_scrapper.models import (search_by_keywords,
                                            retreive_model)
     session = EvaluationSession()
     categories = ['dinner plate', 'toothbrush', 'apple fruit', 'soda can']
     for category in categories:
         models = [retreive_model(id) for id in
                   search_by_keywords(category)]
         models = [model for model in models if model is not None]
         session.identifier.add_models(models, category)
     session.identifier.train()
     import sys
     import pickle
     serialized_size = sys.getsizeof(pickle.dumps(session.identifier))
     print "Size needed: ", serialized_size, " bytes."
     self.assertTrue(serialized_size > 16 * 1024 * 1024)  # 16 Mo
     session.save()
Example #4
0
    def test_download_one_model(self):
        """" Test that a model is correctly download from the database.

        Link to the test model :
          https://3dwarehouse.sketchup.com/model.html?id=9fc96d41ec7a66a6a159545213d74ea
        """
        model_id = "9fc96d41ec7a66a6a159545213d74ea"
        model = retreive_model(model_id)
        self.assertEqual(model.google_id, model_id)
        self.assertEqual(model.title, "Mug")
        self.assertEqual(model.text, "coffee mug or cup")
        tags = ["coffee", "coffee mug", "cup", "drink",
                "glass", "liquid", "mug"]
        self.assertEqual(model.tags, tags)

        # test the image and the mesh file from fixture
        tri_file = file("sketchup_models/fixtures/%s.tri" % model_id).read()
        img_file = file("sketchup_models/fixtures/%s.jpg" % model_id).read()
        self.assertEqual(model.mesh, tri_file)
        self.assertEqual(model.image, img_file)