On Monday, November 07, 2011 02:43:11 PM Dave Angel did opine: > On 11/07/2011 11:40 AM, gene heskett wrote: > > On Monday, November 07, 2011 11:30:45 AM Dave Angel did opine: > > Back on the list.. > > > >> On 11/07/2011 06:22 AM, gene heskett wrote: > >>> On Monday, November 07, 2011 05:35:15 AM Peter Otten did opine: > >>> <SNIP> > >>> > >>>> Are you talking about this one? > >>>> > >>>> https://github.com/halsten/Duqu-detectors/blob/master/DuquDriverPat > >>>> te rns .py > >>> > >>> Yes. My save as renamed it, still has about 30k of tabs in it. But > >>> I pulled it again, using the 'raw' link, saved it, no extra tabs. > >>> > >>> But it still doesn't work for linux. My python is 2.6.6 > >> > >> To start with, what's the md5 of the file you downloaded and are > >> testing? I get c4592a187f8f7880d3b685537e3bf9a5 > > > > [root@coyote Download]# md5sum DuquDriverPatterns.py > > c4592a187f8f7880d3b685537e3bf9a5 DuquDriverPatterns.py, same as > > yours. > > > >> from md5sum. If you get something different, one of us changed the > >> file, or you got it before today. > >> > >> The whole tab issue is a red-herring in this case. But I don't see > >> how you can find 30k tabs in a thousand lines. And if I were going > >> to detab it, I'd pick 4 spaces, so the code doesn't stretch across > >> the page. > > > > Down toward the bottom of the file, the tab indentations were as high > > as 33 leading tabs per line. Each stanza of the data was tab > > indented 2 additional tabs from the one above it in the original > > file. 30k was perhaps a poor SWAG, but 10 to 15k seems an entirely > > reasonable guess. > > What program are you using to read the file and support that claim?
vim. But remember, this first one started out as a copy/paste from the firefox-7.0.1 screen. > Neither emacs nor gedit shows more than one leading tab on any line I > looked. And if you set tabs to 4 columns, the file looks quite > reasonable. Doing a quick scan I see max of 5 tabs on any single line, > and 1006 total. I have no tabs left in the operative code, the python interpreter was having a cow if even one was in that last 30-35 lines of code. > > > maxtabs = 0 > totaltabs = 0 > f = open("DuquDriverPatterns.py", "r") > for line in f: > > cline = line.replace("\t", "") > tabs = len(line) - len(cline) > if tabs: > print tabs > maxtabs = max(maxtabs, tabs) > totaltabs += tabs > > print "max=", maxtabs > print "total=", totaltabs > > >>> <SNIP> > The only way I've been able to make it "silent and instant" was to give > it the name of an empty directory, or a typo representing no directory > at all. > [...] > >> line ? Or putting a print len(files) just after it (indented, of > >> course) ? > > > > No, I did try to print the value of rootdir though, indented the same, > > and got a null printout, not even a line feed. Indented the same as the rootdir statement itself, which in python would seem to make it immediately sequential to the roodir = statement. > If you had put the print I suggested, it would at least print the words > "Hello World". Since it did not, you probably didn't actually add the > line where I suggested. > > > Thanks Dave. > > > > Cheers, Gene > > In another message you said it doesn't work on absolute file paths. But > it does. You can replace any relative directory name with the absolute > version, and it won't change the behavior. I suspect you were caught up > by a typo for the absolute path string. I am gene, running as gene, what could be wrong with giving it /home/gene as the argument? I have another dir in /home/amanda, that I build the alpha and beta amanda stuff in. Let me try that. And again, this works but I forgot about the .ccache directory, so it will take a while to finish. Now, as a python lesson to me, I will do a blink compare between the 2 files this evening & see what I munged. ATM, I am working on a gunstock for as long as my feet and back can stand the standing, so sitting here is a 'break' from that. Yeah, I occasionally call myself a JOAT. ;-) Thanks Dave. Cheers, Gene -- "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author) My web page: <http://coyoteden.dyndns-free.com:85/gene> Experience is that marvelous thing that enables you recognize a mistake when you make it again. -- Franklin P. Jones -- http://mail.python.org/mailman/listinfo/python-list