<86>Apr 14 10:26:21 userdel[2941841]: delete user 'rooter'
<86>Apr 14 10:26:21 userdel[2941841]: removed group 'rooter' owned by 'rooter'
<86>Apr 14 10:26:21 userdel[2941841]: removed shadow group 'rooter' owned by 'rooter'
<86>Apr 14 10:26:21 groupadd[2941857]: group added to /etc/group: name=rooter, GID=678
<86>Apr 14 10:26:21 groupadd[2941857]: group added to /etc/gshadow: name=rooter
<86>Apr 14 10:26:21 groupadd[2941857]: new group: name=rooter, GID=678
<86>Apr 14 10:26:21 useradd[2941874]: new user: name=rooter, UID=678, GID=678, home=/root, shell=/bin/bash
<86>Apr 14 10:26:21 userdel[2941900]: delete user 'builder'
<86>Apr 14 10:26:21 userdel[2941900]: removed group 'builder' owned by 'builder'
<86>Apr 14 10:26:21 userdel[2941900]: removed shadow group 'builder' owned by 'builder'
<86>Apr 14 10:26:21 groupadd[2941925]: group added to /etc/group: name=builder, GID=679
<86>Apr 14 10:26:21 groupadd[2941925]: group added to /etc/gshadow: name=builder
<86>Apr 14 10:26:21 groupadd[2941925]: new group: name=builder, GID=679
<86>Apr 14 10:26:21 useradd[2941946]: new user: name=builder, UID=679, GID=679, home=/usr/src, shell=/bin/bash
/usr/src/in/srpm/googlecl-0.9.13-alt2.src.rpm: The use of such a license name is ambiguous: Apache
/usr/src/in/srpm/googlecl-0.9.13-alt2.src.rpm: license not found in '/usr/share/license' directory: License
/usr/src/in/srpm/googlecl-0.9.13-alt2.src.rpm: license not found in '/usr/share/license' directory: 2.0
<13>Apr 14 10:26:23 rpmi: libgdbm-1.8.3-alt10 1454943334 installed
<13>Apr 14 10:26:23 rpmi: libexpat-2.2.10-alt1 sisyphus+259966.100.1.1 1602824518 installed
<13>Apr 14 10:26:23 rpmi: libp11-kit-0.23.15-alt2 sisyphus+252784.100.2.2 1591274901 installed
<13>Apr 14 10:26:23 rpmi: libtasn1-4.16.0-alt1 sisyphus+245480.100.1.1 1580825062 installed
<13>Apr 14 10:26:23 rpmi: rpm-macros-alternatives-0.5.1-alt1 sisyphus+226946.100.1.1 1554830426 installed
<13>Apr 14 10:26:23 rpmi: ca-certificates-2021.03.24-alt1 sisyphus+268304.300.1.1 1616591829 installed
<13>Apr 14 10:26:23 rpmi: ca-trust-0.1.2-alt1 sisyphus+233348.100.1.1 1561653823 installed
<13>Apr 14 10:26:23 rpmi: p11-kit-trust-0.23.15-alt2 sisyphus+252784.100.2.2 1591274901 installed
<13>Apr 14 10:26:23 rpmi: libcrypto1.1-1.1.1k-alt1 sisyphus+268375.100.1.1 1616684255 installed
<13>Apr 14 10:26:23 rpmi: libssl1.1-1.1.1k-alt1 sisyphus+268375.100.1.1 1616684255 installed
<13>Apr 14 10:26:23 rpmi: python3-3.9.4-alt1 sisyphus+268966.100.1.1 1617609166 installed
<13>Apr 14 10:26:24 rpmi: python3-base-3.9.4-alt1 sisyphus+268966.100.1.1 1617609166 installed
<13>Apr 14 10:26:24 rpmi: libpython3-3.9.4-alt1 sisyphus+268966.100.1.1 1617609166 installed
<13>Apr 14 10:26:24 rpmi: tests-for-installed-python3-pkgs-0.1.13.1-alt2 1535450458 installed
<13>Apr 14 10:26:24 rpmi: rpm-build-python3-0.1.13.1-alt2 1535450458 installed
<13>Apr 14 10:26:30 rpmi: python-modules-compiler-2.7.18-alt4 sisyphus+266950.200.2.1 1614241383 installed
<13>Apr 14 10:26:30 rpmi: python-modules-email-2.7.18-alt4 sisyphus+266950.200.2.1 1614241383 installed
<13>Apr 14 10:26:30 rpmi: python-modules-unittest-2.7.18-alt4 sisyphus+266950.200.2.1 1614241383 installed
<13>Apr 14 10:26:31 rpmi: python-modules-2.7.18-alt4 sisyphus+266950.200.2.1 1614241383 installed
<13>Apr 14 10:26:31 rpmi: python-modules-encodings-2.7.18-alt4 sisyphus+266950.200.2.1 1614241383 installed
<13>Apr 14 10:26:31 rpmi: python-modules-ctypes-2.7.18-alt4 sisyphus+266950.200.2.1 1614241383 installed
<13>Apr 14 10:26:31 rpmi: python-modules-multiprocessing-2.7.18-alt4 sisyphus+266950.200.2.1 1614241383 installed
<13>Apr 14 10:26:31 rpmi: python-modules-logging-2.7.18-alt4 sisyphus+266950.200.2.1 1614241383 installed
<13>Apr 14 10:26:31 rpmi: python-tools-2to3-2.7.18-alt4 sisyphus+266950.200.2.1 1614241383 installed
Building target platforms: i586
Building for target i586
Wrote: /usr/src/in/nosrpm/googlecl-0.9.13-alt2.nosrc.rpm (w1.gzdio)
<13>Apr 14 10:26:36 rpmi: python3-module-pkg_resources-1:54.2.0-alt1 sisyphus+268460.1100.7.1 1617105969 installed
<13>Apr 14 10:26:36 rpmi: libtinfo-devel-6.2.20210123-alt1 sisyphus+265425.100.1.1 1611851433 installed
<13>Apr 14 10:26:36 rpmi: libncurses-devel-6.2.20210123-alt1 sisyphus+265425.100.1.1 1611851433 installed
<13>Apr 14 10:26:36 rpmi: python3-dev-3.9.4-alt1 sisyphus+268966.100.1.1 1617609166 installed
<13>Apr 14 10:26:36 rpmi: python3-module-setuptools-1:54.2.0-alt1 sisyphus+268460.1100.7.1 1617105969 installed
Installing googlecl-0.9.13-alt2.src.rpm
Building target platforms: i586
Building for target i586
Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.10570
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ rm -rf googlecl-0.9.13
+ echo 'Source #0 (googlecl-0.9.13.tar):'
Source #0 (googlecl-0.9.13.tar):
+ /bin/tar -xf /usr/src/RPM/SOURCES/googlecl-0.9.13.tar
+ cd googlecl-0.9.13
+ /bin/chmod -c -Rf u+rwX,go-w .
+ echo 'Patch #0 (port-on-python3.patch):'
Patch #0 (port-on-python3.patch):
+ /usr/bin/patch -p1
patching file setup.py
+ 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 ./setup.py
RefactoringTool: Refactored ./upload-diffs.py
--- ./setup.py	(original)
+++ ./setup.py	(refactored)
@@ -12,7 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-from __future__ import with_statement
+
 
 try:
   from setuptools import setup
@@ -52,10 +52,10 @@
   # For the distributed tarball, they should not.
   if os.path.exists(SCRIPT_TO_RENAME) and\
      not _md5_hash_file(SCRIPT_TO_INSTALL) == _md5_hash_file(SCRIPT_TO_RENAME):
-    print SCRIPT_TO_INSTALL + ' exists and is not the same as ' +\
-          SCRIPT_TO_RENAME
-    print 'Not trusting ' + SCRIPT_TO_INSTALL
-    print 'Please update it or remove it.'
+    print(SCRIPT_TO_INSTALL + ' exists and is not the same as ' +\
+          SCRIPT_TO_RENAME)
+    print('Not trusting ' + SCRIPT_TO_INSTALL)
+    print('Please update it or remove it.')
     exit(-1)
 else:
   shutil.copy(SCRIPT_TO_RENAME, SCRIPT_TO_INSTALL)
--- ./upload-diffs.py	(original)
+++ ./upload-diffs.py	(refactored)
@@ -33,8 +33,8 @@
 # This code is derived from appcfg.py in the App Engine SDK (open source),
 # and from ASPN recipe #146306.
 
-import ConfigParser
-import cookielib
+import configparser
+import http.cookiejar
 import fnmatch
 import getpass
 import logging
@@ -45,9 +45,9 @@
 import socket
 import subprocess
 import sys
-import urllib
-import urllib2
-import urlparse
+import urllib.request, urllib.parse, urllib.error
+import urllib.request, urllib.error, urllib.parse
+import urllib.parse
 
 # The md5 module was deprecated in Python 2.5.
 try:
@@ -128,15 +128,15 @@
       last_email = last_email_file.readline().strip("\n")
       last_email_file.close()
       prompt += " [%s]" % last_email
-    except IOError, e:
+    except IOError as e:
       pass
-  email = raw_input(prompt + ": ").strip()
+  email = input(prompt + ": ").strip()
   if email:
     try:
       last_email_file = open(last_email_file_name, "w")
       last_email_file.write(email)
       last_email_file.close()
-    except IOError, e:
+    except IOError as e:
       pass
   else:
     email = last_email
@@ -152,20 +152,20 @@
     msg: The string to print.
   """
   if verbosity > 0:
-    print msg
+    print(msg)
 
 
 def ErrorExit(msg):
   """Print an error message to stderr and exit."""
-  print >>sys.stderr, msg
+  print(msg, file=sys.stderr)
   sys.exit(1)
 
 
-class ClientLoginError(urllib2.HTTPError):
+class ClientLoginError(urllib.error.HTTPError):
   """Raised to indicate there was an error authenticating with ClientLogin."""
 
   def __init__(self, url, code, msg, headers, args):
-    urllib2.HTTPError.__init__(self, url, code, msg, headers, None)
+    urllib.error.HTTPError.__init__(self, url, code, msg, headers, None)
     self.args = args
     self.reason = args["Error"]
 
@@ -217,10 +217,10 @@
   def _CreateRequest(self, url, data=None):
     """Creates a new urllib request."""
     logging.debug("Creating request for: '%s' with payload:\n%s", url, data)
-    req = urllib2.Request(url, data=data)
+    req = urllib.request.Request(url, data=data)
     if self.host_override:
       req.add_header("Host", self.host_override)
-    for key, value in self.extra_headers.iteritems():
+    for key, value in self.extra_headers.items():
       req.add_header(key, value)
     return req
 
@@ -244,7 +244,7 @@
       account_type = "HOSTED"
     req = self._CreateRequest(
         url="https://www.google.com/accounts/ClientLogin",
-        data=urllib.urlencode({
+        data=urllib.parse.urlencode({
             "Email": email,
             "Passwd": password,
             "service": "ah",
@@ -258,7 +258,7 @@
       response_dict = dict(x.split("=")
                            for x in response_body.split("\n") if x)
       return response_dict["Auth"]
-    except urllib2.HTTPError, e:
+    except urllib.error.HTTPError as e:
       if e.code == 403:
         body = e.read()
         response_dict = dict(x.split("=", 1) for x in body.split("\n") if x)
@@ -280,14 +280,14 @@
     continue_location = "http://localhost/"
     args = {"continue": continue_location, "auth": auth_token}
     req = self._CreateRequest("%s/_ah/login?%s" %
-                              (self.host, urllib.urlencode(args)))
+                              (self.host, urllib.parse.urlencode(args)))
     try:
       response = self.opener.open(req)
-    except urllib2.HTTPError, e:
+    except urllib.error.HTTPError as e:
       response = e
     if (response.code != 302 or
         response.info()["location"] != continue_location):
-      raise urllib2.HTTPError(req.get_full_url(), response.code, response.msg,
+      raise urllib.error.HTTPError(req.get_full_url(), response.code, response.msg,
                               response.headers, response.fp)
     self.authenticated = True
 
@@ -310,36 +310,36 @@
       credentials = self.auth_function()
       try:
         auth_token = self._GetAuthToken(credentials[0], credentials[1])
-      except ClientLoginError, e:
+      except ClientLoginError as e:
         if e.reason == "BadAuthentication":
-          print >>sys.stderr, "Invalid username or password."
+          print("Invalid username or password.", file=sys.stderr)
           continue
         if e.reason == "CaptchaRequired":
-          print >>sys.stderr, (
+          print((
               "Please go to\n"
               "https://www.google.com/accounts/DisplayUnlockCaptcha\n"
               "and verify you are a human.  Then try again.\n"
               "If you are using a Google Apps account the URL is:\n"
-              "https://www.google.com/a/yourdomain.com/UnlockCaptcha")
+              "https://www.google.com/a/yourdomain.com/UnlockCaptcha"), file=sys.stderr)
           break
         if e.reason == "NotVerified":
-          print >>sys.stderr, "Account not verified."
+          print("Account not verified.", file=sys.stderr)
           break
         if e.reason == "TermsNotAgreed":
-          print >>sys.stderr, "User has not agreed to TOS."
+          print("User has not agreed to TOS.", file=sys.stderr)
           break
         if e.reason == "AccountDeleted":
-          print >>sys.stderr, "The user account has been deleted."
+          print("The user account has been deleted.", file=sys.stderr)
           break
         if e.reason == "AccountDisabled":
-          print >>sys.stderr, "The user account has been disabled."
+          print("The user account has been disabled.", file=sys.stderr)
           break
         if e.reason == "ServiceDisabled":
-          print >>sys.stderr, ("The user's access to the service has been "
-                               "disabled.")
+          print(("The user's access to the service has been "
+                               "disabled."), file=sys.stderr)
           break
         if e.reason == "ServiceUnavailable":
-          print >>sys.stderr, "The service is not available; try again later."
+          print("The service is not available; try again later.", file=sys.stderr)
           break
         raise
       self._GetAuthCookie(auth_token)
@@ -380,18 +380,18 @@
         args = dict(kwargs)
         url = "%s%s" % (self.host, request_path)
         if args:
-          url += "?" + urllib.urlencode(args)
+          url += "?" + urllib.parse.urlencode(args)
         req = self._CreateRequest(url=url, data=payload)
         req.add_header("Content-Type", content_type)
         if extra_headers:
-          for header, value in extra_headers.items():
+          for header, value in list(extra_headers.items()):
             req.add_header(header, value)
         try:
           f = self.opener.open(req)
           response = f.read()
           f.close()
           return response
-        except urllib2.HTTPError, e:
+        except urllib.error.HTTPError as e:
           if tries > 3:
             raise
           elif e.code == 401 or e.code == 302:
@@ -421,35 +421,35 @@
     Returns:
       A urllib2.OpenerDirector object.
     """
-    opener = urllib2.OpenerDirector()
-    opener.add_handler(urllib2.ProxyHandler())
-    opener.add_handler(urllib2.UnknownHandler())
-    opener.add_handler(urllib2.HTTPHandler())
-    opener.add_handler(urllib2.HTTPDefaultErrorHandler())
-    opener.add_handler(urllib2.HTTPSHandler())
+    opener = urllib.request.OpenerDirector()
+    opener.add_handler(urllib.request.ProxyHandler())
+    opener.add_handler(urllib.request.UnknownHandler())
+    opener.add_handler(urllib.request.HTTPHandler())
+    opener.add_handler(urllib.request.HTTPDefaultErrorHandler())
+    opener.add_handler(urllib.request.HTTPSHandler())
     opener.add_handler(urllib2.HTTPErrorProcessor())
     if self.save_cookies:
       self.cookie_file = os.path.expanduser("~/.codereview_upload_cookies")
-      self.cookie_jar = cookielib.MozillaCookieJar(self.cookie_file)
+      self.cookie_jar = http.cookiejar.MozillaCookieJar(self.cookie_file)
       if os.path.exists(self.cookie_file):
         try:
           self.cookie_jar.load()
           self.authenticated = True
           StatusUpdate("Loaded authentication cookies from %s" %
                        self.cookie_file)
-        except (cookielib.LoadError, IOError):
+        except (http.cookiejar.LoadError, IOError):
           # Failed to load cookies - just ignore them.
           pass
       else:
         # Create an empty cookie file with mode 600
-        fd = os.open(self.cookie_file, os.O_CREAT, 0600)
+        fd = os.open(self.cookie_file, os.O_CREAT, 0o600)
         os.close(fd)
       # Always chmod the cookie file
