<86>Sep 30 08:54:33 userdel[209820]: delete user 'rooter'
<86>Sep 30 08:54:33 userdel[209820]: removed group 'rooter' owned by 'rooter'
<86>Sep 30 08:54:33 userdel[209820]: removed shadow group 'rooter' owned by 'rooter'
<86>Sep 30 08:54:33 groupadd[209831]: group added to /etc/group: name=rooter, GID=549
<86>Sep 30 08:54:33 groupadd[209831]: group added to /etc/gshadow: name=rooter
<86>Sep 30 08:54:33 groupadd[209831]: new group: name=rooter, GID=549
<86>Sep 30 08:54:33 useradd[209841]: new user: name=rooter, UID=549, GID=549, home=/root, shell=/bin/bash
<86>Sep 30 08:54:33 userdel[209852]: delete user 'builder'
<86>Sep 30 08:54:33 userdel[209852]: removed group 'builder' owned by 'builder'
<86>Sep 30 08:54:33 userdel[209852]: removed shadow group 'builder' owned by 'builder'
<86>Sep 30 08:54:33 groupadd[209862]: group added to /etc/group: name=builder, GID=550
<86>Sep 30 08:54:33 groupadd[209862]: group added to /etc/gshadow: name=builder
<86>Sep 30 08:54:33 groupadd[209862]: new group: name=builder, GID=550
<86>Sep 30 08:54:33 useradd[209870]: new user: name=builder, UID=550, GID=550, home=/usr/src, shell=/bin/bash
<13>Sep 30 08:54:36 rpmi: libgdbm-1.8.3-alt10 1454943334 installed
<13>Sep 30 08:54:36 rpmi: libexpat-2.2.9-alt1 sisyphus+252464.200.2.1 1590958865 installed
<13>Sep 30 08:54:36 rpmi: libp11-kit-0.23.15-alt2 sisyphus+252784.100.2.2 1591274901 installed
<13>Sep 30 08:54:36 rpmi: libtasn1-4.16.0-alt1 sisyphus+245480.100.1.1 1580825062 installed
<13>Sep 30 08:54:36 rpmi: rpm-macros-alternatives-0.5.1-alt1 sisyphus+226946.100.1.1 1554830426 installed
<13>Sep 30 08:54:36 rpmi: alternatives-0.5.1-alt1 sisyphus+226946.100.1.1 1554830426 installed
<13>Sep 30 08:54:36 rpmi: ca-certificates-2020.06.29-alt1 sisyphus+254237.300.1.1 1593450881 installed
<13>Sep 30 08:54:36 rpmi: ca-trust-0.1.2-alt1 sisyphus+233348.100.1.1 1561653823 installed
<13>Sep 30 08:54:36 rpmi: p11-kit-trust-0.23.15-alt2 sisyphus+252784.100.2.2 1591274901 installed
<13>Sep 30 08:54:37 rpmi: libcrypto1.1-1.1.1g-alt1 sisyphus+249982.60.8.1 1587743711 installed
<13>Sep 30 08:54:37 rpmi: libssl1.1-1.1.1g-alt1 sisyphus+249982.60.8.1 1587743711 installed
<13>Sep 30 08:54:37 rpmi: python3-3.8.5-alt1 sisyphus+244405.100.3.1 1595544514 installed
<13>Sep 30 08:54:38 rpmi: python3-base-3.8.5-alt1 sisyphus+244405.100.3.1 1595544514 installed
<13>Sep 30 08:54:38 rpmi: libpython3-3.8.5-alt1 sisyphus+244405.100.3.1 1595544514 installed
<13>Sep 30 08:54:38 rpmi: tests-for-installed-python3-pkgs-0.1.13.1-alt2 1535450458 installed
<13>Sep 30 08:54:38 rpmi: rpm-build-python3-0.1.13.1-alt2 1535450458 installed
<13>Sep 30 08:54:41 rpmi: python3-module-wcwidth-0.1.9-alt1 sisyphus+251222.500.3.1 1588843640 installed
<13>Sep 30 08:54:41 rpmi: python3-module-pluggy-0.13.1-alt2 sisyphus+250320.400.1.1 1588511673 installed
<13>Sep 30 08:54:42 rpmi: python3-module-pkg_resources-1:46.1.3-alt1 sisyphus+250566.200.3.1 1587973342 installed
<13>Sep 30 08:54:42 rpmi: python3-module-six-1.15.0-alt1 sisyphus+255738.100.2.1 1596527214 installed
<13>Sep 30 08:54:42 rpmi: python3-module-pyparsing-2.4.2-alt1 sisyphus+236061.100.3.1 1565853577 installed
<13>Sep 30 08:54:42 rpmi: python3-module-packaging-19.0-alt2 sisyphus+235493.3500.8.1 1565461874 installed
<13>Sep 30 08:54:42 rpmi: python3-module-more-itertools-7.0.0-alt3 sisyphus+226536.100.1.1 1554329928 installed
<13>Sep 30 08:54:42 rpmi: python3-module-iniconfig-1.0.0-alt2 sisyphus+235493.2400.6.1 1565442448 installed
<13>Sep 30 08:54:42 rpmi: python3-module-attrs-20.1.0-alt1 sisyphus+257441.200.1.2 1599246922 installed
<13>Sep 30 08:54:42 rpmi: python3-module-apipkg-1.5-alt1 sisyphus+227465.1100.1.2 1555756555 installed
<13>Sep 30 08:54:42 rpmi: python3-module-py-1.8.0-alt6 sisyphus+252790.200.2.1 1591264310 installed
<13>Sep 30 08:54:42 rpmi: libverto-0.3.0-alt1_7 sisyphus+225932.100.1.1 1553994919 installed
<13>Sep 30 08:54:42 rpmi: liblmdb-0.9.23-alt1 sisyphus+225277.100.2.1 1553001679 installed
<13>Sep 30 08:54:42 rpmi: libkeyutils-1.6.1-alt1 sisyphus+256015.100.1.1 1596820124 installed
<13>Sep 30 08:54:42 rpmi: libcom_err-1.44.6-alt1 sisyphus+224154.100.1.1 1552091678 installed
<86>Sep 30 08:54:42 groupadd[223516]: group added to /etc/group: name=_keytab, GID=499
<86>Sep 30 08:54:42 groupadd[223516]: group added to /etc/gshadow: name=_keytab
<86>Sep 30 08:54:42 groupadd[223516]: new group: name=_keytab, GID=499
<13>Sep 30 08:54:42 rpmi: libkrb5-1.18.2-alt2 sisyphus+254565.100.4.1 1594375666 installed
<13>Sep 30 08:54:42 rpmi: libtirpc-1.2.6-alt1 sisyphus+250076.100.1.1 1587038270 installed
<13>Sep 30 08:54:42 rpmi: libnsl2-1.1.0-alt1_1 1511548749 installed
<13>Sep 30 08:54:42 rpmi: python-modules-encodings-2.7.18-alt1 sisyphus+255741.100.1.1 1596450480 installed
<13>Sep 30 08:54:42 rpmi: python-modules-compiler-2.7.18-alt1 sisyphus+255741.100.1.1 1596450480 installed
<13>Sep 30 08:54:42 rpmi: python-modules-email-2.7.18-alt1 sisyphus+255741.100.1.1 1596450480 installed
<13>Sep 30 08:54:42 rpmi: python-modules-unittest-2.7.18-alt1 sisyphus+255741.100.1.1 1596450480 installed
<13>Sep 30 08:54:42 rpmi: python-modules-2.7.18-alt1 sisyphus+255741.100.1.1 1596450480 installed
<13>Sep 30 08:54:42 rpmi: python-modules-nis-2.7.18-alt1 sisyphus+255741.100.1.1 1596450480 installed
<13>Sep 30 08:54:42 rpmi: python-modules-ctypes-2.7.18-alt1 sisyphus+255741.100.1.1 1596450480 installed
<13>Sep 30 08:54:42 rpmi: python-modules-multiprocessing-2.7.18-alt1 sisyphus+255741.100.1.1 1596450480 installed
<13>Sep 30 08:54:42 rpmi: python-modules-logging-2.7.18-alt1 sisyphus+255741.100.1.1 1596450480 installed
<13>Sep 30 08:54:42 rpmi: python-tools-2to3-2.7.18-alt1 sisyphus+255741.100.1.1 1596450480 installed
<13>Sep 30 08:54:42 rpmi: python3-module-pytest-5.4.3-alt1 sisyphus+252705.100.3.1 1591287910 installed
Building target platforms: i586
Building for target i586
Wrote: /usr/src/in/nosrpm/python3-module-llist-0.4-alt2.nosrc.rpm
<13>Sep 30 08:54:45 rpmi: libtinfo-devel-6.1.20180407-alt2 sisyphus+222164.200.1.1 1550686226 installed
<13>Sep 30 08:54:45 rpmi: libncurses-devel-6.1.20180407-alt2 sisyphus+222164.200.1.1 1550686226 installed
<13>Sep 30 08:54:45 rpmi: python3-dev-3.8.5-alt1 sisyphus+244405.100.3.1 1595544514 installed
<13>Sep 30 08:54:45 rpmi: python3-module-setuptools-1:46.1.3-alt1 sisyphus+250566.200.3.1 1587973342 installed
Installing python3-module-llist-0.4-alt2.src.rpm
Building target platforms: i586
Building for target i586
Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.45584
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ rm -rf python3-module-llist-0.4
+ echo 'Source #0 (python3-module-llist-0.4.tar):'
Source #0 (python3-module-llist-0.4.tar):
+ /bin/tar -xf /usr/src/RPM/SOURCES/python3-module-llist-0.4.tar
+ cd python3-module-llist-0.4
+ /bin/chmod -c -Rf u+rwX,go-w .
+ find ./ -type f -name '*.py' -exec 2to3 -w -n '{}' +
RefactoringTool: Skipping optional fixer: buffer
RefactoringTool: Skipping optional fixer: idioms
RefactoringTool: Skipping optional fixer: set_literal
RefactoringTool: Skipping optional fixer: ws_comma
RefactoringTool: Refactored ./tests/speed_test.py
RefactoringTool: Refactored ./tests/llist_test.py
--- ./tests/speed_test.py	(original)
+++ ./tests/speed_test.py	(refactored)
@@ -43,12 +43,12 @@
 
 for container in [deque, dllist, sllist]:
     for operation in [append, appendleft, pop, popleft, remove]:
