Example #1
0
def post_save_layerext(instance, sender, **kwargs):    
    """
    force save on Layer object: patch to modeltranslation and trigger signals
    """
    if not kwargs['created']:
        a = instance.mldict('titleml')
        instance.layer_ptr.title = a[DEFAULT_LANGUAGE]
        instance.layer_ptr.abstract = instance.mldict('abstractml')[DEFAULT_LANGUAGE]
        instance.layer_ptr.supplemental_information = instance.mldict('supplemental_information_ml')[DEFAULT_LANGUAGE]
        if instance.layer_ptr.supplemental_information is None:
            instance.layer_ptr.supplemental_information = '-'
        # instance.layer_ptr.keywords = instance.keywords_list_clean(DEFAULT_LANGUAGE)
        instance.layer_ptr.keywords.add(*instance.keywords_list_clean(DEFAULT_LANGUAGE))
        instance.layer_ptr.save()

    # save CignoResources in RDF
    resource_uri = instance.get_public_url()
    crdf = CignoRDF()
    if instance.gemetkeywords is not None and instance.gemetkeywords != '':
        gemetkeywords = json.loads(instance.gemetkeywords)
    else:
        gemetkeywords = None
    crdf.add_resource_keywords(resource_uri, 
                               instance.uuid,
                               instance.mldict('titleml'),
                               gemetkeywords
                               )
Example #2
0
def post_save_layerext(instance, sender, **kwargs):    
    """
    force save on Layer object: patch to modeltranslation and trigger signals
    """
    if not kwargs['created']:
        a = instance.mldict('titleml')
        instance.layer_ptr.title = a[DEFAULT_LANGUAGE]
        instance.layer_ptr.abstract = instance.mldict('abstractml')[DEFAULT_LANGUAGE]
        instance.layer_ptr.supplemental_information = instance.mldict('supplemental_information_ml')[DEFAULT_LANGUAGE]
        if instance.layer_ptr.supplemental_information is None:
            instance.layer_ptr.supplemental_information = '-'
        # instance.layer_ptr.keywords = instance.keywords_list_clean(DEFAULT_LANGUAGE)
        instance.layer_ptr.keywords.add(*instance.keywords_list_clean(DEFAULT_LANGUAGE))
        instance.layer_ptr.save()

    # save CignoResources in RDF
    resource_uri = instance.get_public_url()
    crdf = CignoRDF()
    if instance.gemetkeywords is not None and instance.gemetkeywords != '':
        gemetkeywords = json.loads(instance.gemetkeywords)
    else:
        gemetkeywords = None
    crdf.add_resource_keywords(resource_uri, 
                               instance.uuid,
                               instance.mldict('titleml'),
                               gemetkeywords
                               )
Example #3
0
def post_save_connection(instance, sender, **kwargs):    
    crdf = CignoRDF()
    # if external try to load rdf info
    # TODO: use a better test and test if already loaded
    if not instance.s_url.startswith(surf.ns.LOCAL):
      crdf.store.load_triples(source = instance.s_url)
    if not instance.o_url.startswith(surf.ns.LOCAL):
      crdf.store.load_triples(source = instance.o_url)
    crdf.add_triple(instance.s_url, instance.connection_type.url, instance.o_url)
Example #4
0
def post_save_connection(instance, sender, **kwargs):    
    crdf = CignoRDF()
    # if external try to load rdf info
    # TODO: use a better test and test if already loaded
    if not instance.s_url.startswith(surf.ns.LOCAL):
      crdf.store.load_triples(source = instance.s_url)
    if not instance.o_url.startswith(surf.ns.LOCAL):
      crdf.store.load_triples(source = instance.o_url)
    crdf.add_triple(instance.s_url, instance.connection_type.url, instance.o_url)
Example #5
0
def post_save_resource(instance, sender, **kwargs):
    logger.debug("POST SAVE titleml %s" % getattr(instance, "titleml"))
    instance.save_to_geonetwork()

    # save CignoResources in RDF
    resource_uri = instance.get_public_url()
    crdf = CignoRDF()
    if instance.gemetkeywords is not None and instance.gemetkeywords != "":
        gemetkeywords = json.loads(instance.gemetkeywords)
    else:
        gemetkeywords = None
    crdf.add_resource_keywords(resource_uri, instance.uuid, instance.mldict("titleml"), gemetkeywords)
    instance.syncGeonames()
