src/catedit/utils.py
changeset 62 746d486f7c42
parent 48 353e246a8f59
child 86 1c84b37adaf4
--- a/src/catedit/utils.py	Tue Mar 31 15:32:56 2015 +0200
+++ b/src/catedit/utils.py	Tue Apr 07 20:03:04 2015 +0200
@@ -3,11 +3,16 @@
     Module that lists utility functions used through the app
 """
 from catedit import app
-from rdflib import RDF, RDFS
+import logging
+
+from flask import session
+from rdflib import RDF, RDFS, URIRef
 from rdflib.compare import to_isomorphic, graph_diff
 
 
-def compare_categories(first_category, second_category, with_details=True):
+logger = logging.getLogger(__name__)
+
+def compare_categories(first_category, second_category, repository, with_details=True):
     """
         Compares 2 categories and generate a dict with 3 lists of
         differences:
@@ -51,6 +56,9 @@
         in_first = []
         in_both = []
         in_second = []
+        logger.debug(rdf_in_both)
+        logger.debug(rdf_only_in_first)
+        logger.debug(rdf_only_in_second)
         for (final_list, diff_list) in [
                 (in_both, rdf_in_both),
                 (in_first, rdf_only_in_first),
@@ -62,15 +70,17 @@
                 elif triple[1] == RDF.Description:
                     final_list.append(("description", triple[2].toPython()))
                 else:
-                    for predicate in app.config["PROPERTY_LIST"].keys():
+                    for predicate in session["properties"][repository].keys():
                         if triple[1] == \
-                        app.config["PROPERTY_LIST"][predicate]["rdflib_class"]:
-                            if (app.config["PROPERTY_LIST"]
-                                          [predicate]
-                                          ["object_type"] == "uriref-link"
-                            or app.config["PROPERTY_LIST"]
-                                         [predicate]
-                                         ["object_type"] == "literal"):
+                        URIRef(session["properties"][repository][predicate]["rdflib_class"]):
+                            if (session["properties"]
+                                       [repository]
+                                       [predicate]
+                                       ["object_type"] == "uriref-link"
+                            or session["properties"]
+                                      [repository]
+                                      [predicate]
+                                      ["object_type"] == "literal"):
                                 final_list.append(
                                     (
                                         predicate,
@@ -91,7 +101,7 @@
 
 
 
-def make_differences_list(first_category_list, second_category_list):
+def make_differences_list(first_category_list, second_category_list, repository):
     """
         Compares 2 category lists and generates a dict that lists addition,
         modification and deletions from first_category_list to
@@ -116,6 +126,7 @@
                     if not(compare_categories(
                             first_list_category,
                             second_list_category,
+                            repository,
                             with_details=False
                     )["same_content"]):
                         modified_categories.append(