-        c = container(range(num))
+        c = container(list(range(num)))
         start = time.time()
         operation(c)
         elapsed = time.time() - start
-        print "Completed %s/%s in \t\t%.8f seconds:\t %.1f ops/sec" % (
+        print("Completed %s/%s in \t\t%.8f seconds:\t %.1f ops/sec" % (
             container.__name__,
             operation.__name__,
             elapsed,
-            num / elapsed)
+            num / elapsed))
--- ./tests/llist_test.py	(original)
+++ ./tests/llist_test.py	(refactored)
@@ -15,7 +15,7 @@
     # python 3 compatibility wrappers
 
     def py23_xrange(*args):
-        return range(*args)
+        return list(range(*args))
 
     def py23_range(*args):
         return list(range(*args))
@@ -32,10 +32,10 @@
     # python 2 compatibility wrappers
 
     def py23_xrange(*args):
-        return xrange(*args)
+        return range(*args)
 
     def py23_range(*args):
-        return range(*args)
+        return list(range(*args))
 
 
 
@@ -330,8 +330,8 @@
         new_node = ll.insertafter(arg_node, ll.nodeat(2))
         self.assertNotEqual(new_node, arg_node)
         self.assertEqual(new_node.value, 10)
-        self.assertEqual(new_node.next, next)
-        self.assertEqual(prev.next, new_node)
+        self.assertEqual(new_node.__next__, next)
+        self.assertEqual(prev.__next__, new_node)
         self.assertEqual(ll, ref)
 
     def test_insert_value_after_last(self):
@@ -342,8 +342,8 @@
         new_node = ll.insertafter(arg_node, ll.nodeat(-1))
         self.assertNotEqual(new_node, arg_node)
         self.assertEqual(new_node.value, 10)
-        self.assertEqual(new_node.next, None)
-        self.assertEqual(prev.next, new_node)
+        self.assertEqual(new_node.__next__, None)
+        self.assertEqual(prev.__next__, new_node)
         self.assertEqual(new_node, ll.last)
         self.assertEqual(ll, ref)
 
@@ -356,8 +356,8 @@
         new_node = ll.insertbefore(arg_node, ll.nodeat(2))
         self.assertNotEqual(new_node, arg_node)
         self.assertEqual(new_node.value, 10)
-        self.assertEqual(new_node.next, next)
-        self.assertEqual(prev.next, new_node)
+        self.assertEqual(new_node.__next__, next)
+        self.assertEqual(prev.__next__, new_node)
         self.assertEqual(ll, ref)
 
     def test_insert_value_before_first(self):
@@ -368,7 +368,7 @@
         new_node = ll.insertbefore(arg_node, ll.nodeat(0))
         self.assertNotEqual(new_node, arg_node)
         self.assertEqual(new_node.value, 10)
-        self.assertEqual(new_node.next, next)
+        self.assertEqual(new_node.__next__, next)
         self.assertEqual(new_node, ll.first)
         self.assertEqual(ll, ref)
 
@@ -391,8 +391,8 @@
         new_node = ll.append(arg_node)
         self.assertNotEqual(new_node, arg_node)
         self.assertEqual(new_node.value, 10)
-        self.assertEqual(new_node.next, None)
-        self.assertEqual(prev.next, new_node)
+        self.assertEqual(new_node.__next__, None)
+        self.assertEqual(prev.__next__, new_node)
         self.assertEqual(ll.last, new_node)
         self.assertEqual(ll, ref)
 
@@ -404,7 +404,7 @@
         new_node = ll.appendleft(arg_node)
         self.assertNotEqual(new_node, arg_node)
         self.assertEqual(new_node.value, 10)
-        self.assertEqual(new_node.next, next)
+        self.assertEqual(new_node.__next__, next)
         self.assertEqual(ll.first, new_node)
         self.assertEqual(ll, ref)
 
@@ -416,8 +416,8 @@
         new_node = ll.appendright(arg_node)
         self.assertNotEqual(new_node, arg_node)
         self.assertEqual(new_node.value, 10)
-        self.assertEqual(new_node.next, None)
-        self.assertEqual(prev.next, new_node)
+        self.assertEqual(new_node.__next__, None)
+        self.assertEqual(prev.__next__, new_node)
         self.assertEqual(ll.last, new_node)
         self.assertEqual(ll, ref)
 
@@ -539,7 +539,7 @@
         self.assertEqual(ll.last, None)
         self.assertEqual(ll.size, 0)
         self.assertEqual(list(ll), [])
-        self.assertEqual(del_node.next, None)
+        self.assertEqual(del_node.__next__, None)
 
     def test_pop(self):
         ref = py23_range(0, 1024, 4)
@@ -551,7 +551,7 @@
         self.assertEqual(ll.size, len(ref) - 1)
         self.assertEqual(ll.last.value, ref[-2])
         self.assertEqual(list(ll), ref[:-1])
-        self.assertEqual(del_node.next, None)
+        self.assertEqual(del_node.__next__, None)
 
     def test_popleft(self):
         ref = py23_range(0, 1024, 4)
@@ -563,7 +563,7 @@
         self.assertEqual(ll.size, len(ref) - 1)
         self.assertEqual(ll.first.value, ref[1])
         self.assertEqual(list(ll), ref[1:])
-        self.assertEqual(del_node.next, None)
+        self.assertEqual(del_node.__next__, None)
 
     def test_popright(self):
         ref = py23_range(0, 1024, 4)
@@ -575,7 +575,7 @@
         self.assertEqual(ll.size, len(ref) - 1)
         self.assertEqual(ll.last.value, ref[-2])
         self.assertEqual(list(ll), ref[:-1])
-        self.assertEqual(del_node.next, None)
+        self.assertEqual(del_node.__next__, None)
 
     def test_pop_from_empty_list(self):
         ll = sllist()
@@ -596,8 +596,8 @@
         self.assertEqual(result, ref_result)
         self.assertEqual(len(ll), len(ref))
         self.assertEqual(ll.size, len(ref))
-        self.assertEqual(prev_node.next, next_node)
-        self.assertEqual(del_node.next, None)
+        self.assertEqual(prev_node.__next__, next_node)
+        self.assertEqual(del_node.__next__, None)
 
     def test_remove_from_empty_list(self):
         ll = sllist()
@@ -626,7 +626,7 @@
             self.assertEqual(ll.first, new_first)
             self.assertEqual(ll.last, new_last)
             self.assertEqual(ll.size, len(ref))
-            self.assertEqual(ll.last.next, None)
+            self.assertEqual(ll.last.__next__, None)
 
     def test_rotate_right(self):
         for n in py23_xrange(128):
@@ -642,7 +642,7 @@
             self.assertEqual(ll.first, new_first)
             self.assertEqual(ll.last, new_last)
             self.assertEqual(ll.size, len(ref))
-            self.assertEqual(ll.last.next, None)
+            self.assertEqual(ll.last.__next__, None)
 
     def test_rotate_left_empty(self):
         for n in py23_xrange(4):
@@ -1055,8 +1055,8 @@
         self.assertNotEqual(new_node, arg_node)
         self.assertEqual(new_node.value, 10)
         self.assertEqual(new_node.prev, prev)
-        self.assertEqual(new_node.next, None)
-        self.assertEqual(prev.next, new_node)
+        self.assertEqual(new_node.__next__, None)
+        self.assertEqual(prev.__next__, new_node)
         self.assertEqual(new_node, ll.last)
         self.assertEqual(ll, ref)
 
@@ -1070,8 +1070,8 @@
         self.assertNotEqual(new_node, arg_node)
         self.assertEqual(new_node.value, 10)
         self.assertEqual(new_node.prev, prev)
-        self.assertEqual(new_node.next, next)
-        self.assertEqual(prev.next, new_node)
+        self.assertEqual(new_node.__next__, next)
+        self.assertEqual(prev.__next__, new_node)
         self.assertEqual(next.prev, new_node)
         self.assertEqual(ll, ref)
 
@@ -1084,7 +1084,7 @@
         self.assertNotEqual(new_node, arg_node)
         self.assertEqual(new_node.value, 10)
         self.assertEqual(new_node.prev, None)
-        self.assertEqual(new_node.next, next)
+        self.assertEqual(new_node.__next__, next)
         self.assertEqual(next.prev, new_node)
         self.assertEqual(new_node, ll.first)
         self.assertEqual(ll, ref)
@@ -1105,8 +1105,8 @@
         self.assertNotEqual(new_node, arg_node)
         self.assertEqual(new_node.value, 10);
         self.assertEqual(new_node.prev, prev)
-        self.assertEqual(new_node.next, None)
-        self.assertEqual(prev.next, new_node)
+        self.assertEqual(new_node.__next__, None)
+        self.assertEqual(prev.__next__, new_node)
 RefactoringTool: No changes to ./setup.py
RefactoringTool: Refactored ./examples/lucky_numbers.py
        self.assertEqual(ll.last, new_node)
         self.assertEqual(ll, ref)
 
@@ -1119,7 +1119,7 @@
         self.assertNotEqual(new_node, arg_node)
         self.assertEqual(new_node.value, 10);
         self.assertEqual(new_node.prev, None)
-        self.assertEqual(new_node.next, next)
+        self.assertEqual(new_node.__next__, next)
         self.assertEqual(next.prev, new_node)
         self.assertEqual(ll.first, new_node)
         self.assertEqual(ll, ref)
@@ -1133,8 +1133,8 @@
         self.assertNotEqual(new_node, arg_node)
         self.assertEqual(new_node.value, 10);
         self.assertEqual(new_node.prev, prev)
-        self.assertEqual(new_node.next, None)
-        self.assertEqual(prev.next, new_node)
+        self.assertEqual(new_node.__next__, None)
+        self.assertEqual(prev.__next__, new_node)
         self.assertEqual(ll.last, new_node)
         self.assertEqual(ll, ref)
 
@@ -1257,7 +1257,7 @@
         self.assertEqual(ll.size, 0)
         self.assertEqual(list(ll), [])
         self.assertEqual(del_node.prev, None)
-        self.assertEqual(del_node.next, None)
+        self.assertEqual(del_node.__next__, None)
 
     def test_pop(self):
         ref = py23_range(0, 1024, 4)
@@ -1270,7 +1270,7 @@
         self.assertEqual(ll.last.value, ref[-2])
         self.assertEqual(list(ll), ref[:-1])
         self.assertEqual(del_node.prev, None)
-        self.assertEqual(del_node.next, None)
+        self.assertEqual(del_node.__next__, None)
 
     def test_popleft(self):
         ref = py23_range(0, 1024, 4)
