chrishrb/solarlog-exporter

Encoding-Issue

Closed this issue · 1 comments

There seem to be some parsing issues with special chars in the base_vars.js:

solarlog-exporter | Traceback (most recent call last): solarlog-exporter | File "/usr/local/lib/python3.8/runpy.py", line 194, in _run_module_as_main solarlog-exporter | return _run_code(code, main_globals, None, solarlog-exporter | File "/usr/local/lib/python3.8/runpy.py", line 87, in _run_code solarlog-exporter | exec(code, run_globals) solarlog-exporter | File "/app/./__main__.py", line 53, in <module> solarlog-exporter | sys.exit(main()) solarlog-exporter | File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1137, in __call__ solarlog-exporter | return self.main(*args, **kwargs) solarlog-exporter | File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1062, in main solarlog-exporter | rv = self.invoke(ctx) solarlog-exporter | File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1404, in invoke solarlog-exporter | return ctx.invoke(self.callback, **ctx.params) solarlog-exporter | File "/usr/local/lib/python3.8/site-packages/click/core.py", line 763, in invoke solarlog-exporter | return __callback(*args, **kwargs) solarlog-exporter | File "/app/./__main__.py", line 49, in main solarlog-exporter | start_import(directory) solarlog-exporter | File "/app/./solarlog_exporter/core.py", line 25, in start_import solarlog-exporter | config_parser = ConfigParser(path + "/base_vars.js") solarlog-exporter | File "/app/./solarlog_exporter/parser.py", line 39, in __init__ solarlog-exporter | self.parse_file(config_path) solarlog-exporter | File "/app/./solarlog_exporter/parser.py", line 23, in parse_file solarlog-exporter | for line in file: solarlog-exporter | File "/usr/local/lib/python3.8/codecs.py", line 322, in decode solarlog-exporter | (result, consumed) = self._buffer_decode(data, self.errors, final) solarlog-exporter | UnicodeDecodeError: 'utf-8' codec can't decode byte 0xfc in position 620: invalid start byte solarlog-exporter exited with code 1

This is triggered by e.g. German Umlauts:
WRInfo[0]=new Array("QS3200/Pro","XXXXXXXXX",2760,1,"MV QS3500, Süd",2,null,null,0,null,16,0,1,1000,null)

Changing this to
WRInfo[0]=new Array("QS3200/Pro","XXXXXXXXX",2760,1,"MV QS3500, Sued",2,null,null,0,null,16,0,1,1000,null)
helps.

Same on some other characters:

  • Degree-Sign:
    var HPAusricht="30°SSO, 30°NNW"
  • Some special char:
    var Currency ="<80>"

Solarlog pushes all files using ftp daily, therefore manually fixing base_vars.js does not really help.

Hello,
I opened a Pull Request for this issue. I tested it with a special character and for me it worked. Could you please test this PR so I can merge it. Thank you.