[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#942953: debian-timeline: Python2 removal in sid/bullseye



Hi Birger,

Merged and added to debian/changelog.

Thanks! Bye,

Joost

On Sat, Oct 26, 2019 at 09:21:22AM +0200, Birger Schacht wrote:
> Hi,
> 
> I have created a merge request on salsa to migrate debian-timeline to
> python3
> https://salsa.debian.org/publicity-team/debian-timeline/merge_requests/16.
> 
> The same changes are also attached as a patch.
> 
> cheers,
> Birger

> >From 321cdb108f86eb9becd21cd573d294dc0f44cf07 Mon Sep 17 00:00:00 2001
> From: Birger Schacht <birger@rantanplan.org>
> Date: Thu, 24 Oct 2019 09:43:03 +0200
> Subject: [PATCH] Migrate to python3
> 
> This is based on lambys patch to port the tails-timeline to python3
> (see
> https://salsa.debian.org/tails-team/tails-timeline/commit/053b85c715f4d752d1e5c91e2e1498e3a1eec19b)
> ---
>  Makefile       |  2 +-
>  build.py       | 41 +++++++++++++++++++++++++----------------
>  debian/control |  6 +++---
>  3 files changed, 29 insertions(+), 20 deletions(-)
> 
> diff --git a/Makefile b/Makefile
> index 104dbfd..26381b8 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -12,7 +12,7 @@ INSMEDIA := $(addprefix ${DESTDIR}${datadir}/,$(wildcard media/debian*) media/ti
>  
>  xml/%.xml: data/% data/%/* build.py
>  	@mkdir -p xml
> -	python build.py $< >$@
> +	python3 build.py $< >$@
>  
>  media/timeline_js: /usr/share/javascript/timeline_js
>  	ln -sf /usr/share/javascript/timeline_js $@
> diff --git a/build.py b/build.py
> index ec5fd95..c20a256 100755
> --- a/build.py
> +++ b/build.py
> @@ -1,4 +1,4 @@
> -#!/usr/bin/env python
> +#!/usr/bin/env python3
>  
>  import os
>  import sys
> @@ -22,16 +22,18 @@ def main(basedir):
>  
>      for filename in sorted(filenames):
>          if e:
> -            print >>sys.stderr
> -        print >>sys.stderr, "Reading events from %s" % filename,
> -        input = file(filename).read().decode('utf-8').split('\n')
> +            print(file=sys.stderr)
> +        print("Reading events from {}".format(filename), end='', file=sys.stderr)
> +        with open(filename) as f:
> +            input = f.read().split('\n')
>  
>          e = []
>          para_num = 0
>          for para in deb822.Deb822.iter_paragraphs(input, use_apt_pkg=False):
>              if 'Title' not in para:
> -                title = "para %s" % para_num
> -                e.append("Start-Date should be before End-Date for %s" % title)
> +                title = "para {}".format(para_num)
> +                e.append("Start-Date should be before End-Date for {}".format(
> +                         title))
>              else:
>                  title = para['Title']
>              dates = {}
> @@ -41,31 +43,35 @@ def main(basedir):
>                  try:
>                      dates[header] = date_parse(para[header])
>                  except (TypeError, ValueError):
> -                    e.append("Invalid date header %s for %s" % (header, title))
> +                    e.append("Invalid date header {} for {}".format(
> +                        header, title,
> +                    ))
>              if 'Start-Date' in para and 'End-Date' in para:
>                  if 'Start-Date' in dates and 'End-Date' in dates:
>                      if dates['Start-Date'] > dates['End-Date']:
> -                        e.append("Start-Date is after End-Date for %s" % title)
> +                        e.append("Start-Date is after End-Date for {}".format(
> +                                 title))
>              elif 'Start-Date' in para or 'End-Date' in para:
> -                e.append("Missing Start-Date or End-Date for %s" % title)
> +                e.append("Missing Start-Date or End-Date for {}".format(
> +                         title))
>              elif 'Date' not in para:
> -                e.append("Missing date or date range for %s" % title)
> +                e.append("Missing date or date range for {}".format(title))
>              events.appendChild(create_event(doc, para))
>              sys.stderr.write('.')
>              num += 1
>              para_num += 1
> -        print >>sys.stderr
> +        print(file=sys.stderr)
>          if e:
>              for error in e:
> -                print >>sys.stderr, error
> +                print(error, file=sys.stderr)
>              error = True
>  
>      if error:
>          return 1
> -    print >>sys.stderr, "Writing %s events" % num
> +    print("Writing {} events".format(num), file=sys.stderr)
>  
> -    print '<!-- Generated from %s/* - do not edit -->' % basedir
> -    print events.toprettyxml(indent='  ').encode('utf-8')
> +    print('<!-- Generated from {}/* - do not edit -->'.format(basedir))
> +    print(events.toprettyxml(indent='  '))
>  
>  
>  def create_event(doc, para):
> @@ -80,10 +86,13 @@ def create_event(doc, para):
>          entry.setAttribute('start', para['Date'])
>  
>      if 'Source' in para:
> -        text = doc.createTextNode('<a href="%s" target="debian-timeline-source">Source</a>' % para['Source'])
> +        text = doc.createTextNode(
> +            '<a href="{}" target="debian-timeline-source">Source</a>'
> +            .format(para['Source']))
>          entry.appendChild(text)
>  
>      return entry
>  
> +
>  if __name__ == '__main__':
>      sys.exit(main(sys.argv[1]))
> diff --git a/debian/control b/debian/control
> index ee15799..5b87b5e 100644
> --- a/debian/control
> +++ b/debian/control
> @@ -6,9 +6,9 @@ Priority: optional
>  Build-Depends: debhelper-compat (= 12)
>  Build-Depends-Indep: libjs-simile-timeline,
>                       libjs-jquery,
> -                     python,
> -                     python-dateutil,
> -                     python-debian
> +                     python3,
> +                     python3-dateutil,
> +                     python3-debian
>  Standards-Version: 4.4.0
>  Vcs-Browser: https://salsa.debian.org/publicity-team/debian-timeline
>  Vcs-Git: https://salsa.debian.org/publicity-team/debian-timeline.git
> -- 
> 2.23.0
> 


Reply to: