The rpncalc package adds an interactive Reverse Polish Notation (RPN)
interpreter to Python. This interpreter allows the use of Python as
an RPN calculator. You can easily switch between the RPN interpreter
and the standard Python interpreter.
Home page: http://calcrpnpy.sourceforge.net/
Registration for PyCon 2006 is now open; go to the registration form
at http://www.python.org/pycon/2006/register.html
to register for the conference and for tutorials.
At this time the planned events for PyCon have all been announced:
* Talks: http://wiki.python.org/moin/PyCon2006/Talks
QOTW: Python makes it easy to implement algorithms. - casevh
Most of the discussion of immutables here seems to be caused by
newcomers wanting to copy an idiom from another language which doesn't
have immutable variables. Their real problem is usually with binding,
not immutability. - Mike Meyer
Alasdair wrote:
I've just installed python 2.4.2 from source - it works fine from the
command line. But when I attempt to start idle, I am told:
** IDLE can't import Tkinter. Your Python may not be configured for
Tk. **
I have tcl 8.4 and tk 8.4 on my system; can anybody provide me
[EMAIL PROTECTED] wrote:
I am trying to run an exe within a python script, but I'm having
trouble with spaces in the directory name.
...
So, it looks to me like the space in the path for the argument is
causing it to fail. Does anyone have any suggestions that could help
me out?
Does
On Dec 3, 2005, at 3:37 PM, Scott David Daniels wrote:
They appear in different positions on different terminals (older hard-
copy),
Is anyone still using such devices to program Python?
do different things on different OS's,
Such as? I use OS X, Windows and Linux daily, and tabs
On Dec 3, 2005, at 5:55 PM, Sybren Stuvel wrote:
That depends on your editor. Mine (vim) can be instructed to insert
the appropriate amount of spaces on a tab, and remove them on a
backspace.
So let's say that you are using 4 spaces as your standard, but
by accident type 5. You hit
Ed Leafe [EMAIL PROTECTED] writes:
Again, specifics would be welcome. I've been using tabs for
indentation for over a decade, and have not once run into the horror
stories that everyone who hates tabs says will happen, but who never
give specifics as to how they cause problems.
This article
Thanks - that did the trick! I wonder why it's not mentioned in the
README, or (so far as I can tell) anywhere else?
-Alasdair
--
http://mail.python.org/mailman/listinfo/python-list
Hi!
This involves quite a lot of different system, so I'm not really sure
who which would be the right list to query.
So, I'm trying a couple, this list being one of them.
I'm trying to build the lasso (http://lasso.entrouvert.org/)
libraries and what I really want to get at is the Python
When I read python Manuel, I got confused by the following code:
def turnRed(self, event):
event.widget[activeforeground] = red
self.button.bind(Enter, self.turnRed)
I can not understand it.
--
http://mail.python.org/mailman/listinfo/python-list
Mr.Rech wrote:
and so on. The problem I'm worried about is that an unaware user may
create an instance of A supposing that it has any real use, while it
is only a sort of prototype. However, I can't see (from my limited
point of view) any other way to rearrange things and still get a
similar
Hello all
I am trying to call the method of python object. But I dont know
how to transfer the pointer of the python object into c++ .
the C++ method to receive python object pointer :
static PyObject*
ReceivePythonPointer(PyObject* self, PyObject* args)
{
PyObject* temp=NULL ;
I tested the following code and wanted to get the message of oval2
got hit if I click the red one. But I always got oval1 got hit.
from Tkinter import *
root=Tk()
canvas=Canvas(root,width=100,height=100)
canvas.pack()
a=canvas.create_oval(10,10,20,20,tags='oval1',fill='blue')
[EMAIL PROTECTED] wrote:
I've got a strange problem on windows (not very familiar with that OS).
I can ping a host, but cannot get it via urllib (see here under).
I can even telnet the host on port 80.
Thus network seems good, but not for python ;-(.
Does any windows specialist can
Hi all,
from a string embedding tabs I want to colorize them when expanded:
# Starting from a string:
a= '1234\t5678\t\t90\nqwerty\nasdfg'
# which embeds both tabs and lfs
# printing it you obtain:
print a
# 1234567890
# qwerty
# asdfg
# print automatically expands tabs and
Dave Hansen wrote:
It's far more interesting to me _why_ people think indentation scoping
is a bad thing. The answer I get back fall into two general
categories: 1) I've heard/read/been told it's a bad thing, and 2) It
causes portability problems.
I can tell you why it freightened me at
Mike Meyer wrote:
^ must match the beginning of the string (BTW, you can get the same
behavior by leaving off the ^ and using search instead of match).
that's backwards, isn't it? using ^ with match is usually pointless (since
match only looks at the first position anyway), and using ^ with
Ben Bush wrote:
I tested the following code and wanted to get the message of oval2
got hit if I click the red one. But I always got oval1 got hit.
from Tkinter import *
root=Tk()
canvas=Canvas(root,width=100,height=100)
canvas.pack()
John Hazen [EMAIL PROTECTED] writes:
To do what you said you want to do, you want to use the split method:
foo = re.compile('foo')
if 2 = len(foo.split(s)) = 3:
print We had one or two 'foo's
Well, this would solve my dumbed down example, but each foo in the
original expression was a
[EMAIL PROTECTED] wrote:
I am trying to call the method of python object. But I dont know
how to transfer the pointer of the python object into c++ .
the C++ method to receive python object pointer :
static PyObject*
ReceivePythonPointer(PyObject* self, PyObject* args)
{
Leif K-Brooks wrote:
It's perfectly reasonable behavior, and it also applies to Linux. The
shell uses spaces to separate arguments; how do you expect it to know
that you want a space to be part of the program's name unless you escape it?
I'm sorry, disregard my message. I failed to read the OP
[EMAIL PROTECTED] wrote:
This comes up from time to time. The brain damage is all Windows',
not Python's.
It's perfectly reasonable behavior, and it also applies to Linux. The
shell uses spaces to separate arguments; how do you expect it to know
that you want a space to be part of the
Björn Lindström enlightened us with:
This article should explain it:
http://www.jwz.org/doc/tabs-vs-spaces.html
To me it doesn't. I use a single tab character for a single indent
levell. That is unambiguous, and also ensures the file is indented as
the reader likes it. People who have their
I was looking through some code of my today and noticed this little gem
I wrote a few days back that I had totally forgot about:
fill = [(%%-%ds\n % (columns - 1)) % for i in range(yoffset - 2)]
...and then I went on to do:
.join(fill)
Talk about using the wrong tool for the job... :(
All I
This is amazing.
Python could take over the programming world except one of it's best
features (scope by indent) is a primary reason why it never will. It's
not flexible enough. A large percentage of programmers won't even try
the language.
And even amongst Python enthusiast who appreciate the
You mean something like:
print '%e' % (1e50)
1.00e+50
...?
No, I mean given a big number, such as
1000, convert it into
scientific notation.
It's the same.
print %e %
Fredrik Lundh [EMAIL PROTECTED] writes:
Mike Meyer wrote:
^ must match the beginning of the string (BTW, you can get the same
behavior by leaving off the ^ and using search instead of match).
that's backwards, isn't it? using ^ with match is usually pointless (since
match only looks at the
Hello,
is there any way how to detect string encoding in Python?
I need to proccess several files. Each of them could be encoded in
different charset (iso-8859-2, cp1250, etc). I want to detect it, and
encode it to utf-8 (with string function encode).
Thank you for any answer
Regards
Michal
--
Ed Leafe wrote:
That depends on your editor. Mine (vim) can be instructed to insert
the appropriate amount of spaces on a tab, and remove them on a
backspace.
So let's say that you are using 4 spaces as your standard, but
by accident type 5. You hit backspace, which deletes 4
Peter Hansen wrote:
It can't all be Windows' brain damage, since typing precisely the same
command at the prompt (at least with the example I'm using) doesn't
require doubling the initial quote of the command line. Or, more
precisely, Windows is brain damaged in at least two different places
Hello,
I am new to web programming but have some experience in technical
programming in Python and other languages. I need to build a networked
program which I would like to first deploy on an intranet and later on the
web which provides access to a few technical applications, two document
you're about 10 years late
The same could be said for hoping that the GIL will be eliminated.
Utterly hopeless.
Until... there was PyPy. Maybe now it's not so hopeless.
--
http://mail.python.org/mailman/listinfo/python-list
Hello Scott,
It didn't work with visual studio 5. .Net framework 2.0
Do you have any suggestions?
Thanks,
pujo
--
http://mail.python.org/mailman/listinfo/python-list
[EMAIL PROTECTED] wrote:
Python could take over the programming world except one of it's best
features (scope by indent) is a primary reason why it never will. It's
not flexible enough. A large percentage of programmers won't even try
the language.
you're about 10 years late for this kind
Thomas wrote:
Can anyone recommend a web framework for such an application? I have looked
a little and most seem to focus on CMS type applications instead of
technical programs.
Then IMO you haven't looked hard enough.
http://wiki.python.org/moin/WebProgramming
There's lots of
Thanks for your help, Alex, Roy and Jorge. I'm new to Python, and
programming in general, which might explain my lack of knowledge,
Fredrick.
--
http://mail.python.org/mailman/listinfo/python-list
try searching on text wrapping
I tried that before I posted. Text::Autoformat does a lot more than
textwrap.
The fundamental task of the autoformat subroutine is to identify and
rearrange independent paragraphs in a text. Paragraphs typically
consist of a series of lines containing at least one
Looking to replace my older flavor of linux with something new. . .What
are some of your favorites for python programming and anything
else?
Thanks,
-Ivan
--
http://mail.python.org/mailman/listinfo/python-list
On 12/4/05, Diez B. Roggisch [EMAIL PROTECTED] wrote:
Ben Bush wrote:
I tested the following code and wanted to get the message of oval2
got hit if I click the red one. But I always got oval1 got hit.
from Tkinter import *
root=Tk()
canvas=Canvas(root,width=100,height=100)
QOTW: Python makes it easy to implement algorithms. - casevh
Most of the discussion of immutables here seems to be caused by
newcomers wanting to copy an idiom from another language which doesn't
have immutable variables. Their real problem is usually with binding,
not immutability. - Mike Meyer
On Fri, 02 Dec 2005 14:25:41 -0500, Jeremy Moles [EMAIL PROTECTED] wrote:
I was looking through some code of my today and noticed this little gem
I wrote a few days back that I had totally forgot about:
fill = [(%%-%ds\n % (columns - 1)) % for i in range(yoffset - 2)]
...and then I went on to
Thanks for your answer.
I cant understand yet. The second parameter is 0 in the python'
documentation.
Can you give up a piece of code?
--
http://mail.python.org/mailman/listinfo/python-list
Howdy,
I'm using Python 2.4 on W2K
I would love to use the tools at
http://cddb-py.sourceforge.net/
the newest Win binaries are for Python 2.0
The dll won't load, I assume this is
due to version mismatch.
I'm not set up with a C compiler.
Does anyone know of a source of current
binaries for
[EMAIL PROTECTED] wrote:
Hi Dan,
Sure. You are right. When I correct this according to your idea, it
works now. Thank you very much. But I have second problem. When users
run second form, other people can see adress in users' browers and know
how to run the second form, so they don't need
Thanks for your answer.
I cant understand yet. The second parameter is 0 in the python'
documentation.
Can you give me a piece of code?
--
http://mail.python.org/mailman/listinfo/python-list
Ed Leafe wrote:
So let's say that you are using 4 spaces as your standard, but
by accident type 5. You hit backspace, which deletes 4 spaces,
Nope, it would delete a single space. Then an additional backspace
would delete the 4.
See, I can make up bizarre scenarios where spaces
[EMAIL PROTECTED] wrote
I cant understand yet. The second parameter is 0 in the python'
documentation.
what documentation?
the official PyArg_ParseTuple documentation at
http://docs.python.org/api/arg-parsing.html
uses the letter O (use cut and paste if you don't believe me).
/F
Ed Leafe enlightened us with:
See, I can make up bizarre scenarios where spaces cause problems,
too.
You make me glad I'm always using tabs :)
Sybren
--
The problem with the world is stupidity. Not saying there should be a
capital punishment for stupidity, but why don't we just take the
[EMAIL PROTECTED] wrote:
It didn't work with visual studio 5. .Net framework 2.0
Do you have any suggestions?
It didn't work is not very diagnosable.
--Scott David Daniels
[EMAIL PROTECTED]
--
http://mail.python.org/mailman/listinfo/python-list
On 4 Dec 2005 05:58:08 -0800,
BartlebyScrivener [EMAIL PROTECTED] wrote:
try searching on text wrapping
I tried that before I posted. Text::Autoformat does a lot more than
textwrap.
The fundamental task of the autoformat subroutine is to identify and
rearrange independent paragraphs in a
qwweeeit wrote:
Hi all,
from a string embedding tabs I want to colorize them when expanded:
# Starting from a string:
a= '1234\t5678\t\t90\nqwerty\nasdfg'
# which embeds both tabs and lfs
# printing it you obtain:
print a
# 1234567890
# qwerty
# asdfg
# print
Ben Bush wrote:
On 12/4/05, Diez B. Roggisch [EMAIL PROTECTED] wrote:
Ben Bush wrote:
I tested the following code and wanted to get the message of oval2
got hit if I click the red one. But I always got oval1 got hit.
from Tkinter import *
root=Tk()
BartlebyScrivener wrote:
try searching on text wrapping
I tried that before I posted. Text::Autoformat does a lot more than
textwrap.
Sounds like you are describing something known by various names, often
including some part of structured text. Try googling for that
instead:
Michal wrote:
Hello,
is there any way how to detect string encoding in Python?
I need to proccess several files. Each of them could be encoded in
different charset (iso-8859-2, cp1250, etc). I want to detect it, and
encode it to utf-8 (with string function encode).
Thank you for any
The bug is filled. I'm fool.
Thank's your answer. :)
--
http://mail.python.org/mailman/listinfo/python-list
What you want instead is something like
if event.source == a:
...
Please note that I don't know what event actually looks like in Tkinter,
so check the docs what actually gets passed to you.
got AttributeError: Event instance has no attribute 'source'
As I said: I don'k _know_ how
Michal wrote:
Hello,
is there any way how to detect string encoding in Python?
I need to proccess several files. Each of them could be encoded in
different charset (iso-8859-2, cp1250, etc). I want to detect it, and
encode it to utf-8 (with string function encode).
You can only guess, by
In article [EMAIL PROTECTED],
Fredrik Lundh [EMAIL PROTECTED] wrote:
that's backwards, isn't it? using ^ with match is usually pointless (since
match only looks at the first position anyway), and using ^ with search
is also usually pointless...
While you're technically correct, I've been bitten
Thomas a écrit :
Hello,
I am new to web programming but have some experience in technical
programming in Python and other languages. I need to build a networked
program which I would like to first deploy on an intranet and later on the
web which provides access to a few technical
I'm a newbie, just got through van Rossum's tutorial and I would like
to try a small project of my own. Here's the description of my project.
When the program starts a light blue semi-transparent area, size 128 by
102, is placed in the middle of the screen. The user can move this
area with arrow
I'm not sure what I'm
missing so I'd appreciate some advice.
You question is pretty general and I'm not going to go over this in any
great detail, but I will make a few comments.
* In your if section use if ... else constructs not all the strange if
and then not if blocks. Also get rid
Formatter and docutils both look promising.
Thanks for providing the terminology to search on.
-rpd
--
http://mail.python.org/mailman/listinfo/python-list
On Sunday 04 December 2005 15:01, Ivan Shevanski wrote:
Looking to replace my older flavor of linux with something new. . .What
are some of your favorites for python programming and anything else?
The operating system/distribution is not connected to the application
(Python). It will probably
ProvoWallis wrote:
...
for root, dirs, files in os.walk(setpath):
fname = files
for fname in files:
inputFile = file(os.path.join(root,fname), 'r')
while 1:
lines = inputFile.readlines(1)
if not lines:
Thank you all for your help. Alex's listify does the job well. I will
reconsider using an atomic Thing class with Michaels' safeList.
Bengt wins the prize for reducing sLen to one line!
I still feel like I'm working against the grain somewhat, (Mike's
right, I am coming at this with a C++
This is probably a fair answer.
My experience: Two years ago I started with Boa till I discovered eric.
I have been with eric ever since. Eric uses Qt as GUI. I think both Qt
and wx enable you to do pretty much the same thing. I like the work
F.Lundh did on Tkinter, but every time I try, I get
No matter what setting, the order of the indents is kept. This is not
the case if tabs and spaces are intermixed, as some style guides
suggest.
I have never seen anyone suggest mixing tabs and spaces, and I
have read a lot of tabs-vs-spaces flamewars in my time.
Everyone agrees that mixing
I have been around quite a bit.
The best are Gentoo and Debian.
However, Python being very much an essential component of your distro,
not having Python2.4 as standard kind of eliminates Debian. Running two
versions in parallel is not the way to go.
Gentoo requires quite a bit of work though. As
I should maybe mention that I want to this on a win XP computer
Bob
--
http://mail.python.org/mailman/listinfo/python-list
Hi there,
I'm trying to load data from 2 different CD drives to compare the data
on them to see if they are identical. I've found the WinCDRom module
online but it doesn't seem to give access to the data at all. The only
thing it seems to do is check if there is a readable cd in a specific
Could someone start me on putting in a table into this code, and some
HTML tags. I would to make the table below the map and have a header at
the top. Thanks for the help.
Publisher example
def query(req, building=):
# NOTE: best way to understand this is to see the output,
# that
[EMAIL PROTECTED] wrote:
Hi there,
I'm trying to load data from 2 different CD drives to compare the data
on them to see if they are identical. I've found the WinCDRom module
online but it doesn't seem to give access to the data at all. The only
thing it seems to do is check if there is a
In article [EMAIL PROTECTED],
Christoph Haas [EMAIL PROTECTED] wrote:
The operating system/distribution is not connected to the application
(Python). It will probably run everywhere. But we recently had this
topic and a majority seemed to vote for Ubuntu. I personally prefer
Debian.
Ubuntu *is*
On 12/4/05, Lee Harr [EMAIL PROTECTED] wrote:
Everyone agrees that mixing is bad. I might even go so far as to
say that the only real problem is mixing. The question is, if we
are trying to pick only one, which one causes fewer problems.
For me, it is spaces.
Why is it that the only people
Kent Tenney wrote:
I would love to use the tools at
http://cddb-py.sourceforge.net/
the newest Win binaries are for Python 2.0
I packaged these for you, but they're untested:
http://www.develer.com/~rasky/CDDB-1.3.win32-py2.3.exe
http://www.develer.com/~rasky/CDDB-1.3.win32-py2.4.exe
--
[EMAIL PROTECTED] wrote:
I'm a newbie, just got through van Rossum's tutorial and I would like
to try a small project of my own. Here's the description of my project.
When the program starts a light blue semi-transparent area, size 128 by
102, is placed in the middle of the screen. The user
Though I tried most the above listed IDEs, sticking with a few for
awhile, I always find myself gravitating back to the one no one ever
mentions: IDLE. It's simple, fast, and with multiple monitors the lack
of tabs really isn't much of a problem.
The biggest reason I've found myself using IDLE is
I have been trying to build python on Cray X1. As far as I can
tell it does not support dynamic loading. So the question is:
How to build 2.4 without dynamic loading?
That is: can I build 2.4 where all the extensions are archived in
libpython2.4.a as a static library?
Building on the Cray
Diez B. Roggisch [EMAIL PROTECTED] writes:
Michal wrote:
is there any way how to detect string encoding in Python?
I need to proccess several files. Each of them could be encoded in
different charset (iso-8859-2, cp1250, etc). I want to detect it,
and encode it to utf-8 (with string function
Benji York [EMAIL PROTECTED] writes:
See, I can make up bizarre scenarios where spaces cause
problems, too.
Only if you don't know how decent editors behave. :)
But the same is also true of tabs causing problems :-).
mike
--
Mike Meyer [EMAIL PROTECTED]
Le die Fri, 02 Dec 2005 11:34:45 +, Steve Holden ha scribite:
Note that if you are using execfile()then the best structure for your
scripts would be something like:
conn = db.open()
try:
#do CGI stuff
finally:
conn.close()
That was of great help! Thanks!
--
Saluti,
Mentre io pensavo ad una intro simpatica Michal scriveva:
Hello,
is there any way how to detect string encoding in Python?
I need to proccess several files. Each of them could be encoded in
different charset (iso-8859-2, cp1250, etc). I want to detect it, and
encode it to utf-8 (with
Le die Fri, 02 Dec 2005 12:18:28 -0800, amfr ha scribite:
import cgi
form = cgi.FieldStorage()
print form[test]
print test
I would only be able to see test, not hello world
I am sure its not my browser
As Tim said, you have tu use form['test'].value, because print
form['test'] will make
Robert McLay wrote:
I have been trying to build python on Cray X1. As far as I can
tell it does not support dynamic loading. So the question is:
How to build 2.4 without dynamic loading?
Make sure HAVE_DYNAMIC_LOADING isn't defined; configure should detect
this automatically.
That is:
On 12/4/05, Mike Meyer [EMAIL PROTECTED] wrote:
See, I can make up bizarre scenarios where spaces cause
problems, too.
Only if you don't know how decent editors behave. :)
But the same is also true of tabs causing problems :-).
I'm starting to suspect that the same people who are
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Hi,
I'm using optparse module to parse all options and arguments.
My program uses mostly option arguments hence my len(args) value is always
zero. I need to check if the user has passed the correct number of option
arguments. Something like:
Peter Decker wrote:
On 12/4/05, Mike Meyer [EMAIL PROTECTED] wrote:
See, I can make up bizarre scenarios where spaces cause
problems, too.
Only if you don't know how decent editors behave. :)
But the same is also true of tabs causing problems :-).
I'm starting to suspect that the same
You may want to look at some Python Cookbook recipes, such as
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52257
Auto-detect XML encoding by Paul Prescod
--
http://mail.python.org/mailman/listinfo/python-list
Thanks Mike,
that will work just as well... just disappointed in myself that i lack
the creativity to think of something that simple ;-)
thanks,
Harlin
--
http://mail.python.org/mailman/listinfo/python-list
Hello,
does anyone have any experience with the Python support in the new 6.0
version of Enterprise Architect from Sparx Systems? As I understand, it
was eriously broken in earlier versions, so I would like to know
whether they managed to fix it by now.
TIA,
Sincerely,
Wolfgang Keller
--
In [EMAIL PROTECTED], Ritesh Raj
Sarraf wrote:
My program uses mostly option arguments hence my len(args) value is always
zero. I need to check if the user has passed the correct number of option
arguments. Something like:
(options,args) = parser.parse_args()
len(options) != 1 or
Hello everybody:
I need help, and please let me know if python is the language of choice
to implement following functionalities:
I am trying to test a Java application and a C++ (win32) application.
I want to be able to write python code to mimic user interaction with
the application.
[EMAIL PROTECTED] wrote:
Eclipse, for example, performs like a dog on
my dual opteron workstation w/ 2GB of RAM, which is more than enough to
annoy me. I shouldn't have to wait more than about 1 second for an
editor to start and then open what is essentially a text file :-P.
And then, due to
On Sun, 4 Dec 2005, [utf-8] Björn Lindström wrote:
This article should explain it:
http://www.jwz.org/doc/tabs-vs-spaces.html
Ah, Jamie Zawinski, that well-known fount of sane and reasonable ideas.
It seems to me that the tabs-vs-spaces thing is really about who controls
the indentation:
Ritesh Raj Sarraf wrote:
My program uses mostly option arguments hence my len(args) value is
always zero. I need to check if the user has passed the correct number of
option arguments. Something like:
(options,args) = parser.parse_args()
len(options) != 1 or len(options) 2:
print
Hi Peter,
thank you for your replay, but I was looking for a very
short routine. I even had in mind to use Linux bash
(only one command line).
It seems that tab expansion, made by print, prevents
the working of the escape sequences for colors.
In fact, if you replace tab with a given number of
Mike Meyer wrote:
Diez B. Roggisch [EMAIL PROTECTED] writes:
Michal wrote:
is there any way how to detect string encoding in Python?
I need to proccess several files. Each of them could be encoded in
different charset (iso-8859-2, cp1250, etc). I want to detect it,
and encode it to utf-8
Looking to replace my older flavor of linux with something new. . .What
are some of your favorites for python programming and anything else?
Ubuntu is developed by Canonical, a company owned by Mark Shuttleworth.
This guy is a fan of both linux and python, so if you want a linux
distro that
On Sun, 4 Dec 2005 [EMAIL PROTECTED] wrote:
you're about 10 years late
The same could be said for hoping that the GIL will be eliminated.
Utterly hopeless.
Until... there was PyPy. Maybe now it's not so hopeless.
No - structuring by indentation and the global lock are entirely different
1 - 100 of 186 matches
Mail list logo