#726 use python-humanize
Merged 4 years ago by praiskup. Opened 4 years ago by msuchy.
copr/ msuchy/copr humanize  into  master

file modified
+4
@@ -32,12 +32,14 @@ 

  Requires:      python3-copr >= 1.89

  Requires:      python3-jinja2

  Requires:      python3-simplejson

+ Requires:      python3-humanize

  

  Recommends:    python3-progress

  

  BuildRequires: python3-copr >= 1.89

  BuildRequires: python3-devel

  BuildRequires: python3-jinja2

+ BuildRequires: python3-humanize

  BuildRequires: python3-pylint

  BuildRequires: python3-pytest

  BuildRequires: python3-setuptools
@@ -47,11 +49,13 @@ 

  Requires:      python-copr >= 1.89

  Requires:      python-jinja2

  Requires:      python-simplejson

+ Requires:      python-humanize

  

  BuildRequires: pytest

  BuildRequires: python-copr >= 1.89

  BuildRequires: python-devel

  BuildRequires: python-jinja2

+ BuildRequires: python-humanize

  BuildRequires: python-mock

  BuildRequires: python-setuptools

  BuildRequires: python-simplejson

file modified
+3 -13
@@ -1,5 +1,6 @@ 

  # coding: utf-8

  

+ import humanize

  import simplejson

  

  
@@ -11,28 +12,17 @@ 

      progress = True

  

  

- def format_size(bytes_in):

-     if bytes_in > 1000 * 1000:

-         return '%.1fMB' % (bytes_in / 1000.0 / 1000)

-     elif bytes_in > 10 * 1000:

-         return '%ikB' % (bytes_in / 1000)

-     elif bytes_in > 1000:

-         return '%.1fkB' % (bytes_in / 1000.0)

-     else:

-         return '%ibytes' % bytes_in

- 

- 

  class ProgressMixin(object):

  

      @property

      def download_speed(self):

          if self.avg == 0.0:

              return "..."

-         return format_size(1 / self.avg) + "/s"

+         return "{0}/s".format(humanize.naturalsize(1 / self.avg))

  

      @property

      def downloaded(self):

-         return format_size(self.index)

+         return humanize.naturalsize(self.index)

  

  

  class DummyBar(object):

file modified
+52 -50
@@ -56,8 +56,8 @@ 

  

  BuildArch:  noarch

  

- BuildRequires: util-linux

  BuildRequires: systemd

+ BuildRequires: util-linux

  

  %if %{with doc}

  BuildRequires: epydoc
@@ -67,90 +67,92 @@ 

  BuildRequires: python3-devel

  

  %if %{with check}

- BuildRequires: python3-yaml

+ BuildRequires: libmodulemd < 2

+ BuildRequires: libmodulemd >= 1.7.0

+ BuildRequires: python3-CommonMark

+ BuildRequires: python3-blinker

  BuildRequires: python3-copr-common > 0.4

- BuildRequires: python3-six

+ BuildRequires: python3-dateutil

+ BuildRequires: python3-decorator

  BuildRequires: python3-flask

+ BuildRequires: python3-flask-openid

+ BuildRequires: python3-flask-restful

  BuildRequires: python3-flask-script

  BuildRequires: python3-flask-sqlalchemy

- BuildRequires: python3-flask-openid

+ BuildRequires: python3-flask-whooshee

+ BuildRequires: python3-flask-wtf

+ BuildRequires: python3-gobject

  BuildRequires: python3-html5-parser

+ BuildRequires: python3-humanize

  BuildRequires: python3-lxml

- BuildRequires: python3-wtforms >= 2.2.1

+ BuildRequires: python3-markdown

+ BuildRequires: python3-marshmallow >= 2.0.0

+ BuildRequires: python3-munch

+ BuildRequires: python3-netaddr

  BuildRequires: python3-openid-teams

+ BuildRequires: python3-pygments

  BuildRequires: python3-pylibravatar

- BuildRequires: python3-flask-wtf

- BuildRequires: python3-netaddr

- BuildRequires: python3-redis

- BuildRequires: python3-dateutil

  BuildRequires: python3-pytest

- BuildRequires: python3-decorator

- BuildRequires: python3-markdown

  BuildRequires: python3-pytz

- BuildRequires: python3-flask-restful

- BuildRequires: python3-marshmallow >= 2.0.0

+ BuildRequires: python3-redis

+ BuildRequires: python3-requests

+ BuildRequires: python3-six

  BuildRequires: python3-sphinx

  BuildRequires: python3-sphinxcontrib-httpdomain

  BuildRequires: python3-whoosh

