Make scripts/objects lists use EvMore. Change EvMore to not justify by default.
This commit is contained in:
parent
b5aee2c41e
commit
69d85bd184
221 changed files with 2190 additions and 6810 deletions
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
),
|
||||
),
|
||||
],
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
),
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
||||
|
|
|
|||
|
|
@ -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(
|
||||
|
|
|
|||
|
|
@ -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(
|
||||
|
|
|
|||
|
|
@ -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(
|
||||
|
|
|
|||
|
|
@ -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(
|
||||
|
|
|
|||
|
|
@ -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 = []
|
||||
|
|
|
|||
|
|
@ -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(
|
||||
|
|
|
|||
|
|
@ -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")
|
||||
),
|
||||
]
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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))
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue