http://www.mediawiki.org/wiki/Special:Code/pywikipedia/9080
Revision: 9080 Author: saper Date: 2011-03-14 16:58:40 +0000 (Mon, 14 Mar 2011) Log Message: ----------- User config cannot be created if wikipedia.py is outside of cwd
To deproduce:
svn checkout pywikipedia PYTHONPATH=<pywikipedia directory> export PYTHONPATH cd <somewhere-else> python -c 'import wikipediaa'
Messages:
No user-config.py found in directory '$HOME/mediawiki/pywikipedia/trunk/pywikipedia' Creating...
Traceback (most recent call last): File "<stdin>", line 1, in <module> File "$HOME/mediawiki/pywikipedia/trunk/pywikipedia/wikipediatools.py", line 51, in get_base_dir create_user_config_file() File "$HOME/mediawiki/pywikipedia/trunk/pywikipedia/wikipediatools.py", line 6, in create_user_config_file generate_user_files.create_user_config() File "$HOME/mediawiki/pywikipedia/trunk/pywikipedia/generate_user_files.py", line 50, in create_user_config "families")))) OSError: [Errno 2] No such file or directory: 'families'
Modified Paths: -------------- trunk/pywikipedia/generate_user_files.py trunk/pywikipedia/wikipediatools.py
Modified: trunk/pywikipedia/generate_user_files.py =================================================================== --- trunk/pywikipedia/generate_user_files.py 2011-03-14 06:17:41 UTC (rev 9079) +++ trunk/pywikipedia/generate_user_files.py 2011-03-14 16:58:40 UTC (rev 9080) @@ -4,7 +4,6 @@
import codecs, os, re, sys
-base_dir = '' console_encoding = sys.stdout.encoding
if console_encoding is None or sys.platform == 'cygwin': @@ -41,7 +40,7 @@ return True return False
-def create_user_config(): +def create_user_config(base_dir): _fnc = os.path.join(base_dir, "user-config.py") if not file_exists(_fnc): known_families = re.findall(r'(.+)_family.py\b', @@ -113,7 +112,7 @@ f.close() print("'%s' written." % _fnc)
-def create_user_fixes(): +def create_user_fixes(base_dir): _fnf = os.path.join(base_dir, "user-fixes.py") if not file_exists(_fnf): f = codecs.open(_fnf, "w", "utf-8") @@ -143,11 +142,11 @@ print("3: The two files") choice = raw_input("What do you do? ") if choice == "1": - create_user_config() + create_user_config('') if choice == "2": - create_user_fixes() + create_user_fixes('') if choice == "3": - create_user_config() - create_user_fixes() + create_user_config('') + create_user_fixes('') if not choice in "123": print("Nothing to do")
Modified: trunk/pywikipedia/wikipediatools.py =================================================================== --- trunk/pywikipedia/wikipediatools.py 2011-03-14 06:17:41 UTC (rev 9079) +++ trunk/pywikipedia/wikipediatools.py 2011-03-14 16:58:40 UTC (rev 9080) @@ -1,9 +1,9 @@ __version__ = '$Id$' import os, sys
-def create_user_config_file(): +def create_user_config_file(base_dir): import generate_user_files - generate_user_files.create_user_config() + generate_user_files.create_user_config(base_dir)
def get_base_dir(): """Return the directory in which user-specific information is stored. @@ -48,5 +48,5 @@ if not os.path.exists(os.path.join(base_dir, "user-config.py")): print("No user-config.py found in directory '%s'" % base_dir) print("Creating...\n") - create_user_config_file() + create_user_config_file(base_dir) return base_dir
pywikipedia-svn@lists.wikimedia.org