Евгений Иванов (eugene_ivanov) wrote in ru_python,
Евгений Иванов
eugene_ivanov
ru_python

Xmlrpclib and livejournal. Bug. String and number typing

Подробное описание бага здесь http://ljdump.livejournal.com/12870.html

Коротко и по делу здесь:

Используя xmlrpclib, нам выдаётся объект с полями:

    e = server.LJ.XMLRPC.getevents(dochallenge(server, {
      ....
    }, Password))

    #e['events'][0]['event']


Так вот поле event получается числом, а не строкой, если в xml содержится строка с плюсом вначале, например "+9879822"
В указанном случае выдаст не строку +9879822, а число 9879822.
И это только в случае, если строка числовая. Если же будет "+87676ttstring", то будет строка.

Ещё баг проявляется при экспоненциальной записи числа.
Например, в посте содержится строка "1.6E4". Библиотека выдаст не эту строку, а число "16000.0"

Как-будто внутри библиотеки содержится какой-то баг и он преобразует "числовые" строки в числа, а не оставляет их строками (как было бы правильно).

В результате этого бага плюс пропадает.

Возможно, это баг у самого жж.

Как это победить? Использовать другую библиотеку? Варианты?
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 6 comments