Bug#936313: [PATCH 1/3] Port to python3
Antonio, this package is orphaned - just go ahead and do a QA upload for it :)
On Mon, Nov 25, 2019 at 10:27 AM Antonio Terceiro <terceiro@debian.org> wrote:
>
> ---
> cmdtest | 2 +-
> setup.py | 8 ++++----
> yarn | 20 +++++++++-----------
> yarnlib/mdparser.py | 11 +++++------
> 4 files changed, 19 insertions(+), 22 deletions(-)
>
> diff --git a/cmdtest b/cmdtest
> index 1d60900..5a3f445 100755
> --- a/cmdtest
> +++ b/cmdtest
> @@ -1,4 +1,4 @@
> -#!/usr/bin/env python
> +#!/usr/bin/env python3
> # Copyright 2011 Lars Wirzenius
> #
> # This program is free software: you can redistribute it and/or modify
> diff --git a/setup.py b/setup.py
> index 9ba00a2..1c11194 100644
> --- a/setup.py
> +++ b/setup.py
> @@ -1,4 +1,4 @@
> -#!/usr/bin/python
> +#!/usr/bin/python3
> # Copyright (C) 2011 Lars Wirzenius <liw@liw.fi>
> #
> # This program is free software; you can redistribute it and/or modify
> @@ -43,13 +43,13 @@ class GenerateManpage(build):
>
> def run(self):
> build.run(self)
> - print 'building manpages'
> + print('building manpages')
> cmds = ['cmdtest']
> if markdown_version:
> cmds.append('yarn')
> for x in cmds:
> with open('%s.1' % x, 'w') as f:
> - subprocess.check_call(['python', x,
> + subprocess.check_call(['python3', x,
> '--generate-manpage=%s.1.in' % x,
> '--output=%s.1' % x], stdout=f)
>
> @@ -76,7 +76,7 @@ class Check(Command):
> def run(self):
> if markdown_version:
> subprocess.check_call(
> - ['python', '-m', 'CoverageTestRunner',
> + ['python3', '-m', 'CoverageTestRunner',
> '--ignore-missing-from', 'without-tests'])
> if os.path.exists('.coverage'):
> os.remove('.coverage')
> diff --git a/yarn b/yarn
> index d67c115..ca2035f 100755
> --- a/yarn
> +++ b/yarn
> @@ -1,4 +1,4 @@
> -#!/usr/bin/env python
> +#!/usr/bin/env python3
> # Copyright 2013 Lars Wirzenius
> #
> # This program is free software: you can redistribute it and/or modify
> @@ -116,8 +116,6 @@ class YarnRunner(cliapp.Application):
> self._write(sys.stderr, msg)
>
> def _write(self, output, msg):
> - if isinstance(msg, unicode):
> - msg = msg.encode(locale.getpreferredencoding())
> output.write(msg)
> output.flush()
>
> @@ -332,7 +330,7 @@ class YarnRunner(cliapp.Application):
> started = time.time()
>
> self.info(0, 'Running scenario %s' % scenario.name)
> - self.ts['scenario_name'] = scenario.name.encode('utf-8')
> + self.ts['scenario_name'] = scenario.name
> self.ts.flush()
> self.scenarios_run += 1
>
> @@ -450,7 +448,7 @@ class YarnRunner(cliapp.Application):
>
> self.info(1, 'Running step "%s %s"' % (step.what, step.text))
> self.ts['current_step'] = step
> - self.ts['step_name'] = '%s %s' % (step.what, step.text.encode('utf8'))
> + self.ts['step_name'] = '%s %s' % (step.what, step.text)
> self.ts.flush()
> self.steps_run += 1
>
> @@ -461,7 +459,7 @@ class YarnRunner(cliapp.Application):
> env['SRCDIR'] = os.getcwd()
> env['HOME'] = self.homedir(datadir)
> for i, match in enumerate(m.groups('')):
> - env['MATCH_%d' % (i+1)] = match.encode('utf-8')
> + env['MATCH_%d' % (i+1)] = match
> self.add_srcdir_to_pythonpath(env, env['SRCDIR'])
>
> if self.settings['cd-datadir']:
> @@ -487,11 +485,11 @@ class YarnRunner(cliapp.Application):
>
> logging.debug('Exit code: %d' % exit)
> if stdout:
> - logging.debug('Standard output:\n%s' % self.indent(stdout))
> + logging.debug('Standard output:\n%s' % self.indent(stdout.decode()))
> else:
> logging.debug('Standard output: empty')
> if stderr:
> - logging.debug('Standard error:\n%s' % self.indent(stderr))
> + logging.debug('Standard error:\n%s' % self.indent(stderr.decode()))
> else:
> logging.debug('Standard error: empty')
>
> @@ -500,9 +498,9 @@ class YarnRunner(cliapp.Application):
> self.error('step "%s %s" failed,' % (step.what, step.text))
> self.error('with exit code %d:' % exit)
> self.error('Standard output from shell command:\n%s' %
> - self.indent(stdout))
> + self.indent(stdout.decode()))
> self.error('Standard error from shell command:\n%s' %
> - self.indent(stderr))
> + self.indent(stderr.decode()))
>
> self.remember_step_timing(
> '%s %s' % (step.what, step.text), time.time() - started)
> @@ -541,7 +539,7 @@ class YarnRunner(cliapp.Application):
> exit, out, err = cliapp.runcmd_unchecked(
> ['cp', '-ax', datadir, snapshot])
> if exit != 0:
> - logging.warning('Snapshot copy failed:\n%s\n%s' % (out, err))
> + logging.warning('Snapshot copy failed:\n%s\n%s' % (out.decode(), err.decode()))
>
> def nice(self, name):
> # Quote a scenario or step name so it forms a nice filename.
> diff --git a/yarnlib/mdparser.py b/yarnlib/mdparser.py
> index 67851ec..9adf057 100644
> --- a/yarnlib/mdparser.py
> +++ b/yarnlib/mdparser.py
> @@ -17,9 +17,9 @@
>
>
> import logging
> -import HTMLParser
> +import html.parser
> import markdown
> -import StringIO
> +import io
> from markdown.treeprocessors import Treeprocessor
>
>
> @@ -41,7 +41,7 @@ class GatherCodeBlocks(Treeprocessor):
> self.blocks = blocks
>
> def run(self, root):
> - h = HTMLParser.HTMLParser()
> + h = html.parser.HTMLParser()
> for child in root.getchildren():
> if child.tag == 'pre':
> code = child.find('code')
> @@ -68,13 +68,12 @@ class MarkdownParser(object):
>
> def parse_string(self, text):
> ext = ParseScenarioTestBlocks()
> - f = StringIO.StringIO()
> + f = io.StringIO()
> markdown.markdown(text, output=f, extensions=[ext])
> self.blocks.extend(ext.blocks)
> return ext.blocks
>
> def parse_file(self, filename): # pragma: no cover
> with open(filename) as f:
> - binary = f.read()
> - text = binary.decode('utf-8')
> + text = f.read()
> return self.parse_string(text)
> --
> 2.24.0
>
--
Sandro "morph" Tosi
My website: http://sandrotosi.me/
Me at Debian: http://wiki.debian.org/SandroTosi
Twitter: https://twitter.com/sandrotosi
Reply to: