diff options
| author | Simeon Simeonov | 2014-05-09 12:49:45 +0200 |
|---|---|---|
| committer | Simeon Simeonov | 2014-05-09 12:49:45 +0200 |
| commit | fa5310e433b6187830f2a0f1b8b5045dfad7310f (patch) | |
| tree | c0add078e63bdfe436ffa489e33bb6bdc49ab8f4 | |
| parent | afe5b9815d8eb35eca518b77ab9d2bf8eb67a498 (diff) | |
Encoding fix for beinc_weechat
| -rw-r--r-- | beinc_weechat.py | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/beinc_weechat.py b/beinc_weechat.py index ceffef6..fe2772c 100644 --- a/beinc_weechat.py +++ b/beinc_weechat.py | |||
| @@ -256,14 +256,15 @@ class WeechatTarget(object): | |||
| 256 | def __fetch_formatted_str(self, template, values): | 256 | def __fetch_formatted_str(self, template, values): |
| 257 | """ | 257 | """ |
| 258 | """ | 258 | """ |
| 259 | template = unicode(template) | ||
| 259 | timestamp = datetime.datetime.now().strftime(self.__timestamp_format) | 260 | timestamp = datetime.datetime.now().strftime(self.__timestamp_format) |
| 260 | replacements = {'%S': values['server'], | 261 | replacements = {u'%S': values['server'].decode('utf-8'), |
| 261 | '%s': values['source_nick'], | 262 | u'%s': values['source_nick'].decode('utf-8'), |
| 262 | '%c': values['channel'], | 263 | u'%c': values['channel'].decode('utf-8'), |
| 263 | '%m': values['message'], | 264 | u'%m': values['message'].decode('utf-8'), |
| 264 | '%t': timestamp, | 265 | u'%t': timestamp.decode('utf-8'), |
| 265 | '%p': 'BEINC', | 266 | u'%p': u'BEINC', |
| 266 | '%n': values['own_nick']} | 267 | u'%n': values['own_nick'].decode('utf-8')} |
| 267 | for key, value in replacements.items(): | 268 | for key, value in replacements.items(): |
| 268 | template = template.replace(key, value) | 269 | template = template.replace(key, value) |
| 269 | return template.encode('utf-8') | 270 | return template.encode('utf-8') |
| @@ -382,8 +383,7 @@ def beinc_privmsg_handler(data, signal, signal_data): | |||
| 382 | ph_values['own_nick'] = weechat.info_get('irc_nick', ph_values['server']) | 383 | ph_values['own_nick'] = weechat.info_get('irc_nick', ph_values['server']) |
| 383 | ph_values['channel'] = prvmsg_dict['arguments'].split(':')[0].strip() | 384 | ph_values['channel'] = prvmsg_dict['arguments'].split(':')[0].strip() |
| 384 | ph_values['source_nick'] = prvmsg_dict['nick'] | 385 | ph_values['source_nick'] = prvmsg_dict['nick'] |
| 385 | ph_values['message'] = ':'.join( | 386 | ph_values['message'] = ':'.join(prvmsg_dict['arguments'].split(':')[1:]).strip() |
| 386 | prvmsg_dict['arguments'].split(':')[1:]).strip().encode('utf-8') | ||
| 387 | if ph_values['channel'] == ph_values['own_nick']: | 387 | if ph_values['channel'] == ph_values['own_nick']: |
| 388 | # priv messages are handled here | 388 | # priv messages are handled here |
| 389 | if not global_values['global_private_messages_policy']: | 389 | if not global_values['global_private_messages_policy']: |
| @@ -480,7 +480,7 @@ def beinc_init(): | |||
| 480 | beinc_prnt('Parsing {0}...'.format(beinc_config_file_str)) | 480 | beinc_prnt('Parsing {0}...'.format(beinc_config_file_str)) |
| 481 | custom_error = 'load error' | 481 | custom_error = 'load error' |
| 482 | with open(beinc_config_file_str, 'r') as fp: | 482 | with open(beinc_config_file_str, 'r') as fp: |
| 483 | config_dict = json.load(fp) | 483 | config_dict = json.load(fp, encoding='utf-8') |
| 484 | custom_error = 'target parse error' | 484 | custom_error = 'target parse error' |
| 485 | global_values['use_current_buffer'] = bool( | 485 | global_values['use_current_buffer'] = bool( |
| 486 | config_dict['irc_client'].get( | 486 | config_dict['irc_client'].get( |
