mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-11-08 20:28:55 -05:00
[V3 Core] Encoding issue fix (#1365)
* Don't let the system encoding screw with things, specify opens as happening with utf-8 encoding * And also deal with encoding issues because windows is a special snowflake (see: #1366) * let's just use the encoding param in str() rather than encode/decode...
This commit is contained in:
parent
3816385228
commit
f6903cf582
@ -43,7 +43,7 @@ class Downloader:
|
|||||||
self.LIB_PATH.mkdir(parents=True, exist_ok=True)
|
self.LIB_PATH.mkdir(parents=True, exist_ok=True)
|
||||||
self.SHAREDLIB_PATH.mkdir(parents=True, exist_ok=True)
|
self.SHAREDLIB_PATH.mkdir(parents=True, exist_ok=True)
|
||||||
if not self.SHAREDLIB_INIT.exists():
|
if not self.SHAREDLIB_INIT.exists():
|
||||||
with self.SHAREDLIB_INIT.open(mode='w') as _:
|
with self.SHAREDLIB_INIT.open(mode='w', encoding='utf-8') as _:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
if str(self.LIB_PATH) not in syspath:
|
if str(self.LIB_PATH) not in syspath:
|
||||||
|
|||||||
@ -322,7 +322,7 @@ class Mod:
|
|||||||
except discord.errors.Forbidden:
|
except discord.errors.Forbidden:
|
||||||
await ctx.send(_("I'm not allowed to do that."))
|
await ctx.send(_("I'm not allowed to do that."))
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(e)
|
print(str(e, encoding='utf-8', errors='replace'))
|
||||||
else:
|
else:
|
||||||
await ctx.send(_("Done. That felt good."))
|
await ctx.send(_("Done. That felt good."))
|
||||||
|
|
||||||
@ -379,7 +379,7 @@ class Mod:
|
|||||||
await ctx.send(_("I'm not allowed to do that."))
|
await ctx.send(_("I'm not allowed to do that."))
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.ban_queue.remove(queue_entry)
|
self.ban_queue.remove(queue_entry)
|
||||||
print(e)
|
print(str(e, encoding='utf-8', errors='replace'))
|
||||||
else:
|
else:
|
||||||
await ctx.send(_("Done. It was about time."))
|
await ctx.send(_("Done. It was about time."))
|
||||||
|
|
||||||
@ -540,14 +540,14 @@ class Mod:
|
|||||||
return
|
return
|
||||||
except discord.HTTPException as e:
|
except discord.HTTPException as e:
|
||||||
self.ban_queue.remove(queue_entry)
|
self.ban_queue.remove(queue_entry)
|
||||||
print(e)
|
print(str(e, encoding='utf-8', errors='replace'))
|
||||||
return
|
return
|
||||||
self.unban_queue.append(queue_entry)
|
self.unban_queue.append(queue_entry)
|
||||||
try:
|
try:
|
||||||
await guild.unban(user)
|
await guild.unban(user)
|
||||||
except discord.HTTPException as e:
|
except discord.HTTPException as e:
|
||||||
self.unban_queue.remove(queue_entry)
|
self.unban_queue.remove(queue_entry)
|
||||||
print(e)
|
print(str(e, encoding='utf-8', errors='replace'))
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
await ctx.send(_("Done. Enough chaos."))
|
await ctx.send(_("Done. Enough chaos."))
|
||||||
@ -1209,7 +1209,7 @@ class Mod:
|
|||||||
"Mention spam (Autoban)", until=None, channel=None
|
"Mention spam (Autoban)", until=None, channel=None
|
||||||
)
|
)
|
||||||
except RuntimeError as e:
|
except RuntimeError as e:
|
||||||
print(e)
|
print(str(e, encoding='utf-8', errors='replace'))
|
||||||
return False
|
return False
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
@ -1269,7 +1269,7 @@ class Mod:
|
|||||||
"ban", member, mod,
|
"ban", member, mod,
|
||||||
reason if reason else None)
|
reason if reason else None)
|
||||||
except RuntimeError as e:
|
except RuntimeError as e:
|
||||||
print(e)
|
print(str(e, encoding='utf-8', errors='replace'))
|
||||||
|
|
||||||
async def on_member_unban(self, guild: discord.Guild, user: discord.User):
|
async def on_member_unban(self, guild: discord.Guild, user: discord.User):
|
||||||
if (guild.id, user.id) in self.unban_queue:
|
if (guild.id, user.id) in self.unban_queue:
|
||||||
@ -1287,7 +1287,7 @@ class Mod:
|
|||||||
await modlog.create_case(guild, date, "unban",
|
await modlog.create_case(guild, date, "unban",
|
||||||
user, mod, reason)
|
user, mod, reason)
|
||||||
except RuntimeError as e:
|
except RuntimeError as e:
|
||||||
print(e)
|
print(str(e, encoding='utf-8', errors='replace'))
|
||||||
|
|
||||||
async def get_audit_entry_info(self,
|
async def get_audit_entry_info(self,
|
||||||
guild: discord.Guild,
|
guild: discord.Guild,
|
||||||
|
|||||||
@ -465,7 +465,7 @@ class Trivia:
|
|||||||
raise FileNotFoundError("Could not find the `{}` category"
|
raise FileNotFoundError("Could not find the `{}` category"
|
||||||
"".format(category))
|
"".format(category))
|
||||||
|
|
||||||
with path.open() as file:
|
with path.open(encoding='utf-8') as file:
|
||||||
try:
|
try:
|
||||||
dict_ = yaml.load(file)
|
dict_ = yaml.load(file)
|
||||||
except yaml.error.YAMLError as exc:
|
except yaml.error.YAMLError as exc:
|
||||||
|
|||||||
@ -140,7 +140,10 @@ def init_events(bot, cli_flags):
|
|||||||
|
|
||||||
print(Fore.RED + INTRO)
|
print(Fore.RED + INTRO)
|
||||||
print(Style.RESET_ALL)
|
print(Style.RESET_ALL)
|
||||||
print(bordered(INFO, INFO2, ascii_border=ascii_border))
|
print(
|
||||||
|
str(bordered(INFO, INFO2, ascii_border=ascii_border),
|
||||||
|
encoding='utf-8', errors='replace')
|
||||||
|
)
|
||||||
|
|
||||||
if invite_url:
|
if invite_url:
|
||||||
print("\nInvite URL: {}\n".format(invite_url))
|
print("\nInvite URL: {}\n".format(invite_url))
|
||||||
|
|||||||
@ -180,9 +180,9 @@ class CogI18n:
|
|||||||
try:
|
try:
|
||||||
|
|
||||||
try:
|
try:
|
||||||
translation_file = locale_path.open('ru')
|
translation_file = locale_path.open('ru', encoding='utf-8')
|
||||||
except ValueError: # We are using Windows
|
except ValueError: # We are using Windows
|
||||||
translation_file = locale_path.open('r')
|
translation_file = locale_path.open('r', encoding='utf-8')
|
||||||
self._parse(translation_file)
|
self._parse(translation_file)
|
||||||
except (IOError, FileNotFoundError): # The translation is unavailable
|
except (IOError, FileNotFoundError): # The translation is unavailable
|
||||||
pass
|
pass
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user