From 426ac889266fc7b5eb3ed47713188dd5d68b3106 Mon Sep 17 00:00:00 2001 From: gryf Date: Mon, 26 Aug 2024 17:07:09 +0200 Subject: [PATCH] Removed tilda mapping, it's handled by c1541 now --- README.rst | 9 ++++----- uc1541 | 28 ++++++++++++++-------------- 2 files changed, 18 insertions(+), 19 deletions(-) diff --git a/README.rst b/README.rst index 17307fe..4b957a7 100644 --- a/README.rst +++ b/README.rst @@ -35,11 +35,10 @@ are seen on a listing. While copying from filesystem to disk image, filename conversion will be done: -1. Every ``$`` and ``*`` characters will be replaced by question mark (``?``) -2. Every pipe (``|``) and backslash (``\``) characters will be replaced by - slash (``/``) -3. Every tilde (``~``) will be replaced by a space -4. ``prg`` extension will be truncated +1. Every ``$`` and ``*`` characters will be replaced by question mark (``?``). +2. Every pipe (``|``) and backslash (``\\``) characters will be replaced by + slash (``/``). +3. ``prg`` extension will be truncated. Representation of a directory can be sometimes confusing - in case when one copied file without extension it stays there in such form, till next access diff --git a/uc1541 b/uc1541 index abb86ea..e02405c 100755 --- a/uc1541 +++ b/uc1541 @@ -6,7 +6,7 @@ Author: Roman 'gryf' Dobosz Date: 2023-10-04 Version: 3.6 Licence: BSD -source: https://bitbucket.org/gryf/uc1541 +source: https://gihub.com/gryf/uc1541 mirror: https://github.com/gryf/uc1541 """ import argparse @@ -435,9 +435,9 @@ class Uc1541(object): program seem to have issues with it while writing, so it will also be replaced. """ + # TODO: revisit those shitty mappings, when are which done. char_map = {'|': "/", "\\": "/", - "~": " ", "$": "?", "*": "?"} @@ -495,13 +495,9 @@ class Uc1541(object): if '/' in display_name: display_name = display_name.replace('/', '|') - # workaround for space and dash at the beggining of the - # filename - char_map = {' ': '~', - '-': '_'} - display_name = "".join([char_map.get(display_name[0], - display_name[0]), - display_name[1:]]) + # workaround for space at the beggining of the filename + if display_name.startswith(' '): + display_name = '_' + display_name[1:] if ext == 'del': perms = "----------" @@ -548,11 +544,15 @@ class Uc1541(object): universal_newlines = True if cmd in ['delete', 'write']: universal_newlines = False - (self.out, - self.err) = subprocess.Popen(command, - universal_newlines=universal_newlines, - stdout=subprocess.PIPE, - stderr=subprocess.PIPE).communicate() + #(self.out, + # self.err) = subprocess.Popen(command, + # universal_newlines=universal_newlines, + # stdout=subprocess.PIPE, + # stderr=subprocess.PIPE).communicate() + out = subprocess.run(command, capture_output=True, + universal_newlines=universal_newlines) + + self.out, self.err = out.stdout, out.stderr if self.err: LOG.debug('an err: %s', self.err)