Added "remote" field to ThingUser so we can track remote users.

Implemented ThingUser.activitypub_create().
thingy_objects
Marnanel Thurman 2018-10-03 20:26:30 +01:00
rodzic ff44834b34
commit e8d217ac44
1 zmienionych plików z 20 dodań i 7 usunięć

Wyświetl plik

@ -11,6 +11,10 @@ class ThingUser(models.Model):
default='chartreuse',
)
remote = models.BooleanField(
default=True,
)
def __str__(self):
return '[ThingUser {}]'.format(self.name)
@ -33,23 +37,32 @@ class ThingUser(models.Model):
@property
def activity_id(self):
return 'https://example.com/user/{}'.format(
self.name,
)
if self.remote:
return self.name
else:
return 'https://example.com/user/{}'.format(
self.name,
)
@classmethod
def find_activity(cls, url):
PREFIX = "https://example.com/user/"
if not url.startswith(PREFIX):
return None
name = url[len(PREFIX):]
if url.startswith(PREFIX):
name = url[len(PREFIX):]
else:
name = url
return cls.objects.get(name=name)
@classmethod
def activitypub_create(cls, fields):
raise NotImplementedError()
result = cls(
name=fields['id'],
remote=True,
)
result.save()
return result
register_type('Person', ThingUser)