def get_context_data(self, **kwargs): context={'msg':u'No POST data sent.' } if self.request.is_ajax(): self.object=self.get_object() ConditionVideoEvent.objects.filter(condition__experiment=self.object).delete() units_to_delete=Unit.objects.filter(unit_recording__trial__condition__experiment=self.object).values_list('id',flat=True) UnitRecording.objects.filter(trial__condition__experiment=self.object).delete() Event.objects.filter(trial__condition__experiment=self.object).delete() RecordingTrial.objects.filter(condition__experiment=self.object).delete() Unit.objects.filter(id__in=units_to_delete).delete() Subject.objects.filter(arrays__units__id__in=units_to_delete).delete() Subject.objects.filter(penetrations__units__id__in=units_to_delete).delete() Penetration.objects.filter(units__id__in=units_to_delete).delete() Array.objects.filter(units__id__in=units_to_delete).delete() Condition.objects.filter(experiment=self.object).delete() ExperimentExportRequest.objects.filter(experiment=self.object).delete() if ClassificationAnalysisResults.objects.filter(experiment=self.object): UnitClassification.objects.filter(analysis_results__experiment=self.object).delete() UnitAnalysisResults.objects.filter(analysis_results__experiment=self.object.delete()) ClassificationAnalysisResults.objects.filter(experiment=self.object).delete() AnalysisResults.objects.filter(experiment=self.object).delete() self.object.delete() try: rebuild_index.Command().handle(interactive=False) except: pass context={'id': self.request.POST['id']} return context
def test_can_search_forum_posts_by_using_the_anonymous_poster_name(self): # Setup self.topic_1.first_post.subject = 'newsubject' self.topic_1.first_post.save() self.topic_2.first_post.subject = 'newsubject' self.topic_2.first_post.save() self.topic_3.first_post.subject = 'newsubject' self.topic_3.first_post.save() post_4 = PostFactory.create(subject='newsubject', topic=self.topic_3, poster=None, username='******') rebuild_index.Command().handle(interactive=False, verbosity=-1) form = SearchForm( { 'q': 'newsubject', 'search_poster_name': 'newtest', }, user=self.user, ) # Run results = form.search() # Check assert form.is_valid() assert [r.object for r in results] == [ post_4, ]
def setUp(self): self.logged_in_user = make_user() ( self.el1, self.el2, self.el3, ) = generate_fake_links(self.logged_in_user, count=3) self.el1.categories.add('mapping') self.el1.save() self.el2.categories.add('mapping') self.el2.save() self.el3.categories.add('social') self.el3.save() self.el3.name = 'Unique' self.el3.save() self.logged_in_user.favourites.add(self.el2) self.logged_in_user.favourites.add(self.el3) self.assertTrue(login_user(self, self.logged_in_user)) rebuild_index.Command().handle(interactive=False, verbosity=0)
def handle(self, *args, **kwargs): print colored("***" * 27, "green") print colored( "*** INSIDE `%s.%s`" % (self.__class__.__name__, inspect.stack()[0][3]), "green") print colored("[--- LOG ---] Going to rebuild Search Indexes...", "green") rebuild_index.Command().handle(age=4, batchsize=1000, workers=0, max_retries=5, interactive=False, remove=True, verbosity=2, using=[ "default", ]) """ update_index.Command().handle( age=4, interactive=False, remove=True, verbosity=2, using=["default", ]) """ self.stdout.write("!!! Successfully rebuilt Indexes !!!\n")
def setUp(self): self.user = make_user() (self.el1, self.el2, self.el3, self.el4, self.el5, self.el6, self.el7, self.el8) = generate_fake_links(self.user, count=8) self.el1.categories.add('great') self.el2.categories.add('great') self.el3.categories.add('great') self.el4.categories.add('great') self.el5.categories.add('great') self.el6.categories.add('great') self.el7.is_external = True self.el7.save() self.el8.is_external = True self.el8.save() self.assertTrue(login_user(self, self.user)) self.unfound_link_1 = Link.objects.create( name='Google Translate', destination='https://mail.google.com', description='Internet translation', owner=self.user, ) self.unfound_link_2 = Link.objects.create( name='Google Mail', destination='https://translate.google.com', description='Internet email', owner=self.user, ) rebuild_index.Command().handle(interactive=False, verbosity=0)
def setUp(self): self.user = make_user(userid='*****@*****.**', email='*****@*****.**', name='Ant Anterton') self.box_user = make_user(userid='*****@*****.**', email='*****@*****.**', name='Box Boxerly') self.chair_user = make_user(userid='*****@*****.**', email='*****@*****.**', name='Chair Chairington') self.first_desk_user = make_user(userid='*****@*****.**', email='*****@*****.**', name='Desk Deskworth') self.second_desk_user = make_user(userid='*****@*****.**', email='*****@*****.**', name='Desk Desker') self.eagle_user = make_user(userid='*****@*****.**', email='*****@*****.**', name='Eagle Eagerly') self.feather_user = make_user(userid='featherfeatherly', email='*****@*****.**', name='') self.assertTrue(login_user(self, self.user)) rebuild_index.Command().handle(interactive=False, verbosity=0)
def test_can_search_forum_posts_by_using_the_registered_poster_name(self): # Setup self.topic_1.first_post.subject = 'newsubject' self.topic_1.first_post.save() self.topic_2.first_post.subject = 'newsubject' self.topic_2.first_post.save() self.topic_3.first_post.subject = 'newsubject' self.topic_3.first_post.save() rebuild_index.Command().handle(interactive=False, verbosity=-1) form = SearchForm( { 'q': 'newsubject', 'search_poster_name': self.user.username, }, user=self.user, ) # Run results = form.search() # Check assert form.is_valid() assert [r.object for r in results] == [ self.post_1, self.post_2, self.post_3, ]
def rebuild_workshops_full_text_search(): logger.info('Updating workshop full-text search index.') try: rebuild_index.Command().handle(using=['default'], verbosity=2, remove=True, noinput=True) except Exception as e: logger.error('Caught exception while updating workshop index: %s' % e) return None
def tearDown(self): """ Clean up the test """ # disable indexing during import test_utils.set_index_active(False) test_utils.clean_resources_db() test_utils.clean_storage() OBJECT_XML_CACHE.clear() # enable indexing test_utils.set_index_active(True) # update index rebuild_index.Command().handle()
def setUp(self): """ Set up the test """ # disable indexing during import test_utils.set_index_active(False) # import resources test_utils.setup_test_storage() OBJECT_XML_CACHE.clear() test_utils.import_xml_or_zip(RESOURCES_ZIP_FILE) # enable indexing test_utils.set_index_active(True) # update index rebuild_index.Command().handle()
def test_can_search_forum_posts_by_using_a_set_of_forums(self): # Setup self.topic_2.first_post.subject = self.topic_1.subject self.topic_2.first_post.save() rebuild_index.Command().handle(interactive=False, verbosity=-1) form = SearchForm( { 'q': self.topic_1.subject, 'search_forums': [self.forum_1.pk, self.forum_2.pk, ], }, user=self.user, ) # Run results = form.search() # Check assert form.is_valid() assert [r.object for r in results] == [self.post_1, self.post_2, ]
def get_context_data(self, **kwargs): context={'msg':u'No POST data sent.' } if self.request.is_ajax(): self.object=self.get_object() ConditionVideoEvent.objects.filter(condition=self.object).delete() units_to_delete=Unit.objects.filter(unit_recording__trial__condition=self.object).values_list('id',flat=True) UnitRecording.objects.filter(trial__condition=self.object).delete() Event.objects.filter(trial__condition=self.object).delete() RecordingTrial.objects.filter(condition=self.object).delete() Unit.objects.filter(id__in=units_to_delete).delete() self.object.delete() try: rebuild_index.Command().handle(interactive=False) except: pass context={'id': self.request.POST['id']} return context
def setUp(self): super(TestMatchEvents, self).setUp() haystack.connections.reload('default') FacebookCustomUser.objects.all().delete() self.user = FacebookCustomUser.objects. \ create_user(username='******', facebook_id=1234567, first_name='Andrii', password='******', gender='m', date_of_birth=date(1989, 5, 20)) self.user1 = FacebookCustomUser.objects. \ create_user(username='******', facebook_id=12345671, first_name='Sasa', gender='m', password='******', date_of_birth=date(1979, 1, 9)) user_location = UserLocation.objects.create( user=self.user, position=[-87.627696, 41.880745]) user_location1 = UserLocation.objects.create( user=self.user1, position=[-87.627696, 41.880745]) self.subject = Subject.objects.create(description='learning django') self.subject2 = Subject.objects.create(description='learn python') clear_index.Command().handle(interactive=False) rebuild_index.Command().handle(interactive=False) self.neo = NeoFourJ() self.neo.graph.delete_all()
def setUp(self): self.client = APIClient() self.set_up_test_data() # setup haystack haystack.connections.reload('default') haystack.connections.reload('default-fi') haystack.connections.reload('default-en') haystack.connections.reload('default-sv') # create a dummy event self.dummy = Event(name='dummy event', data_source=self.test_ds, publisher=self.test_org, start_time=datetime.datetime.now(), end_time=datetime.datetime.now()) self.dummy.save() # refresh haystack's index rebuild_index.Command().handle(interactive=False) super(EventSearchTests, self).setUp()
def setUp(self): self.logged_in_user = make_user() (self.el1, self.el2, self.el3, self.el4, self.el5, self.el6) = generate_fake_links(self.logged_in_user, count=6) self.el7, = generate_fake_links( self.logged_in_user, start=7, count=1, is_external=True, ) self.el1.categories.add('mapping') self.el1.categories.add('social') self.el1.save() self.el2.categories.add('mapping') self.el2.save() self.el3.categories.add('social') self.el3.save() self.el4.categories.add('geospatial') self.el4.save() self.el5.categories.add('imagery') self.el5.save() self.el6.categories.add('geospatial') self.el6.categories.add('mapping') self.el6.save() self.assertTrue(login_user(self, self.logged_in_user)) rebuild_index.Command().handle(interactive=False, verbosity=0)
def setup(self): # Permission handler self.perm_handler = PermissionHandler() # Set up the following forum tree: # # top_level_cat # forum_1 # forum_2 # forum_2_child_1 # top_level_forum_1 # top_level_forum_2 # sub_cat # sub_sub_forum # top_level_forum_3 # forum_3 # forum_3_child_1 # forum_3_child_1_1 # deep_forum # last_forum # self.top_level_cat = create_category_forum() self.forum_1 = create_forum(parent=self.top_level_cat) self.forum_2 = create_forum(parent=self.top_level_cat) self.forum_2_child_1 = create_forum(parent=self.forum_2) self.top_level_forum_1 = create_forum() self.top_level_forum_2 = create_forum() self.sub_cat = create_category_forum(parent=self.top_level_forum_2) self.sub_sub_forum = create_forum(parent=self.sub_cat) self.top_level_forum_3 = create_forum() self.forum_3 = create_forum(parent=self.top_level_forum_3) self.forum_3_child_1 = create_forum(parent=self.forum_3) self.forum_3_child_1_1 = create_forum(parent=self.forum_3_child_1) self.deep_forum = create_forum(parent=self.forum_3_child_1_1) self.last_forum = create_forum() # Set up a topic and some posts self.topic_1 = create_topic(forum=self.forum_1, poster=self.user) self.post_1 = PostFactory.create(topic=self.topic_1, poster=self.user) self.topic_2 = create_topic(forum=self.forum_2, poster=self.user) self.post_2 = PostFactory.create(topic=self.topic_2, poster=self.user) self.topic_3 = create_topic(forum=self.forum_2_child_1, poster=self.user) self.post_3 = PostFactory.create(topic=self.topic_3, poster=self.user) # Assign some permissions assign_perm('can_read_forum', self.user, self.top_level_cat) assign_perm('can_read_forum', self.user, self.forum_1) assign_perm('can_read_forum', self.user, self.forum_2) assign_perm('can_read_forum', self.user, self.forum_2_child_1) assign_perm('can_read_forum', self.user, self.top_level_forum_1) self.sqs = SearchQuerySet() rebuild_index.Command().handle(interactive=False, verbosity=-1) yield # teardown # -- clear_index.Command().handle(interactive=False, verbosity=-1)
def rebuild_search_indexes(): """Rebuild/update Search Indexes. https://stackoverflow.com/questions/4358771/updating-a-haystack-search-index-with-django-celery """ print colored("***" * 27, "green") print colored("*** INSIDE `%s`" % inspect.stack()[0][3], "green") print colored("[--- LOG ---] Going to rebuild Search Indexes...", "green") try: rebuild_index.Command().handle(age=4, batchsize=1000, workers=0, max_retries=5, interactive=False, remove=True, verbosity=2, using=[ "default", ]) """ update_index.Command().handle( age=4, interactive=False, remove=True, verbosity=2, using=["default", ]) """ # --------------------------------------------------------------------- # --- Save the Log papertrail.log( event_type="periodic-task-ran", message="Periodic Task `%s` executed" % inspect.stack()[0][3], data={ "success": True, }, # timestamp=timezone.now(), targets={}, ) except Exception as e: print colored("###" * 27, "white", "on_red") print colored( "### EXCEPTION @ `{module}`: {msg}".format( module=inspect.stack()[0][3], msg=str(e), ), "white", "on_red") # --------------------------------------------------------------------- # --- Save the Log papertrail.log( event_type="periodic-task-failed", message="Periodic Task `%s` failed" % inspect.stack()[0][3], data={ "success": False, "response": str(e), }, # timestamp=timezone.now(), targets={}, ) return True
import sys, os sys.path.append('/opt/wsgi-apps') os.environ['DJANGO_SETTINGS_MODULE'] = 'myschedule_settings' from django.conf import settings from haystack.management.commands import rebuild_index rebuild_index.Command().handle()
def setUp(self): super(TestMatchQuerySet, self).setUp() haystack.connections.reload('default') Goal.objects.all().delete() Offer.objects.all().delete() Subject.objects.all().delete() FacebookCustomUser.objects.all().delete() photo = SimpleUploadedFile(name='test_image.jpg', content='test') self.user = FacebookCustomUser.objects.\ create_user(username='******', facebook_id=1234567, first_name='Andrii', password='******', gender='m', date_of_birth=date(1989, 5, 20), image=photo) self.user1 = FacebookCustomUser.objects.\ create_user(username='******', facebook_id=12345671, first_name='Sasa', gender='m', password='******', date_of_birth=date(1979, 1, 9), image=photo) self.user2 = FacebookCustomUser.objects. \ create_user(username='******', facebook_id=12345672, first_name='Ira', gender='f', password='******', date_of_birth=date(1969, 1, 9), image=photo) self.user3 = FacebookCustomUser.objects. \ create_user(username='******', facebook_id=12345676, first_name='Natali', gender='f', password='******', date_of_birth=date(1959, 1, 9), image=photo) self.user4 = FacebookCustomUser.objects. \ create_user(username='******', facebook_id=12345675, first_name='Tati', gender='f', password='******', date_of_birth=date(1949, 1, 9), image=photo) self.user5 = FacebookCustomUser.objects. \ create_user(username='******', facebook_id=12345674, first_name='Ken', gender='m', password='******', date_of_birth=date(1939, 1, 9), image=photo) user_location = UserLocation.objects.create( user=self.user, position=[-87.627696, 41.880745]) user_location1 = UserLocation.objects.create( user=self.user1, position=[60.627675, 21.881925]) user_location2 = UserLocation.objects.create( user=self.user2, position=[-87.6281729688, 41.881849562]) user_location3 = UserLocation.objects.create( user=self.user5, position=[-87.62839, 41.88206]) user_location4 = UserLocation.objects.create( user=self.user4, position=[-87.6269801114, 41.8814058757]) user_location5 = UserLocation.objects.create(user=self.user3, position=[38.53, 77.02]) self.subject = Subject.objects.create(description='learning django') self.subject2 = Subject.objects.create(description='learn python') self.subject3 = Subject.objects.create(description='teach erlang') self.subject4 = Subject.objects.create(description='teach javascript') self.subject5 = Subject.objects.create(description='teach django') self.subject6 = Subject.objects.create(description='teach python') self.subject7 = Subject.objects.create(description='learn erlang') self.subject8 = Subject.objects.create(description='learn javascript') self.subject9 = Subject.objects.\ create(description='django under the hood') self.subject10 = Subject.objects.\ create(description='learn kiteboarding and foxes') self.subject11 = Subject.objects.\ create(description='like a kiteboard and fox') self.subject12 = Subject.objects. \ create(description='baby') self.subject13 = Subject.objects. \ create(description='child') self.subject14 = Subject.objects. \ create(description='hire a dog sitter') self.subject16 = Subject.objects. \ create(description='play with dogs') self.subject15 = Subject.objects. \ create(description='learn to code django python') self.i_subject = InterestSubject.objects.\ create(description='teach django') self.i_subject1 = InterestSubject.objects. \ create(description='learn django') self.i_subject2 = InterestSubject.objects. \ create(description='teach python') self.i_subject3 = InterestSubject.objects. \ create(description='learn python') self.i_subject4 = InterestSubject.objects. \ create(description='kiteboarding') StopWords.objects.create(word='learn') StopWords.objects.create(word=u'and') StopWords.objects.create(word=u'teach') StopWords.objects.create(word=u'to') clear_index.Command().handle(interactive=False) rebuild_index.Command().handle(interactive=False) self.neo = NeoFourJ() self.neo.graph.delete_all()
def rebuild_search_index(self): rebuild_index.Command().handle(verbosity=0, interactive=False)
def rebuild_search_index(age=None): return rebuild_index.Command().handle(using=['default'], age=None, interactive=False)
erroneous_imports += failure temp_file.close() print "Done. Successfully imported {0} files into the database, errors " \ "occurred in {1} cases.".format(len(successful_imports), len(erroneous_imports)) if len(erroneous_imports) > 0: print "The following files could not be imported:" for descriptor, exception in erroneous_imports: if isinstance(exception.args, basestring): print "\t{}: {}".format(descriptor, ' '.join(exception.args)) else: print "\t{}: {}".format(descriptor, exception.args) # Salvatore: # This is useful for tracking where the resource is stored. # It is used by some scripts for testing purposes if not id_filename is None: id_file = open(id_filename, 'w') for resource in successful_imports: id_file.write('--->RESOURCE_ID:{0};STORAGE_IDENTIFIER:{1}\n'\ .format(resource.id, resource.storage_object.identifier)) id_file.close() # Be nice and cleanup cache... _cache_size = sum([len(x) for x in OBJECT_XML_CACHE.values()]) OBJECT_XML_CACHE.clear() print "Cleared OBJECT_XML_CACHE ({} bytes)".format(_cache_size) from haystack.management.commands import rebuild_index rebuild_index.Command().handle(interactive=False)
def index_all_profiles(): """Task to index all profiles through the admin interface.""" rebuild_index.Command().handle(interactive=False)