Hi,
I just created a small patch for the problem of changing Moin cookie
name. It is a simplification in reality :).
The file ~/.moin_ids should contain name/value cookie pairs
(MOIN_SESS.....=<id>).
The corresponding extraction command from Firefox db is:
sqlite3 -separator ' ' ~/.mozilla/*/*.default/cookies.sqlite \
"SELECT 'https://' || host, name || '=' || value
FROM moz_cookies WHERE name LIKE 'MOIN_SESSION%'" >~/.moin_ids
Example:
zito@bobekpc:~/deb/editmoin-1.17$ fgrep localhost ~/.moin_ids
https://localhost
MOIN_SESSION_80_ROOT_MyWiki=92857dbbe9c40573f2f81d001eca7b4beb6322e2
https://localhost
MOIN_SESSION_80_ROOT_MyWiki2=ca7337dc28b2b7834372a8bb72cc62c472e85e94
The manual page should be corrected accordingly.
Hope it will work
Cheers
--
Zito
--- editmoin.orig 2017-09-12 12:32:49.533875187 +0200
+++ editmoin 2017-09-12 12:32:52.637876860 +0200
@@ -333,16 +333,13 @@
raise Error, "no suitable url found for shortcut '%s'" % shortcut
-def get_urlopener(moinurl, cookievalue=None, cookiename="MOIN_SESSION"):
+def get_urlopener(moinurl, cookie=None):
urlopener = urllib.FancyURLopener()
proxy = os.environ.get("http_proxy")
if proxy:
urlopener.proxies.update({"http": proxy})
- if cookievalue:
- # moinmoin < 1.6
- urlopener.addheader("Cookie", "MOIN_ID=%s" % cookievalue)
- # moinmoin >= 1.6
- urlopener.addheader("Cookie", "%s=%s" % (cookiename, cookievalue))
+ if cookie:
+ urlopener.addheader("Cookie", cookie)
return urlopener
def fetchfile(urlopener, url, id, template):
@@ -443,7 +440,7 @@
for morsel in cookie.values():
sw = morsel.key.startswith
if sw("MOIN_SESSION") or sw("MOIN_ID"):
- return morsel.key, morsel.value
+ return "%s=%s" % (morsel.key, morsel.value)
raise Error("Couldn't obtain session cookie from server")
def edit(url, template=None, editfile_func=editfile):
@@ -456,24 +453,14 @@
user = get_user(url)
if user:
# Moin >= 1.7
- cookiename, cookievalue = get_session_cookie(user, url)
- urlopener = get_urlopener(url, cookievalue, cookiename)
- moinfile = fetchfile(urlopener, url, cookievalue, template)
+ cookie = get_session_cookie(user, url)
+ urlopener = get_urlopener(url, cookie)
+ moinfile = fetchfile(urlopener, url, cookie, template)
else:
# Moin < 1.7
- cookievalue = get_id(url)
- moinfile = None
- for cookiename in ("MOIN_SESSION_80_ROOT", "MOIN_SESSION_443_ROOT"):
- try:
- urlopener = get_urlopener(url, cookievalue, cookiename)
- moinfile = fetchfile(urlopener, url, cookievalue, template)
- break
- except:
- pass
- if not moinfile:
- urlopener = get_urlopener(url, cookievalue)
- moinfile = fetchfile(urlopener, url, cookievalue, template)
-
+ cookie = get_id(url)
+ urlopener = get_urlopener(url, cookie)
+ moinfile = fetchfile(urlopener, url, cookie, template)
try:
page_edited = editfile_func(moinfile)
if page_edited: