Exemplo n.º 1
0
 def disp_rumors(self, caller, rumors, add_heard=True):
     table = evtable.EvTable("{w#{n", "{w%s{n" % self.key.capitalize(),
                             border="cells", width=78, align="l", justify=True)
     x = 0
     heard_rumors = caller.ndb.heard_rumors or []
     week = get_week()
     for rumor in rumors:
         now = time_now()
         if (now - rumor.db_date_created).days > RUMOR_LIFETIME:
             continue
         x += 1
         table.add_row(x, rumor.db_message)
         if add_heard and rumor not in heard_rumors:
             heard_rumors.append(rumor)
     if add_heard:
         caller.ndb.heard_rumors = heard_rumors
     msg = "{w%s{n" % self.key.capitalize().center(78)
     msg += "\n"
     msg += str(table)
     stories = AssignedTask.objects.filter(finished=True, week__gte=week-3, observer_text__isnull=False)
     if stories:
         msg += "\n"
         msg += "{wOther Rumors{n".center(78)
         msg += "\n"
         table = evtable.EvTable("{wRumored Story #{n", "{wWeek{n", border="cells", width=78)
         for story in stories:
             table.add_row(story.id, story.week)
         msg += str(table)
     return arx_more.msg(caller, msg, justify_kwargs=False)
Exemplo n.º 2
0
 def disp_rumors(self, caller, rumors, add_heard=True):
     table = evtable.EvTable("{w#{n", "{wTopic{n", "{w%s{n" % self.key.capitalize(),
                             border="cells", width=78, align="l", justify=True)
     x = 0
     week = get_week()
     heard_rumors = caller.ndb.heard_rumors or []
     for rumor in rumors:
         x += 1
         player = rumor.db_receivers_players.all()
         if not player:
             continue
         player = player[0].key.capitalize()[:12]
         table.add_row(x, player, rumor.db_message)
         if add_heard and rumor not in heard_rumors:
             heard_rumors.append(rumor)
     table.reformat_column(0, width=5)
     table.reformat_column(1, width=12)
     table.reformat_column(2, width=61)
     if add_heard:
         caller.ndb.heard_rumors = heard_rumors
     msg = "{w%s{n" % self.key.capitalize().center(78)
     msg += "\n"
     msg += str(table)
     stories = AssignedTask.objects.filter(finished=True, week__gte=week-3, observer_text__isnull=False)
     if stories:
         msg += "\n"
         msg += "{wOther Rumors{n".center(78)
         msg += "\n"
         table = evtable.EvTable("{wRumored Story #{n", "{wWeek{n", border="cells", width=78)
         for story in stories:
             table.add_row(story.id, story.week)
         msg += str(table)
     return arx_more.msg(caller, msg, justify_kwargs=False)
Exemplo n.º 3
0
 def cleanup_old_praises():
     """Clean up old praises"""
     try:
         from world.dominion.models import PraiseOrCondemn
         qs = PraiseOrCondemn.objects.filter(week__lte=get_week() - 4)
         qs.delete()
     except Exception as err:
         traceback.print_exc()
         print("Error in cleaning praises: %s" % err)
Exemplo n.º 4
0
 def get_current_praises_and_condemns(self):
     """Current praises given by this player character"""
     from server.utils.arx_utils import get_week
     return self.Dominion.praises_given.filter(week=get_week())