zestsoftware / zest.releaser

Python software releasing made easy and repeatable
https://zestreleaser.readthedocs.io
GNU General Public License v2.0
198 stars 62 forks source link

% in password breaks upload #271

Closed brainwane closed 6 years ago

brainwane commented 6 years ago

My password was:

cfEc9!vIqv%bjv4Imy^1@WJali0r6w0%GM%HwpJlzbm*0

From a fullrelease error log:

Showing last few lines...
Writing mauritstestpackage-sumana-version-1.23/setup.cfg
creating dist
Creating tar archive
removing 'mauritstestpackage-sumana-version-1.23' (and everything under it)

Upload to testpypi (Y/n)? Y
Traceback (most recent call last):
  File "/home/sumanah/.virtualenvs/twine-test-15-mar-2018/bin/fullrelease", line 11, in <module>
    sys.exit(main())
  File "/home/sumanah/.virtualenvs/twine-test-15-mar-2018/lib/python3.6/site-packages/zest/releaser/fullrelease.py", line 27, in main
    releaser.run()
  File "/home/sumanah/.virtualenvs/twine-test-15-mar-2018/lib/python3.6/site-packages/zest/releaser/baserelease.py", line 353, in run
    self.execute()
  File "/home/sumanah/.virtualenvs/twine-test-15-mar-2018/lib/python3.6/site-packages/zest/releaser/release.py", line 75, in execute
    self._release()
  File "/home/sumanah/.virtualenvs/twine-test-15-mar-2018/lib/python3.6/site-packages/zest/releaser/release.py", line 324, in _release
    self._upload_distributions(package)
  File "/home/sumanah/.virtualenvs/twine-test-15-mar-2018/lib/python3.6/site-packages/zest/releaser/release.py", line 174, in _upload_distributions
    self._retry_twine('upload', server, filename)
  File "/home/sumanah/.virtualenvs/twine-test-15-mar-2018/lib/python3.6/site-packages/zest/releaser/release.py", line 191, in _retry_twine
    repository = self._get_repository(server)
  File "/home/sumanah/.virtualenvs/twine-test-15-mar-2018/lib/python3.6/site-packages/zest/releaser/release.py", line 180, in _get_repository
    **self.pypiconfig.get_server_config(server))
  File "/home/sumanah/.virtualenvs/twine-test-15-mar-2018/lib/python3.6/site-packages/zest/releaser/pypi.py", line 186, in get_server_config
    password = self.config.get(server, 'password')
  File "/usr/local/lib/python3.6/configparser.py", line 800, in get
    d)
  File "/usr/local/lib/python3.6/configparser.py", line 394, in before_get
    self._interpolate_some(parser, option, L, value, section, defaults, 1)
  File "/usr/local/lib/python3.6/configparser.py", line 444, in _interpolate_some
    "found: %r" % (rest,))
configparser.InterpolationSyntaxError: '%' must be followed by '%' or '(', found: '%bjv4Imy^1@WJali0r6w0%GM%HwpJlzbm*0'

I had previously been able to upload to Test PyPI, earlier in the day, with this same password, directly using twine upload.

mauritsvanrees commented 6 years ago

I can reproduce this. Should be fixed with PR #274.