h pass
through the loop, and unpack that.
for x in range(width):
fourbytes = pixelComponent[:4] # first 4 bytes
pixelComponent = pixelComponent[4:] # All but first four bytes
buffer = unpack("!f", fourbytes)
There are probably better wa
kind of question. Just try it!
>>> a = 'abcdefghi'
>>> b = a[:4]
>>> print a,b
abcdefghi abcd
Notice that the [:4] index does not change the original array.
Gary Herron
I'm getting weird results now..
-M
--
John Machin wrote:
On May 16, 2:11 am, Gary Herron <[EMAIL PROTECTED]> wrote:
Marlin Rowley wrote:
All:
I've got a script that runs really slow because I'm reading from a
stream a byte at a time:
// TERRIBLE
for y in range( height ):
for
help. I'd start by looking here:
http://wiki.python.org/moin/AdvocacyWritingTasks/GlueLanguage
Good luck,
Gary Herron
--
http://mail.python.org/mailman/listinfo/python-list
ay (i.e., a rectangular array of RGBA
values)
Convert that array of floats into an array of 8-bit integers (scaling
all by 255).
Extract (via tostring) that array into a string of bytes.
Send that string of bytes to the graphics system as an RGBA array of
pixels.
Each of these calls is on
;r', 'r', 'r', 'r'],
['g', 'g', 'g', 'g'],
['b', 'b', 'b', 'b']],
dtype='|S1')
Transpose it. (This creates a new array by copying efficiently.)
>>> b =
OR: shred and rebuild the dictionary each time:
new_dict = {}
for pid,value in procs_dict.items():
if value.poll() != None:
# do the counter updates
pass
else:
new_dict[pid] = value
procs_dict = new_dict
Gary Herron
I know that I can
just /not/ delete from the dictionary a
, so yet
another solution would have to be found then.
Gary Herron
I'm afraid this will do the same exact thing. A for loop on a dict
iterates over the dict keys, so both statements are strictly
equivalent from a practical POV.
--
http://mail.python.org/mailman/listinfo/python-list
--
#x27;g', 'g'],
['b', 'b', 'b', 'b'],
['a', 'a', 'a', 'a']],
[['r', 'r', 'r', 'r'],
['g', 'g', 'g', 'g&
turns a "new view" of the
array. This explains why I copied the array before extracting bytes
out of it -- you really do need the elements in the new order for the
next operation.
Gary Herron
> Dat
Astan Chee wrote:
Hi,
Im trying to do glGenLists while a program is running and it keeps
returning 0 and whenever I try to do a glCallList, it fails with a
'invalid value' error.
Is this a known issue? why would my program give valid glGenList while
being initialized but not while it is runnin
to be:
[0,4,8,12][1,5,9,13]
[2,6,10,14][3,7,11,15]
[16,20,24,28][17,21,25,29]
[18,22,26,30][19,23,27,31]
How do I do this?
That's s little ambiguous, but one of the following two
transpose-reshape-print's might be what you want.
Gary Herron
import numpy
a = numpy.array([[[0,1,2,3],
[4,5,6
r[i-1]
!= c])
or, maybe clearer as two lines:
r = [c for i,c in enumerate(str) if not i or str[i-1] != c]
new_str = ''.join(r)
Gary Herron
--
http://mail.python.org/mailman/listinfo/python-list
again, and if it is not the
*exact* same problem, why are we seeing so many similar version of
it? It's starting to feel like a slight abuse of my time to see this
problem on the newsgroup again.
Gary Herron
--
http://mail.python.org/mailman/listinfo/python-list
A_H wrote:
Help!
I've scraped a PDF file for text and all the minus signs come back as
u'\xad'.
Is there any easy way I can change them all to plain old ASCII '-' ???
str.replace complained about a missing codec.
Hints?
Encoding it into a 'latin1' encoded string seems to work:
>>> pr
Gary Herron wrote:
A_H wrote:
Help!
I've scraped a PDF file for text and all the minus signs come back as
u'\xad'.
Is there any easy way I can change them all to plain old ASCII '-' ???
str.replace complained about a missing codec.
Hints?
Encoding it into
Use the builtin vars to get a dictionary of names and associated objects.
import sys
for name,ob in vars(sys).items():
print name,type(ob)
Gary Herron
setrecursionlimit
getfilesystemencoding
path_importer_cache
stdout
version_info
exc_clear
prefix
getrefcount
byteorder
?
Use getattr (stands for get attribute) to do this.
fn = getattr(x, v) # Get the method named by v
fn(...)# Call it
Or in one line:
getattr(x,v)(...)
Gary Herron
PHP code for this would be:
class X {
function a() {
}
}
$x = new X();
$v = 'a';
$x->$v();
Python's "all" first under another name:
original_all = all
from numpy import all
Now you can call all(...) or original_all(...).
The built-in (as they are called) are always available through __builtins__:
from numpy import *
all(...) # is numpy's all
__b
Max M wrote:
Sverker Nilsson skrev:
I was talking about Guido van Rossum
The one who decides, so far when people agree
I have been using Python since the nineties. I cannot remember when I
have had to rewrite old code because of changes in the language.
At the same time I have been feeling
Zerge wrote:
Hi,
Is there a theoretical limit to the number of items that can be
appended to a list?
thanks
--
http://mail.python.org/mailman/listinfo/python-list
No, only practical limits of memory, time and such.
Gary Herron
--
http://mail.python.org/mailman/listinfo/python-list
of keys you would have used in your multidimensional
dictionary.
mydict[(0,"person","setTime")] = "12:09:30"
mydict[(0,"person","clrTime")] = "22:09:30"
Would that work for you?
Gary Herron
Can someone help me with right declaratio
er these rather than getting at them by name.
Cheers,
Dave
For this object (and many others), you can get at the attributes with
the vars(...) builtin.
It returns a dictionary of attribute names and values.
Gary Herron
--
http://mail.python.org/mailman/listinfo/python-list
--
http://mail.pyt
es
RUNNING = 0
PAUSED = 1
GAMEOVER = 2
then later:
class Game:
...
if state == RUNNING:
...
Or try this shortcut (for the exact same effect):
RUNNING, PAUSED, GAMEOVER = range(3)
Gary Herron
Later, each time I want to assign a variable some state, or check for
the
Dark Wind wrote:
Hi,
Is there any command in Python which gives the code for a function
like just typing the name of a function (say svd) in R returns its code.
Thank you
Nope.
--
http://mail.python.org/mailman/list
j in b for k in c] #Nested loop give
all possible combos.
[(2, 3, 10), (2, 3, 12), (2, 5, 10), (2, 5, 12), (4, 3, 10), (4, 3, 12),
(4, 5, 10), (4, 5, 12)]
>>>
Gary Herron
Can anyone give me some advice on how to achieve this ? I got a little
idea, but still need to keep worki
ot; ".join(objs)+"\n")
but I lose the property that the function works on any object.
No you don't. If you were happy with printing the str(...) of a single
objects, why not just printout the (concatenation) of the str(...) of
each of many objects?
stderr.write(" &quo
into that directory
python setup.py build
python setup.py install
Then your import should work fine.
Gary Herron
--
http://mail.python.org/mailman/listinfo/python-list
un.
If the results are not clearcut, then try some real profiling.
Gary Herron
Thanx in advance for the time reading this.
Pantelis
--
http://mail.python.org/mailman/listinfo/python-list
--
http://mail.python.org/mailman/listinfo/python-list
ngs) as the iterator PLUS allocate and build a list.
Better to just use the iterator.
for line in file:
...
Gary Herron
--
http://mail.python.org/mailman/listinfo/python-list
--
http://mail.python.org/mailman/listinfo/python-list
learing dirs means recurse into NO
subdirectory of path
... process the files of directory path...
Gary Herron
Any help and/or advice would be appreciated.
- Jeff
--
http://mail.python.org/mailman/listinfo/python-list
--
http://mail.python.org/mailman/listinfo/python-list
ariable named "stars."
Much simpler this way. This produces the number of whole start and the
number of half stars:
v = ... calculate the average ...
whole = int(v+0.25)
half = int(2*(v+0.25-whole))
Gary Herron
My Solution (in Python):
# round to one decimal place and
# separate i
named __doc__. The underscores
have no special significance here, but they do make the code hard to read.
The first part of the statement directs the print to send the output to
a file, named fd, which was presumably opened earlier ... but I don't
think that was part of your question.
Gar
enable it?
Thanks!
Try again. I think you'll find it's still there -- although you have to
execute a something that returns a value before it's set for the first time.
Gary Herron
--
http://mail.python.org/mailman/listinfo/python-list
y that contains
all the imported modules, but I suspect you'll find that it's much
easier to let py2app and py2exe determine what's imported than it is to
go through sys.modules yourself.
Gary Herron
--
http://mail.python.org/mailman/listinfo/python-list
Karlo Lozovina wrote:
This is what I'm trying to do (create a list using list comprehesion, then
insert new element at the beginning of that list):
result = [someFunction(i) for i in some_list].insert(0, 'something')
But instead of expected results, I get None as `result`. If instead of
cal
ned). Poke around and perhaps you can find exactly what you are
looking for.
Gary Herron
--
http://mail.python.org/mailman/listinfo/python-list
Rainy wrote:
I have a stylistic question. In most languages words in var. name are
separated by underscores or cap letters, resulting in var names like
var_name, VarName and varName. I don't like that very much because all
3 ways of naming look bad and/or hard to type. From what I understand,
sch
n) or so.
Happy google-ing and good luck.
Gary Herron
--
http://mail.python.org/mailman/listinfo/python-list
fo/python-list
The regular expression module has a split function that does what you
want.
>>> import re
>>> r =',|;' # or this also works: '[,;]'
>>> s = "a,b;c"
>>> re.split(r,s)
['a', 'b', 'c']
Gary Herron
--
http://mail.python.org/mailman/listinfo/python-list
purious
attributes do not remain?
No.
Conclusion: Don't use reload (ever). A dozen years of Python
programming, and I've never used it even once. If there is a good use
case for reload, you are probably years from being there.
Thanks again (and apologies of this is a stupid question)
Not stupid. It will all start making sense soon.
Gary Herron
Dan
--
http://mail.python.org/mailman/listinfo/python-list
--
http://mail.python.org/mailman/listinfo/python-list
nippets. The result of an exec
of user supplied code will be very similar to a module import, and it
will be using import and exec as they were intended.
Gary Herron
--
http://mail.python.org/mailman/listinfo/python-list
are executed (or not)
just as you like.
self.SomeField = params["mykey"] if params.has_key("mykey") else None
Gary Herron
Obviously I know this is not actual Python syntax, but what would be
the equivalent? I'm trying to avoid this, basically:
if params.ha
value is
a trade off (like any caching scheme) of cache-space versus efficiency
gains. The value has changed at least once in recent versions of Python.
Gary Herron
--
http://mail.python.org/mailman/listinfo/python-list
--
http://mail.python.org/mailman/listinfo/python-list
Serve Lau wrote:
What is the expected result of -1/2 in python?
--
http://mail.python.org/mailman/listinfo/python-list
From the manual:
The result is always rounded towards minus infinity: 1/2 is 0, (-1)/2 is
-1, 1/(-2) is -1, and (-1)/(-2) is 0.
Gary Herron
--
http://mail.python.org
Christian Heimes wrote:
Serve Lau wrote:
What is the expected result of -1/2 in python?
0
No. That's not right. (It would be in C/C++ and many other languages.)
See my other response for the correct answer.
Gary Herron
Christian
--
http://mail.python.org/ma
ldClass(123,456)
ParentClass.__init__ called with 123 456
>>>
Gary Herron
--
http://mail.python.org/mailman/listinfo/python-list
in function and the standard module named "imp".
Gary Herron
*
*
--
http://mail.python.org/mailman/listinfo/python-list
--
http://mail.python.org/mailman/listinfo/python-list
line again?
First thing: Find out what value that index has, then if it's necessary
to ask your question again, include that information and we'll have
something to go on in forming an answer.
Gary Herron
I have this error message:
IndexError: each subindex must be either a slice, an
pass
Gary Herron
The only problem is if I leave a comment only in the except block, I
get an error back saying that the except block is not properly
formatted, since it has no content other than a comment.
So if anyone could suggest some code to put there as a placeholder
that would be wond
, or stored twice.
In short: *never* use "is".
(A longer answer can find some uses cases for "is", but stick with the
short answer for now.)
Gary Herron
Python 2.5.2
>>> 'string' is 'string' #simple assignment works
--
http://mail.python.org/mailman/listinfo/python-list
Pyglet is my favorite: http://www.pyglet.org/
Twisted might be fine for the "online multiplayer" parts, but really if
you want a 2D/3D real-time game, start with a game framework.
Gary Herron
--
http://mail.python.org/mailman/listinfo/python-list
chamalulu wrote:
On Jul 1, 11:24 pm, "Diez B. Roggisch" <[EMAIL PROTECTED]> wrote:
chamalulu schrieb:
Hello.
I think I'm aware of how attribute access is resolved in python. When
referencing a class instance attribute which is not defined in the
scope of the instance, Python looks for
chamalulu wrote:
On Jul 2, 1:17 am, Gary Herron <[EMAIL PROTECTED]> wrote:
No need. Also, you can define a class attribute (C++ might call it a
static attribute) and access it transparently through an instance.
class C:
aClassAttribute = 123
def __init__(self, ...):
...
he obvious differences (mutability, sorting and other
methods, types of individual elements), I'd say there are more
differences than similarities, even though, as sequences, they both
support a small subset of similar operations.
Gary Herron
David C. Ullrich wrote:
Luckily I tried i
'd suggest looking carefully
throughout the code.
Gary Herron
Thank you,
Robert
--
http://mail.python.org/mailman/listinfo/python-list
--
http://mail.python.org/mailman/listinfo/python-list
but rather
some instance object you've assigned into it:
codecs = ...something overwriting the module object ...
Gary Herron
I wonder if I need to do something before using the codecs library
from within the cgi module
me right now and the time exactly one day ago:
>>> from datetime import *
>>> datetime.today()
datetime.datetime(2008, 7, 10, 13, 38, 48, 279539)
>>> datetime.today()-timedelta(1)
datetime.datetime(2008, 7, 9, 13, 38, 50, 939580)
Gary Herron
--
http://mail.python.org/mailman/listinfo/python-list
RV wrote:
On Thu, 10 Jul 2008 13:39:29 -0700, Gary Herron
<[EMAIL PROTECTED]> wrote:
The datetime module has what you need.
It has methods (with examples) on building a datetime object from a
string, and it has a object named timedelta, and the ability to subtract
a timedelta
ming/#what-are-the-rules-for-local-and-global-variables-in-python
Gary Herron
--
http://mail.python.org/mailman/listinfo/python-list
e (interrupted) import of module ABC has not
progressed to the point that abc is defined.
The solution: Just
import ABC
and later reference ABC.abc
That being said, it is still a good design practice to structure your
modules hierarchically rather than a circularly.
Gary Herron
--
http:
man/listinfo/python-list
The regular expression "\w+" will match (what might be your definition
of) a word, and in particular will match abc in :abc:. Regular
expressions have lots of other special \-sequences that might be worth
your while to read about: http://docs.python
en instead of in file.
Also various shells will provide similar functionality using a variety
of similar syntaxes: <<, >>, >&, and |, and so on.
Gary Herron
--
http://mail.python.org/mailman/listinfo/python-list
or shortens an input tuple of arguments
to the correct length so you can do:
a,c,b = fix(1,2)
d,e,f = fix(1,2,3,4)
However, the function won't know the length of the left hand side
sequence, so it will have to be passed in as an extra parameter or hard
coded.
Gary Herron
--
http:
a list's length will interact badly with the for loop's
indexing through the list, causing the loop to mis the element following
the deleted item.
Gary Herron
I am not sure if this question even makes any sense anymore. I've been
using python for years and never had any probl
McA wrote:
On 17 Jul., 18:33, Gary Herron <[EMAIL PROTECTED]> wrote:
In Python 2.x, you can't do that directly, but you should be able to
create a function that lengthens or shortens an input tuple of arguments
to the correct length so you can do:
a,c,b = fix(1,2)
d,e,f =
Ratko wrote:
On Jul 17, 9:57 am, mk <[EMAIL PROTECTED]> wrote:
Gary Herron wrote:
You could remove the object from the list with
del myList[i]
if you knew i. HOWEVER, don't do that while looping through the list!
Changing a list's length will interact badly wit
active new groups.)
Pygame: http://www.pygame.org/news.html
Pyglet: http://pyglet.org/
Gary Herron
~Michael
--
http://mail.python.org/mailman/listinfo/python-list
--
http://mail.python.org/mailman/listinfo/python-list
me:
>>> a = [['1', '2'], ['3'], ['4', '5', '6'], ['7', '8', '9', '0']]
>>> n = []
>>> for k in a:
...n.append([int(v) for v in k])
...
>>> print n
[[1, 2], [3], [4, 5, 6], [7, 8, 9, 0]]
(Although you seem to have confused variables b and n.)
Gary Herron
--
http://mail.python.org/mailman/listinfo/python-list
Samir wrote:
On Jul 21, 3:20 pm, Gary Herron <[EMAIL PROTECTED]> wrote:
Samir wrote:
Hi Everyone,
I am relatively new to Python so please forgive me for what seems like
a basic question.
Assume that I have a list, a, composed of nested lists with string
represent
27;97531'
but
s[:-1:-2]
The slice s[:-1]
means start at zero and go to n-1(where n-len(s))
(it does not mean start at zero and go to -1)
So since the indexing is counting upward, the step size had better be
positive. Thus:
>>> s = '123456789'
>&g
slashes. But that's just because of the method you used to print to
the screen.
What method *did* you use to print?
If you just typed the variable into which you had read the contents,
then you get the equivalent of
print repr(c)
which explains the escapes.
Try
print c
and tha
would consider equivalent to False.
If you know A will never be equivalent to False then you can use just this:
C and A or B
Gary Herron
And while I'm on my high horse, I'd like to bring up list concatenations. I
recently needed to concatenate 5 lists, which doesn't sound a
on and sum() both do
what you want.
>>> A = [1,2,3]
>>> B = [4,5,6]
>>> C = [7,8,9]
>>> A+B+C
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> sum([A,B,C], [])
[1, 2, 3, 4, 5, 6, 7, 8, 9]
It doesn't get any easier than that.
Gary Herron
DaveM
--
http://mail.python.org/mailman/listinfo/python-list
--
http://mail.python.org/mailman/listinfo/python-list
loating point), 2.5 should be
representable exactly.
However, as with any floating point calculations, if you expect exact
representation or calculations with any numbers, then you are misusing
floating points.
Gary Herron
I would think this is a common need, but I cannot find a function in
th
will work as you wish:
math.floor(x+0.5)
Gary Herron
--
http://mail.python.org/mailman/listinfo/python-list
--
http://mail.python.org/mailman/listinfo/python-list
y I can get this list without the newline characters
being added. or somehow remove the newline characters. Any help would
be appreciated.
The problem has nothing to do with lists. The readlines() function
returns each line *with* its newline.
To strip it off, use line.strip()
Guilherme Polo wrote:
On Mon, Jul 28, 2008 at 6:24 PM, Ervan Ensis <[EMAIL PROTECTED]> wrote:
My programming skills are pretty rusty and I'm just learning Python so this
problem is giving me trouble.
I have a list like [108, 58, 68]. I want to return the sorted indices of
these items in the
omial?
Gary Herron
Cheers,
Kim
--
http://mail.python.org/mailman/listinfo/python-list
--
http://mail.python.org/mailman/listinfo/python-list
es it.Second, if I exend your string with one more line
"foo(123)" to actually execute the code, it still works as expected.
So let's try this again... and this time please please also show us the
full text of the error message.
Gary Herron
and i run it using exec(code) in
es it.Second, if I extended your string with one more line
"foo(123)" to actually execute the code, it still works as expected.
So let's try this again... and this time please please also show us the
full text of the error message.
Gary Herron
and i run it using exec(code) in
nuimber of
args, but their types, and even their values, before calling __sign_auth(...).
Gary Herron
Tim Henderson
--
http://mail.python.org/mailman/listinfo/python-list
--
http://mail.python.org/mailman/listinfo/python-list
ject
exists, however, it is referred to many times.
a = HeavyObject()
b = a
A = [a,b]
B = [b,a]
C = set([a,b])
D = {1:a, 2:b}
... and do on
Implementation wise, a long list consumes about 4 bytes per list element
(that's one address per), plus a tine amount of overhead.
Gary Herron
e.readline(size)
# etc., etc.
I tested this (just barely), and it seems to work as you wish.
Gary Herron
TIA!
Kynn
--
http://mail.python.org/mailman/listinfo/python-list
The
's+=a' line has terrible (quadratic) performance. Instead use the
string method 'join' which has linear performance.
def str_sort(string):
return "".join(sorted(string))
No for loop, no inefficient accumulation.
Gary Herron
--
http://mail.python.org/mailman/listinfo/python-list
d = (perm, auth, arg, path, syntax),
ABOR = (None, False, False, False, "ABOR (abort transfer)."),
APPE = (None, False, False, True, "APPE file-name (append data to"),
...
]
ftpCommands = {}
for cmd,args in cmd_data.iteritems():
ftpCommands[cmd] = CommandProperty(*ar
eduled)
* user mouse/keyboard action
* some state external to the program (file content, socket data, phase
of the moon, price of tea in China, ...)
Each of those possibilities would require a substantially different
approach.
Gary Herron
I might be approaching this from the wrong direct
are asking for a numeric value, so you get a
zero. Should you be asking for a string value? (That's the way
OpenOffice/python works if I remember correctly.)
Or are you accessing a different cell because you've confused 0-based /
1-based indexing?
Or are you using old outdated
many words,
no operators, how could that make a program???)
My impression was (and still is):
A page of Python code looks *clean*, with not a lot of
punctuation/special symbols and (in particular) no useless lines
containing {/} or begin/end or do/done (or whatever).
Gary Herron
Than
list
comprehension...
IDs = set(extractIdFromRow(row) for row in rowsOfTable)
or some such would be most efficient.
Gary Herron
Heres the code:
import string
def checkForProduct(product_id, product_list):
for product in product_list:
if product == product_id:
r
ore efficiently that you
could. The code
for line in open(input_file,"r"):
reads in large chunks (efficiently) and then serves up the contents
line-by-line.
Gary Herron
If you use a dictionary and search the ID's there, you'll notice some
speed improvements as Python does a d
you throw it all out and use the struct module:
http://docs.python.org/lib/module-struct.html
It is meant to solve this kind of problem, and it is quite easy to use.
Gary Herron
> Here is my function that takes in a string.
>
> def parseSequence(data, start):
>
>
e
can't tell the difference between castironpi and a *real* human (which
we demonstrate whenever we try to respond to or reason with him/her/it),
then castironpi can be declared to be a truly *intelligent* AI.
AFAICT, there appears no danger of that happening yet.
Gary Herron :-)
--
http://mail.python.org/mailman/listinfo/python-list
Paul Scott wrote:
> I have been tasked to come up with an audio recorder desktop (cross
> platform if possible - but linux only is OK) that:
>
> 1. records a lecture as an MP3 file (pymedia?)
> 2. Provides a login form for server credentials
> 3. Uploads via XMLRPC (pyxmlrpclib) to the server as a
Christian Bird wrote:
> Is it possible to import multiple modules with the same name from
> different locations? I'm using two different pieces of software, both
> of which have a module named util.py. I know that I can modify
> sys.path to fix which util gets imported when I do:
>
> import util
he extra set of parenthesis in
the if don't cause any problem.
So again please: Why are you surprised?
Gary Herron
--
http://mail.python.org/mailman/listinfo/python-list
#x27;dictFoo' on the first iteration, 'dictBar' on the second, and so
> forth?
>
> and/or less importantly, what is such a transformation called, to help
> me target my searching?
>
> thanks
>
Try this:
for a in [dictFoo, dictBar, dictFrotz]:
if 'srcdir' in a:
a['srcdir']='/usr/src'
Gary Herron
--
http://mail.python.org/mailman/listinfo/python-list
idle wrote:
> brilliant.
>
Hardly. Any perceived brilliance is in the design of Python, not our
simple and hopefully effective use of it. :-)
Gary Herron
> thanks to both of you.
>
--
http://mail.python.org/mailman/listinfo/python-list
e talking
about.) So you'll have to fix the import for *every* module that needs
access to ElementTree.You might make the change as you mentioned
above for each, but really, I think you should just make ElementTree
directly importable by either installing it normally or including
.../xml/etree in your PYTHONPATH
Gary Herron
> Can anybody help?
>
> THanks
>
--
http://mail.python.org/mailman/listinfo/python-list
ndex)
> goats = [ x for x in range(2) if doors[x] == 'G' ]
>
Using range(2) is wrong since range(2) is [0,1].
You want range(3) which gives [0,1,2].
Gary Herron
> but for some reason the list comprehension is not always returning a
> list with 2 elements in it (sometimes
501 - 600 of 779 matches
Mail list logo