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:

Reply via email to