Description

When using the moin script command to clean the cache, an error happens.

Steps to reproduce

  1. open dos command in C:\moin\Lib\site-packages\MoinMoin\script (or where moin.py is installed)

  2. enter moin.py --wiki-url=monwiki:8090/ maint cleancache (or the command you usually use to clean the cache)

  3. the script stops with an TypeError from random_string() function

Example

moin.py --wiki-url=monwiki:8090/ maint cleancache
(...)
  File "C:\moin\Lib\site-packages\MoinMoin\script\..\..\MoinMoin\session.py", line 295, in generate_new_id
    return random_string(self._SESSION_NAME_LEN, self._SESSION_NAME_CHARS)
TypeError: random_string() takes exactly 1 argument (2 given)

Component selection

Details

C:\moin\Lib\site-packages\MoinMoin\script>moin.py --wiki-url=monwiki:8090/ maint cleancache
2008-07-03 12:26:26,921 INFO MoinMoin.log:108 using logging configuration read from "c:\moin\wikiserverlogging.conf"
2008-07-03 12:26:28,562 INFO MoinMoin.config.multiconfig:90 using farm config: c:\moin\farmconfig.pyc
2008-07-03 12:26:28,592 INFO MoinMoin.config.multiconfig:124 using wiki config: c:\moin\monwiki.pyc
Traceback (most recent call last):
  File "C:\moin\Lib\site-packages\MoinMoin\script\moin.py", line 30, in <module>
    run()
  File "C:\moin\Lib\site-packages\MoinMoin\script\moin.py", line 15, in run
    MoinScript().run(showtime=0)
  File "C:\moin\Lib\site-packages\MoinMoin\script\__init__.py", line 138, in run
    self.mainloop()
  File "C:\moin\Lib\site-packages\MoinMoin\script\__init__.py", line 255, in mainloop
    plugin_class(args[2:], self.options).run() # all starts again there
  File "C:\moin\Lib\site-packages\MoinMoin\script\__init__.py", line 138, in run
    self.mainloop()
  File "C:\moin\Lib\site-packages\MoinMoin\script\..\..\MoinMoin\script\maint\cleancache.py", line 42, in mainloop
    self.init_request()
  File "C:\moin\Lib\site-packages\MoinMoin\script\__init__.py", line 178, in init_request
    self.request = request_cli.Request(self.options.wiki_url, self.options.page)
  File "C:\moin\Lib\site-packages\MoinMoin\request\request_cli.py", line 35, in __init__
    RequestBase.__init__(self, properties)
  File "C:\moin\Lib\site-packages\MoinMoin\request\__init__.py", line 212, in __init__
    user_obj = self.cfg.session_handler.start(self, self.cfg.session_id_handler)
  File "C:\moin\Lib\site-packages\MoinMoin\script\..\..\MoinMoin\session.py", line 414, in start
    session_name = session_id_handler.generate_new_id(request)
  File "C:\moin\Lib\site-packages\MoinMoin\script\..\..\MoinMoin\session.py", line 295, in generate_new_id
    return random_string(self._SESSION_NAME_LEN, self._SESSION_NAME_CHARS)
TypeError: random_string() takes exactly 1 argument (2 given)

MoinMoin Version

1.7.0

OS and Version

XP SP3

Python Version

2.5.2

Server Setup

standalone

Server Details

Language you are using the wiki in (set in the browser/UserPreferences)

en

Workaround

Discussion

That error should not happen in 1.7.0 release code.

Are you maybe using some 1.7 alpha/beta? Or did your upgrade not replace all source files correctly?

This bug was also appearing with 1.7.1 when opening any page for some browsers (Camino on Mac, Firefox on WinXP) while working on others (Firefox on Mac + Ubuntu, Safari on Mac) and could be fixed using the workaround above (apparently not damaging functionality).

The current definition in session.generate_new_id is:

return random_string(self._SESSION_NAME_LEN, self._SESSION_NAME_CHARS)

and random_string is defined as:

def random_string(length, allowed_chars=None):

So please check your installation / searchpath. -- ReimarBauer 2008-07-25 12:44:07

Can you also please verify if you have called the new moin command and that you have a newer pyc file of util.__init__ than the py file.

The dates of util.__init__ show as:

__init__.py

2008/02/20

__init__.pyc

2008/04/19

However, the content of MoinMoin/util/__init__.py is clearly out of date. I ran a complete reinstall and everything works fine now.

Thank you for your help!

Plan


CategoryMoinMoinNoBug

MoinMoin: MoinMoinBugs/1.7CleanCacheCommand (last edited 2008-12-18 14:27:27 by ThomasWaldmann)