Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix alembic.util.messaging.msg to properly wrap at terminal width #1385

Closed
wants to merge 3 commits into from

Conversation

saifelse
Copy link
Contributor

@saifelse saifelse commented Jan 5, 2024

Description

Instead of applying indent manually after using textwrap, simply use the textwrap.wrap's initial_indent / subsequent_indent so that it is accounted for when wrapping to width.

Otherwise, each line will actually exceed the terminal width by two characters, since we were prepending two spaces.

Fixes: #1384

Manual Testing

Running the repro in #1384 now produces the expected output:

In a fairly narrow terminal window (e.g. 64 columns wide), run:

python -c 'from alembic.util.messaging import msg; msg("A" * 500)'

Output:

  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAA

馃帀

Checklist

This pull request is:

  • A documentation / typographical error fix
    • Good to go, no issue or tests are needed
  • A short code fix
    • please include the issue number, and create an issue if none exists, which
      must include a complete example of the issue. one line code fixes without an
      issue and demonstration will not be accepted.
    • Please include: Fixes: #<issue number> in the commit message
    • please include tests. one line code fixes without tests will not be accepted.
  • A new feature implementation
    • please include the issue number, and create an issue if none exists, which must
      include a complete example of how the feature would look.
    • Please include: Fixes: #<issue number> in the commit message
    • please include tests.

Have a nice day!

Instead of applying indent manually after using textwrap, simply use the
`textwrap.wrap`'s `initial_indent` / `subsequent_indent` that will taken into
account when wrapping to the specified `width`

Fixes: sqlalchemy#1384
@CaselIT
Copy link
Member

CaselIT commented Jan 5, 2024

Thanks, could you add a changelog file too?

See https://github.com/sqlalchemy/alembic/tree/3452979f0d1fcd42f0a8311642f6ee4e70d6f95c/docs/build/unreleased for examples

Copy link
Collaborator

@sqla-tester sqla-tester left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, this is sqla-tester setting up my work on behalf of CaselIT to try to get revision 3ce8e83 of this pull request into gerrit so we can run tests and reviews and stuff

@sqla-tester
Copy link
Collaborator

New Gerrit review created for change 3ce8e83: https://gerrit.sqlalchemy.org/c/sqlalchemy/alembic/+/5082

Copy link
Collaborator

@sqla-tester sqla-tester left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, this is sqla-tester setting up my work on behalf of CaselIT to try to get revision ff59fa5 of this pull request into gerrit so we can run tests and reviews and stuff

@sqla-tester
Copy link
Collaborator

Patchset ff59fa5 added to existing Gerrit review https://gerrit.sqlalchemy.org/c/sqlalchemy/alembic/+/5082

@saifelse
Copy link
Contributor Author

saifelse commented Jan 5, 2024

Thanks, could you add a changelog file too?

See https://github.com/sqlalchemy/alembic/tree/3452979f0d1fcd42f0a8311642f6ee4e70d6f95c/docs/build/unreleased for examples

Done!

@sqla-tester
Copy link
Collaborator

Michael Bayer (zzzeek) wrote:

thank you!

View this in Gerrit at https://gerrit.sqlalchemy.org/c/sqlalchemy/alembic/+/5082

@sqla-tester
Copy link
Collaborator

Gerrit review https://gerrit.sqlalchemy.org/c/sqlalchemy/alembic/+/5082 has been merged. Congratulations! :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

alembic.util.messaging.msg does not properly wrap at terminal width
3 participants