Giacomo Leidi 6f8f96d5b6 cli: inspect: Refactor command.
Now the inspect command can display informations about
different kind of objects including events and publications.

This patch also changes the cli to output columnar values
suitable for further processing with standard Unix
tool, such as awk.

$ mobilizon-reshare.sh inspect publication -s completed | awk '{ print  }' | sort | uniq -c
[2021-12-01 01:05:55,321] [20] [INFO] Tortoise-ORM shutdown
      2 mastodon
      2 telegram
      2 zulip
2021-12-01 01:13:59 +01:00

27 lines
621 B
Python

from enum import IntEnum
from tortoise import fields
from tortoise.models import Model
class PublicationStatus(IntEnum):
FAILED = 0
COMPLETED = 1
class Publication(Model):
id = fields.UUIDField(pk=True)
status = fields.IntEnumField(PublicationStatus)
timestamp = fields.DatetimeField()
reason = fields.TextField(null=True)
event = fields.ForeignKeyField("models.Event", related_name="publications")
publisher = fields.ForeignKeyField("models.Publisher", related_name="publications")
def __str__(self):
return f"{self.id}"
class Meta:
table = "publication"