Ejemplo n.º 1
0
G_MODULE_EXPORT gboolean
tracker_extract_get_metadata (TrackerExtractInfo *info)
{
	TrackerSparqlBuilder *metadata;
	GFile *file;
	gchar *filename;
	DviContext *context;

	metadata = tracker_extract_info_get_metadata_builder (info);
	file = tracker_extract_info_get_file (info);
	filename = g_file_get_path (file);

	context = mdvi_init_context (filename);

	if (context == NULL) {
		g_warning ("Could not open dvi file '%s'\n", filename);
		g_free (filename);
		return FALSE;
	}

	tracker_sparql_builder_predicate (metadata, "a");
	tracker_sparql_builder_object (metadata, "nfo:PaginatedTextDocument");

	tracker_sparql_builder_predicate (metadata, "nfo:pageCount");
	tracker_sparql_builder_object_int64 (metadata, context->npages);

	if (context->fileid) {
		tracker_sparql_builder_predicate (metadata, "nie:comment");
		tracker_sparql_builder_object_unvalidated (metadata, context->fileid);
	}

	mdvi_destroy_context (context);

	return TRUE;
}
Ejemplo n.º 2
0
G_MODULE_EXPORT gboolean
tracker_extract_get_metadata (TrackerExtractInfo *info)
{
	TrackerResource *resource;
	GFile *file;
	gchar *filename;
	DviContext *context;

	file = tracker_extract_info_get_file (info);
	filename = g_file_get_path (file);

	context = mdvi_init_context (filename);

	if (context == NULL) {
		g_warning ("Could not open dvi file '%s'\n", filename);
		g_free (filename);
		return FALSE;
	}

	resource = tracker_resource_new (NULL);

	tracker_resource_add_uri (resource, "rdf:type", "nfo:PaginatedTextDocument");

	tracker_resource_set_int64 (resource, "nfo:pageCount", context->npages);

	if (context->fileid) {
		tracker_resource_set_string (resource, "nie:comment", context->fileid);
	}

	mdvi_destroy_context (context);

	tracker_extract_info_set_resource (info, resource);
	g_object_unref (resource);

	return TRUE;
}