Make scripts/objects lists use EvMore. Change EvMore to not justify by default.

This commit is contained in:
Griatch 2020-01-11 15:49:12 +01:00
parent b5aee2c41e
commit 69d85bd184
221 changed files with 2190 additions and 6810 deletions

View file

@ -117,9 +117,7 @@ class ChannelAdmin(admin.ModelAdmin):
from django.http import HttpResponseRedirect
from django.urls import reverse
return HttpResponseRedirect(
reverse("admin:comms_channeldb_change", args=[obj.id])
)
return HttpResponseRedirect(reverse("admin:comms_channeldb_change", args=[obj.id]))
admin.site.register(ChannelDB, ChannelAdmin)

View file

@ -129,16 +129,11 @@ class ChannelCommand(command.Command):
return
if self.history_start is not None:
# Try to view history
log_file = channel.attributes.get(
"log_file", default="channel_%s.log" % channel.key
)
log_file = channel.attributes.get("log_file", default="channel_%s.log" % channel.key)
def send_msg(lines):
return self.msg(
"".join(
line.split("[-]", 1)[1] if "[-]" in line else line
for line in lines
)
"".join(line.split("[-]", 1)[1] if "[-]" in line else line for line in lines)
)
tail_log_file(log_file, self.history_start, 20, callback=send_msg)

View file

@ -301,13 +301,7 @@ class DefaultChannel(ChannelDB, metaclass=TypeclassBase):
CHANNELHANDLER.update()
def message_transform(
self,
msgobj,
emit=False,
prefix=True,
sender_strings=None,
external=False,
**kwargs,
self, msgobj, emit=False, prefix=True, sender_strings=None, external=False, **kwargs
):
"""
Generates the formatted string sent to listeners on a channel.
@ -361,9 +355,7 @@ class DefaultChannel(ChannelDB, metaclass=TypeclassBase):
# note our addition of the from_channel keyword here. This could be checked
# by a custom account.msg() to treat channel-receives differently.
entity.msg(
msgobj.message,
from_obj=msgobj.senders,
options={"from_channel": self.id},
msgobj.message, from_obj=msgobj.senders, options={"from_channel": self.id}
)
except AttributeError as e:
logger.log_trace("%s\nCannot send msg to '%s'." % (e, entity))
@ -371,8 +363,7 @@ class DefaultChannel(ChannelDB, metaclass=TypeclassBase):
if msgobj.keep_log:
# log to file
logger.log_file(
msgobj.message,
self.attributes.get("log_file") or "channel_%s.log" % self.key,
msgobj.message, self.attributes.get("log_file") or "channel_%s.log" % self.key
)
def msg(
@ -426,9 +417,7 @@ class DefaultChannel(ChannelDB, metaclass=TypeclassBase):
senders = make_iter(senders) if senders else []
if isinstance(msgobj, str):
# given msgobj is a string - convert to msgobject (always TempMsg)
msgobj = TempMsg(
senders=senders, header=header, message=msgobj, channels=[self]
)
msgobj = TempMsg(senders=senders, header=header, message=msgobj, channels=[self])
# we store the logging setting for use in distribute_message()
msgobj.keep_log = keep_log if keep_log is not None else self.db.keep_log
@ -689,8 +678,7 @@ class DefaultChannel(ChannelDB, metaclass=TypeclassBase):
"""
content_type = ContentType.objects.get_for_model(self.__class__)
return reverse(
"admin:%s_%s_change" % (content_type.app_label, content_type.model),
args=(self.id,),
"admin:%s_%s_change" % (content_type.app_label, content_type.model), args=(self.id,)
)
@classmethod

View file

