Opened 2 years ago

Closed 2 years ago

#6063 enhancement closed fixed (fixed)

Support arbitrary formatting helpers in FancyStrMixin

Reported by: exarkun Owned by: exarkun
Priority: normal Milestone: Python 3.3 Minimal
Component: core Keywords:
Cc: Branch: branches/fancyfancystrmixin-6063-2
(diff, github, buildbot, log)
Author: exarkun Launchpad Bug:

Description

FancyStrMixin supports the printf-style string formatting specification for controlling how attributes are displayed. This is handy, but printf-style only goes so far. For example, on Python 3, there is no printf-style formatter which operates on bytes instance to produce a "foo\x00"-style output (%s comes with an unwanted b prefix).

Allowing a formatting function to be supplied would let applications format things any way they wish. This is most directly needed by #6057, but is probably more widely useful.

Change History (6)

comment:1 Changed 2 years ago by exarkun

  • Author set to exarkun
  • Branch set to branches/fancyfancystrmixin-6063

(In [35958]) Branching to 'fancyfancystrmixin-6063'

comment:2 Changed 2 years ago by exarkun

  • Branch changed from branches/fancyfancystrmixin-6063 to branches/fancyfancystrmixin-6063-2

(In [35960]) Branching to 'fancyfancystrmixin-6063-2'

comment:3 Changed 2 years ago by exarkun

(In [35961]) Support a callable to format attribute values

refs #6063

comment:4 Changed 2 years ago by exarkun

  • Keywords review added
  • Owner changed from exarkun to itamar

comment:5 Changed 2 years ago by itamar

  • Keywords review removed
  • Owner changed from itamar to exarkun

Sigh. This is turning into an (even more) terrible API. I'm sure we can come up with a new, cleaner approach in our copious spare time. Meanwhile, this seems reasonable, please merge.

comment:6 Changed 2 years ago by exarkun

  • Resolution set to fixed
  • Status changed from new to closed

(In [35964]) Merge fancyfancystrmixin-6063-2

Author: exarkun
Reviewer: itamarst
Fixes: #6063

Add more flexibility to the formatting done by twisted.python.util.FancyStrMixin by
supporting arbitrary callables to format attribute values.

Note: See TracTickets for help on using tickets.