-      os.chmod(self.cookie_file, 0600)
+      os.chmod(self.cookie_file, 0o600)
     else:
       # Don't save cookies across runs of update.py.
-      self.cookie_jar = cookielib.CookieJar()
-    opener.add_handler(urllib2.HTTPCookieProcessor(self.cookie_jar))
+      self.cookie_jar = http.cookiejar.CookieJar()
+    opener.add_handler(urllib.request.HTTPCookieProcessor(self.cookie_jar))
     return opener
 
 
@@ -589,11 +589,11 @@
     if keyring:
       password = keyring.get_password(host, local_email)
     if password is not None:
-      print "Using password from system keyring."
+      print("Using password from system keyring.")
     else:
       password = getpass.getpass("Password for %s: " % local_email)
       if keyring:
-        answer = raw_input("Store password in system keyring?(y/N) ").strip()
+        answer = input("Store password in system keyring?(y/N) ").strip()
         if answer == "y":
           keyring.set_password(host, local_email, password)
     return (local_email, password)
@@ -624,7 +624,7 @@
     lines.append('--' + BOUNDARY)
     lines.append('Content-Disposition: form-data; name="%s"' % key)
     lines.append('')
-    if isinstance(value, unicode):
+    if isinstance(value, str):
       value = value.encode('utf-8')
     lines.append(value)
   for (key, filename, value) in files:
@@ -633,7 +633,7 @@
              (key, filename))
     lines.append('Content-Type: %s' % GetContentType(filename))
     lines.append('')
-    if isinstance(value, unicode):
+    if isinstance(value, str):
       value = value.encode('utf-8')
     lines.append(value)
   lines.append('--' + BOUNDARY + '--')
@@ -675,7 +675,7 @@
       line = p.stdout.readline()
       if not line:
         break
-      print line.strip("\n")
+      print(line.strip("\n"))
       output_array.append(line)
     output = "".join(output_array)
   else:
@@ -683,7 +683,7 @@
   p.wait()
   errout = p.stderr.read()
   if print_output and errout:
-    print >>sys.stderr, errout
+    print(errout, file=sys.stderr)
   p.stdout.close()
   p.stderr.close()
   return output, p.returncode
@@ -734,11 +734,11 @@
     """Show an "are you sure?" prompt if there are unknown files."""
     unknown_files = self.GetUnknownFiles()
     if unknown_files:
-      print "The following files are not added to version control:"
+      print("The following files are not added to version control:")
       for line in unknown_files:
-        print line
+        print(line)
       prompt = "Are you sure to continue?(y/N) "
-      answer = raw_input(prompt).strip()
+      answer = input(prompt).strip()
       if answer != "y":
         ErrorExit("User aborted")
 
@@ -790,13 +790,13 @@
       else:
         type = "current"
       if len(content) > MAX_UPLOAD_SIZE:
-        print ("Not uploading the %s file for %s because it's too large." %
-               (type, filename))
+        print(("Not uploading the %s file for %s because it's too large." %
+               (type, filename)))
         file_too_large = True
         content = ""
       checksum = md5(content).hexdigest()
       if options.verbose > 0 and not file_too_large:
-        print "Uploading %s file for %s" % (type, filename)
+        print("Uploading %s file for %s" % (type, filename))
       url = "/%d/upload_content/%d/%d" % (int(issue), int(patchset), file_id)
       form_fields = [("filename", filename),
                      ("status", status),
@@ -818,7 +818,7 @@
 
     patches = dict()
     [patches.setdefault(v, k) for k, v in patch_list]
-    for filename in patches.keys():
+    for filename in list(patches.keys()):
       base_content, new_content, is_binary, status = files[filename]
       file_id_str = patches.get(filename)
       if file_id_str.find("nobase") != -1:
@@ -885,8 +885,8 @@
       words = line.split()
       if len(words) == 2 and words[0] == "URL:":
         url = words[1]
-        scheme, netloc, path, params, query, fragment = urlparse.urlparse(url)
-        username, netloc = urllib.splituser(netloc)
+        scheme, netloc, path, params, query, fragment = urllib.parse.urlparse(url)
+        username, netloc = urllib.parse.splituser(netloc)
         if username:
           logging.info("Removed username from base URL")
         if netloc.endswith("svn.python.org"):
@@ -904,12 +904,12 @@
           logging.info("Guessed CollabNet base = %s", base)
         elif netloc.endswith(".googlecode.com"):
           path = path + "/"
-          base = urlparse.urlunparse(("http", netloc, path, params,
+          base = urllib.parse.urlunparse(("http", netloc, path, params,
                                       query, fragment))
           logging.info("Guessed Google Code base = %s", base)
         else:
           path = path + "/"
-          base = urlparse.urlunparse((scheme, netloc, path, params,
+          base = urllib.parse.urlunparse((scheme, netloc, path, params,
                                       query, fragment))
           logging.info("Guessed base = %s", base)
         return base
@@ -1404,8 +1404,8 @@
   rv = []
   for patch in patches:
     if len(patch[1]) > MAX_UPLOAD_SIZE:
-      print ("Not uploading the patch for " + patch[0] +
-             " because the file is too large.")
+      print(("Not uploading the patch for " + patch[0] +
+             " because the file is too large."))
       continue
     form_fields = [("filename", patch[0])]
     if not options.download_base:
@@ -1413,7 +1413,7 @@
     files = [("data", "data.diff", patch[1])]
     ctype, body = EncodeMultipartFormData(form_fields, files)
     url = "/%d/upload_patch/%d" % (int(issue), int(patchset))
-    print "Uploading patch for " + patch[0]
+    print("Uploading patch for " + patch[0])
     response_body = rpc_server.Send(url, body, content_type=ctype)
     lines = response_body.splitlines()
     if not lines or lines[0] != "OK":
@@ -1442,7 +1442,8 @@
     out, returncode = RunShellWithReturnCode(["hg", "root"])
     if returncode == 0:
       return (VCS_MERCURIAL, out.strip())
-  except OSError, (errno, message):
+  except OSError as xxx_todo_changeme:
+    (errno, message) = xxx_todo_changeme.args
     if errno != 2:  # ENOENT -- they don't have hg installed.
       raise
 
@@ -1458,7 +1459,8 @@
                                               "--is-inside-work-tree"])
     if returncode == 0:
       return (VCS_GIT, None)
-  except OSError, (errno, message):
+  except OSError as xxx_todo_changeme1:
+    (errno, message) = xxx_todo_changeme1.args
     if errno != 2:  # ENOENT -- they don't have git installed.
       raise
 
@@ -1536,7 +1538,7 @@
     subversion_config = os.path.expanduser("~/.subversion/config")
   if not os.path.exists(subversion_config):
     return {}
-  config = ConfigParser.ConfigParser()
+  config = configparser.ConfigParser()
   config.read(subversion_config)
   RefactoringTool: No changes to ./src/win_setup.py
RefactoringTool: Refactored ./src/googlecl/youtube/service.py
RefactoringTool: Refactored ./src/googlecl/youtube/__init__.py
if (config.has_section("miscellany") and
       config.has_option("miscellany", "enable-auto-props") and
@@ -1591,7 +1593,7 @@
     svn_auto_props_map = LoadSubversionAutoProperties()
 
   all_props = []
-  for file_pattern, props in svn_auto_props_map.items():
+  for file_pattern, props in list(svn_auto_props_map.items()):
     if fnmatch.fnmatch(filename, file_pattern):
       all_props.extend(props)
   if all_props:
@@ -1661,8 +1663,8 @@
     guessed_base = vcs.GuessBase(options.download_base)
     if base:
       if guessed_base and base != guessed_base:
-        print "Using base URL \"%s\" from --base_url instead of \"%s\"" % \
-            (base, guessed_base)
+        print("Using base URL \"%s\" from --base_url instead of \"%s\"" % \
+            (base, guessed_base))
     else:
       base = guessed_base
 
@@ -1676,12 +1678,12 @@
   data = vcs.PostProcessDiff(data)
   files = vcs.GetBaseFiles(data)
   if verbosity >= 1:
-    print "Upload server:", options.server, "(change with -s/--server)"
+    print("Upload server:", options.server, "(change with -s/--server)")
   if options.issue:
     prompt = "Message describing this patch set: "
   else:
     prompt = "New issue subject: "
-  message = options.message or raw_input(prompt).strip()
+  message = options.message or input(prompt).strip()
   if not message:
     ErrorExit("A non-empty message is required")
   rpc_server = GetRpcServer(options.server,
@@ -1716,7 +1718,7 @@
   # Send a hash of all the base file so the server can determine if a copy
   # already exists in an earlier patchset.
   base_hashes = ""
-  for file, info in files.iteritems():
+  for file, info in files.items():
     if not info[0] is None:
       checksum = md5(info[0]).hexdigest()
       if base_hashes:
@@ -1725,7 +1727,7 @@
   form_fields.append(("base_hashes", base_hashes))
   if options.private:
     if options.issue:
-      print "Warning: Private flag ignored when updating an existing issue."
+      print("Warning: Private flag ignored when updating an existing issue.")
     else:
       form_fields.append(("private", "1"))
   # If we're uploading base files, don't send the email before the uploads, so
@@ -1735,7 +1737,7 @@
   if not options.download_base:
     form_fields.append(("content_upload", "1"))
   if len(data) > MAX_UPLOAD_SIZE:
-    print "Patch is large, so uploading file patches separately."
+    print("Patch is large, so uploading file patches separately.")
     uploaded_diff_file = []
     form_fields.append(("separate_patches", "1"))
   else:
@@ -1775,7 +1777,7 @@
   try:
     RealMain(sys.argv)
   except KeyboardInterrupt:
-    print
+    print()
     StatusUpdate("Interrupted.")
     sys.exit(1)
 
--- ./src/googlecl/youtube/service.py	(original)
+++ ./src/googlecl/youtube/service.py	(refactored)
@@ -59,7 +59,7 @@
       video.media.category = build_category(category)
       try:
         self.UpdateVideoEntry(video)
-      except gdata.service.RequestError, err:
+      except gdata.service.RequestError as err:
         if err.args[0]['body'].find('invalid_value') != -1:
           LOG.error('Category update failed, ' + category +
                     ' is not a category.')
@@ -107,7 +107,7 @@
 
     """
     from gdata.media import Group, Title, Description, Keywords, Private
-    if isinstance(paths, basestring):
+    if isinstance(paths, str):
       paths = [paths]
     set_private = lambda private: Private() if private else None
     for path in paths:
@@ -126,9 +126,9 @@
       LOG.info(safe_encode('Loading ' + path))
       try:
         entry = self.InsertVideoEntry(video_entry, path)
-      except gdata.service.RequestError, err:
+      except gdata.service.RequestError as err:
         LOG.error('Failed to upload video: %s' % err)
-      except gdata.youtube.service.YouTubeError, err:
+      except gdata.youtube.service.YouTubeError as err:
         err_str = str(err)
         if err_str.find('path name or a file-like object') != -1:
           err_str = safe_encode('Could not find file ' + path)
--- ./src/googlecl/youtube/__init__.py	(original)
+++ ./srcRefactoringTool: Refactored ./src/googlecl/service.py
RefactoringTool: Refactored ./src/googlecl/picasa/service.py
/googlecl/youtube/__init__.py	(refactored)
@@ -105,9 +105,9 @@
   entries = client.GetVideos(user=options.owner or 'default',
                              titles=titles_list)
   for vid in entries:
-    print googlecl.base.compile_entry_string(VideoEntryToStringWrapper(vid),
+    print(googlecl.base.compile_entry_string(VideoEntryToStringWrapper(vid),
                                              options.fields.split(','),
-                                             delimiter=options.delimiter)
+                                             delimiter=options.delimiter))
 
 
 def _run_post(client, options, args):
--- ./src/googlecl/service.py	(original)
+++ ./src/googlecl/service.py	(refactored)
@@ -110,7 +110,7 @@
     try:
       request_token = self.FetchOAuthRequestToken(scopes=scopes,
                                                   extra_parameters=fetch_params)
-    except gdata.service.FetchingOAuthRequestTokenFailed, err:
+    except gdata.service.FetchingOAuthRequestTokenFailed as err:
       LOG.error(err[0]['body'].strip() + '; Request token retrieval failed!')
       if str(err).find('Timestamp') != -1:
         LOG.info('Is your system clock up to date? See the FAQ on our wiki: '
@@ -123,13 +123,13 @@
     if browser is not None:
       try:
         browser.open(str(auth_url))
-      except Exception, err:
+      except Exception as err:
         # Blanket catch of Exception is a bad idea, but don't want to pass in
         # error to look for.
-        LOG.error('Failed to launch web browser: ' + unicode(err))
+        LOG.error('Failed to launch web browser: ' + str(err))
     message = ('Please log in and/or grant access via your browser at %s '
                'then hit enter.' % auth_url)
-    raw_input(message)
+    input(message)
     # This upgrades the token, and if successful, sets the access token
     try:
       self.UpgradeToOAuthAccessToken(request_token)
--- ./src/googlecl/picasa/service.py	(original)
+++ ./src/googlecl/picasa/service.py	(refactored)
@@ -16,12 +16,12 @@
 """Service details and instances for the Picasa service."""
 
 
-from __future__ import with_statement
+
 
 __author__ = 'tom.h.miller@gmail.com (Tom Miller)'
 import logging
 import os
-import urllib
+import urllib.request, urllib.parse, urllib.error
 import time
 
 import gdata.photos
@@ -56,7 +56,7 @@
 # 'video/', eliminating duplicates via set(), then converting to tuple()
 # since that's what gdata.photos.service uses.
 gdata.photos.service.SUPPORTED_UPLOAD_TYPES += \
-   tuple(set([vtype.split('/')[1] for vtype in SUPPORTED_VIDEO_TYPES.values()]))
+   tuple(set([vtype.split('/')[1] for vtype in list(SUPPORTED_VIDEO_TYPES.values())]))
 DOWNLOAD_VIDEO_TYPES = {'swf': 'application/x-shockwave-flash',
                         'mp4': 'video/mpeg4',}
 
@@ -198,10 +198,10 @@
     if not user:
       user = 'default'
     entries = self.GetAlbum(user=user, titles=titles)
-    if video_format not in DOWNLOAD_VIDEO_TYPES.keys():
+    if video_format not in list(DOWNLOAD_VIDEO_TYPES.keys()):
       LOG.error('Unsupported video format: ' + video_format)
       LOG.info('Try one of the following video formats: ' +
-               str(DOWNLOAD_VIDEO_TYPES.keys())[1:-1])
+               str(list(DOWNLOAD_VIDEO_TYPES.keys()))[1:-1])
       video_format = 'mp4'
       LOG.info('Downloading videos as ' + video_format)
 
@@ -235,7 +235,7 @@
             photo_concat += 1
         LOG.info(safe_encode('Downloading %s to %s' %
                              (safe_decode(photo_or_video.title.text), path)))
-        urllib.urlretrieve(url, path)
+        urllib.request.urlretrieve(url, path)
 
   DownloadAlbum = download_album
 
@@ -304,18 +304,18 @@
                                filename_or_handle=path,
                                keywords=keywords,
                                content_type=content_type)
-      except GooglePhotosException, err:
+      except GooglePhotosException as err:
         LOG.error('Failed to upload %s. (%s: %s)', path,
                                                    err.args[0],
                   RefactoringTool: Refactored ./src/googlecl/picasa/__init__.py
RefactoringTool: Refactored ./src/googlecl/finance/service.py
RefactoringTool: No changes to ./src/googlecl/finance/__init__.py
RefactoringTool: Refactored ./src/googlecl/docs/service.py
                                 err.args[1])
         failures.append(file)
-      except Exception, err:
+      except Exception as err:
         # Don't let a stray error wreck an upload of 1000 photos
-        LOG.error(safe_encode('Unexpected error -- ' + unicode(err)))
+        LOG.error(safe_encode('Unexpected error -- ' + str(err)))
         failures.append(file)
     if failures:
       LOG.info(str(len(failures)) + ' photos failed to upload')
-      LOG.debug(safe_encode('Failed files: ' + unicode(failures)))
+      LOG.debug(safe_encode('Failed files: ' + str(failures)))
     return failures
 
   InsertMediaList = insert_media_list
--- ./src/googlecl/picasa/__init__.py	(original)
+++ ./src/googlecl/picasa/__init__.py	(refactored)
@@ -228,9 +228,9 @@
                                     force_photos=True,
                                     photo_title=options.photo)
   for entry in entries:
-    print googlecl.base.compile_entry_string(PhotoEntryToStringWrapper(entry),
+    print(googlecl.base.compile_entry_string(PhotoEntryToStringWrapper(entry),
                                              options.fields.split(','),
-                                             delimiter=options.delimiter)
+                                             delimiter=options.delimiter))
 
 
 def _run_list_albums(client, options, args):
@@ -239,9 +239,9 @@
                                     titles=titles_list,
                                     force_photos=False)
   for entry in entries:
-    print googlecl.base.compile_entry_string(AlbumEntryToStringWrapper(entry),
+    print(googlecl.base.compile_entry_string(AlbumEntryToStringWrapper(entry),
                                              options.fields.split(','),
-                                             delimiter=options.delimiter)
+                                             delimiter=options.delimiter))
 
 
 def _run_post(client, options, args):
--- ./src/googlecl/finance/service.py	(original)
+++ ./src/googlecl/finance/service.py	(refactored)
@@ -94,7 +94,7 @@
     pfl.portfolio_title = title
     try:
       return self.AddPortfolio(pfl)
-    except RequestError, err:
+    except RequestError as err:
       LOG.error('Failed to create portfolio: %s' % err[0]['body'])
 
   CreatePortfolio = create_portfolio
@@ -241,7 +241,7 @@
     try:
       return self.AddTransaction(txn, portfolio_id=pfl.portfolio_id,
                                  ticker_id=ticker)
-    except RequestError, err:
+    except RequestError as err:
       LOG.error('Failed to create transaction: %s' % err[0]['body'])
 
 
--- ./src/googlecl/docs/service.py	(original)
+++ ./src/googlecl/docs/service.py	(refactored)
@@ -26,7 +26,7 @@
   docs get --folder "Some folder"
 
 """
-from __future__ import with_statement
+
 
 __author__ = 'tom.h.miller@gmail.com (Tom Miller)'
 import gdata.docs.service
@@ -82,14 +82,14 @@
     server_response = self.request('GET', uri)
     response_body = server_response.read()
     if server_response.status != 200:
-      raise gdata.service.RequestError, {'status': server_response.status,
+      raise gdata.service.RequestError({'status': server_response.status,
                                          'reason': server_response.reason,
-                                         'body': response_body}
+                                         'body': response_body})
     if googlecl.docs.base.can_export(uri) and\
        self.config.lazy_get(SECTION_HEADER, 'decode_utf_8', False, bool):
       try:
         file_string = response_body.decode('utf-8-sig')
-      except UnicodeError, err:
+      except UnicodeError as err:
         LOG.debug('Could not decode: ' + str(err))
         file_string = response_body
     else:
@@ -253,10 +253,10 @@
     try:
       content_type = SUPPORTED_FILETYPES[file_ext.upper()]
     except KeyError:
-      print 'Could not find mimetype for ' + file_ext
-      while file_ext not in SUPPORTED_FILETYPES.keys():
-        file_ext = raw_input('Please enter one of ' +
-                                SUPPORTED_FILETYPES.keys() +
+      printRefactoringTool: Refactored ./src/googlecl/docs/client.py
RefactoringTool: Refactored ./src/googlecl/docs/base.py
('Could not find mimetype for ' + file_ext)
+      while file_ext not in list(SUPPORTED_FILETYPES.keys()):
+        file_ext = input('Please enter one of ' +
+                                list(SUPPORTED_FILETYPES.keys()) +
                                 ' for a content type to upload as.')
       content_type = SUPPORTED_FILETYPES[file_ext.upper()]
     mediasource = gdata.MediaSource(file_path=path_to_new_content,
--- ./src/googlecl/docs/client.py	(original)
+++ ./src/googlecl/docs/client.py	(refactored)
@@ -26,7 +26,7 @@
   docs get --folder "Some folder"
 
 """
-from __future__ import with_statement
+
 
 __author__ = 'tom.h.miller@gmail.com (Tom Miller)'
 import gdata.docs.client
@@ -94,7 +94,7 @@
        self.config.lazy_get(SECTION_HEADER, 'decode_utf_8', False, bool):
       try:
         file_string = response_string.decode('utf-8-sig')
-      except UnicodeError, err:
+      except UnicodeError as err:
         LOG.debug('Could not decode: ' + str(err))
         file_string = response_string
     else:
@@ -252,10 +252,10 @@
     try:
       content_type = MIMETYPES[file_ext.upper()]
     except KeyError:
-      print 'Could not find mimetype for ' + file_ext
-      while file_ext not in MIMETYPES.keys():
-        file_ext = raw_input('Please enter one of ' +
-                                MIMETYPES.keys() +
+      print('Could not find mimetype for ' + file_ext)
+      while file_ext not in list(MIMETYPES.keys()):
+        file_ext = input('Please enter one of ' +
+                                list(MIMETYPES.keys()) +
                                 ' to determine the content type to upload as.')
       content_type = MIMETYPES[file_ext.upper()]
     mediasource = gdata.data.MediaSource(file_path=path_to_new_content,
--- ./src/googlecl/docs/base.py	(original)
+++ ./src/googlecl/docs/base.py	(refactored)
@@ -26,10 +26,10 @@
   docs get --folder "Some folder"
 
 """
-from __future__ import with_statement
+
 
 __author__ = 'tom.h.miller@gmail.com (Tom Miller)'
-import ConfigParser
+import configparser
 import logging
 import os
 import shlex
@@ -96,7 +96,7 @@
 
     temp_dir = tempfile.mkdtemp()
     # If we're creating a new document and not given a folder entry
-    if new_doc and isinstance(folder_entry_or_path, basestring):
+    if new_doc and isinstance(folder_entry_or_path, str):
       folder_path = os.path.normpath(folder_entry_or_path)
       # Some systems allow more than one path separator
       if os.altsep:
@@ -132,7 +132,7 @@
                  'you to finish editing your file.')
         LOG.info('Hit enter in this shell when you finished editing and saved '
                  'your work.')
-        raw_input('')
+        input('')
     if file_hash and file_hash == _md5_hash_file(path):
       LOG.info('No modifications to file, not uploading.')
       return None
@@ -141,7 +141,7 @@
       return None
 
     if new_doc:
-      if isinstance(folder_entry_or_path, basestring):
+      if isinstance(folder_entry_or_path, str):
         # Let code in upload_docs handle the creation of new folder(s)
         self.upload_docs([base_path], doc_title)
       else:
@@ -151,7 +151,7 @@
     else:
       try:
         doc_entry = self._modify_entry(doc_entry_or_title, path, file_ext)
-      except self.request_error, err:
+      except self.request_error as err:
         LOG.error(err)
         new_path = safe_move(path, '.')
         LOG.info(safe_encode('Moved edited document to ' +
@@ -183,9 +183,9 @@
     """
     if not os.path.isdir(base_path):
       if len(entries) > 1:
-        raise DocsError(safe_encode(u'Specified multiple source files, but ' +
-                                    u'destination "' + base_path +
-                                    u'" is not a directory'))
+        raise DocsError(safe_encode('Specified multiple source files, but ' +
+                                    'destination "' + base_path +
+                                    '" is not a directory'))
       format_from_filename = googlecl.get_extension_from_path(base_path)
       if format_from_filename and not fRefactoringTool: Refactored ./src/googlecl/docs/__init__.py
RefactoringTool: Refactored ./src/googlecl/contacts/service.py
RefactoringTool: Refactored ./src/googlecl/contacts/client.py
RefactoringTool: Refactored ./src/googlecl/contacts/base.py
RefactoringTool: Refactored ./src/googlecl/contacts/__init__.py
ile_ext:
         # Strip the extension off here if it exists. Don't want to double up
@@ -228,10 +228,10 @@
           self.Export(entry, path)
         else:
           self.Download(entry, path)
-      except self.request_error, err:
+      except self.request_error as err:
         LOG.error(safe_encode('Download of ' + entry_title + ' failed: ' +
-                              unicode(err)))
-      except EnvironmentError, err:
+                              str(err)))
+      except EnvironmentError as err:
         LOG.error(err)
         LOG.info('Does your destination filename contain invalid characters?')
 
@@ -376,7 +376,7 @@
     try:
       new_entry = self._transmit_doc(path, entry_title, post_uri, content_type,
                                      file_ext)
-    except self.request_error, err:
+    except self.request_error as err:
       LOG.error('Failed to upload %s: %s', path, err)
       if (str(err).find('ServiceForbiddenException') != -1 or
           str(err).find('Unsupported Media Type') != -1):
@@ -418,7 +418,7 @@
     False if not (must use client.Download)
 
   """
-  if isinstance(entry_or_url, (str, unicode)):
+  if isinstance(entry_or_url, str):
     url = entry_or_url
   else:
     url = entry_or_url.content.src
--- ./src/googlecl/docs/__init__.py	(original)
+++ ./src/googlecl/docs/__init__.py	(refactored)
@@ -132,9 +132,9 @@
   folder_entries = client.get_folder(options.folder)
   entries = client.get_doclist(titles_list, folder_entries)
   if not os.path.isdir(options.dest) and len(entries) > 1:
-    LOG.error(googlecl.safe_encode(u'Specified multiple source files, but ' +
-                                   u'destination "' + options.dest +
-                                   u'" is not a directory'))
+    LOG.error(googlecl.safe_encode('Specified multiple source files, but ' +
+                                   'destination "' + options.dest +
+                                   '" is not a directory'))
     return
   client.get_docs(options.dest, entries, file_ext=options.format)
 
@@ -144,10 +144,10 @@
   folder_entries = client.get_folder(options.folder)
   entries = client.get_doclist(titles_list, folder_entries)
   for entry in entries:
-    print googlecl.base.compile_entry_string(
+    print(googlecl.base.compile_entry_string(
                                googlecl.base.BaseEntryToStringWrapper(entry),
                                options.fields.split(','),
-                               delimiter=options.delimiter)
+                               delimiter=options.delimiter))
 
 
 def _run_upload(client, options, args):
@@ -165,7 +165,7 @@
   if args:
     LOG.info('Sorry, no support for additional arguments for '
              '"docs edit" yet')
-    LOG.debug('(Ignoring ' + unicode(args) +')')
+    LOG.debug('(Ignoring ' + str(args) +')')
 
   if not hasattr(client, 'Download'):
     LOG.error('Editing documents is not supported' +
--- ./src/googlecl/contacts/service.py	(original)
+++ ./src/googlecl/contacts/service.py	(refactored)
@@ -23,7 +23,7 @@
   contacts list title,email
 
 """
-from __future__ import with_statement
+
 
 __author__ = 'tom.h.miller@gmail.com (Tom Miller)'
 import atom
--- ./src/googlecl/contacts/client.py	(original)
+++ ./src/googlecl/contacts/client.py	(refactored)
@@ -23,7 +23,7 @@
   contacts list title,email
 
 """
-from __future__ import with_statement
+
 
 __author__ = 'tom.h.miller@gmail.com (Tom Miller)'
 import atom
--- ./src/googlecl/contacts/base.py	(original)
+++ ./src/googlecl/contacts/base.py	(refactored)
@@ -23,7 +23,7 @@
   contacts list title,email
 
 """
-from __future__ import with_statement
+
 
 __author__ = 'tom.h.miller@gmail.com (Tom Miller)'
 import logging
--- ./src/googlecl/contacts/__init__.py	(original)
+++ ./src/googlecl/contacts/__init__.py	(refactored)
@@ -143,10 +143,10 @@
   titles_list = googlecl.build_titles_list(options.title, args)
   entries = client.GetContacts(titles_list)
   for entry in entries:
-    print googlecl.base.compile_entry_string(
+    print(googlecl.base.compile_entry_string(
                 RefactoringTool: Refactored ./src/googlecl/config/parser.py
RefactoringTool: Refactored ./src/googlecl/config/__init__.py
RefactoringTool: Refactored ./src/googlecl/client.py
                            ContactsEntryToStringWrapper(entry),
                                             options.fields.split(','),
-                                            delimiter=options.delimiter)
+                                            delimiter=options.delimiter))
 
 
 def _run_add(client, options, args):
@@ -177,10 +177,10 @@
   titles_list = googlecl.build_titles_list(options.title, args)
   entries = client.GetGroups(titles_list)
   for entry in entries:
-    print googlecl.base.compile_entry_string(
+    print(googlecl.base.compile_entry_string(
                                          ContactsEntryToStringWrapper(entry),
                                          ['name'],
-                                         delimiter=options.delimiter)
+                                         delimiter=options.delimiter))
 
 # XXX: Don't require title for list tasks.
 TASKS = {'list': googlecl.base.Task('List contacts', callback=_run_list,
--- ./src/googlecl/config/parser.py	(original)
+++ ./src/googlecl/config/parser.py	(refactored)
@@ -13,7 +13,7 @@
 # limitations under the License.
 """Enhanced configuration file parser."""
 
-from __future__ import with_statement
+
 
 import logging
 import os.path
@@ -57,7 +57,7 @@
       otherwise.
     """
     made_changes = False
-    for section_name, section_options in basic_options.iteritems():
+    for section_name, section_options in basic_options.items():
       if not self.parser.has_section(section_name):
         self.parser.add_section(section_name)
       missing_options = (set(section_options.keys()) -
@@ -142,8 +142,8 @@
       config_path: Path to the configuration file.
           Default None to use the default path defined in this module.
     """
-    if type(value) not in [unicode, str]:
-      value = unicode(value)
+    if type(value) not in [str, str]:
+      value = str(value)
     existing_value = self.safe_get(section, option)
 
     if existing_value is None:
--- ./src/googlecl/config/__init__.py	(original)
+++ ./src/googlecl/config/__init__.py	(refactored)
@@ -11,9 +11,9 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
-import ConfigParser
+import configparser
 import googlecl
-import parser
+from . import parser
 
 
 def _create_basic_options():
@@ -79,7 +79,7 @@
     if not path:
       LOG.error('Could not create config directory!')
       return False
-  config = parser.ConfigParser(ConfigParser.ConfigParser)
+  config = parser.ConfigParser(configparser.ConfigParser)
   config.associate(path)
   made_changes = config.ensure_basic_options(_create_basic_options())
   if made_changes:
--- ./src/googlecl/client.py	(original)
+++ ./src/googlecl/client.py	(refactored)
@@ -74,7 +74,7 @@
       True if access token was succesfully retrieved and set, otherwise False.
 
     """
-    import urllib
+    import urllib.request, urllib.parse, urllib.error
     import time
     # XXX: Not sure if get_oauth_token() will accept a list of mixed strings and
     # atom.http_core.Uri objects...
@@ -91,7 +91,7 @@
     LOG.debug('Scopes being requested: ' + str(scopes))
 
     url = gdata.gauth.REQUEST_TOKEN_URL + '?xoauth_displayname=' +\
-          urllib.quote(display_name)
+          urllib.parse.quote(display_name)
     try:
       # Installed applications do not have a pre-registration and so follow
       # directions for unregistered applications
@@ -99,7 +99,7 @@
                                            consumer_key='anonymous',
                                            consumer_secret='anonymous',
                                            url=url)
-    except self.request_error, err:
+    except self.request_error as err:
       LOG.error(err)
       if str(err).find('Timestamp') != -1:
         LOG.info('Is your system clock up to date? See the FAQ on our wiki: '
@@ -111,21 +111,21 @@
     if browser is not None:
       try:
         browser.open(str(auth_url))
-      except Exception, err:
+      excepRefactoringTool: Refactored ./src/googlecl/calendar/service.py
RefactoringTool: Refactored ./src/googlecl/calendar/date_test.py
RefactoringTool: Refactored ./src/googlecl/calendar/date.py
RefactoringTool: Refactored ./src/googlecl/calendar/__init__.py
t Exception as err:
         # Blanket catch of Exception is a bad idea, but don't want to pass in
         # error to look for.
-        LOG.error('Failed to launch web browser: ' + unicode(err))
-    print 'Please log in and/or grant access at %s' % auth_url
+        LOG.error('Failed to launch web browser: ' + str(err))
+    print('Please log in and/or grant access at %s' % auth_url)
     # Try to keep that damn "Created new window in existing browser session."
     # message away from raw_input call.
     time.sleep(2)
-    print ''
-    request_token.verifier = raw_input('Please enter the verification code on'
+    print('')
+    request_token.verifier = input('Please enter the verification code on'
                                        ' the success page: ').strip()
     # This upgrades the token, and if successful, sets the access token
     try:
       access_token = self.get_access_token(request_token)
-    except gdata.client.RequestError, err:
+    except gdata.client.RequestError as err:
       LOG.error(err)
       LOG.error('Token upgrade failed! Could not get OAuth access token.')
       return False
--- ./src/googlecl/calendar/service.py	(original)
+++ ./src/googlecl/calendar/service.py	(refactored)
@@ -28,7 +28,7 @@
 import googlecl.base
 import googlecl.service
 import logging
-import urllib
+import urllib.request, urllib.parse, urllib.error
 from googlecl import safe_encode, safe_decode
 from googlecl.calendar import SECTION_HEADER
 from googlecl.calendar.date import DateRangeParser
@@ -59,7 +59,7 @@
       # Non-primary calendar feeds look like this:
       # http:blah/.../feeds/JUNK%40group.calendar.google.com/private/full
       # So grab the part after /feeds/ and unquote it.
-      self.user = urllib.unquote(cal_entry.content.src.split('/')[-3])
+      self.user = urllib.parse.unquote(cal_entry.content.src.split('/')[-3])
       self.name = safe_decode(cal_entry.title.text)
     else:
       self.user = user
@@ -99,7 +99,7 @@
                      e.original_event.id == event.original_event.id]
     if not delete_events:
       raise EventsNotFound
-    map(request_feed.AddDelete, [None], delete_events, [None])
+    list(map(request_feed.AddDelete, [None], delete_events, [None]))
     self.ExecuteBatch(request_feed, USER_BATCH_URL_FORMAT % cal_user)
 
   def add_reminders(self, calendar_user, events, minutes):
@@ -178,7 +178,7 @@
           msg = 'Delete "%s"?\n%s' %\
                 (safe_decode(event.title.text), prompt_str)
           try:
-            delete_selection = int(raw_input(safe_encode(msg)))
+            delete_selection = int(input(safe_encode(msg)))
           except ValueError:
             continue
         deletion_choice = option_list[delete_selection][1]
--- ./src/googlecl/calendar/date_test.py	(original)
+++ ./src/googlecl/calendar/date_test.py	(refactored)
@@ -18,7 +18,7 @@
 
 __author__ = 'thmiller@google.com (Tom Miller)'
 
-import date
+from . import date
 import unittest
 from datetime import datetime
 from datetime import timedelta
@@ -106,7 +106,7 @@
     self.parser = date.DateParser(static_today, static_now)
 
   def runTestSet(self, test_dict):
-    for text, expected_date in test_dict.items():
+    for text, expected_date in list(test_dict.items()):
       parsed_date = self.parser.parse(text)
       self.assertConvertedEqual(text, expected_date, parsed_date.local)
 
@@ -143,7 +143,7 @@
     for text in FAIL_TESTS:
       try:
         self.parser.parse(text)
-      except date.ParsingError, err:
+      except date.ParsingError as err:
         pass
       else:
         self.fail('Expected ParsingError for %s' % text)
--- ./src/googlecl/calendar/date.py	(original)
+++ ./src/googlecl/calendar/date.py	(refactored)
@@ -425,7 +425,7 @@
     for time_format in possible_formats:
       try:
         date = datetime.datetime.strptime(time_string, time_format)
-      except ValueError, err:
+      except ValueError as err:
         continue
       else:
         return date, time_format
--- ./src/googlecl/calendar/__init__.py	(original)
+++ ./src/googlecl/calendar/__iRefactoringTool: Refactored ./src/googlecl/blogger/service.py
nit__.py	(refactored)
@@ -33,7 +33,7 @@
   seen_ids = []
   combined_events = []
   for event in events:
-    print "looking at event %s" % event.title.text
+    print("looking at event %s" % event.title.text)
     if event.original_event.id not in seen_ids:
       seen_ids.append(event.original_event.id)
       combined_events.append(event)
@@ -108,7 +108,7 @@
     try:
       start = datetime.datetime.strptime(event.when[0].start_time, '%Y-%m-%d')
       end = datetime.datetime.strptime(event.when[0].end_time, '%Y-%m-%d')
-    except ValueError, err:
+    except ValueError as err:
       if str(err).find('unconverted data remains') == -1:
         raise err
       else:
@@ -142,19 +142,19 @@
   is_canceled = lambda e: e.event_status.value == 'CANCELED' or not e.when
 
   for event in events:
-    print 'looking at event %s' % event.title.text
+    print('looking at event %s' % event.title.text)
     if recurrences_expanded:
       if event.original_event:
-        print 'event is original: %s' % event.title.text
+        print('event is original: %s' % event.title.text)
         try:
           status = canceled_recurring_events[event.original_event.id]
         except KeyError:
           status = None
         if is_canceled(event) and status != AT_LEAST_ONE_EVENT:
-          print 'adding event to canceled: %s' % event.title.text
+          print('adding event to canceled: %s' % event.title.text)
           canceled_recurring_events[event.original_event.id] = event
         if not is_canceled(event):
-          print 'at least one more of: %s' % event.title.text
+          print('at least one more of: %s' % event.title.text)
           canceled_recurring_events[event.original_event.id]= AT_LEAST_ONE_EVENT
       ongoing_events.append(event)
     # If recurrences have not been expanded, we can't tell if they were
@@ -162,7 +162,7 @@
     if not is_canceled(event):
       ongoing_events.append(event)
 
-  for event in canceled_recurring_events.values():
+  for event in list(canceled_recurring_events.values()):
     if event != AT_LEAST_ONE_EVENT:
       ongoing_events.remove(event)
 
@@ -255,7 +255,7 @@
     end_text = time.strftime(print_format, end_date)
     value = start_text + ' - ' + end_text
     if freq:
-      if freq.has_key('BYDAY'):
+      if 'BYDAY' in freq:
         value += ' (' + freq['BYDAY'].lower() + ')'
       else:
         value += ' (' + freq['FREQ'].lower() + ')'
@@ -276,8 +276,8 @@
   parser = DateRangeParser()
   date_range = parser.parse(options.date)
   for cal in cal_user_list:
-    print ''
-    print safe_encode('[' + unicode(cal) + ']')
+    print('')
+    print(safe_encode('[' + str(cal) + ']'))
     single_events = client.get_events(cal.user,
                                       start_date=date_range.start,
                                       end_date=date_range.end,
@@ -286,10 +286,10 @@
                                       split=False)
 
     for entry in single_events:
-      print googlecl.base.compile_entry_string(
+      print(googlecl.base.compile_entry_string(
                             CalendarEntryToStringWrapper(entry, client.config),
                             options.fields.split(','),
-                            delimiter=options.delimiter)
+                            delimiter=options.delimiter))
 
 
 #===============================================================================
@@ -359,7 +359,7 @@
                                                     query=options.query,
                                                     expand_recurrence=True)
     if options.prompt:
-      LOG.info(safe_encode('For calendar ' + unicode(cal)))
+      LOG.info(safe_encode('For calendar ' + str(cal)))
     if single_events:
       client.DeleteEntryList(single_events, 'event', options.prompt)
     if recurring_events:
--- ./src/googlecl/blogger/service.py	(original)
+++ ./src/googlecl/blogger/service.py	(refactored)
@@ -16,7 +16,7 @@
 """Service details and instances for the Blogger service."""
 
 
-from __future__ import with_statement
+
 
 __author__ = 'tom.h.miller@gmRefactoringTool: Refactored ./src/googlecl/blogger/__init__.py
RefactoringTool: Refactored ./src/googlecl/base.py
ail.com (Tom Miller)'
 import atom
@@ -192,8 +192,8 @@
                                      content,
                                      blog_id=blog_id,
                                      is_draft=is_draft)
-      except self.request_error, err:
-        LOG.error(safe_encode('Failed to post: ' + unicode(err)))
+      except self.request_error as err:
+        LOG.error(safe_encode('Failed to post: ' + str(err)))
       else:
         entry_list.append(entry)
         if entry.control and entry.control.draft.text == 'yes':
--- ./src/googlecl/blogger/__init__.py	(original)
+++ ./src/googlecl/blogger/__init__.py	(refactored)
@@ -87,10 +87,10 @@
   entries = client.GetPosts(options.blog, titles_list,
                             user_id=options.owner or 'default')
   for entry in entries:
-    print googlecl.base.compile_entry_string(
+    print(googlecl.base.compile_entry_string(
                                              BloggerEntryToStringWrapper(entry),
                                              options.fields.split(','),
-                                             delimiter=options.delimiter)
+                                             delimiter=options.delimiter))
 
 
 def _run_tag(client, options, args):
--- ./src/googlecl/base.py	(original)
+++ ./src/googlecl/base.py	(refactored)
@@ -17,7 +17,7 @@
 import googlecl
 import logging
 import re
-import urllib
+import urllib.request, urllib.parse, urllib.error
 import time
 
 # Renamed here to reduce verbosity in other sections
@@ -106,7 +106,7 @@
                         (entry_type, '%s'))
     for item in entries:
       if prompt:
-        delete_str = raw_input(prompt_message % safe_encode(item.title.text))
+        delete_str = input(prompt_message % safe_encode(item.title.text))
         if not delete_str:
           delete = False
         else:
@@ -125,7 +125,7 @@
               self.delete(item)
             else:
               self.Delete(item.GetEditLink().href)
-        except self.request_error, err:
+        except self.request_error as err:
           LOG.warning('Could not delete ' + entry_type + ': ' + str(err))
 
   DeleteEntryList = delete_entry_list
@@ -150,7 +150,7 @@
 
     if server_response.status == 200:
       try:
-        from urlparse import parse_qs
+        from urllib.parse import parse_qs
         parse_func = parse_qs
       except ImportError:
         # parse_qs was moved to urlparse from cgi in python2.6
@@ -167,16 +167,16 @@
           return BaseServiceCL.get_email(location,
                                       redirects_remaining=redirects_remaining-1)
         else:
-          raise self.request_error, {'status': server_response.status,
+          raise self.request_error({'status': server_response.status,
                 'reason': '302 received without Location header',
-                'body': result_body}
+                'body': result_body})
       else:
-        raise self.request_error, {'status': server_response.status,
+        raise self.request_error({'status': server_response.status,
               'reason': 'Redirect received, but redirects_remaining <= 0',
-              'body': result_body}
-    else:
-      raise self.request_error, {'status': server_response.status,
-            'reason': server_response.reason, 'body': result_body}
+              'body': result_body})
+    else:
+      raise self.request_error({'status': server_response.status,
+            'reason': server_response.reason, 'body': result_body})
     return email
 
   def get_entries(self, uri, titles=None, converter=None, desired_class=None):
@@ -203,7 +203,7 @@
     # NoneType or list, not also maybe a string.
     if self.max_results is not None:
       uri = set_max_results(uri, self.max_results)
-    if isinstance(uri, unicode):
+    if isinstance(uri, str):
       uri = uri.encode('utf-8')
     feed = None
     try:
@@ -218,7 +218,7 @@
             feed = self.GetFeed(uri, converter=converter)
       if not feed:
         feed = self.GetFeed(uri)
-    except self.request_error, err:
+    except self.request_error as eRefactoringTool: Refactored ./src/googlecl/authentication.py
rr:
       LOG.error('Failed to get entries: ' + str(err))
       return []
     all_entries = feed.entry
@@ -240,7 +240,7 @@
 
     if self.use_regex:
       # Carefully build title regex.
-      if isinstance(titles, basestring):
+      if isinstance(titles, str):
         title_regex = titles
       else:
         title_regex = safe_decode('|'.join(titles))
@@ -249,7 +249,7 @@
         entries = [entry for entry in all_entries
                    if entry.title.text and
                    re.match(title_regex, safe_decode(entry.title.text))]
-      except re.error, err:
+      except re.error as err:
         LOG.error('Regular expression error: ' + str(err) + '!')
         entries = []
     else:
@@ -286,7 +286,7 @@
     if not uri_or_entry_list:
       return None
 
-    if isinstance(uri_or_entry_list, basestring):
+    if isinstance(uri_or_entry_list, str):
       entries = self.get_entries(uri_or_entry_list, title, converter,
                                  desired_class)
     elif isinstance(uri_or_entry_list, list):
@@ -299,12 +299,12 @@
     if len(entries) == 1:
       return entries[0]
     elif len(entries) > 1:
-      print 'More than one match for title ' + (title or '')
+      print('More than one match for title ' + (title or ''))
       for num, entry in enumerate(entries):
-        print '%i) %s' % (num, safe_decode(entry.title.text))
+        print('%i) %s' % (num, safe_decode(entry.title.text)))
       selection = -1
       while selection < 0 or selection > len(entries)-1:
-        selection = int(raw_input('Please select one of the items by number: '))
+        selection = int(input('Please select one of the items by number: '))
       return entries[selection]
 
   GetSingleEntry = get_single_entry
@@ -326,7 +326,7 @@
     try:
       # Try to limit the number of results we get.
       self.Get(test_uri)
-    except self.request_error, err:
+    except self.request_error as err:
       LOG.debug('Token invalid! ' + str(err))
       return False
     else:
@@ -363,7 +363,7 @@
     while try_forever or attempts_remaining:
       try:
         return self.original_operation(*args, **kwargs)
-      except self.request_error, err:
+      except self.request_error as err:
         try:
           # RequestError defined in gdata.client
           status_code = err.status
@@ -380,7 +380,7 @@
             time.sleep(self.retry_delay)
         else:
           raise err
-      except Exception, unexpected:
+      except Exception as unexpected:
         LOG.debug('unexpected exception: %s' % unexpected)
         LOG.debug('Arguments: %s' % str(args))
         LOG.debug('Keyword arguments: %s' % kwargs)
@@ -429,9 +429,9 @@
       args_desc: Description of what the arguments should be.
                  (Default '', for no arguments necessary for this task)
     """
-    if isinstance(required, basestring):
+    if isinstance(required, str):
       required = [required]
-    if isinstance(optional, basestring):
+    if isinstance(optional, str):
       optional = [optional]
     self.description = description
     self.run = callback or self._not_impl
@@ -670,9 +670,9 @@
       # Get the value, replacing NoneTypes and empty strings
       # with the missing field value.
       val = getattr(wrapped_entry, attr.replace('-','_')) or missing_field_value
-    except ValueError, err:
+    except ValueError as err:
       LOG.debug(err.args[0] + ' (Did not add value for field ' + attr + ')')
-    except AttributeError, err:
+    except AttributeError as err:
       LOG.debug(err.args[0] + ' (value for field ' + attr + ')')
       try:
         # Last ditch effort to blindly grab the attribute
--- ./src/googlecl/authentication.py	(original)
+++ ./src/googlecl/authentication.py	(refactored)
@@ -13,7 +13,7 @@
 # limitations under the License.
 """Handling authentication to Google for all services."""
 
-from __future__ import with_statement
+
 
 import logging
 import os
@@ -56,7 +56,7 @@
     """
     try:
       token_valid = self.client.IsTokenValid()
-    except AttributeError, err:
+    except AttributeError RefactoringTool: Refactored ./src/googlecl/__init__.py
RefactoringTool: Refactored ./src/google.py
as err:
       # Attribute errors crop up when using different gdata libraries
       # but the same token.
       token_valid = False
@@ -92,11 +92,11 @@
       LOG.debug(new_path + ' already exists. Deleting it.')
       try:
         os.remove(new_path)
-      except EnvironmentError, err:
+      except EnvironmentError as err:
         LOG.debug('Cannot remove old failed token file: ' + str(err))
     try:
       os.rename(self.tokens_path, new_path)
-    except EnvironmentError, err:
+    except EnvironmentError as err:
       LOG.debug('Cannot rename token file to ' + new_path + ': ' + str(err))
 
   def read_access_token(self):
@@ -133,12 +133,12 @@
       with open(self.tokens_path, 'r+') as tokens_file:
         try:
           tokens_dict = pickle.load(tokens_file)
-        except ImportError, err:
+        except ImportError as err:
           LOG.error(err)
           LOG.info('You probably have been using different versions of gdata.')
           self._move_failed_token_file()
           return False
-        except IndexError, err:
+        except IndexError as err:
           LOG.error(err)
           self._move_failed_token_file()
           return False
@@ -150,7 +150,7 @@
         else:
           try:
             pickle.dump(tokens_dict, tokens_file)
-          except EnvironmentError, err:
+          except EnvironmentError as err:
             # IOError (extends enverror) shouldn't happen, but I've seen
             # IOError Errno 0 pop up on Windows XP with Python 2.5.
             LOG.error(err)
@@ -237,11 +237,11 @@
       with open(self.tokens_path, 'rb') as tokens_file:
         try:
           tokens_dict = pickle.load(tokens_file)
-        except (KeyError, IndexError), err:
+        except (KeyError, IndexError) as err:
           LOG.error(err)
           LOG.error('Failed to load token file (may be corrupted?)')
           file_invalid = True
-        except ImportError, err:
+        except ImportError as err:
           LOG.error(err)
           LOG.info('You probably have been using different versions of gdata.')
           file_invalid = True
--- ./src/googlecl/__init__.py	(original)
+++ ./src/googlecl/__init__.py	(refactored)
@@ -14,7 +14,7 @@
 
 
 """Contains configuration and read/write utility functions for GoogleCL."""
-from __future__ import with_statement
+
 
 __author__ = 'tom.h.miller@gmail.com (Tom Miller)'
 import logging
@@ -183,14 +183,14 @@
 
   if os.name == 'posix':
     default_dir = xdg_home_dir
-    mode = 0700
+    mode = 0o700
   else:
     default_dir = DEFAULT_GOOGLECL_DIR
-    mode = 0777
+    mode = 0o777
   if not os.path.isdir(default_dir) and create_missing_dir:
     try:
       os.makedirs(default_dir, mode)
-    except OSError, err:
+    except OSError as err:
       LOG.error(err)
       return ''
   return os.path.join(default_dir, filename)
@@ -224,7 +224,7 @@
     A string encoded with target_encoding, or raises an error.
 
   """
-  if isinstance(string, unicode):
+  if isinstance(string, str):
     return string.encode(target_encoding, errors)
   elif isinstance(string, str):
     try:
@@ -262,11 +262,11 @@
     except UnicodeDecodeError:
       raise SafeDecodeError(current_encoding + ' could not decode ' +
                             repr(string))
-  elif isinstance(string, unicode):
+  elif isinstance(string, str):
     return string
   else:
     # Got something elese, probably an int or bool or the like.
-    return unicode(string)
+    return str(string)
 
 
 def write_devkey(devkey):
--- ./src/google.py	(original)
+++ ./src/google.py	(refactored)
@@ -41,7 +41,7 @@
   task: What the client wants done by the service (e.g. post, get, delete).
 
 """
-from __future__ import with_statement
+
 
 __author__ = 'tom.h.miller@gmail.com (Tom Miller)'
 import glob
@@ -114,15 +114,15 @@
         else:
           try:
             browser = webbrowser.get(browser_str)
-          except webbrowser.Error, err:
-            LOG.warn(safe_encode(u'Could not get browser "%s": %s' %
+          except webbrowser.Error as err:
+            LOG.warn(safe_encode('Could not get browser "%s": %s' %
                                  (browser_str, err)))
             browser = None
       else:
         try:
           browser = webbrowser.get()
-        except webbrowser.Error, err:
-          LOG.warn(safe_encode(u'Could not get default browser: %s' % err))
+        except webbrowser.Error as err:
+          LOG.warn(safe_encode('Could not get default browser: %s' % err))
           browser = None
 
       valid_token = auth_manager.retrieve_access_token(display_name, browser)
@@ -277,7 +277,7 @@
     if value:
       return value
     else:
-      return raw_input('Please specify ' + attr + ': ')
+      return input('Please specify ' + attr + ': ')
 
   if options.user is None:
     options.user = _retrieve_value('user', service_header)
@@ -292,7 +292,7 @@
       if args:
         value = args.pop(0)
       else:
-        value = raw_input('Please specify ' + attr + ': ')
+        value = input('Please specify ' + attr + ': ')
     setattr(options, attr, value)
 
   # Expand those options that might be a filename in disguise.
@@ -308,8 +308,8 @@
 
 def get_task_help(service, tasks):
   help = 'Available tasks for service ' + service + \
-         ': ' + str(tasks.keys())[1:-1] + '\n'
-  for task_name in tasks.keys():
+         ': ' + str(list(tasks.keys()))[1:-1] + '\n'
+  for task_name in list(tasks.keys()):
     help += ' ' + task_name + ': ' + tasks[task_name].description + '\n'
     help += '  ' + tasks[task_name].usage + '\n\n'
 
@@ -354,7 +354,7 @@
   LOG.debug('Your pythonpath: ' + str(os.environ.get('PYTHONPATH')))
   try:
     package = import_at_runtime('googlecl.' + service)
-  except ImportError, err:
+  except ImportError as err:
     LOG.error(err.args[0])
     LOG.error('Did you specify the service correctly? Must be one of ' +
               str(AVAILABLE_SERVICES)[1:-1])
@@ -410,8 +410,8 @@
     args[i:i+1] = expand_as_command_line(sys.stdin.read())
     return
 
-  if single_arg_symbol in options.__dict__.values():
-    for key, value in options.__dict__.iteritems():
+  if single_arg_symbol in list(options.__dict__.values()):
+    for key, value in options.__dict__.items():
       if value == single_arg_symbol:
         setattr(options, key, sys.stdin.read())
         break
@@ -427,21 +427,21 @@
 
   """
   if not service:
-    print 'Welcome to the Google CL tool!'
-    print '  Commands are broken into several parts: '
-    print '    service, task, options, and arguments.'
-    print '  For example, in the command'
-    print '      "> picasa post --title "My Cat Photos" photos/cats/*"'
-    print '  the service is "picasa", the task is "post", the single'
-    print '  option is a title of "My Cat Photos", and the argument is the '
-    print '  path to the photos.'
-    print ''
-    print '  The available services are '
-    print str(AVAILABLE_SERVICES)[1:-1]
-    print '  Enter "> help <service>" for more information on a service.'
-    print '  Or, just "quit" to quit.'
-  else:
-    print get_task_help(service, tasks)
+    print('Welcome to the Google CL tool!')
+    print('  Commands are broken into several parts: ')
+    print('    service, task, options, and arguments.')
+    print('  For example, in the command')
+    print('      "> picasa post --title "My Cat Photos" photos/cats/*"')
+    print('  the service is "picasa", the task is "post", the single')
+    print('  option is a title of "My Cat Photos", and the argument is the ')
+    print('  path to the photos.')
+    print('')
+    print('  The available services are ')
+    print(str(AVAILABLE_SERVICES)[1:-1])
+    print('  Enter "> help <service>" for more information on a service.')
+    print('  Or, just "quit" to quit.')
+  else:
+    print(get_task_help(service, tasks))
 
 
 def run_interactive(parser):
@@ -464,7 +464,7 @@
 
   while True:
     try:
-      command_string = raw_input('> ')
+      command_string = input('> ')
       if command_string.startswith('python '):
         LOG.info('HINT: No need to include "python" in interactive mode')
         command_string = command_string.reRefactoringTool: Refactored ./src/debug_util.py
RefactoringTool: Files that were modified:
RefactoringTool: ./setup.py
RefactoringTool: ./upload-diffs.py
RefactoringTool: ./src/win_setup.py
RefactoringTool: ./src/googlecl/youtube/service.py
RefactoringTool: ./src/googlecl/youtube/__init__.py
RefactoringTool: ./src/googlecl/service.py
RefactoringTool: ./src/googlecl/picasa/service.py
RefactoringTool: ./src/googlecl/picasa/__init__.py
RefactoringTool: ./src/googlecl/finance/service.py
RefactoringTool: ./src/googlecl/finance/__init__.py
RefactoringTool: ./src/googlecl/docs/service.py
RefactoringTool: ./src/googlecl/docs/client.py
RefactoringTool: ./src/googlecl/docs/base.py
RefactoringTool: ./src/googlecl/docs/__init__.py
RefactoringTool: ./src/googlecl/contacts/service.py
RefactoringTool: ./src/googlecl/contacts/client.py
RefactoringTool: ./src/googlecl/contacts/base.py
RefactoringTool: ./src/googlecl/contacts/__init__.py
RefactoringTool: ./src/googlecl/config/parser.py
RefactoringTool: ./src/googlecl/config/__init__.py
RefactoringTool: ./src/googlecl/client.py
RefactoringTool: ./src/googlecl/calendar/service.py
RefactoringTool: ./src/googlecl/calendar/date_test.py
RefactoringTool: ./src/googlecl/calendar/date.py
RefactoringTool: ./src/googlecl/calendar/__init__.py
RefactoringTool: ./src/googlecl/blogger/service.py
RefactoringTool: ./src/googlecl/blogger/__init__.py
RefactoringTool: ./src/googlecl/base.py
RefactoringTool: ./src/googlecl/authentication.py
RefactoringTool: ./src/googlecl/__init__.py
RefactoringTool: ./src/google.py
RefactoringTool: ./src/debug_util.py
RefactoringTool: Warnings/messages while refactoring:
RefactoringTool: ### In file ./src/googlecl/calendar/service.py ###
RefactoringTool: Line 102: You should use a for loop here
place('python ', '', 1)
@@ -480,13 +480,13 @@
       else:
         try:
           args_list = expand_as_command_line(command_string)
-        except Error, err:
+        except Error as err:
           LOG.error(err)
           continue
         (options, args) = parser.parse_args(args_list)
         setup_logger(options)
         run_once(options, args)
-    except (KeyboardInterrupt, ValueError), err:
+    except (KeyboardInterrupt, ValueError) as err:
       # It would be nice if we could simply unregister or reset the
       # signal handler defined in the initial if __name__ block.
       # Windows will raise a KeyboardInterrupt, GNU/Linux seems to also
@@ -494,11 +494,11 @@
       if isinstance(err, ValueError) and \
          str(err).find('I/O operation on closed file') == -1:
         raise err
-      print ''
-      print 'Quit via keyboard interrupt'
+      print('')
+      print('Quit via keyboard interrupt')
       break
     except EOFError:
-      print ''
+      print('')
       break
     except SystemExit:
       # optparse.OptParser prints the usage statement and calls
@@ -556,7 +556,7 @@
     task.name = task_name
   except KeyError:
     LOG.error('Did not recognize task, please use one of ' + \
-              str(tasks.keys()))
+              str(list(tasks.keys())))
     return
 
   if 'devkey' in task.required:
@@ -608,8 +608,8 @@
       if not attr_name.startswith('_'):
         attr = getattr(options, attr_name)
         if attr is not None and not inspect.ismethod(attr):
-          LOG.debug(safe_encode('Option ' + attr_name + ': ' + unicode(attr)))
-  LOG.debug(safe_encode('args: ' + unicode(args)))
+          LOG.debug(safe_encode('Option ' + attr_name + ': ' + str(attr)))
+  LOG.debug(safe_encode('args: ' + str(args)))
 
   auth_manager = googlecl.authentication.AuthenticationManager(service, client)
   authenticated = authenticate(auth_manager, options, config, section_header)
@@ -625,7 +625,7 @@
   run_error = None
   try:
     task.run(client, options, args)
-  except AttributeError, run_error:
+  except AttributeError as run_error:
     err_str = safe_decode(run_error)
     if err_str.startswith("'OAuth"):
       LOG.info('OAuth error.  Try re-running with --force-auth.')
@@ -834,12 +834,12 @@
     try:
       run_once(options, args)
     except KeyboardInterrupt:
-      print ''
+      print('')
 
 
 def exit_from_int(*args):
   """Handler for SIGINT signal."""
-  print ''
+  print('')
   exit(0)
 
 
--- ./src/debug_util.py	(original)
+++ ./src/debug_util.py	(refactored)
@@ -21,7 +21,7 @@
 import inspect
 
 
-dull_types = [str, unicode, dict, list, type(None)]
+dull_types = [str, str, dict, list, type(None)]
 def walk_attributes(myobject, object_name, tabitem='=', step=True, tablevel=0):
   """Walk through attributes of an instance.
 
@@ -39,22 +39,22 @@
     NATHING!
 
   """
-  print tabitem*tablevel + 'Object: ' + object_name
-  print tabitem*tablevel + 'Type: ' + str(type(myobject))
+  print(tabitem*tablevel + 'Object: ' + object_name)
+  print(tabitem*tablevel + 'Type: ' + str(type(myobject)))
   attr_list = [attr for attr in dir(myobject)
                if not attr.startswith('_') and
                not inspect.ismethod(getattr(myobject, attr))]
-  print tabitem*tablevel + 'Attributes: '
-  print tabitem*tablevel + str(attr_list)
+  print(tabitem*tablevel + 'Attributes: ')
+  print(tabitem*tablevel + str(attr_list))
   dull_attr = [attr for attr in attr_list
                if type(getattr(myobject, attr)) in dull_types]
   if dull_attr:
-    print tabitem*tablevel + '(basic attributes: ' + str(dull_attr) + ')'
+    print(tabitem*tablevel + '(basic attributes: ' + str(dull_attr) + ')')
 
   loopable_attr = [attr for attr in attr_list
                    if not type(getattr(myobject, attr)) in dull_types]
   for attr_name in loopable_attr:
     new_object = getattr(myobject, attr_name)
     if step:
-      raw_input('')
+      input('')
     walk_attributes(new_object, attr_name, tablevel=tablevel+1)
++ find ./ -name '*.py'
+ sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python3|' ./setup.py ./upload-diffs.py ./src/win_setup.py ./src/googlecl/youtube/service.py ./src/googlecl/youtube/__init__.py ./src/googlecl/service.py ./src/googlecl/picasa/service.py ./src/googlecl/picasa/__init__.py ./src/googlecl/finance/service.py ./src/googlecl/finance/__init__.py ./src/googlecl/docs/service.py ./src/googlecl/docs/client.py ./src/googlecl/docs/base.py ./src/googlecl/docs/__init__.py ./src/googlecl/contacts/service.py ./src/googlecl/contacts/client.py ./src/googlecl/contacts/base.py ./src/googlecl/contacts/__init__.py ./src/googlecl/config/parser.py ./src/googlecl/config/__init__.py ./src/googlecl/client.py ./src/googlecl/calendar/service.py ./src/googlecl/calendar/date_test.py ./src/googlecl/calendar/date.py ./src/googlecl/calendar/__init__.py ./src/googlecl/blogger/service.py ./src/googlecl/blogger/__init__.py ./src/googlecl/base.py ./src/googlecl/authentication.py ./src/googlecl/__init__.py ./src/google.py ./src/debug_util.py
++ find ./ -name '*.py'
+ sed -i 's|#!/usr/bin/python|#!/usr/bin/python3|' ./upload-diffs.py ./setup.py ./src/debug_util.py ./src/google.py ./src/win_setup.py ./src/googlecl/__init__.py ./src/googlecl/authentication.py ./src/googlecl/base.py ./src/googlecl/client.py ./src/googlecl/service.py ./src/googlecl/youtube/__init__.py ./src/googlecl/youtube/service.py ./src/googlecl/picasa/__init__.py ./src/googlecl/picasa/service.py ./src/googlecl/finance/__init__.py ./src/googlecl/finance/service.py ./src/googlecl/docs/__init__.py ./src/googlecl/docs/base.py ./src/googlecl/docs/client.py ./src/googlecl/docs/service.py ./src/googlecl/contacts/__init__.py ./src/googlecl/contacts/base.py ./src/googlecl/contacts/client.py ./src/googlecl/contacts/service.py ./src/googlecl/config/__init__.py ./src/googlecl/config/parser.py ./src/googlecl/calendar/__init__.py ./src/googlecl/calendar/date.py ./src/googlecl/calendar/date_test.py ./src/googlecl/calendar/service.py ./src/googlecl/blogger/__init__.py ./src/googlecl/blogger/service.py
+ exit 0
Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.85302
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd googlecl-0.9.13
+ CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic'
+ export CFLAGS
+ CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic'
+ export CXXFLAGS
+ FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic'
+ export FFLAGS
+ /usr/bin/python3 setup.py build
running build
running build_py
creating build
creating build/lib
creating build/lib/googlecl
copying src/googlecl/service.py -> build/lib/googlecl
copying src/googlecl/client.py -> build/lib/googlecl
copying src/googlecl/base.py -> build/lib/googlecl
copying src/googlecl/authentication.py -> build/lib/googlecl
copying src/googlecl/__init__.py -> build/lib/googlecl
creating build/lib/googlecl/blogger
copying src/googlecl/blogger/service.py -> build/lib/googlecl/blogger
copying src/googlecl/blogger/__init__.py -> build/lib/googlecl/blogger
creating build/lib/googlecl/calendar
copying src/googlecl/calendar/service.py -> build/lib/googlecl/calendar
copying src/googlecl/calendar/date_test.py -> build/lib/googlecl/calendar
copying src/googlecl/calendar/date.py -> build/lib/googlecl/calendar
copying src/googlecl/calendar/__init__.py -> build/lib/googlecl/calendar
creating build/lib/googlecl/config
copying src/googlecl/config/parser.py -> build/lib/googlecl/config
copying src/googlecl/config/__init__.py -> build/lib/googlecl/config
creating build/lib/googlecl/contacts
copying src/googlecl/contacts/service.py -> build/lib/googlecl/contacts
copying src/googlecl/contacts/client.py -> build/lib/googlecl/contacts
copying src/googlecl/contacts/base.py -> build/lib/googlecl/contacts
copying src/googlecl/contacts/__init__.py -> build/lib/googlecl/contacts
creating build/lib/googlecl/docs
copying src/googlecl/docs/service.py -> build/lib/googlecl/docs
copying src/googlecl/docs/client.py -> build/lib/googlecl/docs
copying src/googlecl/docs/base.py -> build/lib/googlecl/docs
copying src/googlecl/docs/__init__.py -> build/lib/googlecl/docs
creating build/lib/googlecl/picasa
copying src/googlecl/picasa/service.py -> build/lib/googlecl/picasa
copying src/googlecl/picasa/__init__.py -> build/lib/googlecl/picasa
creating build/lib/googlecl/youtube
copying src/googlecl/youtube/service.py -> build/lib/googlecl/youtube
copying src/googlecl/youtube/__init__.py -> build/lib/googlecl/youtube
creating build/lib/googlecl/finance
copying src/googlecl/finance/service.py -> build/lib/googlecl/finance
copying src/googlecl/finance/__init__.py -> build/lib/googlecl/finance
running build_scripts
creating build/scripts-3.9
copying and adjusting src/google -> build/scripts-3.9
changing mode of build/scripts-3.9/google from 644 to 755
+ exit 0
Executing(%install): /bin/sh -e /usr/src/tmp/rpm-tmp.8174
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ /bin/chmod -Rf u+rwX -- /usr/src/tmp/googlecl-buildroot
+ :
+ /bin/rm -rf -- /usr/src/tmp/googlecl-buildroot
+ PATH=/usr/libexec/rpm-build:/usr/src/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/games
+ cd googlecl-0.9.13
+ /usr/bin/python3 setup.py install --skip-build --root /usr/src/tmp/googlecl-buildroot
running install
running install_lib
creating /usr/src/tmp/googlecl-buildroot
creating /usr/src/tmp/googlecl-buildroot/usr
creating /usr/src/tmp/googlecl-buildroot/usr/lib
creating /usr/src/tmp/googlecl-buildroot/usr/lib/python3
creating /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages
creating /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl
creating /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/finance
copying build/lib/googlecl/finance/__init__.py -> /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/finance
copying build/lib/googlecl/finance/service.py -> /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/finance
creating /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/youtube
copying build/lib/googlecl/youtube/__init__.py -> /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/youtube
copying build/lib/googlecl/youtube/service.py -> /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/youtube
creating /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/picasa
copying build/lib/googlecl/picasa/__init__.py -> /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/picasa
copying build/lib/googlecl/picasa/service.py -> /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/picasa
creating /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs
copying build/lib/googlecl/docs/__init__.py -> /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs
copying build/lib/googlecl/docs/base.py -> /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs
copying build/lib/googlecl/docs/client.py -> /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs
copying build/lib/googlecl/docs/service.py -> /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs
creating /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/contacts
copying build/lib/googlecl/contacts/__init__.py -> /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/contacts
copying build/lib/googlecl/contacts/base.py -> /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/contacts
copying build/lib/googlecl/contacts/client.py -> /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/contacts
copying build/lib/googlecl/contacts/service.py -> /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/contacts
creating /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/config
copying build/lib/googlecl/config/__init__.py -> /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/config
copying build/lib/googlecl/config/parser.py -> /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/config
creating /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/calendar
copying build/lib/googlecl/calendar/__init__.py -> /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/calendar
copying build/lib/googlecl/calendar/date.py -> /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/calendar
copying build/lib/googlecl/calendar/date_test.py -> /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/calendar
copying build/lib/googlecl/calendar/service.py -> /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/calendar
creating /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/blogger
copying build/lib/googlecl/blogger/__init__.py -> /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/blogger
copying build/lib/googlecl/blogger/service.py -> /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/blogger
copying build/lib/googlecl/__init__.py -> /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl
copying build/lib/googlecl/authentication.py -> /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl
copying build/lib/googlecl/base.py -> /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl
copying build/lib/googlecl/client.py -> /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl
copying build/lib/googlecl/service.py -> /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl
byte-compiling /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/finance/__init__.py to __init__.cpython-39.pyc
byte-compiling /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/finance/service.py to service.cpython-39.pyc
/usr/lib/python3/site-packages/googlecl/finance/service.py:223: SyntaxWarning: "is" with a literal. Did you mean "=="?
byte-compiling /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/youtube/__init__.py to __init__.cpython-39.pyc
byte-compiling /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/youtube/service.py to service.cpython-39.pyc
byte-compiling /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/picasa/__init__.py to __init__.cpython-39.pyc
byte-compiling /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/picasa/service.py to service.cpython-39.pyc
byte-compiling /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs/__init__.py to __init__.cpython-39.pyc
byte-compiling /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs/base.py to base.cpython-39.pyc
byte-compiling /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs/client.py to client.cpython-39.pyc
byte-compiling /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs/service.py to service.cpython-39.pyc
byte-compiling /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/contacts/__init__.py to __init__.cpython-39.pyc
byte-compiling /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/contacts/base.py to base.cpython-39.pyc
byte-compiling /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/contacts/client.py to client.cpython-39.pyc
byte-compiling /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/contacts/service.py to service.cpython-39.pyc
byte-compiling /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/config/__init__.py to __init__.cpython-39.pyc
byte-compiling /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/config/parser.py to parser.cpython-39.pyc
byte-compiling /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/calendar/__init__.py to __init__.cpython-39.pyc
byte-compiling /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/calendar/date.py to date.cpython-39.pyc
byte-compiling /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/calendar/date_test.py to date_test.cpython-39.pyc
byte-compiling /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/calendar/service.py to service.cpython-39.pyc
byte-compiling /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/blogger/__init__.py to __init__.cpython-39.pyc
byte-compiling /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/blogger/service.py to service.cpython-39.pyc
byte-compiling /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/__init__.py to __init__.cpython-39.pyc
byte-compiling /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/authentication.py to authentication.cpython-39.pyc
byte-compiling /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/base.py to base.cpython-39.pyc
byte-compiling /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/client.py to client.cpython-39.pyc
byte-compiling /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/service.py to service.cpython-39.pyc
running install_egg_info
running egg_info
creating googlecl.egg-info
writing googlecl.egg-info/PKG-INFO
writing dependency_links to googlecl.egg-info/dependency_links.txt
writing requirements to googlecl.egg-info/requires.txt
writing top-level names to googlecl.egg-info/top_level.txt
writing manifest file 'googlecl.egg-info/SOURCES.txt'
reading manifest file 'googlecl.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching '*.py' under directory 'googlecl'
writing manifest file 'googlecl.egg-info/SOURCES.txt'
Copying googlecl.egg-info to /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl-0.9.13-py3.9.egg-info
running install_scripts
creating /usr/src/tmp/googlecl-buildroot/usr/bin
copying build/scripts-3.9/google -> /usr/src/tmp/googlecl-buildroot/usr/bin
changing mode of /usr/src/tmp/googlecl-buildroot/usr/bin/google to 755
+ mkdir -p /usr/src/tmp/googlecl-buildroot//usr/share/man/man1/
+ install -p man/google.1 /usr/src/tmp/googlecl-buildroot//usr/share/man/man1/
+ /usr/lib/rpm/brp-alt
Cleaning files in /usr/src/tmp/googlecl-buildroot (auto)
Verifying and fixing files in /usr/src/tmp/googlecl-buildroot (binconfig,pkgconfig,libtool,desktop,gnuconfig)
Checking contents of files in /usr/src/tmp/googlecl-buildroot/ (default)
Compressing files in /usr/src/tmp/googlecl-buildroot (auto)
mode of '/usr/src/tmp/googlecl-buildroot/usr/share/man/man1/google.1' changed from 0755 (rwxr-xr-x) to 0644 (rw-r--r--)
Adjusting library links in /usr/src/tmp/googlecl-buildroot
./usr/lib: (from <cmdline>:0)
Verifying ELF objects in /usr/src/tmp/googlecl-buildroot (arch=normal,fhs=normal,lfs=relaxed,lint=relaxed,rpath=normal,stack=normal,textrel=normal,unresolved=normal)
Bytecompiling python modules in /usr/src/tmp/googlecl-buildroot using /usr/bin/python2.7
Bytecompiling python modules with optimization in /usr/src/tmp/googlecl-buildroot using /usr/bin/python2.7 -O
Bytecompiling python3 modules in /usr/src/tmp/googlecl-buildroot using /usr/bin/python3
/usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/finance/service.py:223: SyntaxWarning: "is" with a literal. Did you mean "=="?
  elif date is '':
unlink /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/__pycache__/__init__.cpython-39.pyc
unlink /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/__pycache__/authentication.cpython-39.pyc
unlink /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/__pycache__/base.cpython-39.pyc
unlink /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/__pycache__/client.cpython-39.pyc
unlink /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/__pycache__/service.cpython-39.pyc
unlink /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/blogger/__pycache__/__init__.cpython-39.pyc
unlink /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/blogger/__pycache__/service.cpython-39.pyc
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/blogger/__init__.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/blogger/service.py
unlink /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/calendar/__pycache__/__init__.cpython-39.pyc
unlink /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/calendar/__pycache__/date.cpython-39.pyc
unlink /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/calendar/__pycache__/date_test.cpython-39.pyc
unlink /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/calendar/__pycache__/service.cpython-39.pyc
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/calendar/__init__.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/calendar/date.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/calendar/date_test.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/calendar/service.py
unlink /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/config/__pycache__/__init__.cpython-39.pyc
unlink /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/config/__pycache__/parser.cpython-39.pyc
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/config/__init__.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/config/parser.py
unlink /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/contacts/__pycache__/__init__.cpython-39.pyc
unlink /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/contacts/__pycache__/base.cpython-39.pyc
unlink /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/contacts/__pycache__/client.cpython-39.pyc
unlink /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/contacts/__pycache__/service.cpython-39.pyc
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/contacts/__init__.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/contacts/base.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/contacts/client.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/contacts/service.py
unlink /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs/__pycache__/__init__.cpython-39.pyc
unlink /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs/__pycache__/base.cpython-39.pyc
unlink /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs/__pycache__/client.cpython-39.pyc
unlink /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs/__pycache__/service.cpython-39.pyc
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs/__init__.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs/base.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs/client.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs/service.py
unlink /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/finance/__pycache__/__init__.cpython-39.pyc
unlink /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/finance/__pycache__/service.cpython-39.pyc
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/finance/__init__.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/finance/service.py
unlink /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/picasa/__pycache__/__init__.cpython-39.pyc
unlink /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/picasa/__pycache__/service.cpython-39.pyc
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/picasa/__init__.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/picasa/service.py
unlink /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/youtube/__pycache__/__init__.cpython-39.pyc
unlink /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/youtube/__pycache__/service.cpython-39.pyc
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/youtube/__init__.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/youtube/service.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/__init__.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/authentication.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/base.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/client.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/service.py
Bytecompiling python3 modules with optimization in /usr/src/tmp/googlecl-buildroot using /usr/bin/python3 -O
/usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/finance/service.py:223: SyntaxWarning: "is" with a literal. Did you mean "=="?
  elif date is '':
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/blogger/__init__.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/blogger/service.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/calendar/__init__.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/calendar/date.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/calendar/date_test.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/calendar/service.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/config/__init__.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/config/parser.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/contacts/__init__.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/contacts/base.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/contacts/client.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/contacts/service.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs/__init__.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs/base.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs/client.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs/service.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/finance/__init__.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/finance/service.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/picasa/__init__.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/picasa/service.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/youtube/__init__.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/youtube/service.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/__init__.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/authentication.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/base.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/client.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/service.py
Bytecompiling python3 modules with optimization-2 in /usr/src/tmp/googlecl-buildroot using /usr/bin/python3 -OO
/usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/finance/service.py:223: SyntaxWarning: "is" with a literal. Did you mean "=="?
  elif date is '':
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/blogger/__init__.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/blogger/service.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/calendar/__init__.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/calendar/date.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/calendar/date_test.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/calendar/service.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/config/__init__.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/config/parser.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/contacts/__init__.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/contacts/base.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/contacts/client.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/contacts/service.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs/__init__.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs/base.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs/client.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs/service.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/finance/__init__.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/finance/service.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/picasa/__init__.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/picasa/service.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/youtube/__init__.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/youtube/service.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/__init__.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/authentication.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/base.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/client.py
compile /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/service.py
Hardlinking identical .pyc and .opt-?.pyc files
'./usr/lib/python3/site-packages/googlecl/__pycache__/service.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/googlecl/__pycache__/service.cpython-39.pyc'
'./usr/lib/python3/site-packages/googlecl/__pycache__/client.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/googlecl/__pycache__/client.cpython-39.pyc'
'./usr/lib/python3/site-packages/googlecl/__pycache__/base.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/googlecl/__pycache__/base.cpython-39.pyc'
'./usr/lib/python3/site-packages/googlecl/__pycache__/authentication.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/googlecl/__pycache__/authentication.cpython-39.pyc'
'./usr/lib/python3/site-packages/googlecl/__pycache__/__init__.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/googlecl/__pycache__/__init__.cpython-39.pyc'
'./usr/lib/python3/site-packages/googlecl/blogger/__pycache__/service.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/googlecl/blogger/__pycache__/service.cpython-39.pyc'
'./usr/lib/python3/site-packages/googlecl/blogger/__pycache__/__init__.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/googlecl/blogger/__pycache__/__init__.cpython-39.pyc'
'./usr/lib/python3/site-packages/googlecl/calendar/__pycache__/service.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/googlecl/calendar/__pycache__/service.cpython-39.pyc'
'./usr/lib/python3/site-packages/googlecl/calendar/__pycache__/date_test.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/googlecl/calendar/__pycache__/date_test.cpython-39.pyc'
'./usr/lib/python3/site-packages/googlecl/calendar/__pycache__/date.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/googlecl/calendar/__pycache__/date.cpython-39.pyc'
'./usr/lib/python3/site-packages/googlecl/calendar/__pycache__/__init__.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/googlecl/calendar/__pycache__/__init__.cpython-39.pyc'
'./usr/lib/python3/site-packages/googlecl/config/__pycache__/parser.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/googlecl/config/__pycache__/parser.cpython-39.pyc'
'./usr/lib/python3/site-packages/googlecl/config/__pycache__/__init__.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/googlecl/config/__pycache__/__init__.cpython-39.pyc'
'./usr/lib/python3/site-packages/googlecl/contacts/__pycache__/service.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/googlecl/contacts/__pycache__/service.cpython-39.pyc'
'./usr/lib/python3/site-packages/googlecl/contacts/__pycache__/client.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/googlecl/contacts/__pycache__/client.cpython-39.pyc'
'./usr/lib/python3/site-packages/googlecl/contacts/__pycache__/base.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/googlecl/contacts/__pycache__/base.cpython-39.pyc'
'./usr/lib/python3/site-packages/googlecl/contacts/__pycache__/__init__.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/googlecl/contacts/__pycache__/__init__.cpython-39.pyc'
'./usr/lib/python3/site-packages/googlecl/docs/__pycache__/service.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/googlecl/docs/__pycache__/service.cpython-39.pyc'
'./usr/lib/python3/site-packages/googlecl/docs/__pycache__/client.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/googlecl/docs/__pycache__/client.cpython-39.pyc'
'./usr/lib/python3/site-packages/googlecl/docs/__pycache__/base.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/googlecl/docs/__pycache__/base.cpython-39.pyc'
'./usr/lib/python3/site-packages/googlecl/docs/__pycache__/__init__.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/googlecl/docs/__pycache__/__init__.cpython-39.pyc'
'./usr/lib/python3/site-packages/googlecl/picasa/__pycache__/service.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/googlecl/picasa/__pycache__/service.cpython-39.pyc'
'./usr/lib/python3/site-packages/googlecl/picasa/__pycache__/__init__.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/googlecl/picasa/__pycache__/__init__.cpython-39.pyc'
'./usr/lib/python3/site-packages/googlecl/youtube/__pycache__/service.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/googlecl/youtube/__pycache__/service.cpython-39.pyc'
'./usr/lib/python3/site-packages/googlecl/youtube/__pycache__/__init__.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/googlecl/youtube/__pycache__/__init__.cpython-39.pyc'
'./usr/lib/python3/site-packages/googlecl/finance/__pycache__/service.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/googlecl/finance/__pycache__/service.cpython-39.pyc'
'./usr/lib/python3/site-packages/googlecl/finance/__pycache__/__init__.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/googlecl/finance/__pycache__/__init__.cpython-39.pyc'
Hardlinking identical .pyc and .pyo files
Processing files: googlecl-0.9.13-alt2
Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.78007
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd googlecl-0.9.13
+ DOCDIR=/usr/src/tmp/googlecl-buildroot/usr/share/doc/googlecl-0.9.13
+ export DOCDIR
+ rm -rf /usr/src/tmp/googlecl-buildroot/usr/share/doc/googlecl-0.9.13
+ /bin/mkdir -p /usr/src/tmp/googlecl-buildroot/usr/share/doc/googlecl-0.9.13
+ cp -prL README.config README.txt /usr/src/tmp/googlecl-buildroot/usr/share/doc/googlecl-0.9.13
+ chmod -R go-w /usr/src/tmp/googlecl-buildroot/usr/share/doc/googlecl-0.9.13
+ chmod -R a+rX /usr/src/tmp/googlecl-buildroot/usr/share/doc/googlecl-0.9.13
+ exit 0
Finding Provides (using /usr/lib/rpm/find-provides)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.xptLI1
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.SwFjD0
find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services)
/usr/lib/rpm/python3.req.py:6: DeprecationWarning: The parser module is deprecated and will be removed in future versions of Python
  import parser, symbol, token, types
/usr/lib/rpm/python3.req.py:6: DeprecationWarning: The symbol module is deprecated and will be removed in future versions of Python
  import parser, symbol, token, types
python3.req: /usr/src/tmp/googlecl-buildroot/usr/bin/google: skipping sys
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/bin/google: line=332 UNABLE to determine the imported name at parse-time: module
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/bin/google: line=332 a form of __import__ was read which gave no deps: [274, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 332]], [327, [7, '(', 332], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'module', 332]]]]]]]]]]]]]]]]], [12, ',', 332], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'globals', 332]], [327, [7, '(', 332], [8, ')', 332]]]]]]]]]]]]]]]]], [12, ',', 332], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'fromlist', 332]]]]]]]]]]]]]]]], [22, '=', 332], [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [9, '[', 332], [326, [305, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [3, "'0'", 332]]]]]]]]]]]]]]]]]], [10, ']', 332]]]]]]]]]]]]]]]]]], [8, ')', 332]]]]]]]]]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/bin/google: line=332 UNABLE to determine the imported name at parse-time: module
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/bin/google: line=332 a form of __import__ was read which gave no deps: [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 332]], [327, [7, '(', 332], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'module', 332]]]]]]]]]]]]]]]]], [12, ',', 332], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'globals', 332]], [327, [7, '(', 332], [8, ')', 332]]]]]]]]]]]]]]]]], [12, ',', 332], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'fromlist', 332]]]]]]]]]]]]]]]], [22, '=', 332], [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [9, '[', 332], [326, [305, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [3, "'0'", 332]]]]]]]]]]]]]]]]]], [10, ']', 332]]]]]]]]]]]]]]]]]], [8, ')', 332]]]]]]]]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/bin/google: line=332 UNABLE to determine the imported name at parse-time: module
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/bin/google: line=332 a form of __import__ was read which gave no deps: [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 332]], [327, [7, '(', 332], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'module', 332]]]]]]]]]]]]]]]]], [12, ',', 332], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'globals', 332]], [327, [7, '(', 332], [8, ')', 332]]]]]]]]]]]]]]]]], [12, ',', 332], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'fromlist', 332]]]]]]]]]]]]]]]], [22, '=', 332], [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [9, '[', 332], [326, [305, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [3, "'0'", 332]]]]]]]]]]]]]]]]]], [10, ']', 332]]]]]]]]]]]]]]]]]], [8, ')', 332]]]]]]]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/bin/google: line=332 UNABLE to determine the imported name at parse-time: module
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/bin/google: line=332 a form of __import__ was read which gave no deps: [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 332]], [327, [7, '(', 332], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'module', 332]]]]]]]]]]]]]]]]], [12, ',', 332], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'globals', 332]], [327, [7, '(', 332], [8, ')', 332]]]]]]]]]]]]]]]]], [12, ',', 332], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'fromlist', 332]]]]]]]]]]]]]]]], [22, '=', 332], [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [9, '[', 332], [326, [305, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [3, "'0'", 332]]]]]]]]]]]]]]]]]], [10, ']', 332]]]]]]]]]]]]]]]]]], [8, ')', 332]]]]]]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/bin/google: line=332 UNABLE to determine the imported name at parse-time: module
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/bin/google: line=332 a form of __import__ was read which gave no deps: [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 332]], [327, [7, '(', 332], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'module', 332]]]]]]]]]]]]]]]]], [12, ',', 332], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'globals', 332]], [327, [7, '(', 332], [8, ')', 332]]]]]]]]]]]]]]]]], [12, ',', 332], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'fromlist', 332]]]]]]]]]]]]]]]], [22, '=', 332], [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [9, '[', 332], [326, [305, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [3, "'0'", 332]]]]]]]]]]]]]]]]]], [10, ']', 332]]]]]]]]]]]]]]]]]], [8, ')', 332]]]]]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/bin/google: line=332 UNABLE to determine the imported name at parse-time: module
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/bin/google: line=332 a form of __import__ was read which gave no deps: [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 332]], [327, [7, '(', 332], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'module', 332]]]]]]]]]]]]]]]]], [12, ',', 332], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'globals', 332]], [327, [7, '(', 332], [8, ')', 332]]]]]]]]]]]]]]]]], [12, ',', 332], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'fromlist', 332]]]]]]]]]]]]]]]], [22, '=', 332], [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [9, '[', 332], [326, [305, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [3, "'0'", 332]]]]]]]]]]]]]]]]]], [10, ']', 332]]]]]]]]]]]]]]]]]], [8, ')', 332]]]]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/bin/google: line=332 UNABLE to determine the imported name at parse-time: module
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/bin/google: line=332 a form of __import__ was read which gave no deps: [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 332]], [327, [7, '(', 332], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'module', 332]]]]]]]]]]]]]]]]], [12, ',', 332], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'globals', 332]], [327, [7, '(', 332], [8, ')', 332]]]]]]]]]]]]]]]]], [12, ',', 332], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'fromlist', 332]]]]]]]]]]]]]]]], [22, '=', 332], [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [9, '[', 332], [326, [305, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [3, "'0'", 332]]]]]]]]]]]]]]]]]], [10, ']', 332]]]]]]]]]]]]]]]]]], [8, ')', 332]]]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/bin/google: line=332 UNABLE to determine the imported name at parse-time: module
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/bin/google: line=332 a form of __import__ was read which gave no deps: [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 332]], [327, [7, '(', 332], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'module', 332]]]]]]]]]]]]]]]]], [12, ',', 332], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'globals', 332]], [327, [7, '(', 332], [8, ')', 332]]]]]]]]]]]]]]]]], [12, ',', 332], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'fromlist', 332]]]]]]]]]]]]]]]], [22, '=', 332], [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [9, '[', 332], [326, [305, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [3, "'0'", 332]]]]]]]]]]]]]]]]]], [10, ']', 332]]]]]]]]]]]]]]]]]], [8, ')', 332]]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/bin/google: line=332 UNABLE to determine the imported name at parse-time: module
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/bin/google: line=332 a form of __import__ was read which gave no deps: [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 332]], [327, [7, '(', 332], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'module', 332]]]]]]]]]]]]]]]]], [12, ',', 332], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'globals', 332]], [327, [7, '(', 332], [8, ')', 332]]]]]]]]]]]]]]]]], [12, ',', 332], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'fromlist', 332]]]]]]]]]]]]]]]], [22, '=', 332], [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [9, '[', 332], [326, [305, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [3, "'0'", 332]]]]]]]]]]]]]]]]]], [10, ']', 332]]]]]]]]]]]]]]]]]], [8, ')', 332]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/bin/google: line=332 UNABLE to determine the imported name at parse-time: module
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/bin/google: line=332 a form of __import__ was read which gave no deps: [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 332]], [327, [7, '(', 332], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'module', 332]]]]]]]]]]]]]]]]], [12, ',', 332], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'globals', 332]], [327, [7, '(', 332], [8, ')', 332]]]]]]]]]]]]]]]]], [12, ',', 332], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'fromlist', 332]]]]]]]]]]]]]]]], [22, '=', 332], [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [9, '[', 332], [326, [305, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [3, "'0'", 332]]]]]]]]]]]]]]]]]], [10, ']', 332]]]]]]]]]]]]]]]]]], [8, ')', 332]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/bin/google: line=332 UNABLE to determine the imported name at parse-time: module
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/bin/google: line=332 a form of __import__ was read which gave no deps: [320, [321, [322, [323, [324, [325, [1, '__import__', 332]], [327, [7, '(', 332], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'module', 332]]]]]]]]]]]]]]]]], [12, ',', 332], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'globals', 332]], [327, [7, '(', 332], [8, ')', 332]]]]]]]]]]]]]]]]], [12, ',', 332], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'fromlist', 332]]]]]]]]]]]]]]]], [22, '=', 332], [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [9, '[', 332], [326, [305, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [3, "'0'", 332]]]]]]]]]]]]]]]]]], [10, ']', 332]]]]]]]]]]]]]]]]]], [8, ')', 332]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/bin/google: line=332 UNABLE to determine the imported name at parse-time: module
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/bin/google: line=332 a form of __import__ was read which gave no deps: [321, [322, [323, [324, [325, [1, '__import__', 332]], [327, [7, '(', 332], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'module', 332]]]]]]]]]]]]]]]]], [12, ',', 332], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'globals', 332]], [327, [7, '(', 332], [8, ')', 332]]]]]]]]]]]]]]]]], [12, ',', 332], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'fromlist', 332]]]]]]]]]]]]]]]], [22, '=', 332], [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [9, '[', 332], [326, [305, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [3, "'0'", 332]]]]]]]]]]]]]]]]]], [10, ']', 332]]]]]]]]]]]]]]]]]], [8, ')', 332]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/bin/google: line=332 UNABLE to determine the imported name at parse-time: module
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/bin/google: line=332 a form of __import__ was read which gave no deps: [322, [323, [324, [325, [1, '__import__', 332]], [327, [7, '(', 332], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'module', 332]]]]]]]]]]]]]]]]], [12, ',', 332], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'globals', 332]], [327, [7, '(', 332], [8, ')', 332]]]]]]]]]]]]]]]]], [12, ',', 332], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'fromlist', 332]]]]]]]]]]]]]]]], [22, '=', 332], [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [9, '[', 332], [326, [305, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [3, "'0'", 332]]]]]]]]]]]]]]]]]], [10, ']', 332]]]]]]]]]]]]]]]]]], [8, ')', 332]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/bin/google: line=332 UNABLE to determine the imported name at parse-time: module
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/bin/google: line=332 a form of __import__ was read which gave no deps: [323, [324, [325, [1, '__import__', 332]], [327, [7, '(', 332], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'module', 332]]]]]]]]]]]]]]]]], [12, ',', 332], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'globals', 332]], [327, [7, '(', 332], [8, ')', 332]]]]]]]]]]]]]]]]], [12, ',', 332], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'fromlist', 332]]]]]]]]]]]]]]]], [22, '=', 332], [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [9, '[', 332], [326, [305, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [3, "'0'", 332]]]]]]]]]]]]]]]]]], [10, ']', 332]]]]]]]]]]]]]]]]]], [8, ')', 332]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/bin/google: line=332 UNABLE to determine the imported name at parse-time: module
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/bin/google: line=332 a form of __import__ was read which gave no deps: [324, [325, [1, '__import__', 332]], [327, [7, '(', 332], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'module', 332]]]]]]]]]]]]]]]]], [12, ',', 332], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'globals', 332]], [327, [7, '(', 332], [8, ')', 332]]]]]]]]]]]]]]]]], [12, ',', 332], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'fromlist', 332]]]]]]]]]]]]]]]], [22, '=', 332], [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [9, '[', 332], [326, [305, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [3, "'0'", 332]]]]]]]]]]]]]]]]]], [10, ']', 332]]]]]]]]]]]]]]]]]], [8, ')', 332]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/bin/google: line=457 IGNORE (for REQ=slight and deep=12) module=readline
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/bin/google: line=606 IGNORE (for REQ=slight and deep=12) module=inspect
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/bin/google: line=661 IGNORE (for REQ=slight and deep=12) module=gdata
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/bin/google: line=847 IGNORE (for REQ=slight and deep=8) module=signal
Requires: python3(googlecl) < 0, /usr/bin/python3, python3(glob) < 0, python3(googlecl.authentication) < 0, python3(googlecl.config) < 0, python3(logging) < 0, python3(optparse) < 0, python3(os) < 0, python3(traceback) < 0, python3(webbrowser) < 0
Processing files: python3-module-googlecl-0.9.13-alt2
Finding Provides (using /usr/lib/rpm/find-provides)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.m5uRe1
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.8tryvY
find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services)
/usr/lib/rpm/python3.req.py:6: DeprecationWarning: The parser module is deprecated and will be removed in future versions of Python
  import parser, symbol, token, types
/usr/lib/rpm/python3.req.py:6: DeprecationWarning: The symbol module is deprecated and will be removed in future versions of Python
  import parser, symbol, token, types
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/__init__.py: line=37 IGNORE (for REQ=slight and deep=8) module=sys
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/__init__.py: line=274 IGNORE (for REQ=slight and deep=8) module=stat
python3.req: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/base.py: skipping time
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/base.py: line=153 IGNORE (for REQ=slight and deep=19) module=urllib.parse
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/base.py: line=157 IGNORE (for REQ=slight and deep=19) module=cgi
python3.req: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/calendar/__init__.py: skipping time
python3.req: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/calendar/date.py: skipping time
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/calendar/date_test.py: line=21 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/calendar/service.py: line=238 IGNORE (for REQ=slight and deep=11) module=atom
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/calendar/service.py: line=269 IGNORE (for REQ=slight and deep=11) module=atom
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/client.py: line=77 IGNORE (for REQ=slight and deep=11) module=urllib.request
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/client.py: line=77 IGNORE (for REQ=slight and deep=11) module=urllib.parse
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/client.py: line=77 IGNORE (for REQ=slight and deep=11) module=urllib.error
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/client.py: line=78 IGNORE (for REQ=slight and deep=11) module=time
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/config/__init__.py: line=16 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/config/__init__.py: line=21 IGNORE (for REQ=slight and deep=8) module=googlecl.docs
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/config/__init__.py: line=22 IGNORE (for REQ=slight and deep=8) module=googlecl.contacts
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/config/__init__.py: line=23 IGNORE (for REQ=slight and deep=8) module=googlecl.calendar
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/config/__init__.py: line=24 IGNORE (for REQ=slight and deep=8) module=googlecl.youtube
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/config/__init__.py: line=25 IGNORE (for REQ=slight and deep=8) module=getpass
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/config/__init__.py: line=26 IGNORE (for REQ=slight and deep=8) module=socket
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs/__init__.py: line=22 IGNORE (for REQ=slight and deep=8) module=gdata.docs.data
python3.req: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs/base.py: skipping sys
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs/base.py: line=87 IGNORE (for REQ=slight and deep=11) module=subprocess
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs/base.py: line=88 IGNORE (for REQ=slight and deep=11) module=tempfile
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs/base.py: line=353 IGNORE (for REQ=slight and deep=15) module=mimetypes
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs/base.py: line=401 IGNORE (for REQ=slight and deep=8) module=hashlib
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs/client.py: line=68 IGNORE (for REQ=slight and deep=11) module=gdata.docs.data
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs/client.py: line=251 IGNORE (for REQ=slight and deep=11) module=gdata.docs.data
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs/service.py: line=107 IGNORE (for REQ=slight and deep=15) module=atom
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs/service.py: line=125 IGNORE (for REQ=slight and deep=11) module=gdata.docs.service
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs/service.py: line=252 IGNORE (for REQ=slight and deep=11) module=gdata.docs.service
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs/service.py: line=302 IGNORE (for REQ=slight and deep=15) module=atom
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/docs/service.py: line=329 IGNORE (for REQ=slight and deep=8) module=atom
python3.req: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/finance/__init__.py: skipping sys
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/picasa/__init__.py: line=46 IGNORE (for REQ=slight and deep=12) module=re
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/picasa/__init__.py: line=67 IGNORE (for REQ=slight and deep=16) module=math
python3.req: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/picasa/service.py: skipping time
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/picasa/service.py: line=341 IGNORE (for REQ=slight and deep=11) module=gdata.media
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/picasa/service.py: line=342 IGNORE (for REQ=slight and deep=11) module=atom
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/youtube/service.py: line=109 IGNORE (for REQ=slight and deep=11) module=gdata.media
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/youtube/service.py: line=156 IGNORE (for REQ=slight and deep=11) module=gdata.media
/usr/lib/rpm/python3.req.py: /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/youtube/service.py: line=198 IGNORE (for REQ=slight and deep=8) module=gdata.media
shebang.req.files: executable script /usr/src/tmp/googlecl-buildroot/usr/lib/python3/site-packages/googlecl/calendar/date_test.py is not executable
Provides: python3(googlecl), python3(googlecl.authentication), python3(googlecl.base), python3(googlecl.blogger), python3(googlecl.blogger.service), python3(googlecl.calendar), python3(googlecl.calendar.date), python3(googlecl.calendar.date_test), python3(googlecl.calendar.service), python3(googlecl.client), python3(googlecl.config), python3(googlecl.config.parser), python3(googlecl.contacts), python3(googlecl.contacts.base), python3(googlecl.contacts.client), python3(googlecl.contacts.service), python3(googlecl.docs), python3(googlecl.docs.base), python3(googlecl.docs.client), python3(googlecl.docs.service), python3(googlecl.finance), python3(googlecl.finance.service), python3(googlecl.picasa), python3(googlecl.picasa.service), python3(googlecl.service), python3(googlecl.youtube), python3(googlecl.youtube.service)
Requires: /usr/lib/python3/site-packages, python3(atom) < 0, python3(configparser) < 0, python3(datetime) < 0, python3(gdata) < 0, python3(gdata.blogger) < 0, python3(gdata.blogger.service) < 0, python3(gdata.calendar.service) < 0, python3(gdata.client) < 0, python3(gdata.contacts.client) < 0, python3(gdata.contacts.service) < 0, python3(gdata.docs.client) < 0, python3(gdata.docs.service) < 0, python3(gdata.finance) < 0, python3(gdata.finance.service) < 0, python3(gdata.photos) < 0, python3(gdata.photos.service) < 0, python3(gdata.service) < 0, python3(gdata.youtube) < 0, python3(gdata.youtube.service) < 0, python3(inspect) < 0, python3(logging) < 0, python3(os) < 0, python3(os.path) < 0, python3(pickle) < 0, python3(re) < 0, python3(shlex) < 0, python3(shutil) < 0, python3(stat) < 0, python3(unittest) < 0, python3(urllib.error) < 0, python3(urllib.parse) < 0, python3(urllib.request) < 0
Adding to googlecl a strict dependency on python3-module-googlecl
Removing 3 extra deps from googlecl due to dependency on python3-module-googlecl
Removing 2 extra deps from googlecl due to repentancy on python3-module-googlecl
Wrote: /usr/src/RPM/RPMS/noarch/googlecl-0.9.13-alt2.noarch.rpm (w2.lzdio)
Wrote: /usr/src/RPM/RPMS/noarch/python3-module-googlecl-0.9.13-alt2.noarch.rpm (w2.lzdio)
33.96user 2.15system 0:38.53elapsed 93%CPU (0avgtext+0avgdata 32328maxresident)k
0inputs+0outputs (0major+225820minor)pagefaults 0swaps
/.out/googlecl-0.9.13-alt2.noarch.rpm: The use of such a license name is ambiguous: Apache
/.out/googlecl-0.9.13-alt2.noarch.rpm: license not found in '/usr/share/license' directory: License
/.out/googlecl-0.9.13-alt2.noarch.rpm: license not found in '/usr/share/license' directory: 2.0
/.out/python3-module-googlecl-0.9.13-alt2.noarch.rpm: The use of such a license name is ambiguous: Apache
/.out/python3-module-googlecl-0.9.13-alt2.noarch.rpm: license not found in '/usr/share/license' directory: License
/.out/python3-module-googlecl-0.9.13-alt2.noarch.rpm: license not found in '/usr/share/license' directory: 2.0
47.92user 8.05system 0:58.17elapsed 96%CPU (0avgtext+0avgdata 112664maxresident)k
0inputs+0outputs (0major+689119minor)pagefaults 0swaps
--- python3-module-googlecl-0.9.13-alt2.noarch.rpm.repo	2019-12-30 13:08:56.000000000 +0000
+++ python3-module-googlecl-0.9.13-alt2.noarch.rpm.hasher	2021-04-14 10:27:17.595089160 +0000
@@ -1,25 +1,25 @@
 /usr/lib/python3/site-packages/googlecl	40755	
-/usr/lib/python3/site-packages/googlecl-0.9.13-py3.7.egg-info	40755	
-/usr/lib/python3/site-packages/googlecl-0.9.13-py3.7.egg-info/PKG-INFO	100644	
-/usr/lib/python3/site-packages/googlecl-0.9.13-py3.7.egg-info/SOURCES.txt	100644	
-/usr/lib/python3/site-packages/googlecl-0.9.13-py3.7.egg-info/dependency_links.txt	100644	
-/usr/lib/python3/site-packages/googlecl-0.9.13-py3.7.egg-info/requires.txt	100644	
-/usr/lib/python3/site-packages/googlecl-0.9.13-py3.7.egg-info/top_level.txt	100644	
+/usr/lib/python3/site-packages/googlecl-0.9.13-py3.9.egg-info	40755	
+/usr/lib/python3/site-packages/googlecl-0.9.13-py3.9.egg-info/PKG-INFO	100644	
+/usr/lib/python3/site-packages/googlecl-0.9.13-py3.9.egg-info/SOURCES.txt	100644	
+/usr/lib/python3/site-packages/googlecl-0.9.13-py3.9.egg-info/dependency_links.txt	100644	
+/usr/lib/python3/site-packages/googlecl-0.9.13-py3.9.egg-info/requires.txt	100644	
+/usr/lib/python3/site-packages/googlecl-0.9.13-py3.9.egg-info/top_level.txt	100644	
 /usr/lib/python3/site-packages/googlecl/__init__.py	100644	
 /usr/lib/python3/site-packages/googlecl/__pycache__	40755	
-/usr/lib/python3/site-packages/googlecl/__pycache__/__init__.cpython-37.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/__pycache__/__init__.cpython-37.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/__pycache__/__init__.cpython-37.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/__pycache__/authentication.cpython-37.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/__pycache__/authentication.cpython-37.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/__pycache__/authentication.cpython-37.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/__pycache__/base.cpython-37.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/__pycache__/base.cpython-37.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/__pycache__/base.cpython-37.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/__pycache__/client.cpython-37.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/__pycache__/client.cpython-37.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/__pycache__/client.cpython-37.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/__pycache__/service.cpython-37.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/__pycache__/service.cpython-37.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/__pycache__/service.cpython-37.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/__pycache__/__init__.cpython-39.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/__pycache__/__init__.cpython-39.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/__pycache__/__init__.cpython-39.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/__pycache__/authentication.cpython-39.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/__pycache__/authentication.cpython-39.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/__pycache__/authentication.cpython-39.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/__pycache__/base.cpython-39.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/__pycache__/base.cpython-39.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/__pycache__/base.cpython-39.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/__pycache__/client.cpython-39.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/__pycache__/client.cpython-39.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/__pycache__/client.cpython-39.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/__pycache__/service.cpython-39.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/__pycache__/service.cpython-39.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/__pycache__/service.cpython-39.pyc	100644	
 /usr/lib/python3/site-packages/googlecl/authentication.py	100644	
@@ -29,8 +29,8 @@
 /usr/lib/python3/site-packages/googlecl/blogger/__pycache__	40755	
-/usr/lib/python3/site-packages/googlecl/blogger/__pycache__/__init__.cpython-37.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/blogger/__pycache__/__init__.cpython-37.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/blogger/__pycache__/__init__.cpython-37.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/blogger/__pycache__/service.cpython-37.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/blogger/__pycache__/service.cpython-37.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/blogger/__pycache__/service.cpython-37.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/blogger/__pycache__/__init__.cpython-39.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/blogger/__pycache__/__init__.cpython-39.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/blogger/__pycache__/__init__.cpython-39.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/blogger/__pycache__/service.cpython-39.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/blogger/__pycache__/service.cpython-39.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/blogger/__pycache__/service.cpython-39.pyc	100644	
 /usr/lib/python3/site-packages/googlecl/blogger/service.py	100644	
@@ -39,14 +39,14 @@
 /usr/lib/python3/site-packages/googlecl/calendar/__pycache__	40755	
-/usr/lib/python3/site-packages/googlecl/calendar/__pycache__/__init__.cpython-37.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/calendar/__pycache__/__init__.cpython-37.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/calendar/__pycache__/__init__.cpython-37.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/calendar/__pycache__/date.cpython-37.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/calendar/__pycache__/date.cpython-37.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/calendar/__pycache__/date.cpython-37.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/calendar/__pycache__/date_test.cpython-37.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/calendar/__pycache__/date_test.cpython-37.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/calendar/__pycache__/date_test.cpython-37.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/calendar/__pycache__/service.cpython-37.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/calendar/__pycache__/service.cpython-37.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/calendar/__pycache__/service.cpython-37.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/calendar/__pycache__/__init__.cpython-39.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/calendar/__pycache__/__init__.cpython-39.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/calendar/__pycache__/__init__.cpython-39.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/calendar/__pycache__/date.cpython-39.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/calendar/__pycache__/date.cpython-39.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/calendar/__pycache__/date.cpython-39.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/calendar/__pycache__/date_test.cpython-39.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/calendar/__pycache__/date_test.cpython-39.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/calendar/__pycache__/date_test.cpython-39.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/calendar/__pycache__/service.cpython-39.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/calendar/__pycache__/service.cpython-39.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/calendar/__pycache__/service.cpython-39.pyc	100644	
 /usr/lib/python3/site-packages/googlecl/calendar/date.py	100644	
@@ -58,8 +58,8 @@
 /usr/lib/python3/site-packages/googlecl/config/__pycache__	40755	
-/usr/lib/python3/site-packages/googlecl/config/__pycache__/__init__.cpython-37.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/config/__pycache__/__init__.cpython-37.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/config/__pycache__/__init__.cpython-37.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/config/__pycache__/parser.cpython-37.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/config/__pycache__/parser.cpython-37.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/config/__pycache__/parser.cpython-37.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/config/__pycache__/__init__.cpython-39.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/config/__pycache__/__init__.cpython-39.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/config/__pycache__/__init__.cpython-39.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/config/__pycache__/parser.cpython-39.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/config/__pycache__/parser.cpython-39.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/config/__pycache__/parser.cpython-39.pyc	100644	
 /usr/lib/python3/site-packages/googlecl/config/parser.py	100644	
@@ -68,14 +68,14 @@
 /usr/lib/python3/site-packages/googlecl/contacts/__pycache__	40755	
-/usr/lib/python3/site-packages/googlecl/contacts/__pycache__/__init__.cpython-37.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/contacts/__pycache__/__init__.cpython-37.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/contacts/__pycache__/__init__.cpython-37.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/contacts/__pycache__/base.cpython-37.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/contacts/__pycache__/base.cpython-37.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/contacts/__pycache__/base.cpython-37.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/contacts/__pycache__/client.cpython-37.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/contacts/__pycache__/client.cpython-37.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/contacts/__pycache__/client.cpython-37.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/contacts/__pycache__/service.cpython-37.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/contacts/__pycache__/service.cpython-37.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/contacts/__pycache__/service.cpython-37.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/contacts/__pycache__/__init__.cpython-39.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/contacts/__pycache__/__init__.cpython-39.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/contacts/__pycache__/__init__.cpython-39.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/contacts/__pycache__/base.cpython-39.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/contacts/__pycache__/base.cpython-39.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/contacts/__pycache__/base.cpython-39.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/contacts/__pycache__/client.cpython-39.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/contacts/__pycache__/client.cpython-39.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/contacts/__pycache__/client.cpython-39.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/contacts/__pycache__/service.cpython-39.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/contacts/__pycache__/service.cpython-39.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/contacts/__pycache__/service.cpython-39.pyc	100644	
 /usr/lib/python3/site-packages/googlecl/contacts/base.py	100644	
@@ -86,14 +86,14 @@
 /usr/lib/python3/site-packages/googlecl/docs/__pycache__	40755	
-/usr/lib/python3/site-packages/googlecl/docs/__pycache__/__init__.cpython-37.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/docs/__pycache__/__init__.cpython-37.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/docs/__pycache__/__init__.cpython-37.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/docs/__pycache__/base.cpython-37.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/docs/__pycache__/base.cpython-37.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/docs/__pycache__/base.cpython-37.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/docs/__pycache__/client.cpython-37.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/docs/__pycache__/client.cpython-37.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/docs/__pycache__/client.cpython-37.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/docs/__pycache__/service.cpython-37.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/docs/__pycache__/service.cpython-37.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/docs/__pycache__/service.cpython-37.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/docs/__pycache__/__init__.cpython-39.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/docs/__pycache__/__init__.cpython-39.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/docs/__pycache__/__init__.cpython-39.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/docs/__pycache__/base.cpython-39.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/docs/__pycache__/base.cpython-39.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/docs/__pycache__/base.cpython-39.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/docs/__pycache__/client.cpython-39.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/docs/__pycache__/client.cpython-39.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/docs/__pycache__/client.cpython-39.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/docs/__pycache__/service.cpython-39.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/docs/__pycache__/service.cpython-39.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/docs/__pycache__/service.cpython-39.pyc	100644	
 /usr/lib/python3/site-packages/googlecl/docs/base.py	100644	
@@ -104,8 +104,8 @@
 /usr/lib/python3/site-packages/googlecl/finance/__pycache__	40755	
-/usr/lib/python3/site-packages/googlecl/finance/__pycache__/__init__.cpython-37.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/finance/__pycache__/__init__.cpython-37.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/finance/__pycache__/__init__.cpython-37.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/finance/__pycache__/service.cpython-37.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/finance/__pycache__/service.cpython-37.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/finance/__pycache__/service.cpython-37.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/finance/__pycache__/__init__.cpython-39.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/finance/__pycache__/__init__.cpython-39.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/finance/__pycache__/__init__.cpython-39.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/finance/__pycache__/service.cpython-39.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/finance/__pycache__/service.cpython-39.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/finance/__pycache__/service.cpython-39.pyc	100644	
 /usr/lib/python3/site-packages/googlecl/finance/service.py	100644	
@@ -114,8 +114,8 @@
 /usr/lib/python3/site-packages/googlecl/picasa/__pycache__	40755	
-/usr/lib/python3/site-packages/googlecl/picasa/__pycache__/__init__.cpython-37.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/picasa/__pycache__/__init__.cpython-37.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/picasa/__pycache__/__init__.cpython-37.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/picasa/__pycache__/service.cpython-37.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/picasa/__pycache__/service.cpython-37.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/picasa/__pycache__/service.cpython-37.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/picasa/__pycache__/__init__.cpython-39.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/picasa/__pycache__/__init__.cpython-39.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/picasa/__pycache__/__init__.cpython-39.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/picasa/__pycache__/service.cpython-39.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/picasa/__pycache__/service.cpython-39.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/picasa/__pycache__/service.cpython-39.pyc	100644	
 /usr/lib/python3/site-packages/googlecl/picasa/service.py	100644	
@@ -125,8 +125,8 @@
 /usr/lib/python3/site-packages/googlecl/youtube/__pycache__	40755	
-/usr/lib/python3/site-packages/googlecl/youtube/__pycache__/__init__.cpython-37.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/youtube/__pycache__/__init__.cpython-37.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/youtube/__pycache__/__init__.cpython-37.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/youtube/__pycache__/service.cpython-37.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/youtube/__pycache__/service.cpython-37.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/googlecl/youtube/__pycache__/service.cpython-37.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/youtube/__pycache__/__init__.cpython-39.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/youtube/__pycache__/__init__.cpython-39.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/youtube/__pycache__/__init__.cpython-39.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/youtube/__pycache__/service.cpython-39.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/youtube/__pycache__/service.cpython-39.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/googlecl/youtube/__pycache__/service.cpython-39.pyc	100644	
 /usr/lib/python3/site-packages/googlecl/youtube/service.py	100644