Пример #1
0
    def handle(self, *args, **options):
        root_folder = options['newcomers_guide_path']
        related_task_count = options['related_tasks']
        related_service_count = options['related_services']

        print(
            'All task data and task/service similarity data will be deleted and reimported'
        )

        print('Reading tasks...')
        tasks = read_task_descriptions(root_folder)
        task_ids, task_descriptions = to_task_ids_and_descriptions(tasks)
        print('{} tasks read, reading services...'.format(len(task_ids)))
        service_ids, service_descriptions = to_service_ids_and_descriptions(
            Service.objects.all())

        descriptions = task_descriptions + service_descriptions

        print('{} services read, computing similarities...'.format(
            len(service_ids)))
        cosine_doc_similarities = compute_similarities(descriptions)

        print('Saving {} task similarities...'.format(
            len(task_ids) * (len(task_ids) - 1)))
        save_task_similarities(task_ids, cosine_doc_similarities,
                               related_task_count)
        print('Saving {} task-service similarities...'.format(
            len(task_ids) * len(service_ids)))
        save_task_service_similarity_scores(task_ids, service_ids,
                                            cosine_doc_similarities,
                                            related_service_count)
Пример #2
0
 def test_getting_description_for_task_returns_task_title_and_description(
         self):
     _, descriptions = to_task_ids_and_descriptions(self.data)
     self.assertEqual(
         descriptions[0],
         self.english_task_title + ' ' + self.english_task_description)
Пример #3
0
 def test_converts_task_id_to_slug(self):
     self.data['taskMap'][self.task_id]['id'] = 'This is the id'
     ids, _ = to_task_ids_and_descriptions(self.data)
     self.assertEqual(ids[0], 'this-is-the-id')
Пример #4
0
 def test_getting_ids_for_task_returns_task_id(self):
     ids, _ = to_task_ids_and_descriptions(self.data)
     self.assertEqual(ids[0], self.task_id)