[
https://issues.apache.org/jira/browse/CASSANDRA-17287?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Brad Schoening updated CASSANDRA-17287:
---------------------------------------
Test and Documentation Plan:
I ran the cqlsh unit test with nose2. I also tested the visual display of
tabular output looks correctly formatted.
!image-2022-01-27-08-58-39-345.png!
As noted above in the initial comment, both version of the only function we
use, wcwidth.wcswidth(), return the same value in the cqlsh implementing being
decommissioned and the pypi module.
from wcwidth import wcswidth # at [https://pypi.org/project/wcwidth/]
print(wcswidth('コンニチハ'))
10
{{from cqlshlib.wcwidth import wcswidth as cql_wcswidth}}
print(cql_wcswidth('コンニチハ'))
10
Status: Patch Available (was: In Progress)
Replace local implementation of wcwidth with library version. It should
function identically, as both are based on the same algorithm defined in in
POSIX.1-2008.
> Replace cqlshlib/wcwidth.py with pypi module 'wcwidth'
> ------------------------------------------------------
>
> Key: CASSANDRA-17287
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17287
> Project: Cassandra
> Issue Type: Task
> Components: CQL/Interpreter
> Reporter: Brad Schoening
> Assignee: Brad Schoening
> Priority: Normal
> Fix For: 4.x
>
>
> The module wcwidth implements the same Markus Kuhn algorithm defined in
> POSIX.1-2008 to return the number of cells a unicode string is expected to
> occupy.
> The module wcwidth is used by hundreds of libraries including pytest and
> prompt-toolkit (used in ipython). It would replace 379 lines of bespoke code
> in cqlshlib.
> {quote}from wcwidth import wcswidth # at [https://pypi.org/project/wcwidth/]
> print(wcswidth('コンニチハ'))
> 10
> {{from cqlshlib.wcwidth import wcswidth as cql_wcswidth}}
> print(cql_wcswidth('コンニチハ'))
> 10
> {quote}
> wcwidth appears to be used only by one line in formatting.py:
> return bval if colormap is NO_COLOR_MAP else color_text(bval, colormap,
> wcwidth.wcswidth(bval))
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]