Skip to content
Snippets Groups Projects
Commit 60b29471 authored by Calum Mackervoy's avatar Calum Mackervoy
Browse files

logger messages for debugging

parent 22ff182b
No related branches found
No related tags found
No related merge requests found
......@@ -10,6 +10,10 @@ from djangoldp.models import Model
from .objects import *
from .verbs import *
import logging
logger = logging.getLogger('djangoldp')
class ActivityPubService(object):
......@@ -18,7 +22,6 @@ class ActivityPubService(object):
@classmethod
def build_object_tree(cls, instance):
'''builds an object tree from a parameterised instance'''
print('build_object_tree')
model = type(instance)
info = model_meta.get_field_info(model)
......@@ -30,7 +33,7 @@ class ActivityPubService(object):
"@id": instance.urlid
}
if obj['@type'] is None:
print('[WARN] model ' + str(model) + ' has no rdf_type')
logger.warning('[Backlink-Creation] model ' + str(model) + ' has no rdf_type')
return
# append relations
......@@ -46,12 +49,11 @@ class ActivityPubService(object):
}
if sub_object['@type'] is None:
print('[WARN] model ' + str(type(value)) + ' has no rdf_type')
logger.warning('[Backlink-Creation] model ' + str(type(value)) + ' has no rdf_type')
continue
obj[field_name] = sub_object
print('built object = ' + str(obj))
return obj
@classmethod
......@@ -74,8 +76,6 @@ class ActivityPubService(object):
'@id': actor.urlid
}
print('objectid ' + str(object['@id']))
print('targetid ' + str(target['@id']))
summary = str(object['@id']) + " was added to " + str(target['@id'])
# TODO: hd context is under @vocab.. does it work with hd:circlemember for example?
......@@ -91,15 +91,13 @@ class ActivityPubService(object):
"target": target
}
print('built activity ' + str(activity))
logger.debug('[Sender] sending add activity ' + str(activity))
inbox = ActivityPubService._discover_inbox(target['@id'])
# send request
t = threading.Thread(target=cls.do_post, args=[inbox, activity])
t.start()
print()
print()
@classmethod
def send_remove_activity(cls, actor, object, origin):
......@@ -116,8 +114,6 @@ class ActivityPubService(object):
'@id': actor.urlid
}
print('objectid ' + str(object['@id']))
print('originid ' + str(origin['@id']))
summary = str(object['@id']) + " was removed from " + str(origin['@id'])
activity = {
......@@ -132,15 +128,13 @@ class ActivityPubService(object):
"origin": origin
}
print('built activity ' + str(activity))
logger.debug('[Sender] sending remove activity ' + str(activity))
inbox = ActivityPubService._discover_inbox(origin['@id'])
# send request
t = threading.Thread(target=cls.do_post, args=[inbox, activity])
t.start()
print()
print()
@classmethod
def send_delete_activity(cls, actor, object, origin):
......@@ -156,7 +150,6 @@ class ActivityPubService(object):
'@id': actor.urlid
}
print('objectid ' + str(object['@id']))
summary = str(object['@id']) + " was deleted"
activity = {
......@@ -170,28 +163,24 @@ class ActivityPubService(object):
"object": object
}
print('built activity ' + str(activity))
logger.debug('[Sender] sending delete activity ' + str(activity))
inbox = ActivityPubService._discover_inbox(origin['@id'])
# send request
t = threading.Thread(target=cls.do_post, args=[inbox, activity])
t.start()
print()
print()
@classmethod
def do_post(cls, url, activity, auth=None):
headers = {'Content-Type': 'application/ld+json'}
print('[THREAD] sending POST to ' + url)
response = requests.post(url, data=json.dumps(activity), headers=headers)
print('[THREAD] sent ' + response.text)
logger.debug('[Sender] sent, receiver responded ' + response.text)
return response
def _check_instance_for_backlinks(sender, instance):
'''Auxiliary function returns a dictionary of backlink targets from paramertised instance'''
print(str(sender))
info = model_meta.get_field_info(sender)
# bounds checking
......@@ -207,7 +196,7 @@ def _check_instance_for_backlinks(sender, instance):
target_type = Model.get_model_rdf_type(type(value))
if target_type is None:
print('[WARN] model ' + str(type(value)) + ' has no rdf_type')
logger.warning('[Create-Backlink] model ' + str(type(value)) + ' has no rdf_type')
continue
targets[value.urlid] = {
......@@ -215,7 +204,7 @@ def _check_instance_for_backlinks(sender, instance):
"@id": value.urlid
}
print('built dict of targets: ' + str(targets))
logger.debug('[Sender] built dict of targets: ' + str(targets))
return targets
......@@ -223,7 +212,7 @@ def _check_instance_for_backlinks(sender, instance):
def check_save_for_backlinks(sender, instance, **kwargs):
if kwargs['created'] is True and not getattr(instance, 'backlink_created', False) \
and getattr(instance, 'allow_create_backlink', False):
print('-save_listener-')
logger.debug('[Sender] Received created non-backlink instance')
targets = _check_instance_for_backlinks(sender, instance)
if len(targets.items()) > 0:
......@@ -238,7 +227,7 @@ def check_save_for_backlinks(sender, instance, **kwargs):
@receiver([post_delete])
def check_delete_for_backlinks(sender, instance, **kwargs):
if getattr(instance, 'allow_create_backlink', False):
print('-delete_listener-')
logger.debug('[Sender] Received deleted non-backlink instance')
targets = _check_instance_for_backlinks(sender, instance)
if len(targets.items()) > 0:
......@@ -259,9 +248,11 @@ def check_m2m_for_backlinks(sender, instance, action, *args, **kwargs):
member_rdf_type = Model.get_model_rdf_type(member_model)
container_rdf_type = Model.get_model_rdf_type(type(instance))
if member_rdf_type is None or container_rdf_type is None:
print(
'an rdf_type was None! (member: ' + str(member_rdf_type) + ", container: " + str(container_rdf_type) + ")")
if member_rdf_type is None:
logger.warning('[Backlink-Creation] model ' + str(member_model) + ' has no rdf_type')
return
if container_rdf_type is None:
logger.warning('[Backlink-Creation] model ' + str(type(instance)) + ' has no rdf_type')
return
# build list of targets (models affected by the change)
......@@ -279,7 +270,8 @@ def check_m2m_for_backlinks(sender, instance, action, *args, **kwargs):
"@id": obj.urlid
})
print('built targets: ' + str(targets))
logger.debug('[Sender] checking many2many for backlinks')
logger.debug('[Sender] built targets: ' + str(targets))
if len(targets) > 0:
obj = {
......@@ -287,7 +279,6 @@ def check_m2m_for_backlinks(sender, instance, action, *args, **kwargs):
"@id": instance.urlid
}
if action == 'post_add':
print('-m2m_post_add_listener-')
for target in targets:
ActivityPubService.send_add_activity({
"type": "Service",
......@@ -295,7 +286,6 @@ def check_m2m_for_backlinks(sender, instance, action, *args, **kwargs):
}, obj, target)
elif action == "post_remove":
print('-m2m_post_remove_listener-')
for target in targets:
ActivityPubService.send_remove_activity({
"type": "Service",
......
......@@ -15,6 +15,10 @@ from django.utils.decorators import classonlymethod
from djangoldp.fields import LDPUrlField
from djangoldp.permissions import LDPPermissions
import logging
logger = logging.getLogger('djangoldp')
class LDPModelManager(models.Manager):
......@@ -152,10 +156,10 @@ class Model(models.Model):
@classonlymethod
def get_or_create(cls, model, urlid, **field_tuples):
try:
print('get_or_create ' + str(model) + ' backlink ' + str(urlid))
logger.debug('[get_or_create] ' + str(model) + ' backlink ' + str(urlid))
return model.objects.get(urlid=urlid)
except ObjectDoesNotExist:
print('creating..')
logger.debug('[get_or_create] creating..')
if model is get_user_model():
field_tuples['username'] = uuid.uuid4()
return model.objects.create(urlid=urlid, backlink_created=True, **field_tuples)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment