def test_get_comment_both(self): index = IndexCreator('.') entry = polib.POEntry() entry.comment = 'comment' entry.tcomment = 'tcomment' comment = index._get_comment(entry) self.assertEquals(comment, 'tcomment\r\ncomment')
def _create_index(self): '''Creates an index in RAM with the entries from data_set array''' self.index = IndexCreator('') index = self.index.create(True) for idx in range(0, len(self.data_set), self.FIELDS): self.index.write_entry(source=self.data_set[idx + 0], target=self.data_set[idx + 1], comment=u'', context=u'', project=self.data_set[idx + 2], softcatala=self.data_set[idx + 3]) self.index.writer.commit() return index
def test_process_project_plural(self): tmpfile = self._dump_po_to_file(self.minipo_plural) index = IndexCreator('.') index.writer = IndexWriterMock() index._process_file('test_project', tmpfile.name, False, set()) stored = index.writer.store self.assertEquals(stored[0]['source'], u'Delete this photo from camera?') self.assertEquals(stored[0]['target'], u'Voleu suprimir aquesta fotografia de la càmera?') self.assertEquals(stored[1]['source'], u'Delete these %d photos from camera?') self.assertEquals(stored[1]['target'], u'Voleu suprimir aquestes %d fotografies de la càmera?') self.assertEquals(index.sentences, 2) self.assertEquals(index.sentences_indexed, 2)
def test_process_project(self): tmpfile = self._dump_po_to_file() index = IndexCreator('.') index.writer = IndexWriterMock() index._process_file('test_project', tmpfile.name, False, set()) stored = index.writer.store self.assertEquals(stored['source'], u'Power off the selected virtual machines') self.assertEquals(stored['target'], u'Apaga les màquines virtuals seleccionades') self.assertEquals(stored['context'], 'Context') self.assertEquals(stored['comment'], 'Please remember to do something\r\n') self.assertEquals(stored['softcatala'], False) self.assertEquals(stored['project'], 'test_project') self.assertEquals(index.words, 5) self.assertEquals(index.sentences, 1) self.assertEquals(index.sentences_indexed, 1)
def test_process_project(self): tmpfile = self._dump_po_to_file(self.minipo) index = IndexCreator('.') index.writer = IndexWriterMock() index._process_file('test_project', tmpfile.name, False, set()) stored = index.writer.store self.assertEquals(stored[0]['source'], u'Power off the selected virtual machines') self.assertEquals(stored[0]['target'], u'Apaga les màquines virtuals seleccionades') self.assertEquals(stored[0]['context'], 'Context') self.assertEquals(stored[0]['comment'], 'Please remember to do something\r\n') self.assertEquals(stored[0]['softcatala'], False) self.assertEquals(stored[0]['project'], 'test_project') self.assertEquals(index.words, 5) self.assertEquals(index.sentences, 1) self.assertEquals(index.sentences_indexed, 1)
def main(): """Create a Whoosh index for a PO file. Given a PO file, enumerates all the strings, and creates a Whoosh index to be able to search later. """ print("Create Whoosh index from a PO file") print("Use --help for assistance") start_time = datetime.datetime.now() try: locale.setlocale(locale.LC_ALL, '') except Exception as detail: print("Exception: " + str(detail)) po_directory, debug_keyword, projects_names = read_parameters() indexCreator = IndexCreator(po_directory, debug_keyword, projects_names) indexCreator.create() indexCreator.process_projects() ctx = { 'date': datetime.date.today().strftime("%d/%m/%Y"), 'projects': str(indexCreator.projects), 'words': locale.format_string("%d", indexCreator.words, grouping=True), } write_index_json(ctx) print( "Time used to create the index: {0} ".format(datetime.datetime.now() - start_time))
def main(): """Create a Whoosh index for a PO file. Given a PO file, enumerates all the strings, and creates a Whoosh index to be able to search later. """ print("Create Whoosh index from a PO file") print("Use --help for assistance") start_time = time.time() try: locale.setlocale(locale.LC_ALL, '') except Exception as detail: print("Exception: " + str(detail)) po_directory, debug_keyword, projects_names = read_parameters() indexCreator = IndexCreator(po_directory, debug_keyword, projects_names) indexCreator.create() indexCreator.process_projects() ctx = { 'date': datetime.date.today().strftime("%d/%m/%Y"), 'projects': str(indexCreator.projects), 'words': locale.format("%d", indexCreator.words, grouping=True), } process_template("web/templates/statistics.mustache", "statistics.html", ctx) ctx = { # This is the list of projects to display for the user to select. 'options': sorted(indexCreator.options, key=lambda x: x.lower()), } process_template("web/templates/select-projects.mustache", "select-projects.html", ctx) end_time = time.time() - start_time print("time used to create the index: " + str(end_time))
def _create_index(self): """Creates an index in RAM with the entries from data_set array""" self.index = IndexCreator("") index = self.index.create(True) for idx in range(0, len(self.data_set), self.FIELDS): self.index.write_entry( source=self.data_set[idx + 0], target=self.data_set[idx + 1], comment=u"", context=u"", project=self.data_set[idx + 2], softcatala=self.data_set[idx + 3], ) self.index.writer.commit() return index
def main(): """Create a Whoosh index for a PO file. Given a PO file, enumerates all the strings, and creates a Whoosh index to be able to search later. """ print("Create Whoosh index from a PO file") print("Use --help for assistance") start_time = datetime.datetime.now() try: locale.setlocale(locale.LC_ALL, '') except Exception as detail: print("Exception: " + str(detail)) po_directory, debug_keyword, projects_names = read_parameters() indexCreator = IndexCreator(po_directory, debug_keyword, projects_names) indexCreator.create() indexCreator.process_projects() ctx = { 'date': datetime.date.today().strftime("%d/%m/%Y"), 'projects': str(indexCreator.projects), 'words': locale.format_string("%d", indexCreator.words, grouping=True), } process_template("web/templates/statistics.mustache", "statistics.html", ctx) ctx = { # This is the list of projects to display for the user to select. 'options': sorted(indexCreator.options, key=lambda x: x.lower()), } process_template("web/templates/select-projects.mustache", "select-projects.html", ctx) print( "Time used to create the index: {0} ".format(datetime.datetime.now() - start_time))
class TestSearch(unittest.TestCase): PROJECT_GNOME = u"gnome" PROJECT_ABI = u"abiword" SC = True data_set = [ u"Nox Documents Found", u"No s'han trobat", PROJECT_GNOME, SC, u"No Documents Found Today", u"No s'han trobat documents avui", PROJECT_GNOME, SC, u"No Documents Found late Yesterday", u"No s'han trobat documents ahir", PROJECT_GNOME, SC, u"Many documents found Yesterday", u"S'han trobat molts errors ahir", PROJECT_ABI, SC, ] FIELDS = 4 def _create_index(self): """Creates an index in RAM with the entries from data_set array""" self.index = IndexCreator("") index = self.index.create(True) for idx in range(0, len(self.data_set), self.FIELDS): self.index.write_entry( source=self.data_set[idx + 0], target=self.data_set[idx + 1], comment=u"", context=u"", project=self.data_set[idx + 2], softcatala=self.data_set[idx + 3], ) self.index.writer.commit() return index def test_query_simple_query_source(self): ix = self._create_index() search = Search(u"Today", None, u"gnome") search.search(ix) results = search.get_results() self.assertEquals(len(results), 1) self.assertEquals(results[0]["source"], u"No Documents Found Today") def test_query_simple_query_source_with_two_projects(self): ix = self._create_index() search = Search(u"Yesterday", None, u"gnome,abiword") search.search(ix) results = search.get_results() self.assertEquals(len(results), 2) self.assertEquals(results[0]["source"], u"Many documents found Yesterday") self.assertEquals(results[1]["source"], u"No Documents Found late Yesterday") def test_query_simple_with_or_query_source(self): ix = self._create_index() search = Search(u"Today OR Yesterday", None, u"gnome") search.search(ix) results = search.get_results() self.assertEquals(len(results), 2) self.assertEquals(results[0]["source"], u"No Documents Found Today") self.assertEquals(results[1]["source"], u"No Documents Found late Yesterday") def test_query_simple_with_not_query_source(self): ix = self._create_index() search = Search(u"Documents NOT Yesterday", None, u"gnome") search.search(ix) results = search.get_results() self.assertEquals(len(results), 2) for i in range(0, len(results)): self.assertFalse(u"Yesterday" in results[i]["source"]) def test_query_simple_with_and_query_source(self): ix = self._create_index() search = Search(u"Documents AND late", None, u"gnome") search.search(ix) results = search.get_results() self.assertEquals(len(results), 1) self.assertEquals(results[0]["source"], u"No Documents Found late Yesterday") def test_query_source_target(self): ix = self._create_index() search = Search(u"Documents", u"Ahir", u"gnome") search.search(ix) results = search.get_results() self.assertEquals(len(results), 1) self.assertEquals(results[0]["source"], u"No Documents Found late Yesterday") def test_query_source_OR_target(self): ix = self._create_index() search = Search(u"Today OR No", u"trobat", u"gnome") search.search(ix) results = search.get_results() self.assertEquals(len(results), 2) self.assertEquals(results[0]["source"], u"No Documents Found Today") self.assertEquals(results[1]["source"], u"No Documents Found late Yesterday") def test_get_json(self): ix = self._create_index() search = Search(u"Today OR No", u"trobat", u"gnome") search.search(ix) results = search.get_json() json_array = json.loads(results) self.assertEquals(len(json_array), 2) self.assertEquals(json_array[0]["source"], u"No Documents Found Today") self.assertEquals(json_array[1]["source"], u"No Documents Found late Yesterday")
class TestSearch(unittest.TestCase): PROJECT_GNOME = u'gnome' PROJECT_ABI = u'abiword' PROJECT_MICROSOFT = u'Microsoft Terminology' SC = True NO_SC = False data_set = [ u"Nox Documents Found", u"No s'han trobat", PROJECT_GNOME, SC, u"No Documents Found Today", u"No s'han trobat documents avui", PROJECT_GNOME, SC, u"No Documents Found late Yesterday", u"No s'han trobat documents ahir", PROJECT_GNOME, SC, u"Many documents found Yesterday", u"S'han trobat molts errors ahir", PROJECT_ABI, SC, u"Many documents found Yesterday Microsoft", u"S'han trobat molts errors ahir Microsoft", PROJECT_MICROSOFT, NO_SC ] FIELDS = 4 def _create_index(self): '''Creates an index in RAM with the entries from data_set array''' self.index = IndexCreator('') index = self.index.create(True) for idx in range(0, len(self.data_set), self.FIELDS): self.index.write_entry(source=self.data_set[idx + 0], target=self.data_set[idx + 1], comment=u'', context=u'', project_name=self.data_set[idx + 2], project_id=self.data_set[idx + 2] + "_id", softcatala=self.data_set[idx + 3]) self.index.writer.commit() return index def test_query_simple_query_source(self): ix = self._create_index() search = Search(u'Today', None, u'gnome_id') search.search(ix) results = search.get_results() self.assertEquals(len(results), 1) self.assertEquals(results[0]["source"], u"No Documents Found Today") def test_query_simple_query_source_with_two_projects(self): ix = self._create_index() search = Search(u'Yesterday', None, u'gnome_id,abiword_id') search.search(ix) results = search.get_results() self.assertEquals(len(results), 2) self.assertEquals(results[0]["source"], u"Many documents found Yesterday") self.assertEquals(results[1]["source"], u"No Documents Found late Yesterday") def test_query_simple_query_source_with_three_projects_with_spaces(self): ix = self._create_index() search = Search(u'Yesterday', None, u'gnome_id,abiword_id,Microsoft Terminology_id') search.search(ix) results = search.get_results() self.assertEquals(len(results), 3) self.assertEquals(results[0]["source"], u"Many documents found Yesterday") self.assertEquals(results[1]["source"], u"No Documents Found late Yesterday") self.assertEquals(results[2]["source"], u"Many documents found Yesterday Microsoft") def test_query_simple_query_source_with_single_project_with_spaces(self): ix = self._create_index() search = Search(u'Yesterday', None, u'Microsoft Terminology_id') search.search(ix) results = search.get_results() self.assertEquals(len(results), 1) self.assertEquals(results[0]["source"], u"Many documents found Yesterday Microsoft") def test_query_simple_query_source_with_no_project(self): ix = self._create_index() search = Search(u'Yesterday', None, u'') search.search(ix) results = search.get_results() self.assertEquals(len(results), 3) self.assertEquals(results[0]["source"], u"Many documents found Yesterday") self.assertEquals(results[1]["source"], u"No Documents Found late Yesterday") self.assertEquals(results[2]["source"], u"Many documents found Yesterday Microsoft") def test_query_simple_with_or_query_source(self): ix = self._create_index() search = Search(u'Today OR Yesterday', None, u'gnome_id') search.search(ix) results = search.get_results() self.assertEquals(len(results), 2) self.assertEquals(results[0]["source"], u"No Documents Found Today") self.assertEquals(results[1]["source"], u"No Documents Found late Yesterday") def test_query_simple_with_not_query_source(self): ix = self._create_index() search = Search(u'Documents NOT Yesterday', None, u'gnome_id') search.search(ix) results = search.get_results() self.assertEquals(len(results), 2) for i in range(0, len(results)): self.assertFalse(u'Yesterday' in results[i]["source"]) def test_query_simple_with_and_query_source(self): ix = self._create_index() search = Search(u'Documents AND late', None, u'gnome_id') search.search(ix) results = search.get_results() self.assertEquals(len(results), 1) self.assertEquals(results[0]["source"], u"No Documents Found late Yesterday") def test_query_source_target(self): ix = self._create_index() search = Search(u'Documents', u'Ahir', u'gnome_id') search.search(ix) results = search.get_results() self.assertEquals(len(results), 1) self.assertEquals(results[0]["source"], u"No Documents Found late Yesterday") def test_query_source_OR_target(self): ix = self._create_index() search = Search(u'Today OR No', u'trobat', u'gnome_id') search.search(ix) results = search.get_results() self.assertEquals(len(results), 2) self.assertEquals(results[0]["source"], u"No Documents Found Today") self.assertEquals(results[1]["source"], u"No Documents Found late Yesterday") def test_get_json(self): ix = self._create_index() search = Search(u'Today OR No', u'trobat', u'gnome_id') search.search(ix) results = search.get_json() json_array = json.loads(results) self.assertEquals(len(json_array), 2) self.assertEquals(json_array[0]["source"], u"No Documents Found Today") self.assertEquals(json_array[1]["source"], u"No Documents Found late Yesterday")