Browse Source

general: Clean up hacks to support Python 3.5 from codebase

rdb 5 years ago
parent
commit
e060a29228
2 changed files with 1 additions and 59 deletions
  1. 1 16
      dtool/src/dtoolutil/filename_ext.cxx
  2. 0 43
      pandatool/src/deploy-stub/deploy-stub.c

+ 1 - 16
dtool/src/dtoolutil/filename_ext.cxx

@@ -53,9 +53,6 @@ __init__(PyObject *path) {
     return;
   }
 
-  PyObject *path_str;
-
-#if PY_VERSION_HEX >= 0x03060000
   // It must be an os.PathLike object.  Check for an __fspath__ method.
   PyObject *fspath = PyObject_GetAttrString((PyObject *)Py_TYPE(path), "__fspath__");
   if (fspath == nullptr) {
@@ -63,20 +60,8 @@ __init__(PyObject *path) {
     return;
   }
 
-  path_str = PyObject_CallFunctionObjArgs(fspath, path, nullptr);
+  PyObject *path_str = PyObject_CallFunctionObjArgs(fspath, path, nullptr);
   Py_DECREF(fspath);
-#else
-  // There is no standard path protocol before Python 3.6, but let's try and
-  // support taking pathlib paths anyway.  We don't version check this to
-  // allow people to use backports of the pathlib module.
-  if (PyObject_HasAttrString(path, "_format_parsed_parts")) {
-    path_str = PyObject_Str(path);
-  } else {
-    PyErr_Format(PyExc_TypeError, "expected str, bytes, Path or Filename object, not %s", Py_TYPE(path)->tp_name);
-    return;
-  }
-#endif
-
   if (path_str == nullptr) {
     return;
   }

+ 0 - 43
pandatool/src/deploy-stub/deploy-stub.c

@@ -73,36 +73,6 @@ static struct _inittab extensions[] = {
 static wchar_t *log_pathw = NULL;
 #endif
 
-#if defined(_WIN32) && PY_VERSION_HEX < 0x03060000
-static int supports_code_page(UINT cp) {
-  if (cp == 0) {
-    cp = GetACP();
-  }
-
-  /* Shortcut, because we know that these encodings are bundled by default--
-   * see FreezeTool.py and Python's encodings/aliases.py */
-  if (cp != 0 && cp != 1252 && cp != 367 && cp != 437 && cp != 850 && cp != 819) {
-    const struct _frozen *moddef;
-    char codec[100];
-
-    /* Check if the codec was frozen into the program.  We can't check this
-     * using _PyCodec_Lookup, since Python hasn't been initialized yet. */
-    PyOS_snprintf(codec, sizeof(codec), "encodings.cp%u", (unsigned int)cp);
-
-    moddef = PyImport_FrozenModules;
-    while (moddef->name) {
-      if (strcmp(moddef->name, codec) == 0) {
-        return 1;
-      }
-      ++moddef;
-    }
-    return 0;
-  }
-
-  return 1;
-}
-#endif
-
 /**
  * Sets the main_dir field of the blobinfo structure, but only if it wasn't
  * already set.
@@ -408,19 +378,6 @@ int Py_FrozenMain(int argc, char **argv)
     }
 #endif
 
-#if defined(MS_WINDOWS) && PY_VERSION_HEX >= 0x03040000 && PY_VERSION_HEX < 0x03060000
-    if (!supports_code_page(GetConsoleOutputCP()) ||
-        !supports_code_page(GetConsoleCP())) {
-      /* Revert to the active codepage, and tell Python to use the 'mbcs'
-       * encoding (which always uses the active codepage).  In 99% of cases,
-       * this will be the same thing anyway. */
-      UINT acp = GetACP();
-      SetConsoleCP(acp);
-      SetConsoleOutputCP(acp);
-      Py_SetStandardStreamEncoding("mbcs", NULL);
-    }
-#endif
-
     Py_FrozenFlag = 1; /* Suppress errors from getpath.c */
     Py_NoSiteFlag = 0;
     Py_NoUserSiteDirectory = 1;