Example #6
0
def post_save_resource(instance, sender, **kwargs):    
    logger.debug("POST SAVE titleml %s" % getattr(instance, 'titleml'))
    # syncGeonames has to come first (so geonetwork can use extents
    instance.syncGeonames()

    instance.save_to_geonetwork()

    # save CignoResources in RDF
    resource_uri = instance.get_public_url()
    crdf = CignoRDF()
    if instance.gemetkeywords is not None and instance.gemetkeywords != '':
        gemetkeywords = json.loads(instance.gemetkeywords)
    else:
        gemetkeywords = None
    crdf.add_resource_keywords(resource_uri, 
                               instance.uuid,
                               instance.mldict('titleml'),
                               gemetkeywords
                               )
Example #7
0
def post_save_resource(instance, sender, **kwargs):    
    logger.debug("POST SAVE titleml %s" % getattr(instance, 'titleml'))
    # syncGeonames has to come first (so geonetwork can use extents
    instance.syncGeonames()

    instance.save_to_geonetwork()

    # save CignoResources in RDF
    resource_uri = instance.get_public_url()
    crdf = CignoRDF()
    if instance.gemetkeywords is not None and instance.gemetkeywords != '':
        gemetkeywords = json.loads(instance.gemetkeywords)
    else:
        gemetkeywords = None
    crdf.add_resource_keywords(resource_uri, 
                               instance.uuid,
                               instance.mldict('titleml'),
                               gemetkeywords
                               )
Example #8
0
def render_connections(obj):
    crdf = CignoRDF()
    resource_name = obj.get_absolute_url()
    resource_uri = surf.ns.LOCAL[resource_name]
    resource = crdf.session.get_resource(resource_uri, crdf.CignoResources)
    resource.load()
    # preload
    rdfresource = {'dcterms_subject': []}
    for k in resource.dcterms_subject:
        rdfresource['dcterms_subject'].append({
            'subject': k.subject,
            'label': k.skos_prefLabel.first
        })
    return {'rdfresource': rdfresource}
Example #9
0
 def geonamesGeoJson(self):
     crdf = CignoRDF()
     features= { "type": "FeatureCollection", "features": []}
     geonamesids = []
     if self.geonamesids is not None and len(self.geonamesids) > 0:
         geonamesids = self.geonamesids.split(',')
     for id in geonamesids:
         gn = crdf.GeoNames('http://sws.geonames.org/%s/' % id)
         gn.load()
         long = gn.geo_long[0]
         lat = gn.geo_lat[0]
         feature = {
             'type': "Feature",
             'geometry':  {"type": "Point", "coordinates": [long,  lat]},
             'properties': {
                 'type': 'link',
                 'geonameId': id,
                 'name': lbyl(gn.gn_name),
                 'fcodeName': lbyl(gn.gn_featureCode[0].skos_prefLabel),
                 'countryName': 'Italy'
                 } 
             }
         features['features'].append(feature)
     return features
Example #10
0
def post_delete_layer(instance, sender, **kwargs):
    crdf = CignoRDF()
    crdf.remove(surf.ns.LOCAL[instance.get_absolute_url()])
Example #11
0
def post_delete_resource(instance, sender, **kwargs):
    instance.delete_from_geonetwork()
    
    crdf = CignoRDF()
    crdf.remove(instance.get_public_url())
Example #12
0
def post_delete_layerext(instance, sender, **kwargs):
    crdf = CignoRDF()
    crdf.remove(instance.get_public_url())
Example #13
0
def post_delete_layer(instance, sender, **kwargs):
    crdf = CignoRDF()
    crdf.remove(surf.ns.LOCAL[instance.get_absolute_url()])
Example #14
0
def post_delete_resource(instance, sender, **kwargs):
    instance.delete_from_geonetwork()
    
    crdf = CignoRDF()
    crdf.remove(instance.get_public_url())