@@ -1283,7 +1283,7 @@
         self.assertEqual(ll.first.value, ref[1])
         self.assertEqual(list(ll), ref[1:])
         self.assertEqual(del_node.prev, None)
-        self.assertEqual(del_node.next, None)
+        self.assertEqual(del_node.__next__, None)
 
     def test_popright(self):
         ref = py23_range(0, 1024, 4)
@@ -1296,7 +1296,7 @@
         self.assertEqual(ll.last.value, ref[-2])
         self.assertEqual(list(ll), ref[:-1])
         self.assertEqual(del_node.prev, None)
-        self.assertEqual(del_node.next, None)
+        self.assertEqual(del_node.__next__, None)
 
     def test_pop_from_empty_list(self):
         ll = dllist()
@@ -1317,10 +1317,10 @@
         self.assertEqual(result, ref_result)
         self.assertEqual(len(ll), len(ref))
         self.assertEqual(ll.size, len(ref))
-        self.assertEqual(prev_node.next, next_node)
+        self.assertEqual(prev_node.__next__, next_node)
         self.assertEqual(next_node.prev, prev_node)
         self.assertEqual(del_node.prev, None)
-        self.assertEqual(del_node.next, None)
+        self.assertEqual(del_node.__next__, None)
 
     def test_remove_from_empty_list(self):
         ll = dllist()
@@ -1354,8 +1354,8 @@
             self.assertEqual(ll.size, len(ref))
             self.assertEqual(ll.first.prev, None)
             self.assertEqual(ll.first.next.prev, ll.first)
