aboutcode-org / aboutcode-org/scancode-toolkit

Integration of sanexml fails.

未关闭
#3,483 6 条评论 0 个 reaction 已指派 1 人 已被 @35C4n0r 认领 在 GitHub 查看
GSoC
主要语言
Python
星标
2.6k
派生
791
平均合并
1 天 12 小时
30 天内合并 PR
5

描述

The integration of [sanexml](https://github.com/nexB/sanexml) with Pymaven and SCTK are failing.
Here is the [log](https://gist.github.com/35C4n0r/c44ec67e80e7bb276847bdb9809d1172).
I think a lot of these are failing because the xmls are not in a proper format and i didn't implement any logic corresponding to the `recover=True` for the XMLParser. What this does that it Parses XML liniently.

I see two possibilitoes to solve this issue:

- Use `BeautifulSoup4` and use it's `html.parser` for linient parsing to get a correct xml string and then parse that string normally using python's default XML parsers. (BS4 [Docs](https://www.crummy.com/software/BeautifulSoup/bs4/doc/))
- Create a custom parser :(

If we go with the first approch we can either use this process ``html.parser -> get correct xml -> DefaultXMLParser`` as the default or we can do:

try: `DefaultXMLParser`
except:
try: `html.parser` -> get correct xml -> `DefaultXMLParser` # Slower #Lininent
except:
try: `html5lib` -> get correct xml -> `DefaultXMLParser` # Slowest #MoreLinient

@JonoYang @pombredanne @AyanSinhaMahapatra please share your opinions on this.

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。