<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent changes to bugs</title><link href="https://sourceforge.net/p/scratchy/bugs/" rel="alternate"/><link href="https://sourceforge.net/p/scratchy/bugs/feed.atom" rel="self"/><id>https://sourceforge.net/p/scratchy/bugs/</id><updated>2005-02-15T22:29:54Z</updated><subtitle>Recent changes to bugs</subtitle><entry><title>junky hostnames</title><link href="https://sourceforge.net/p/scratchy/bugs/22/" rel="alternate"/><published>2005-02-15T22:29:54Z</published><updated>2005-02-15T22:29:54Z</updated><author><name>Jim Jewett</name><uri>https://sourceforge.net/u/jimjjewett/</uri></author><id>https://sourceforge.net84dd18fc2d98311874f53ba061e6303daf5326a8</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;The parser allows for symbolic hostnames, such as &lt;br /&gt;
www.example.com, but it gets confused if the &lt;br /&gt;
hostname has a dash in it.&lt;/p&gt;
&lt;p&gt;www.ugly-name.com&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>parsing misses authenticated users</title><link href="https://sourceforge.net/p/scratchy/bugs/21/" rel="alternate"/><published>2005-02-15T22:24:43Z</published><updated>2005-02-15T22:24:43Z</updated><author><name>Jim Jewett</name><uri>https://sourceforge.net/u/jimjjewett/</uri></author><id>https://sourceforge.netf281335664a286fcc6315631d37686aeb7220998</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Apache uses "-" for missing value.&lt;/p&gt;
&lt;p&gt;parse.py combined_format_re assumes that the &lt;br /&gt;
second and third field will be missing (it looks for &lt;br /&gt;
"-(?P&amp;lt;unknown&amp;gt;.*?)-" &lt;/p&gt;
&lt;p&gt;The second and third fields are for user id; in our log &lt;br /&gt;
files, the third field is filled in for most webDAV &lt;br /&gt;
requests, as these require authorization.&lt;/p&gt;
&lt;p&gt;_testa='0.0.0.0 - first.m.last@example.com [19/Apr/&lt;br /&gt;
2002:12:22:02 -0400] "MKCOL / HTTP/1.1" 200 0'&lt;/p&gt;
&lt;p&gt;# Yes, we had entries with spaces in them.&lt;br /&gt;
_testb='0.0.0.0 - first last [19/Apr/2002:12:22:02 -&lt;br /&gt;
0400] "DELETE / HTTP/1.1" 200 0'&lt;/p&gt;
&lt;p&gt;# We even had a few that were entered as "", &lt;br /&gt;
# though I hope that was a config mistake.&lt;br /&gt;
I ended up using this regex for the user field:&lt;br /&gt;
'(?P&amp;lt;user2&amp;gt;(-)|([a-zA-Z0-9.@ _-]+)|"")'&lt;/p&gt;
&lt;p&gt;It is possible that other characters would also appear, &lt;br /&gt;
but didn't happen to in our logs.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Exception in parse.py with long lines</title><link href="https://sourceforge.net/p/scratchy/bugs/20/" rel="alternate"/><published>2004-03-29T19:53:57Z</published><updated>2004-03-29T19:53:57Z</updated><author><name>Greg Cooper</name><uri>https://sourceforge.net/u/gtcooper/</uri></author><id>https://sourceforge.net12cb696c9cf8ae5da4a0713e4448f00d279a2ca0</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Occasionally I get lines in my access_log that look like:&lt;br /&gt;
ip - -  [27/Mar/2004:10:32:49 -0500] "SEARCH&lt;br /&gt;
/~P^B&amp;amp;#65533;^B&amp;amp;#65533;^B..." 414 360 "-" "-"&lt;/p&gt;
&lt;p&gt;With ... being a lot of the same charcters (a little&lt;br /&gt;
over 8000).  This cause an exception (recursion limit&lt;br /&gt;
reached) in process_log when it is trying to parse the&lt;br /&gt;
line.  I fixed this by modifying the search line as&lt;br /&gt;
follows:&lt;br /&gt;
try:               &lt;br /&gt;
m = self.log_format_compiled.search(line)&lt;br /&gt;
except Exception, e:&lt;br /&gt;
print "Unparsed line ", line&lt;br /&gt;
print e&lt;br /&gt;
continue&lt;/p&gt;
&lt;p&gt;I&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>parse.py fails with &amp;quot;unsubscriptable object&amp;quot;</title><link href="https://sourceforge.net/p/scratchy/bugs/19/" rel="alternate"/><published>2003-12-03T14:42:33Z</published><updated>2003-12-03T14:42:33Z</updated><author><name>Jindra Vimr</name><uri>https://sourceforge.net/u/czroyal/</uri></author><id>https://sourceforge.net47bd1727e43e14a93593f634595eba6dcf3b967b</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi all....&lt;br /&gt;
after some months of daily usage of scratchy it started&lt;br /&gt;
to fail with:&lt;br /&gt;
---------------------------&lt;br /&gt;
&amp;amp;gt;&amp;amp;gt; Parsing log: /var/log/apache/access.log&lt;br /&gt;
&amp;amp;gt;&amp;amp;gt; Reading: data/www.jesta.net/122003&lt;br /&gt;
Could not read file: data/www.jesta.net/122003&lt;br /&gt;
Traceback (most recent call last):&lt;br /&gt;
File &amp;amp;quot;parse.py&amp;amp;quot;, line 642, in ?&lt;br /&gt;
log.process_log()&lt;br /&gt;
File &amp;amp;quot;parse.py&amp;amp;quot;, line 170, in process_log&lt;br /&gt;
self.__process_useragent(useragent)&lt;br /&gt;
File &amp;amp;quot;parse.py&amp;amp;quot;, line 317, in __process_useragent&lt;br /&gt;
self.__increment_hit_count('opsys', _opsys)&lt;br /&gt;
File &amp;amp;quot;parse.py&amp;amp;quot;, line 416, in __increment_hit_count&lt;br /&gt;
dict = self.parsed_data[field]&lt;br /&gt;
TypeError: unsubscriptable object&lt;br /&gt;
------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;I'm not so good in python for debuging it, but if&lt;br /&gt;
someone point me to way it can be done, I'd try it....&lt;/p&gt;
&lt;p&gt;Thanks&lt;br /&gt;
Jindra&lt;br /&gt;
&amp;amp;lt;jindra(at) jesta[dot] net&amp;amp;gt;&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>No reports generated</title><link href="https://sourceforge.net/p/scratchy/bugs/18/" rel="alternate"/><published>2003-07-24T20:36:34Z</published><updated>2003-07-24T20:36:34Z</updated><author><name>Anonymous</name><uri>https://sourceforge.net/u/userid-None/</uri></author><id>https://sourceforge.net5f633ad1d006c66ccacbad33ca113498d950310c</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;hi, &lt;br /&gt;
i downloaded 0.6.9. After succesfull execution of &lt;br /&gt;
parse.py (no errors printed) no reports was &lt;br /&gt;
generated. I seems to me that report.py failed to run &lt;br /&gt;
somehow since reports directory was not created &lt;br /&gt;
(should it?). &lt;br /&gt;
I tried to run report.py manually but it complains &lt;br /&gt;
about not finding data/mysite/072003 file. &lt;/p&gt;
&lt;p&gt;python version is 2.2.1. &lt;/p&gt;
&lt;p&gt;I tried also 0.6.8 - but no success. &lt;/p&gt;
&lt;p&gt;tapsa &lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Report.py hangs with gdchart when MAX_FILE_TYPE is 0</title><link href="https://sourceforge.net/p/scratchy/bugs/17/" rel="alternate"/><published>2003-07-06T21:20:49Z</published><updated>2003-07-06T21:20:49Z</updated><author><name>Anonymous</name><uri>https://sourceforge.net/u/userid-None/</uri></author><id>https://sourceforge.net32bd41682957c246ce7533ae7fbbcb2a475a0e39</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi,&lt;br /&gt;
scratchy 0.6.2 bug.&lt;br /&gt;
Line 161 in report.py hangs if gdchart is installed, &lt;br /&gt;
and the MAX_FILE_TYPE list is set to be unlimited &lt;br /&gt;
(0). That is due to a list object of 0 length. When &lt;br /&gt;
using charts, the 0 value is dangerous at chart &lt;br /&gt;
creation - true for any chart, I just happened to set &lt;br /&gt;
MAX_FILE_TYPE to 0.&lt;br /&gt;
Bye,&lt;br /&gt;
Attila&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Incorrect file type</title><link href="https://sourceforge.net/p/scratchy/bugs/16/" rel="alternate"/><published>2003-07-06T19:00:16Z</published><updated>2003-07-06T19:00:16Z</updated><author><name>Anonymous</name><uri>https://sourceforge.net/u/userid-None/</uri></author><id>https://sourceforge.netee5794497a583d0c3eb79525a60cf485805d8d83</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi,&lt;br /&gt;
I have found this line in my scratchy report, at the &lt;br /&gt;
filetypes:&lt;br /&gt;
com/  Unknown  678  2.05  3038 &lt;/p&gt;
&lt;p&gt;- they are parsed incorrectly. My guess is that they &lt;br /&gt;
are created when in the access.log there is a line &lt;br /&gt;
like:&lt;br /&gt;
GET &lt;br /&gt;
&lt;a href="http://a1452.g.akamaitech." rel="nofollow"&gt;http://a1452.g.akamaitech.&lt;/a&gt;&lt;br /&gt;
net/f/1452/2731/24h/cache.xerox.&lt;br /&gt;
com/images/world/s/spacer.gif&lt;/p&gt;
&lt;p&gt;or something like this. &lt;br /&gt;
Some of the file types that could be included:&lt;br /&gt;
.zip, tar.gz, .rar, bz2 etc.  - Compressed, &lt;br /&gt;
.wav                               - Sound,&lt;br /&gt;
.avi,.mpg, mpeg               - movies&lt;br /&gt;
Also note that there is a typo in filetypes.py (should &lt;br /&gt;
be .bmp not .bmg)&lt;br /&gt;
PS: I have uploaded a modified filetypes.py with the &lt;br /&gt;
above options.&lt;/p&gt;
&lt;p&gt;Attila&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Country graph + table</title><link href="https://sourceforge.net/p/scratchy/bugs/15/" rel="alternate"/><published>2003-07-04T14:41:12Z</published><updated>2003-07-04T14:41:12Z</updated><author><name/><uri>https://sourceforge.net</uri></author><id>https://sourceforge.net35828e017ccc4c804b119f75b974b0446a600af5</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;When there is many countries in report then countries&lt;br /&gt;
doesn't fit in screen good.... It would be Ok if they&lt;br /&gt;
would be placed just like in &amp;amp;quot;Daily Log&amp;amp;quot; - Graph on top&lt;br /&gt;
and under it the table.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>User agent (Siets)</title><link href="https://sourceforge.net/p/scratchy/bugs/14/" rel="alternate"/><published>2003-07-04T11:03:40Z</published><updated>2003-07-04T11:03:40Z</updated><author><name/><uri>https://sourceforge.net</uri></author><id>https://sourceforge.net9526066c50f6b8db26595b39369333c04f01b2ab</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Could not recognize useragent: SietsCrawler/0.1&lt;br /&gt;
Could not recognize useragent: SietsCrawler/0.1&lt;br /&gt;
Could not recognize useragent: SietsCrawler/0.1&lt;br /&gt;
Could not recognize useragent: SietsCrawler/0.1&lt;br /&gt;
Could not recognize useragent: SietsCrawler/0.1&lt;br /&gt;
Could not recognize useragent: SietsCrawler/0.1&lt;/p&gt;
&lt;p&gt;I have a lot of these in my logs, so maybe U could add&lt;br /&gt;
this robot, too.&lt;br /&gt;
It's latvian search engine robot (Siets -&lt;br /&gt;
&lt;a href="http://www.siets.lv\" rel="nofollow"&gt;http://www.siets.lv\&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Thanx!&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Completion time is 0</title><link href="https://sourceforge.net/p/scratchy/bugs/13/" rel="alternate"/><published>2003-07-04T11:01:08Z</published><updated>2003-07-04T11:01:08Z</updated><author><name/><uri>https://sourceforge.net</uri></author><id>https://sourceforge.net723aee764b443aae62f9232c45ebc6745a8b1f1a</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Writing: /home/nix/stats/nix/052003&lt;br /&gt;
&amp;amp;gt;&amp;amp;gt; Creating hourly chart&lt;br /&gt;
&amp;amp;gt;&amp;amp;gt; Creating daily chart&lt;br /&gt;
&amp;amp;gt;&amp;amp;gt; Creating day_of_week chart&lt;br /&gt;
&amp;amp;gt;&amp;amp;gt; Creating Operating Systems chart&lt;br /&gt;
&amp;amp;gt;&amp;amp;gt; Creating File Types chart&lt;br /&gt;
&amp;amp;gt;&amp;amp;gt; Creating Browsers chart&lt;br /&gt;
&amp;amp;gt;&amp;amp;gt; creating file:&lt;br /&gt;
/home/nix/public_html/stats/nix/052003/nix.css&lt;br /&gt;
Creating report for: 5/2003&lt;br /&gt;
&amp;amp;gt;&amp;amp;gt; creating file:&lt;br /&gt;
/home/nix/public_html/stats/nix/052003/index.html&lt;br /&gt;
&amp;amp;gt;&amp;amp;gt; creating summary&lt;br /&gt;
&amp;amp;gt;&amp;amp;gt; creating file: /home/nix/public_html/stats/nix/nix.css&lt;br /&gt;
&amp;amp;gt;&amp;amp;gt; Creating summary chart&lt;/p&gt;
&lt;p&gt;Parsed lines             : 601&lt;br /&gt;
Completion time (seconds): 0&lt;br /&gt;
Traceback (most recent call last):&lt;br /&gt;
File &amp;amp;quot;./parse.py&amp;amp;quot;, line 614, in ?&lt;br /&gt;
log.process_log()&lt;br /&gt;
File &amp;amp;quot;./parse.py&amp;amp;quot;, line 222, in process_log&lt;br /&gt;
print &amp;amp;quot;Lines per second         : %d&amp;amp;quot; %&lt;br /&gt;
(total_lines / nsecs)&lt;br /&gt;
ZeroDivisionError: integer division or modulo by zero&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>