-            self.assertEqual(ll.last.next, None)
-            self.assertEqual(ll.last.prev.next, ll.last)
+            self.assertEqual(ll.last.__next__, None)
+            self.assertEqual(ll.last.prev.__next__, ll.last)
             # check if cached index is updated correctly
             self.assertEqual(ll[len(ll) // 2], ref_result[len(ref_result) // 2])
 
@@ -1378,8 +1378,8 @@
             self.assertEqual(ll.size, len(ref))
             self.assertEqual(ll.first.prev, None)
             self.assertEqual(ll.first.next.prev, ll.first)
-            self.assertEqual(ll.last.next, None)
-            self.assertEqual(ll.last.prev.next, ll.last)
+            self.assertEqual(ll.last.__next__, None)
+            self.assertEqual(ll.last.prev.__next__, ll.last)
             # check if cached index is updated correctly
             self.assertEqual(ll[len(ll) // 2], ref_result[len(ref_result) // 2])
 
--- ./examples/lucky_numbers.py	(original)
+++ ./examples/lucky_numbers.py	(refactored)
@@ -16,7 +16,7 @@
 
 
 def generate_lucky_deque(max_num):
-    lucky_numbers = deque(xrange(1, max_num + 1, 2))
+    lucky_numbers = deque(range(1, max_num +RefactoringTool: Refactored ./docs/conf.py
WARNING: couldn't encode ./docs/conf.py's diff for your terminal
RefactoringTool: Files that were modified:
RefactoringTool: ./tests/speed_test.py
RefactoringTool: ./tests/llist_test.py
RefactoringTool: ./setup.py
RefactoringTool: ./examples/lucky_numbers.py
RefactoringTool: ./docs/conf.py
 1, 2))
 
     multiple_node = lucky_numbers[1]
     multiple_pos = 2
@@ -38,7 +38,7 @@
 
 
 def generate_lucky_list(max_num):
-    lucky_numbers = dllist(xrange(1, max_num + 1, 2))
+    lucky_numbers = dllist(range(1, max_num + 1, 2))
 
     multiple_node = lucky_numbers.nodeat(1)
 
@@ -52,7 +52,7 @@
             del lucky_numbers[removed_pos]
             removed_pos += removed_multiple - 1
 
-        multiple_node = multiple_node.next
+        multiple_node = multiple_node.__next__
 
     return lucky_numbers
 
@@ -65,17 +65,17 @@
 
 
 if __name__ == '__main__':
-    print 'Calculating lucky numbers using deque...',
+    print('Calculating lucky numbers using deque...', end=' ')
     sys.stdout.flush()
     result_deque, time_deque = time_execution(lambda: generate_lucky_deque(N))
-    print '%gs' % time_deque
+    print('%gs' % time_deque)
 
-    print 'Calculating lucky numbers using dllist...',
+    print('Calculating lucky numbers using dllist...', end=' ')
     sys.stdout.flush()
     result_list, time_list = time_execution(lambda: generate_lucky_list(N))
-    print '%gs' % time_list
+    print('%gs' % time_list)
 
     if list(result_deque) == list(result_list):
-        print 'Both results are equal.'
+        print('Both results are equal.')
     else:
-        print 'Results differ, you might have found a bug!'
+        print('Results differ, you might have found a bug!')
--- ./docs/conf.py	(original)
+++ ./docs/conf.py	(refactored)
@@ -40,8 +40,8 @@
 master_doc = 'index'
 
 # General information about the project.
-project = u'llist'
++ find ./ -name '*.py'
+ sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python3|' ./tests/speed_test.py ./tests/llist_test.py ./setup.py ./examples/lucky_numbers.py ./docs/conf.py
++ find ./ -name '*.py'
+ sed -i 's|#!/usr/bin/python|#!/usr/bin/python3|' ./setup.py ./tests/llist_test.py ./tests/speed_test.py ./examples/lucky_numbers.py ./docs/conf.py
+ exit 0
Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.38285
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd python3-module-llist-0.4
+ CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -fno-strict-aliasing'
+ export CFLAGS
+ CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -fno-strict-aliasing'
+ export CXXFLAGS
+ FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -fno-strict-aliasing'
+ export FFLAGS
+ /usr/bin/python3 setup.py build --debug
running build
running build_ext
building 'llist' extension
creating build
creating build/temp.linux-i686-3.8
creating build/temp.linux-i686-3.8/src
i586-alt-linux-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -pipe -frecord-gcc-switches -Wall -g -O3 -march=i586 -mtune=generic -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -fno-strict-aliasing -fPIC -g -I/usr/include/python3.8 -c src/llist.c -o build/temp.linux-i686-3.8/src/llist.o
i586-alt-linux-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -pipe -frecord-gcc-switches -Wall -g -O3 -march=i586 -mtune=generic -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -fno-strict-aliasing -fPIC -g -I/usr/include/python3.8 -c src/dllist.c -o build/temp.linux-i686-3.8/src/dllist.o
src/dllist.c:1306:1: warning: missing braces around initializer [-Wmissing-braces]
 1306 | {
      | ^
 1307 |     dllist_len,                 /* sq_length */
      |     {
......
 1317 | };
      | }
i586-alt-linux-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -pipe -frecord-gcc-switches -Wall -g -O3 -march=i586 -mtune=generic -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -fno-strict-aliasing -fPIC -g -I/usr/include/python3.8 -c src/sllist.c -o build/temp.linux-i686-3.8/src/sllist.o
creating build/lib.linux-i686-3.8
i586-alt-linux-gcc -pthread -shared -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -fno-strict-aliasing -g build/temp.linux-i686-3.8/src/llist.o build/temp.linux-i686-3.8/src/dllist.o build/temp.linux-i686-3.8/src/sllist.o -L/usr/lib -o build/lib.linux-i686-3.8/llist.cpython-38.so
+ exit 0
Executing(%install): /bin/sh -e /usr/src/tmp/rpm-tmp.18241
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ /bin/chmod -Rf u+rwX -- /usr/src/tmp/python3-module-llist-buildroot
+ :
+ /bin/rm -rf -- /usr/src/tmp/python3-module-llist-buildroot
+ cd python3-module-llist-0.4
+ CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -fno-strict-aliasing'
+ export CFLAGS
+ CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -fno-strict-aliasing'
+ export CXXFLAGS
+ FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic -fno-strict-aliasing'
+ export FFLAGS
+ /usr/bin/python3 setup.py install --skip-build --root=/usr/src/tmp/python3-module-llist-buildroot --force
running install
running install_lib
creating /usr/src/tmp/python3-module-llist-buildroot
creating /usr/src/tmp/python3-module-llist-buildroot/usr
creating /usr/src/tmp/python3-module-llist-buildroot/usr/lib
creating /usr/src/tmp/python3-module-llist-buildroot/usr/lib/python3
creating /usr/src/tmp/python3-module-llist-buildroot/usr/lib/python3/site-packages
copying build/lib.linux-i686-3.8/llist.cpython-38.so -> /usr/src/tmp/python3-module-llist-buildroot/usr/lib/python3/site-packages
running install_egg_info
Writing /usr/src/tmp/python3-module-llist-buildroot/usr/lib/python3/site-packages/llist-0.4-py3.8.egg-info
+ /usr/lib/rpm/brp-alt
Cleaning files in /usr/src/tmp/python3-module-llist-buildroot (auto)
mode of './usr/lib/python3/site-packages/llist.cpython-38.so' changed from 0755 (rwxr-xr-x) to 0644 (rw-r--r--)
Verifying and fixing files in /usr/src/tmp/python3-module-llist-buildroot (binconfig,pkgconfig,libtool,desktop)
Checking contents of files in /usr/src/tmp/python3-module-llist-buildroot/ (default)
Compressing files in /usr/src/tmp/python3-module-llist-buildroot (auto)
Adjusting library links in /usr/src/tmp/python3-module-llist-buildroot
./usr/lib:
Verifying ELF objects in /usr/src/tmp/python3-module-llist-buildroot (arch=normal,fhs=normal,lfs=relaxed,lint=relaxed,rpath=normal,stack=normal,textrel=normal,unresolved=normal)
Hardlinking identical .pyc and .opt-?.pyc files
Hardlinking identical .pyc and .pyo files
Executing(%check): /bin/sh -e /usr/src/tmp/rpm-tmp.96748
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd python3-module-llist-0.4
+ exit 0
Processing files: python3-module-llist-0.4-alt2
Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.96748
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd python3-module-llist-0.4
+ DOCDIR=/usr/src/tmp/python3-module-llist-buildroot/usr/share/doc/python3-module-llist-0.4
+ export DOCDIR
+ rm -rf /usr/src/tmp/python3-module-llist-buildroot/usr/share/doc/python3-module-llist-0.4
+ /bin/mkdir -p /usr/src/tmp/python3-module-llist-buildroot/usr/share/doc/python3-module-llist-0.4
+ cp -prL CHANGES README docs/index.rst examples /usr/src/tmp/python3-module-llist-buildroot/usr/share/doc/python3-module-llist-0.4
+ chmod -R go-w /usr/src/tmp/python3-module-llist-buildroot/usr/share/doc/python3-module-llist-0.4
+ chmod -R a+rX /usr/src/tmp/python3-module-llist-buildroot/usr/share/doc/python3-module-llist-0.4
+ exit 0
Finding Provides (using /usr/lib/rpm/find-provides)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.YBuFNH
find-provides: running scripts (alternatives,debuginfo,lib,pam,perl,pkgconfig,python,python3,shell)
Finding Requires (using /usr/lib/rpm/find-requires)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.xQuPuF
find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services)
Provides: python3(llist)
Requires: /usr/lib/python3/site-packages, libc.so.6(GLIBC_2.1.3), libc.so.6(GLIBC_2.4), python3.8-ABI, rtld(GNU_HASH)
Finding debuginfo files (using /usr/lib/rpm/find-debuginfo-files)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.ZbVvBI
Creating python3-module-llist-debuginfo package
Processing files: python3-module-llist-debuginfo-0.4-alt2
Finding Provides (using /usr/lib/rpm/find-provides)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.EuDzlG
find-provides: running scripts (debuginfo)
Finding Requires (using /usr/lib/rpm/find-requires)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.U09I8E
find-requires: running scripts (debuginfo)
Requires: python3-module-llist = 0.4-alt2, debug(libc.so.6)
Adding to python3-module-llist-debuginfo a strict dependency on python3-module-llist
Wrote: /usr/src/RPM/RPMS/i586/python3-module-llist-0.4-alt2.i586.rpm
Wrote: /usr/src/RPM/RPMS/i586/python3-module-llist-debuginfo-0.4-alt2.i586.rpm
13.67user 1.64system 0:18.90elapsed 81%CPU (0avgtext+0avgdata 33172maxresident)k
0inputs+0outputs (0major+234119minor)pagefaults 0swaps
25.41user 9.15system 0:36.98elapsed 93%CPU (0avgtext+0avgdata 110316maxresident)k
0inputs+0outputs (0major+703560minor)pagefaults 0swaps