Python, xmlrpclib and livejournal. Bug. String and number typing
Подробное описание бага здесь //ljdump.livejournal.com/12870.html
Коротко и по делу здесь.
Используя xmlrpclib, нам выдаётся объект с полями:
Так вот поле event получается числом, а не строкой, если в xml содержится строка с плюсом вначале, например "+9879822"
В указанном случае выдаст не строку +9879822, а число 9879822.
И это только в случае, если строка числовая. Если же будет "+87676ttstring", то будет строка.
Ещё баг проявляется при экспоненциальной записи "числа".
Например, в посте содержится строка "1.6E4". Библиотека выдаст не эту строку, а число "16000.0"!!!
Как-будто внутри библиотеки содержится какой-то баг и он преобразует "числовые" строки в числа, а не оставляет их строками (как было бы правильно).
В результате этого бага плюс пропадает, строки преобразуются. Ужас.
Возможно, это баг у самого жж.
Как это победить? Использовать другую библиотеку? Варианты?
(x)
Коротко и по делу здесь.
Используя xmlrpclib, нам выдаётся объект с полями:
e = server.LJ.XMLRPC.getevents(dochallenge(server, { .... }, Password)) #e['events'][0]['event']
Так вот поле event получается числом, а не строкой, если в xml содержится строка с плюсом вначале, например "+9879822"
В указанном случае выдаст не строку +9879822, а число 9879822.
И это только в случае, если строка числовая. Если же будет "+87676ttstring", то будет строка.
Ещё баг проявляется при экспоненциальной записи "числа".
Например, в посте содержится строка "1.6E4". Библиотека выдаст не эту строку, а число "16000.0"!!!
Как-будто внутри библиотеки содержится какой-то баг и он преобразует "числовые" строки в числа, а не оставляет их строками (как было бы правильно).
В результате этого бага плюс пропадает, строки преобразуются. Ужас.
Возможно, это баг у самого жж.
Как это победить? Использовать другую библиотеку? Варианты?
(x)