def handle(self, *items, **options): self.verbosity = int(options.get('verbosity', 1)) self.batchsize = options.get('batchsize', DEFAULT_BATCH_SIZE) self.start_date = None self.end_date = None self.remove = options.get('remove', False) self.workers = int(options.get('workers', 0)) self.commit = options.get('commit', True) if sys.version_info < (2, 7): warnings.warn( 'multiprocessing is disabled on Python 2.6 and earlier. ' 'See https://github.com/toastdriven/django-haystack/issues/1001' ) self.workers = 0 self.backends = options.get('using') if not self.backends: self.backends = haystack_connections.connections_info.keys() age = options.get('age', DEFAULT_AGE) start_date = options.get('start_date') end_date = options.get('end_date') if age is not None: self.start_date = now() - timedelta(hours=int(age)) if start_date is not None: from dateutil.parser import parse as dateutil_parse try: self.start_date = dateutil_parse(start_date) except ValueError: pass if end_date is not None: from dateutil.parser import parse as dateutil_parse try: self.end_date = dateutil_parse(end_date) except ValueError: pass if not items: items = load_apps() return super(Command, self).handle(*items, **options)
def handle(self, *items, **options): self.verbosity = int(options.get('verbosity', 1)) self.batchsize = options.get('batchsize', DEFAULT_BATCH_SIZE) self.start_date = None self.end_date = None self.remove = options.get('remove', False) self.workers = int(options.get('workers', 0)) self.commit = options.get('commit', True) self.backends = options.get('using') if not self.backends: self.backends = haystack_connections.connections_info.keys() age = options.get('age', DEFAULT_AGE) start_date = options.get('start_date') end_date = options.get('end_date') if age is not None: self.start_date = now() - timedelta(hours=int(age)) if start_date is not None: from dateutil.parser import parse as dateutil_parse try: self.start_date = dateutil_parse(start_date) except ValueError: pass if end_date is not None: from dateutil.parser import parse as dateutil_parse try: self.end_date = dateutil_parse(end_date) except ValueError: pass if not items: items = load_apps() return super(Command, self).handle(*items, **options)
def get_all_indexed_models(): backends = haystack_connections.connections_info.keys() available_models = {} for backend_key in backends: unified_index = haystack_connections[backend_key].get_unified_index() for app in load_apps(): for model in get_models(app): try: unified_index.get_index(model) except NotHandled: continue model_name = model.__module__ + '.' + model.__name__ available_models[model_name] = { 'backend_key': backend_key, 'app': app, 'model': model, } return available_models
def test_load_apps(self): apps = app_loading.load_apps() self.assertIsInstance(apps, (list, GeneratorType))