- BuildRequires: python3-blinker

- BuildRequires: python3-munch

- BuildRequires: python3-CommonMark

- BuildRequires: python3-pygments

- BuildRequires: python3-flask-whooshee

- BuildRequires: python3-gobject

- BuildRequires: libmodulemd < 2

- BuildRequires: libmodulemd >= 1.7.0

- BuildRequires: python3-requests

+ BuildRequires: python3-wtforms >= 2.2.1

+ BuildRequires: python3-yaml

  BuildRequires: redis

  %endif

  

- Requires: httpd

+ Requires: crontabs

  Requires: curl

+ Requires: httpd

  Requires: redis

- Requires: crontabs

  

  Requires: %flavor_guard

  

+ Requires: (copr-selinux if selinux-policy-targeted)

+ Requires: js-html5shiv

+ Requires: js-jquery1

+ Requires: js-respond

+ Requires: libmodulemd < 2

+ Requires: libmodulemd >= 1.7.0

+ Requires: python3-CommonMark

  Requires: python3-alembic

- Requires: python3-mod_wsgi

+ Requires: python3-blinker

+ Requires: python3-copr-common > 0.4

  Requires: python3-dateutil

  Requires: python3-flask

- Requires: python3-flask-wtf

- Requires: python3-flask-sqlalchemy

+ Requires: python3-flask-openid

+ Requires: python3-flask-restful

  Requires: python3-flask-script

+ Requires: python3-flask-sqlalchemy

  Requires: python3-flask-whooshee

+ Requires: python3-flask-wtf

+ Requires: python3-flask-wtf

+ Requires: python3-gobject

  Requires: python3-html5-parser

+ Requires: python3-humanize

  Requires: python3-lxml

- Requires: python3-pytz

  Requires: python3-markdown

- Requires: python3-netaddr

- Requires: python3-redis

- Requires: python3-pylibravatar

- Requires: python3-wtforms >= 2.2.1

- Requires: python3-flask-wtf

- Requires: python3-flask-restful

  Requires: python3-marshmallow

- Requires: python3-blinker

- Requires: python3-flask-openid

+ Requires: python3-mod_wsgi

+ Requires: python3-munch

+ Requires: python3-netaddr

  Requires: python3-openid-teams

- Requires: python3-gobject

- Requires: libmodulemd < 2

- Requires: libmodulemd >= 1.7.0

- Requires: python3-pygments

- Requires: python3-CommonMark

  Requires: python3-psycopg2

- Requires: python3-zmq

- Requires: python3-munch

+ Requires: python3-pygments

+ Requires: python3-pylibravatar

+ Requires: python3-pytz

+ Requires: python3-redis

  Requires: python3-requests

- Requires: xstatic-patternfly-common

- Requires: js-jquery1

- Requires: xstatic-jquery-ui-common

+ Requires: python3-wtforms >= 2.2.1

+ Requires: python3-zmq

  Requires: xstatic-bootstrap-scss-common

  Requires: xstatic-datatables-common

- Requires: js-html5shiv

- Requires: js-respond

- Requires: python3-copr-common > 0.4

- Requires: (copr-selinux if selinux-policy-targeted)

+ Requires: xstatic-jquery-ui-common

+ Requires: xstatic-patternfly-common

  

  Provides: bundled(bootstrap-combobox) = 1.1.6

  Provides: bundled(bootstrap-select) = 1.5.4

@@ -15,6 +15,7 @@ 

  from pygments.util import ClassNotFound

  from pygments.formatters import HtmlFormatter

  

+ import humanize

  import os

  import re

  
@@ -152,25 +153,7 @@ 

      else:

          now = datetime.datetime.now()

      diff = now - datetime.datetime.fromtimestamp(time_in)

-     secdiff = int(diff.total_seconds())

-     if secdiff < 120:

-         # less than 2 minutes

-         return "1 minute"

-     elif secdiff < 7200:

-         # less than 2 hours

-         return str(secdiff // 60) + " minutes"

-     elif secdiff < 172800:

-         # less than 2 days

-         return str(secdiff // 3600) + " hours"

-     elif secdiff < 5184000:

-         # less than 2 months

-         return str(secdiff // 86400) + " days"

-     elif secdiff < 63072000:

-         # less than 2 years

-         return str(secdiff // 2592000) + " months"

-     else:

-         # more than 2 years

-         return str(secdiff // 31536000) + " years"

+     return humanize.naturaldelta(diff)

  

  

  @app.template_filter("markdown")