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


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

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

Оффлайн InterVi

  • Автор темы
  • Участник
  • *
  • Сообщений: 122
    • Просмотр профиля
    • мой код
Требуется помощь с фиксами (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

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

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

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

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

Код: Python
  1. a={'key':'value'}
  2. b=a
  3. b['newkey'] = 'newvalue'
  4. print(a)
  5.  
« Последнее редактирование: 06 Январь 2017, 20:15:08 от EvangelionDeath »
Fujitsu UH552: Intel Core i3-3217U, 16GB DDR3 1600MHz, Intel HD4000, Intel 535 120GB/Ubuntu 16.04 Mate
HP 625: AMD Athlon P320, 4GB DDR3 1333MHz, AMD HD4250, Seagate Momentus/Ubuntu 14.04 Mate

Оффлайн InterVi

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

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

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3276
  • Ubuntu Mate 16.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
Fujitsu UH552: Intel Core i3-3217U, 16GB DDR3 1600MHz, Intel HD4000, Intel 535 120GB/Ubuntu 16.04 Mate
HP 625: AMD Athlon P320, 4GB DDR3 1333MHz, AMD HD4250, Seagate Momentus/Ubuntu 14.04 Mate

Оффлайн InterVi

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

 

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