Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Требуется помощь с фиксами (Python 3)  (Прочитано 838 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн InterVi

  • Автор темы
  • Участник
  • *
  • Сообщений: 123
    • Просмотр профиля
    • мой код
Требуется помощь с фиксами (Python 3)
« : 06 Января 2017, 12:20:14 »
Я занимаюсь созданием достойного генератора документации для Python, который будет документировать код полностью (включая переменные из __init__ и вложенные блоки) и без посредников в виде Sphinx (генератор в html пока не написан).

Есть большая проблема - после написания каркаса в нём нашлась куча багов и простейший генератор в rst не выполняет свои функции. А конкретно, интересует один странный баг, природу которого понять никак не получается.

Исходники: https://bitbucket.org/InterVi/npdoc/src
Баг: https://bitbucket.org/InterVi/npdoc/issues/1

Для ленивых:
  • analyse.analyser.Analyser строка 90: indent = 4
  • analyse.utils.get_elements строка 171: indent = 4
  • analyse.utils.__for строка 44: indent = 0

Суть в том, что во время вызова функций в конце цепочки параметр меняет своё значение, хотя переменную ничто не должно изменять. Что я упустил?

Прошу поддержать хотя бы идеями. Но если у кого-то есть желание, можно помочь с проектом, он был бы очень полезен для разработчиков, а то всё плохо с документацией - многие её вручную пишут.

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3487
  • Ubuntu 22.04 х64
    • Просмотр профиля
Re: Требуется помощь с фиксами (Python 3)
« Ответ #1 : 06 Января 2017, 19:59:58 »
1) У меня с Ident проблем не было
2) Тестил на самом же модуле - ответ был пустым
3) добавил в хедер стартового файла
Код: (bash) [Выделить]
# -*- coding: utf-8 -*- и вуа-ля. выдало файлы с "доками"

так что проблема с определением кодировки файлов и соотвественно - работа со строками. увы, сильно не копал, но надеюсь это поможет.

С тем, что недокументирует переменные - еще не разобрался. Тут надо читать будет код

И да, не стоит забывать особенность словарей в питоне:

Код: (python) [Выделить]
a={'key':'value'}
b=a
b['newkey'] = 'newvalue'
print(a)
« Последнее редактирование: 06 Января 2017, 20:15:08 от EvangelionDeath »
HP Pro 840 G3: Intel i5-6300U, 32GB DDR4 2133MHz, Intel 520, Intel Pro 2500 180GB/Ubuntu 22.04
Dell Latitude 5590: Intel i5-8350U, 16GB DDR4 2400MHz, Intel 620, Samsung 1TB/Ubuntu 22.04

Оффлайн InterVi

  • Автор темы
  • Участник
  • *
  • Сообщений: 123
    • Просмотр профиля
    • мой код
Re: Требуется помощь с фиксами (Python 3)
« Ответ #2 : 06 Января 2017, 23:53:19 »
1) У меня с Ident проблем не было
Из меня тестер хреновый, но что переменные не находятся - это точно. Если убрать проверку отступа, они будут в документации модуля, значит проблема не в алгоритме поиска переменных, а где-то в __for либо его кривом вызове.
2) Тестил на самом же модуле - ответ был пустым
3) добавил в хедер стартового файла
А что за ОС? У меня в Debian Jessie такой проблемы нет, но добавлю потом.
И да, не стоит забывать особенность словарей в питоне:
там множество алгоритмов на этом и построено :)

А есть какой хороший софт для дебага? А то я кроме родного дебаггера ничего не знаю.

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3487
  • Ubuntu 22.04 х64
    • Просмотр профиля
Re: Требуется помощь с фиксами (Python 3)
« Ответ #3 : 07 Января 2017, 01:03:56 »
InterVi, тестил на Ubuntu Mate 16.04. Так как в осномном пишу не на Python и в основном удаленно...
Запускал на этом:
Цитировать
Python 3.5.2 (default, Nov 17 2016, 17:05:23)
[GCC 5.4.0 20160609] on linux
Потом могу проверить и на Debian, FreeBSD 9/10. только уже не сегодня

там множество алгоритмов на этом и построено
может случайно обнуляете переменную? или передаете не копию?
Из IDE разве что могу порекомендовать PyCharm
HP Pro 840 G3: Intel i5-6300U, 32GB DDR4 2133MHz, Intel 520, Intel Pro 2500 180GB/Ubuntu 22.04
Dell Latitude 5590: Intel i5-8350U, 16GB DDR4 2400MHz, Intel 620, Samsung 1TB/Ubuntu 22.04

Оффлайн InterVi

  • Автор темы
  • Участник
  • *
  • Сообщений: 123
    • Просмотр профиля
    • мой код
Re: Требуется помощь с фиксами (Python 3)
« Ответ #4 : 07 Января 2017, 02:14:55 »
Задолбался с дебаггером и выяснил, что с параметром всё нормально - просто я дебажить не умею. А проблема где-то в data, в методах add у классов. Теперь там всё буду проверять.

 

Страница сгенерирована за 0.051 секунд. Запросов: 25.