@ -205,30 +205,24 @@ class MsgManager(TypedObjectManager):
# explicitly exclude channel recipients
if typ == "account":
return list(
self.filter(
db_sender_accounts=obj, db_receivers_channels__isnull=True
).exclude(db_hide_from_accounts=obj)
self.filter(db_sender_accounts=obj, db_receivers_channels__isnull=True).exclude(
db_hide_from_accounts=obj
)
)
elif typ == "object":
return list(
self.filter(
db_sender_objects=obj, db_receivers_channels__isnull=True
).exclude(db_hide_from_objects=obj)
self.filter(db_sender_objects=obj, db_receivers_channels__isnull=True).exclude(
db_hide_from_objects=obj
)
)
else:
raise CommError
else:
# get everything, channel or not
if typ == "account":
return list(
self.filter(db_sender_accounts=obj).exclude(
db_hide_from_accounts=obj
)
)
return list(self.filter(db_sender_accounts=obj).exclude(db_hide_from_accounts=obj))
elif typ == "object":
return list(
self.filter(db_sender_objects=obj).exclude(db_hide_from_objects=obj)
)
return list(self.filter(db_sender_objects=obj).exclude(db_hide_from_objects=obj))
else:
raise CommError
@ -248,21 +242,11 @@ class MsgManager(TypedObjectManager):
"""
obj, typ = identify_object(recipient)
if typ == "account":
return list(
self.filter(db_receivers_accounts=obj).exclude(
db_hide_from_accounts=obj
)
)
return list(self.filter(db_receivers_accounts=obj).exclude(db_hide_from_accounts=obj))
elif typ == "object":
return list(
self.filter(db_receivers_objects=obj).exclude(db_hide_from_objects=obj)
)
return list(self.filter(db_receivers_objects=obj).exclude(db_hide_from_objects=obj))
elif typ == "channel":
return list(
self.filter(db_receivers_channels=obj).exclude(
db_hide_from_channels=obj
)
)
return list(self.filter(db_receivers_channels=obj).exclude(db_hide_from_channels=obj))
else:
raise CommError
@ -277,9 +261,7 @@ class MsgManager(TypedObjectManager):
messages (list): Persistent Msg objects saved for this channel.
"""
return self.filter(db_receivers_channels=channel).exclude(
db_hide_from_channels=channel
)
return self.filter(db_receivers_channels=channel).exclude(db_hide_from_channels=channel)
def search_message(self, sender=None, receiver=None, freetext=None, dbref=None):
"""
@ -315,13 +297,9 @@ class MsgManager(TypedObjectManager):
# filter by sender
sender, styp = identify_object(sender)
if styp == "account":
sender_restrict = Q(db_sender_accounts=sender) & ~Q(
db_hide_from_accounts=sender
)
sender_restrict = Q(db_sender_accounts=sender) & ~Q(db_hide_from_accounts=sender)
elif styp == "object":
sender_restrict = Q(db_sender_objects=sender) & ~Q(
db_hide_from_objects=sender
)
sender_restrict = Q(db_sender_objects=sender) & ~Q(db_hide_from_objects=sender)
else:
sender_restrict = Q()
# filter by receiver
@ -331,9 +309,7 @@ class MsgManager(TypedObjectManager):
db_hide_from_accounts=receiver
)
elif rtyp == "object":
receiver_restrict = Q(db_receivers_objects=receiver) & ~Q(
db_hide_from_objects=receiver
)
receiver_restrict = Q(db_receivers_objects=receiver) & ~Q(db_hide_from_objects=receiver)
elif rtyp == "channel":
receiver_restrict = Q(db_receivers_channels=receiver) & ~Q(
db_hide_from_channels=receiver
@ -342,15 +318,11 @@ class MsgManager(TypedObjectManager):
receiver_restrict = Q()
# filter by full text
if freetext:
fulltext_restrict = Q(db_header__icontains=freetext) | Q(
db_message__icontains=freetext
)
fulltext_restrict = Q(db_header__icontains=freetext) | Q(db_message__icontains=freetext)
else:
fulltext_restrict = Q()
# execute the query
return list(
self.filter(sender_restrict & receiver_restrict & fulltext_restrict)
)
return list(self.filter(sender_restrict & receiver_restrict & fulltext_restrict))
# back-compatibility alias
message_search = search_message
@ -447,17 +419,12 @@ class ChannelDBManager(TypedObjectManager):
if exact:
channels = self.filter(
Q(db_key__iexact=ostring)
| Q(
db_tags__db_tagtype__iexact="alias", db_tags__db_key__iexact=ostring
)
| Q(db_tags__db_tagtype__iexact="alias", db_tags__db_key__iexact=ostring)
).distinct()
else:
channels = self.filter(
Q(db_key__icontains=ostring)
| Q(
db_tags__db_tagtype__iexact="alias",
db_tags__db_key__icontains=ostring,
)
| Q(db_tags__db_tagtype__iexact="alias", db_tags__db_key__icontains=ostring)
).distinct()
return channels

View file

@ -15,16 +15,10 @@ class Migration(migrations.Migration):
(
"id",
models.AutoField(
verbose_name="ID",
serialize=False,
auto_created=True,
primary_key=True,
verbose_name="ID", serialize=False, auto_created=True, primary_key=True
),
),
(
"db_key",
models.CharField(max_length=255, verbose_name="key", db_index=True),
),
("db_key", models.CharField(max_length=255, verbose_name="key", db_index=True)),
(
"db_typeclass_path",
models.CharField(
@ -36,9 +30,7 @@ class Migration(migrations.Migration):
),
(
"db_date_created",
models.DateTimeField(
auto_now_add=True, verbose_name="creation date"
),
models.DateTimeField(auto_now_add=True, verbose_name="creation date"),
),
(
"db_lock_storage",
@ -58,10 +50,7 @@ class Migration(migrations.Migration):
(
"id",
models.AutoField(
verbose_name="ID",
serialize=False,
auto_created=True,
primary_key=True,
verbose_name="ID", serialize=False, auto_created=True, primary_key=True
),
),
(
@ -74,10 +63,7 @@ class Migration(migrations.Migration):
db_index=True,
),
),
(
"db_header",
models.TextField(null=True, verbose_name="header", blank=True),
),
("db_header", models.TextField(null=True, verbose_name="header", blank=True)),
("db_message", models.TextField(verbose_name="messsage")),
(
"db_date_sent",
@ -88,17 +74,13 @@ class Migration(migrations.Migration):
(
"db_lock_storage",
models.TextField(
help_text="access locks on this message.",
verbose_name="locks",
blank=True,
help_text="access locks on this message.", verbose_name="locks", blank=True
),
),
(
"db_hide_from_channels",
models.ManyToManyField(
related_name="hide_from_channels_set",
null=True,
to="comms.ChannelDB",
related_name="hide_from_channels_set", null=True, to="comms.ChannelDB"
),
),
],

View file

@ -19,9 +19,7 @@ class Migration(migrations.Migration):
model_name="msg",
name="db_hide_from_accounts",
field=models.ManyToManyField(
related_name="hide_from_accounts_set",
null=True,
to=settings.AUTH_USER_MODEL,
related_name="hide_from_accounts_set", null=True, to=settings.AUTH_USER_MODEL
),
preserve_default=True,
),

View file

@ -6,9 +6,7 @@ from django.db import models, migrations
def convert_defaults(apps, schema_editor):
ChannelDB = apps.get_model("comms", "ChannelDB")
for channel in ChannelDB.objects.filter(
db_typeclass_path="src.comms.comms.Channel"
):
for channel in ChannelDB.objects.filter(db_typeclass_path="src.comms.comms.Channel"):
channel.db_typeclass_path = "typeclasses.channels.Channel"
channel.save()

View file

@ -6,10 +6,7 @@ from django.db import models, migrations
class Migration(migrations.Migration):
dependencies = [
("objects", "0004_auto_20150118_1622"),
("comms", "0005_auto_20150223_1517"),
]
dependencies = [("objects", "0004_auto_20150118_1622"), ("comms", "0005_auto_20150223_1517")]
operations = [
migrations.AddField(

View file

@ -15,20 +15,14 @@ class Migration(migrations.Migration):
model_name="msg",
name="db_hide_from_channels",
field=models.ManyToManyField(
blank=True,
null=True,
related_name="hide_from_channels_set",
to="comms.ChannelDB",
blank=True, null=True, related_name="hide_from_channels_set", to="comms.ChannelDB"
),
),
migrations.AlterField(
model_name="msg",
name="db_hide_from_objects",
field=models.ManyToManyField(
blank=True,
null=True,
related_name="hide_from_objects_set",
to="objects.ObjectDB",
blank=True, null=True, related_name="hide_from_objects_set", to="objects.ObjectDB"
),
),
migrations.AlterField(

View file

@ -7,10 +7,7 @@ from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("scripts", "0007_auto_20150403_2339"),
("comms", "0010_auto_20161206_1912"),
]
dependencies = [("scripts", "0007_auto_20150403_2339"), ("comms", "0010_auto_20161206_1912")]
operations = [
migrations.AddField(

View file

@ -67,9 +67,7 @@ class Migration(migrations.Migration):
model_name="msg",
name="db_hide_from_accounts",
field=models.ManyToManyField(
blank=True,
related_name="hide_from_accounts_set",
to=settings.AUTH_USER_MODEL,
blank=True, related_name="hide_from_accounts_set", to=settings.AUTH_USER_MODEL
),
),
migrations.AlterField(

View file

@ -7,9 +7,6 @@ from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("comms", "0011_auto_20170606_1731"),
("comms", "0011_auto_20170217_2039"),
]
dependencies = [("comms", "0011_auto_20170606_1731"), ("comms", "0011_auto_20170217_2039")]
operations = []

View file

@ -116,9 +116,7 @@ class Migration(migrations.Migration):
model_name="msg",
name="db_hide_from_accounts",
field=models.ManyToManyField(
blank=True,
related_name="hide_from_accounts_set",
to="accounts.AccountDB",
blank=True, related_name="hide_from_accounts_set", to="accounts.AccountDB"
),
),
migrations.AddField(

View file

@ -12,8 +12,6 @@ class Migration(migrations.Migration):
operations = [
migrations.RemoveField(model_name="channeldb", name="db_subscriptions"),
migrations.AlterField(
model_name="msg",
name="db_message",
field=models.TextField(verbose_name="message"),
model_name="msg", name="db_message", field=models.TextField(verbose_name="message")
),
]

View file

@ -80,9 +80,7 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name="msg",
name="db_date_created",
field=models.DateTimeField(
auto_now_add=True, db_index=True, verbose_name="date sent"
),
field=models.DateTimeField(auto_now_add=True, db_index=True, verbose_name="date sent"),
),
migrations.AlterField(
model_name="msg",
@ -93,15 +91,11 @@ class Migration(migrations.Migration):
model_name="msg",
name="db_lock_storage",
field=models.TextField(
blank=True,
help_text="access locks on this message.",
verbose_name="locks",
blank=True, help_text="access locks on this message.", verbose_name="locks"
),
),
migrations.AlterField(
model_name="msg",
name="db_message",
field=models.TextField(verbose_name="message"),
model_name="msg", name="db_message", field=models.TextField(verbose_name="message")
),
migrations.AlterField(
model_name="msg",

View file

@ -134,10 +134,7 @@ class Msg(SharedMemoryModel):
help_text="script_receivers",
)
db_receivers_channels = models.ManyToManyField(
"ChannelDB",
related_name="channel_set",
blank=True,
help_text="channel recievers",
"ChannelDB", related_name="channel_set", blank=True, help_text="channel recievers"
)
# header could be used for meta-info about the message if your system needs
@ -487,8 +484,7 @@ class TempMsg(object):
"""
senders = ",".join(obj.key for obj in self.senders)
receivers = ",".join(
["[%s]" % obj.key for obj in self.channels]
+ [obj.key for obj in self.receivers]
["[%s]" % obj.key for obj in self.channels] + [obj.key for obj in self.receivers]
)
return "%s->%s: %s" % (senders, receivers, crop(self.message, width=40))