Skip to content

Commit 26d3f24

Browse files
committed
handpicked suggestions from Mistral AI
1 parent b7f1e21 commit 26d3f24

File tree

2 files changed

+29
-42
lines changed

2 files changed

+29
-42
lines changed

winpython/utils.py

Lines changed: 15 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,6 @@ def patch_shebang_line(fname, pad=b" ", to_movable=True, targetdir=""):
213213
"""Remove absolute path to python.exe in shebang lines in binary files, or re-add it."""
214214
target_dir = targetdir if to_movable else os.path.abspath(os.path.join(os.path.dirname(fname), r"..")) + "\\"
215215
executable = sys.executable
216-
217216
shebang_line = re.compile(rb"""(#!.*pythonw?\.exe)"?""") # Python3+
218217
if "pypy3" in sys.executable:
219218
shebang_line = re.compile(rb"""(#!.*pypy3w?\.exe)"?""") # Pypy3+
@@ -239,12 +238,9 @@ def patch_shebang_line(fname, pad=b" ", to_movable=True, targetdir=""):
239238
def patch_shebang_line_py(fname, to_movable=True, targetdir=""):
240239
"""Changes shebang line in '.py' file to relative or absolue path"""
241240
import fileinput
242-
if to_movable:
243-
exec_path = r'#!.\python.exe'
244-
if 'pypy3' in sys.executable: # PyPy !
245-
exec_path = r'#!.\pypy3.exe'
246-
else:
247-
exec_path = '#!' + sys.executable
241+
exec_path = r'#!.\python.exe' if to_movable else '#!' + sys.executable
242+
if 'pypy3' in sys.executable:
243+
exec_path = r'#!.\pypy3.exe' if to_movable else exec_path
248244
for line in fileinput.input(fname, inplace=True):
249245
if re.match(r'^#\!.*python\.exe$', line) or re.match(r'^#\!.*pypy3\.exe$', line):
250246
print(exec_path)
@@ -253,18 +249,16 @@ def patch_shebang_line_py(fname, to_movable=True, targetdir=""):
253249

254250
def guess_encoding(csv_file):
255251
"""guess the encoding of the given file"""
256-
# UTF_8_BOM = "\xEF\xBB\xBF"
257252
with open(csv_file, "rb") as f:
258253
data = f.read(5)
259254
if data.startswith(b"\xEF\xBB\xBF"): # UTF-8 with a "BOM" (normally no BOM in utf-8)
260255
return ["utf-8-sig"]
261-
else: # in Windows, guessing utf-8 doesn't work, so we have to try
262-
try:
263-
with open(csv_file, encoding="utf-8") as f:
264-
preview = f.read(222222)
265-
return ["utf-8"]
266-
except:
267-
return [locale.getdefaultlocale()[1], "utf-8"]
256+
try:
257+
with open(csv_file, encoding="utf-8") as f:
258+
preview = f.read(222222)
259+
return ["utf-8"]
260+
except:
261+
return [locale.getdefaultlocale()[1], "utf-8"]
268262

