[tracker] extract-iso: Extract language info



commit 70743c051d99f387c07f330cff08e260d3a05574
Author: Zeeshan Ali (Khattak) <zeeshanak gnome org>
Date:   Tue Apr 29 19:41:59 2014 +0100

    extract-iso: Extract language info
    
    Make use of libosinfo API to extract list of supported languages.
    Application (e.g Boxes) can then use this list to determine the most
    suitable language to start express installation in.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=729253

 data/ontologies/93-libosinfo.ontology     |    6 ++++++
 src/tracker-extract/tracker-extract-iso.c |    8 ++++++++
 2 files changed, 14 insertions(+), 0 deletions(-)
---
diff --git a/data/ontologies/93-libosinfo.ontology b/data/ontologies/93-libosinfo.ontology
index a3621ff..9358d56 100644
--- a/data/ontologies/93-libosinfo.ontology
+++ b/data/ontologies/93-libosinfo.ontology
@@ -26,3 +26,9 @@ osinfo:mediaId a rdf:Property ;
        nrl:maxCardinality 1 ;
        rdfs:domain nie:InformationElement ;
        rdfs:range xsd:string .
+
+osinfo:language a rdf:Property ;
+       rdfs:label "Language" ;
+       rdfs:comment "Languages supported by installer/live media." ;
+       rdfs:domain osinfo:Installer ;
+       rdfs:range xsd:string .
diff --git a/src/tracker-extract/tracker-extract-iso.c b/src/tracker-extract/tracker-extract-iso.c
index 2bfae42..38e3364 100644
--- a/src/tracker-extract/tracker-extract-iso.c
+++ b/src/tracker-extract/tracker-extract-iso.c
@@ -52,6 +52,7 @@ tracker_extract_get_metadata (TrackerExtractInfo *info_)
        gboolean bootable;
        const gchar *id;
        const gchar *name;
+        GList *languages, *l;
        TrackerSparqlBuilder *metadata;
 
        metadata = tracker_extract_info_get_metadata_builder (info_);
@@ -137,6 +138,13 @@ tracker_extract_get_metadata (TrackerExtractInfo *info_)
                tracker_sparql_builder_object_string (metadata, id);
        }
 
+        languages = osinfo_media_get_languages (media);
+        for (l = languages; l != NULL; l = l->next) {
+               tracker_sparql_builder_predicate (metadata, "osinfo:language");
+               tracker_sparql_builder_object_string (metadata, (char *) l->data);
+        }
+        g_list_free (languages);
+
        g_object_unref (G_OBJECT (media));
        g_object_unref (G_OBJECT (loader));
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]