jayvdb created this task.
jayvdb added a subscriber: jayvdb.
jayvdb added a project: pywikibot-core.
Herald added subscribers: pywikibot-bugs-list, Aklapper.

TASK DESCRIPTION
  After 7634a05  , an interesting problem occurs when using `pwb.py` without a 
`user-config.py` file.
  
  ```
  $ python pwb.py generate_family_file 'https://wiki.musicbrainz.org/' 
musicbrainz
  NOTE: 'user-config.py' was not found!
  Traceback (most recent call last):
    File "pwb.py", line 239, in <module>
      if not main():
    File "pwb.py", line 233, in main
      run_python_file(filename, [filename] + args, argvu, file_package)
    File "pwb.py", line 111, in run_python_file
      main_mod.__dict__)
    File "./generate_family_file.py", line 36, in <module>
      from pywikibot.site_detect import MWSite as Wiki
    File "./pywikibot/__init__.py", line 41, in <module>
      from pywikibot.exceptions import (
    File "./pywikibot/exceptions.py", line 523, in <module>
      import pywikibot.data.api
    File "./pywikibot/data/api.py", line 36, in <module>
      from pywikibot.comms import http
    File "./pywikibot/comms/http.py", line 72, in <module>
      pywikibot.debug(u"Loading cookies failed.", _logger)
    File "/home/travis/build/wikimedia/pywikibot-core/pywikibot/logging.py", 
line 170, in debug
      logoutput(text, decoder, newline, DEBUG, layer, **kwargs)
    File "/home/travis/build/wikimedia/pywikibot-core/pywikibot/logging.py", 
line 80, in logoutput
      _init()
    File "/home/travis/build/wikimedia/pywikibot-core/pywikibot/logging.py", 
line 38, in _init
      init_routine()
    File "./pywikibot/bot.py", line 275, in init_handlers
      pywikibot.tools.debug = debug
  AttributeError: 'module' object has no attribute 'tools'
  ```
  https://travis-ci.org/wikimedia/pywikibot-core/jobs/81149440
  
  `pywikibot.tools.debug = debug` is an unnecessary line which should have been 
removed in d7d7a146 , but this is not relevant.  When that line is removed, the 
failure is instead
  
  ```
  $ python pwb.py generate_family_file 'https://wiki.musicbrainz.org/' 
musicbrainz
  NOTE: 'user-config.py' was not found!
  Traceback (most recent call last):
    File "pwb.py", line 239, in <module>
      if not main():
    File "pwb.py", line 233, in main
      run_python_file(filename, [filename] + args, argvu, file_package)
    File "pwb.py", line 111, in run_python_file
      main_mod.__dict__)
    File "./generate_family_file.py", line 36, in <module>
      from pywikibot.site_detect import MWSite as Wiki
    File "./pywikibot/__init__.py", line 41, in <module>
      from pywikibot.exceptions import (
    File "./pywikibot/exceptions.py", line 527, in <module>
      @pywikibot.tools.deprecated
  AttributeError: 'module' object has no attribute 'tools'
  ```
  
  Again, removing use of `pywikibot.tools.deprecated` doesnt fix the problem.  
many, many uses of `pywikibot.tools` need to be removed before the problem goes 
away.
  
  The simple fix is for `pwb.py` to remove `pywikibot.tools` and 
`pywikibot.logging` from `sys.modules`.
  
  When pwb first attempts to import pywikibot without a user-config.py present, 
pywikibot.config fails causing 'pywikibot' import to fail. However 
pywikibot.tools and pywikibot.logging will still be in sys.modules. This caused 
errors when pwb then attempts to import generate_family_file as the pywikibot 
import sequence is different the second time.
  
  **Why** is still not known.

TASK DETAIL
  https://phabricator.wikimedia.org/T113161

EMAIL PREFERENCES
  https://phabricator.wikimedia.org/settings/panel/emailpreferences/

To: jayvdb
Cc: Aklapper, pywikibot-bugs-list, jayvdb



_______________________________________________
pywikibot-bugs mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/pywikibot-bugs

Reply via email to