269263
def replace_in_file(filepath: Path, replacements: list[tuple[str, str]], filedest: Path = None, verbose=False):
270264
"""
@@ -290,9 +284,9 @@ def replace_in_file(filepath: Path, replacements: list[tuple[str, str]], filedes
290284
def patch_sourcefile(fname, in_text, out_text, silent_mode=False):
291285
"""Replace a string in a source file."""
292286
if not silent_mode:
293-
print(f"patching {fname} from {in_text} to {out_text}")
294-
if Path(fname).is_file() and not in_text == out_text:
295-
replace_in_file(Path(fname), [(in_text , out_text)])
287+
print(f"patching {fname} from {in_text} to {out_text}")
288+
if Path(fname).is_file() and in_text != out_text:
289+
replace_in_file(Path(fname), [(in_text, out_text)])
296290

297291
def _create_temp_dir():
298292
"""Create a temporary directory and remove it at exit"""
@@ -324,7 +318,7 @@ def get_source_package_infos(fname):
324318
def buildflit_wininst(root, python_exe=None, copy_to=None, verbose=False):
325319
"""Build Wheel from Python package located in *root* with flit."""
326320
python_exe = python_exe or sys.executable
327-
cmd = [python_exe, '-m' ,'flit', 'build']
321+
cmd = [python_exe, '-m', 'flit', 'build']
328322
if verbose:
329323
subprocess.call(cmd, cwd=root)
330324
else:
@@ -362,7 +356,7 @@ def direct_pip_install(fname, python_exe=None, verbose=False, install_options=No
362356
python_exe = python_exe or sys.executable
363357
myroot = str(Path(python_exe).parent)
364358

365-
cmd = [python_exe, "-m", "pip", "install"] + (install_options or []) +[fname]
359+
cmd = [python_exe, "-m", "pip", "install"] + (install_options or []) + [fname]
366360
if not verbose:
367361
process = subprocess.Popen(cmd, cwd=myroot, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
368362
stdout, stderr = process.communicate()
@@ -416,7 +410,7 @@ def get_package_metadata(database, name):
416410
db = cp.ConfigParser()
417411
filepath = Path(database) if Path(database).is_absolute() else Path(DATA_PATH) / database
418412
db.read_file(open(str(filepath), encoding=guess_encoding(filepath)[0]))
419-
413+
420414
my_metadata = {
421415
"description": "",
422416
"url": f"https://pypi.org/project/{name}",

winpython/wppm.py

Lines changed: 14 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -144,12 +144,12 @@ def patch_standard_packages(self, package_name="", to_movable=True):
144144
import filecmp
145145

146146
# 'pywin32' minimal post-install (pywin32_postinstall.py do too much)
147-
if package_name.lower() == "pywin32" or package_name == "":
147+
if package_name.lower() in ("", "pywin32"):
148148
origin = Path(self.target) / "site-packages" / "pywin32_system32"
149149
destin = Path(self.target)
150150
if origin.is_dir():
151151
for name in os.listdir(origin):
152-
here, there = (origin / name), (destin / name)
152+
here, there = origin / name, destin / name
153153
if not there.exists() or not filecmp.cmp(here, there):
154154
shutil.copyfile(here, there)
155155
# 'pip' to do movable launchers (around line 100) !!!!
@@ -162,7 +162,7 @@ def patch_standard_packages(self, package_name="", to_movable=True):
162162
sheb_mov1 = " executable = os.path.join(os.path.basename(get_executable()))"
163163
sheb_mov2 = " executable = os.path.join('..',os.path.basename(get_executable()))"
164164

165-
the_place = Path(self.target ) / "lib" / "site-packages" / "pip" / "_vendor" / "distlib" / "scripts.py"
165+
the_place = Path(self.target) / "lib" / "site-packages" / "pip" / "_vendor" / "distlib" / "scripts.py"
166166
print(the_place)
167167
if to_movable:
168168
utils.patch_sourcefile(the_place, sheb_fix, sheb_mov1)
@@ -173,7 +173,7 @@ def patch_standard_packages(self, package_name="", to_movable=True):
173173

174174
# create movable launchers for previous package installations
175175
self.patch_all_shebang(to_movable=to_movable)
176-
if package_name.lower() == "spyder" or package_name == "":
176+
if package_name.lower() in ("", "spyder"):
177177
# spyder don't goes on internet without I ask
178178
utils.patch_sourcefile(
179179
Path(self.target) / "lib" / "site-packages" / "spyder" / "config" /"main.py",
@@ -202,14 +202,13 @@ def handle_specific_packages(self, package):
202202
"%WINPYDIR%\python.exe" "%WINPYDIR%\Lib\site-packages\package.name\uic\pyuic.py" %1 %2 %3 %4 %5 %6 %7 %8 %9"""
203203
# PyPy adaption: python.exe or pypy3.exe
204204
my_exec = Path(utils.get_python_executable(self.target)).name
205-
tmp_string = tmp_string.replace("python.exe", my_exec)
206-
self.create_file(package, f"pyuic{package.name[-1]}.bat", "Scripts", tmp_string.replace("package.name", package.name))
205+
tmp_string = tmp_string.replace("python.exe", my_exec).replace("package.name", package.name)
206+
self.create_file(package, f"pyuic{package.name[-1]}.bat", "Scripts", tmp_string)
207207
# Adding missing __init__.py files (fixes Issue 8)
208208
uic_path = str(Path("Lib") / "site-packages" / package.name / "uic")
209209
for dirname in ("Loader", "port_v2", "port_v3"):
210210
self.create_file(package, "__init__.py", str(Path(uic_path) / dirname), "")
211211

212-
213212
def _print(self, package: Package, action: str):
214213
"""Print package-related action text."""
215214
text = f"{action} {package.name} {package.version}"
@@ -232,7 +231,6 @@ def uninstall(self, package):
232231
subprocess.call([this_exec, "-m", "pip", "uninstall", package.name, "-y"], cwd=self.target)
233232
self._print_done()
234233

235-
236234
def install_bdist_direct(self, package, install_options=None):
237235
"""Install a package directly !"""
238236
self._print(package,f"Installing {package.fname.split('.')[-1]}")
@@ -250,22 +248,17 @@ def install_bdist_direct(self, package, install_options=None):
250248
package = Package(fname)
251249
self._print_done()
252250

253-
254251
def main(test=False):
255252
if test:
256-
sbdir = str(Path(__file__).parents[0].parent.parent.parent / "sandbox")
257-
tmpdir = str(Path(sbdir) / "tobedeleted")
258-
259-
fname = str(Path(sbdir) / "VTK-5.10.0-Qt-4.7.4.win32-py2.7.exe")
260-
print(Package(fname))
253+
sbdir = Path(__file__).parents[0].parent.parent.parent / "sandbox"
254+
tmpdir = sbdir / "tobedeleted"
255+
fname = sbdir / "VTK-5.10.0-Qt-4.7.4.win32-py2.7.exe")
256+
print(Package(str(fname)))
261257
sys.exit()
262-
target = str(
263-
Path(utils.BASE_DIR) / "build" / "winpython-2.7.3" / "python-2.7.3"
264-
)
265-
fname = str(Path(utils.BASE_DIR) / "packages.src" / "docutils-0.9.1.tar.gz")
266-
267-
dist = Distribution(target, verbose=True)
268-
pack = Package(fname)
258+
target = Path(utils.BASE_DIR) / "build" / "winpython-2.7.3" / "python-2.7.3"
259+
fname = Path(utils.BASE_DIR) / "packages.src" / "docutils-0.9.1.tar.gz"
260+
dist = Distribution(str(target), verbose=True)
261+
pack = Package(str(fname))
269262
print(pack.description)
270263
# dist.install(pack)
271264
# dist.uninstall(pack)

0 commit comments

Comments
 (0)