diff --git a/src/common/helpers.py b/src/common/helpers.py index 0be1163f6f12ef05c4c9c9f7d95da58ab7623ad0..8c58f4491aa8e42b4e8d3483d482fc7031cb604d 100644 --- a/src/common/helpers.py +++ b/src/common/helpers.py @@ -170,6 +170,11 @@ def prep(user, server, resource): else: return server +def windowsify(s): + if os.name == 'nt': + return s.capitalize() + return s + def temp_failure_retry(func, *args, **kwargs): while True: try: diff --git a/src/groupchat_control.py b/src/groupchat_control.py index 4cecf8c97d507c72fd028fd01fbddf1deac22b1e..fa8aacb1c74e0f7c71afc7319888d9a001e2fcb1 100644 --- a/src/groupchat_control.py +++ b/src/groupchat_control.py @@ -1271,8 +1271,10 @@ class GroupchatControl(ChatControlBase, GroupChatCommands): os.path.join(path, puny_new_nick + ext) for old_file in files: if os.path.exists(old_file) and old_file != files[old_file]: - if os.path.exists(files[old_file]): - # Windows require this + if os.path.exists(files[old_file]) and helpers.windowsify( + old_file) != helpers.windowsify(files[old_file]): + # Windows require this, but os.remove('test') will also + # remove 'TEST' os.remove(files[old_file]) os.rename(old_file, files[old_file]) self.print_conversation(s, 'info', tim)