diff MoinMoin/user.py @ 1154:44632345fbfb

mailimport: use link to homepage or realname in from/to column, user.wikiHomeLink() to generate markup for user's homepage link
author Thomas Waldmann <tw AT waldmann-edv DOT de>
date Thu, 10 Aug 2006 16:03:44 +0200
parents 2ecd1e6c084d
children 76a76def8687
line wrap: on
line diff
--- a/MoinMoin/user.py	Thu Aug 10 14:13:14 2006 +0200
+++ b/MoinMoin/user.py	Thu Aug 10 16:03:44 2006 +0200
@@ -914,31 +914,35 @@
         host = self.isCurrentUser() and self._cfg.show_hosts and self._request.remote_addr
         return host or _("<unknown>")
 
+    def wikiHomeLink(self):
+        """ return wiki markup usable as a link to the user homepage,
+            it doesn't matter whether it already exists or not.
+        """
+        wikiname, pagename = wikiutil.getInterwikiHomePage(self._request, self.name)
+        if wikiname == 'Self':
+            if wikiutil.isStrictWikiname(self.name):
+                markup = pagename
+            else:
+                markup = '["%s"]' % pagename
+        else:
+            markup = '%s:%s' % (wikiname, pagename) # TODO: support spaces in pagename
+        return markup
+
     def signature(self):
-        """ Return user signature using markup
+        """ Return user signature using wiki markup
         
-        Users sign with a link to their homepage, or with text if they
-        don't have one. The text may be parsed as a link if it's using
-        CamelCase. Visitors return their host address.
+        Users sign with a link to their homepage.
+        Visitors return their host address.
         
         TODO: The signature use wiki format only, for example, it will
         not create a link when using rst format. It will also break if
         we change wiki syntax.
         """
-        if not self.name:
+        if self.name:
+            return self.wikiHomeLink()
+        else:
             return self.host()
 
-        wikiname, pagename = wikiutil.getInterwikiHomePage(self._request,
-                                                           self.name)
-        if wikiname == 'Self':
-            if not wikiutil.isStrictWikiname(self.name):
-                markup = '["%s"]' % pagename
-            else:
-                markup = pagename
-        else:
-            markup = '%s:%s' % (wikiname, pagename)
-        return markup
-
     def mailAccountData(self, cleartext_passwd=None):
         from MoinMoin.mail import sendmail
         from MoinMoin.wikiutil import getSysPage