From constant.beta at gmail.com Tue Jun 5 03:20:05 2007 From: constant.beta at gmail.com (=?ISO-8859-2?Q?Micha=B3_Kwiatkowski?=) Date: Tue, 5 Jun 2007 03:20:05 +0200 Subject: [Tracker-discuss] List of recently modified issues Message-ID: <5e8b0f6b0706041820r53bc6f5crffdb5f8a76534de8@mail.gmail.com> Hi, I'm a Google Summer of Code student working on a patch verification system (http://pybots.org/pvs/) for Python. Work on this project involves getting some data from the Roundup tracker and this is where my question comes from. I haven't looked into the code much, but figured I'd be better of asking people who already know Roundup code base well. OK, here goes. I would like to get from a Roundup instance information on recently modified issues. I already noticed there are no RSS/Atom feeds implemented, nor any RPC interface. Maybe there are other ways of getting this data from a remote client? A custom detector with notification capabilities may be a solution, but I would really like to keep the communication initiated by the client, not the tracker. This way even if a client goes down, it won't lose any updates by not listening. A simple RSS feed would perfect, I can even go and implement it, if it's the only way. My question to the list is: is there really no other way, and if so, what chances are that my RSS solution would get accepted into official Python tracker (this way making further development of PVS possible). Thanks in advance for your suggestions. Cheers, mk From pfdubois at gmail.com Tue Jun 5 05:09:04 2007 From: pfdubois at gmail.com (Paul Dubois) Date: Mon, 4 Jun 2007 20:09:04 -0700 Subject: [Tracker-discuss] List of recently modified issues In-Reply-To: <5e8b0f6b0706041820r53bc6f5crffdb5f8a76534de8@mail.gmail.com> References: <5e8b0f6b0706041820r53bc6f5crffdb5f8a76534de8@mail.gmail.com> Message-ID: Actually Roundup supports RSS now but I've never tried to do it. It was mentioned in the release notes, either the latest or the one before. The other way is to take the approach in the script that issues the weekly summaries, and run something periodically that queries the database. The source for this is in scripts/roundup-summary. On 6/4/07, Micha? Kwiatkowski wrote: > > Hi, > > I'm a Google Summer of Code student working on a patch verification > system (http://pybots.org/pvs/) for Python. Work on this project > involves getting some data from the Roundup tracker and this is where > my question comes from. I haven't looked into the code much, but > figured I'd be better of asking people who already know Roundup code > base well. OK, here goes. > > I would like to get from a Roundup instance information on recently > modified issues. I already noticed there are no RSS/Atom feeds > implemented, nor any RPC interface. Maybe there are other ways of > getting this data from a remote client? A custom detector with > notification capabilities may be a solution, but I would really like > to keep the communication initiated by the client, not the tracker. > This way even if a client goes down, it won't lose any updates by not > listening. > > A simple RSS feed would perfect, I can even go and implement it, if > it's the only way. My question to the list is: is there really no > other way, and if so, what chances are that my RSS solution would get > accepted into official Python tracker (this way making further > development of PVS possible). Thanks in advance for your suggestions. > > Cheers, > mk > _______________________________________________ > Tracker-discuss mailing list > Tracker-discuss at python.org > http://mail.python.org/mailman/listinfo/tracker-discuss > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/tracker-discuss/attachments/20070604/67133a14/attachment.htm From martin at v.loewis.de Tue Jun 5 06:07:09 2007 From: martin at v.loewis.de (=?ISO-8859-1?Q?=22Martin_v=2E_L=F6wis=22?=) Date: Tue, 05 Jun 2007 06:07:09 +0200 Subject: [Tracker-discuss] List of recently modified issues In-Reply-To: <5e8b0f6b0706041820r53bc6f5crffdb5f8a76534de8@mail.gmail.com> References: <5e8b0f6b0706041820r53bc6f5crffdb5f8a76534de8@mail.gmail.com> Message-ID: <4664E16D.4010006@v.loewis.de> > I would like to get from a Roundup instance information on recently > modified issues. I already noticed there are no RSS/Atom feeds > implemented, nor any RPC interface. There surely is an RPC interface: HTTP GET. GET is a request-response protocol. I assume you are asking for a programmatically-processable result format, rather having to parse HTML pages? Please take a look at the "Download as CSV link" at the bottom of each page. > A simple RSS feed would perfect, I can even go and implement it, if > it's the only way. My question to the list is: is there really no > other way, and if so, what chances are that my RSS solution would get > accepted into official Python tracker (this way making further > development of PVS possible). Before accepting such a change, I would like to know what's wrong with the CSV download. Regards, Martin From seefeld at sympatico.ca Tue Jun 5 06:09:31 2007 From: seefeld at sympatico.ca (Stefan Seefeld) Date: Tue, 05 Jun 2007 00:09:31 -0400 Subject: [Tracker-discuss] List of recently modified issues In-Reply-To: <4664E16D.4010006@v.loewis.de> References: <5e8b0f6b0706041820r53bc6f5crffdb5f8a76534de8@mail.gmail.com> <4664E16D.4010006@v.loewis.de> Message-ID: <4664E1FB.2020003@sympatico.ca> Martin v. L?wis wrote: >> I would like to get from a Roundup instance information on recently >> modified issues. I already noticed there are no RSS/Atom feeds >> implemented, nor any RPC interface. > > There surely is an RPC interface: HTTP GET. GET is a request-response > protocol. FWIW, I added an xmlrpc interface to Roundup some weeks ago. It's not yet part of a release, though, and it may need some cleanup. But it's there. FYI. Regards, Stefan -- ...ich hab' noch einen Koffer in Berlin... From constant.beta at gmail.com Wed Jun 6 02:04:02 2007 From: constant.beta at gmail.com (=?ISO-8859-2?Q?Micha=B3_Kwiatkowski?=) Date: Wed, 6 Jun 2007 02:04:02 +0200 Subject: [Tracker-discuss] List of recently modified issues In-Reply-To: <4664E16D.4010006@v.loewis.de> References: <5e8b0f6b0706041820r53bc6f5crffdb5f8a76534de8@mail.gmail.com> <4664E16D.4010006@v.loewis.de> Message-ID: <5e8b0f6b0706051704t271babc9sc6771feb22873b6c@mail.gmail.com> On 6/5/07, "Martin v. L?wis" wrote: > I assume you are asking for a programmatically-processable result > format, rather having to parse HTML pages? Please take a look > at the "Download as CSV link" at the bottom of each page. Yes, you're right, I meant data in a format more predictable that HTML, like XML or CSV. I checked out "Download as CSV" link and while it provides me with a list of tickets (optionally narrowed down by search terms) along with some extra information about them (like last activity date), it's not exactly what I need. What I need is a list of recent tracker activities, a timeline starting at some fixed date (like 7 days back from now), including all ticker updates, e.g. status change, adding file attachments, new comments, etc. To put it another way, I don't want a mere list of recently changed tickets, but a list of changes, with some details about each of them (old and new status, attached file name, first words of a comment, etc). I could program my way around this, by taking the list of all tickets in CSV format, choosing those which were recently updated and then asking Roundup for details about each of them (BTW, I don't see CSV download option for a single issue). This will be ugly and complicated, not to say inefficient. One RSS feed with recent updates generated on the Roundup side will be simply a better fit for my needs. Cheers, mk From martin at v.loewis.de Wed Jun 6 07:24:35 2007 From: martin at v.loewis.de (=?ISO-8859-1?Q?=22Martin_v=2E_L=F6wis=22?=) Date: Wed, 06 Jun 2007 07:24:35 +0200 Subject: [Tracker-discuss] List of recently modified issues In-Reply-To: <5e8b0f6b0706051704t271babc9sc6771feb22873b6c@mail.gmail.com> References: <5e8b0f6b0706041820r53bc6f5crffdb5f8a76534de8@mail.gmail.com> <4664E16D.4010006@v.loewis.de> <5e8b0f6b0706051704t271babc9sc6771feb22873b6c@mail.gmail.com> Message-ID: <46664513.90104@v.loewis.de> > What I need is a list of > recent tracker activities, a timeline starting at some fixed date > (like 7 days back from now), including all ticker updates, e.g. status > change, adding file attachments, new comments, etc. To put it another > way, I don't want a mere list of recently changed tickets, but a list > of changes, with some details about each of them (old and new status, > attached file name, first words of a comment, etc). > > I could program my way around this, by taking the list of all tickets > in CSV format, choosing those which were recently updated and then > asking Roundup for details about each of them (BTW, I don't see CSV > download option for a single issue). This will be ugly and > complicated, not to say inefficient. One RSS feed with recent updates > generated on the Roundup side will be simply a better fit for my > needs. Ok. I think this would be a rather specific RSS feed, as including the nature of the specific change in the RSS feed is nothing that any of the existing RSS solutions for roundup provide; it would be interesting to see whether the xmlrpc interface recently mentioned provides it (I'd be mildly surprised if it did). I don't think it needs to be RSS, and I would expect that making it RSS makes things actually difficult (how do you encode what specifically changed?). However, generating it on the server side is certainly simpler. I'd encourage you to check out the tracker installation, and propose a solution. There are two ways for report generation in roundup: you can either update it whenever a change is made. This is efficient, but also fixed with respect to the information available in the report. OTOH, generating the report dynamically allows customization, but is also more compute-expensive. Regards, Martin From pfdubois at gmail.com Wed Jun 6 07:46:01 2007 From: pfdubois at gmail.com (Paul Dubois) Date: Tue, 5 Jun 2007 22:46:01 -0700 Subject: [Tracker-discuss] List of recently modified issues In-Reply-To: <46664513.90104@v.loewis.de> References: <5e8b0f6b0706041820r53bc6f5crffdb5f8a76534de8@mail.gmail.com> <4664E16D.4010006@v.loewis.de> <5e8b0f6b0706051704t271babc9sc6771feb22873b6c@mail.gmail.com> <46664513.90104@v.loewis.de> Message-ID: I say again, this is virtually identical to the logic in roundup-summary. On 6/5/07, "Martin v. L?wis" wrote: > > > What I need is a list of > > recent tracker activities, a timeline starting at some fixed date > > (like 7 days back from now), including all ticker updates, e.g. status > > change, adding file attachments, new comments, etc. To put it another > > way, I don't want a mere list of recently changed tickets, but a list > > of changes, with some details about each of them (old and new status, > > attached file name, first words of a comment, etc). > > > > I could program my way around this, by taking the list of all tickets > > in CSV format, choosing those which were recently updated and then > > asking Roundup for details about each of them (BTW, I don't see CSV > > download option for a single issue). This will be ugly and > > complicated, not to say inefficient. One RSS feed with recent updates > > generated on the Roundup side will be simply a better fit for my > > needs. > > Ok. I think this would be a rather specific RSS feed, as including > the nature of the specific change in the RSS feed is nothing that > any of the existing RSS solutions for roundup provide; it would > be interesting to see whether the xmlrpc interface recently mentioned > provides it (I'd be mildly surprised if it did). > > I don't think it needs to be RSS, and I would expect that making > it RSS makes things actually difficult (how do you encode what > specifically changed?). However, generating it on the server > side is certainly simpler. > > I'd encourage you to check out the tracker installation, and > propose a solution. There are two ways for report generation > in roundup: you can either update it whenever a change is made. > This is efficient, but also fixed with respect to the > information available in the report. OTOH, generating the report > dynamically allows customization, but is also more > compute-expensive. > > Regards, > Martin > _______________________________________________ > Tracker-discuss mailing list > Tracker-discuss at python.org > http://mail.python.org/mailman/listinfo/tracker-discuss > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/tracker-discuss/attachments/20070605/c34fe622/attachment.htm From pfdubois at gmail.com Fri Jun 8 17:17:36 2007 From: pfdubois at gmail.com (Paul Dubois) Date: Fri, 8 Jun 2007 08:17:36 -0700 Subject: [Tracker-discuss] where's that spam button? Message-ID: We got a bunch of spam and I thought I would start being spam cop now that I am retired. I thought I read a message about someone installing a spam killer facility for users who had that role. I logged in as admin but did not see it. Was I dreaming? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/tracker-discuss/attachments/20070608/639efe39/attachment.htm From skip at pobox.com Fri Jun 8 17:57:39 2007 From: skip at pobox.com (skip at pobox.com) Date: Fri, 8 Jun 2007 10:57:39 -0500 Subject: [Tracker-discuss] where's that spam button? In-Reply-To: References: Message-ID: <18025.31859.233476.611944@montanaro.dyndns.org> Paul> We got a bunch of spam and I thought I would start being spam cop Paul> now that I am retired. Paul> I thought I read a message about someone installing a spam killer Paul> facility for users who had that role. I logged in as admin but did Paul> not see it. Paul> Was I dreaming? No, I don't think so. I have been working on a SpamBayes server for use by web applications like Trac and Roundup. I have gotten it to the point where I can score and manage individual form submissions. I've been working on a branch of the SB CVS repository. We could try checking out that branch on the bugs server and then integrating it into Roundup. I'm sure there are going to be issues, but it's getting closer. I have no idea where the bug tracker is or what sort of access I can get to help manage the process. Architecturally, it's a standalone server which provides a simple scoring interface via XML-RPC and a separate web management interface. If you've ever used the SpamBayes POP3 proxy, you'll find the web management interface almost identical to the POP3 proxy. The web management interface needs to be more widely available than the XML-RPC interface so that we humans can do the necessary management. The XML-RPC interface only needs to be available to the Roundup bug tracker. I think you'd normally run the server on the same machine as Roundup and only listen to localhost for both interfaces but proxy the web interface with Apache and use its authentication mechanism to restrict access. Skip From brett at python.org Fri Jun 8 18:27:08 2007 From: brett at python.org (Brett Cannon) Date: Fri, 8 Jun 2007 09:27:08 -0700 Subject: [Tracker-discuss] where's that spam button? In-Reply-To: <18025.31859.233476.611944@montanaro.dyndns.org> References: <18025.31859.233476.611944@montanaro.dyndns.org> Message-ID: On 6/8/07, skip at pobox.com wrote: > > > Paul> We got a bunch of spam and I thought I would start being spam > cop > Paul> now that I am retired. > > Paul> I thought I read a message about someone installing a spam > killer > Paul> facility for users who had that role. I logged in as admin but > did > Paul> not see it. > > Paul> Was I dreaming? > > No, I don't think so. > > I have been working on a SpamBayes server for use by web applications like > Trac and Roundup. I have gotten it to the point where I can score and > manage individual form submissions. I've been working on a branch of the > SB > CVS repository. We could try checking out that branch on the bugs server > and then integrating it into Roundup. I'm sure there are going to be > issues, but it's getting closer. > > I have no idea where the bug tracker is or what sort of access I can get > to > help manage the process. The tracker code is at svn.python.org/tracker/ . And as you have commit privs on svn.python.org you can edit the code. -Brett -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/tracker-discuss/attachments/20070608/cf613af3/attachment.html From skip at pobox.com Fri Jun 8 18:41:20 2007 From: skip at pobox.com (skip at pobox.com) Date: Fri, 8 Jun 2007 11:41:20 -0500 Subject: [Tracker-discuss] where's that spam button? In-Reply-To: References: <18025.31859.233476.611944@montanaro.dyndns.org> Message-ID: <18025.34480.989233.639365@montanaro.dyndns.org> Brett> The tracker code is at svn.python.org/tracker/ . And as you have Brett> commit privs on svn.python.org you can edit the code. I managed to get something checking out with this command: svn co http://svn.python.org/projects/tracker tracker I presume that's what you meant? Skip From draghuram at gmail.com Fri Jun 8 18:51:39 2007 From: draghuram at gmail.com (Raghuram Devarakonda) Date: Fri, 8 Jun 2007 12:51:39 -0400 Subject: [Tracker-discuss] where's that spam button? In-Reply-To: <18025.31859.233476.611944@montanaro.dyndns.org> References: <18025.31859.233476.611944@montanaro.dyndns.org> Message-ID: <2c51ecee0706080951t6c0b7d62q60c4b11fa916a217@mail.gmail.com> On 6/8/07, skip at pobox.com wrote: > > Paul> We got a bunch of spam and I thought I would start being spam cop > Paul> now that I am retired. > > Paul> I thought I read a message about someone installing a spam killer > Paul> facility for users who had that role. I logged in as admin but did > Paul> not see it. > > Paul> Was I dreaming? > > No, I don't think so. > > I have been working on a SpamBayes server for use by web applications like > Trac and Roundup. I have gotten it to the point where I can score and > manage individual form submissions. I've been working on a branch of the SB > CVS repository. We could try checking out that branch on the bugs server > and then integrating it into Roundup. I'm sure there are going to be > issues, but it's getting closer. I think Paul Dubois was referring to this post by Martin. http://mail.python.org/pipermail/python-dev/2007-May/073108.html If I understand correctly, the intention was to provide a way for authorized people to manually mark a bug as spam. From brett at python.org Fri Jun 8 19:29:34 2007 From: brett at python.org (Brett Cannon) Date: Fri, 8 Jun 2007 10:29:34 -0700 Subject: [Tracker-discuss] where's that spam button? In-Reply-To: <18025.34480.989233.639365@montanaro.dyndns.org> References: <18025.31859.233476.611944@montanaro.dyndns.org> <18025.34480.989233.639365@montanaro.dyndns.org> Message-ID: On 6/8/07, skip at pobox.com wrote: > > > Brett> The tracker code is at svn.python.org/tracker/ . And as you > have > Brett> commit privs on svn.python.org you can edit the code. > > I managed to get something checking out with this command: > > svn co http://svn.python.org/projects/tracker tracker > > I presume that's what you meant? Yes, although that is a read-only checkout so any changes you make you won't be able to commit back. If you want a read-write checkout do:: svn co svn+ssh://pythondev at svn.python.org/tracker/ -Brett -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/tracker-discuss/attachments/20070608/3cf48d5e/attachment.html From martin at v.loewis.de Fri Jun 8 20:54:38 2007 From: martin at v.loewis.de (=?ISO-8859-1?Q?=22Martin_v=2E_L=F6wis=22?=) Date: Fri, 08 Jun 2007 20:54:38 +0200 Subject: [Tracker-discuss] where's that spam button? In-Reply-To: References: Message-ID: <4669A5EE.4050803@v.loewis.de> Paul Dubois schrieb: > We got a bunch of spam and I thought I would start being spam cop now > that I am retired. > > I thought I read a message about someone installing a spam killer > facility for users who had that role. I logged in as admin but did not > see it. > > Was I dreaming? I submitted a patch into http://psf.upfronthosting.co.za/roundup/meta/issue105 on May 17; this patch was not installed yet: http://psf.upfronthosting.co.za/roundup/meta/file52/spammer.diff This adds a spam button that gives the spammer the "spammer" role, hiding all his messages, issues, and files. Regards, Martin From martin at v.loewis.de Fri Jun 8 20:56:40 2007 From: martin at v.loewis.de (=?ISO-8859-1?Q?=22Martin_v=2E_L=F6wis=22?=) Date: Fri, 08 Jun 2007 20:56:40 +0200 Subject: [Tracker-discuss] where's that spam button? In-Reply-To: <2c51ecee0706080951t6c0b7d62q60c4b11fa916a217@mail.gmail.com> References: <18025.31859.233476.611944@montanaro.dyndns.org> <2c51ecee0706080951t6c0b7d62q60c4b11fa916a217@mail.gmail.com> Message-ID: <4669A668.1060501@v.loewis.de> > I think Paul Dubois was referring to this post by Martin. > > http://mail.python.org/pipermail/python-dev/2007-May/073108.html > > If I understand correctly, the intention was to provide a way for > authorized people to manually mark a bug as spam. Correct. Martin From skip at pobox.com Sat Jun 9 14:55:06 2007 From: skip at pobox.com (skip at pobox.com) Date: Sat, 9 Jun 2007 07:55:06 -0500 Subject: [Tracker-discuss] Auditor doesn't see everything... Message-ID: <18026.41770.989115.494329@montanaro.dyndns.org> So I'm launching back into the Roundup side of my spam filtering. I figured all I should need is an auditor that raises a Reject exception when it detects a spammy submission. It took me awhile to figure out where to put a "hello world" auditor so it would fire with the demo tracker, but I got to that point and submitted a ticket with the following fields filled in: Title, Priority, Change Note. I also attached a small text file. The newvalues dictionary only contained three keys: "content", "type" and "name". All were related to the attached file. Here's my simple auditor: def testaudit(db, cl, nodeid, newvalues): print "db:", db print "cl:", cl print "nodeid:", nodeid print "newvalues:", newvalues def init(db): db.file.audit('create', testaudit) print "initialized auditor", testaudit Here's the output from my ticket submission: db: cl: nodeid: None newvalues: {'content': 'Testing MathML\n--------------\n\nInline math: :latex-math:`n! + \\sin(x_n^2)`. And displayed math:\n\n.. latex-math::\n\n f(\\epsilon) = \\frac{1}{1 + \\exp\\left(\\frac{\\varepsilon}{k_\\text{B}T}\\right)}\n\n.. latex-math::\n\n N = \\frac{\\text{number of apples}}{7}\n\n.. latex-math::\n\n \\mathbf{M} = \\left(\\begin{matrix}a&b\\\\c&d\\end{matrix}\\right)\n\nWe have :latex-math:`|\\mathbf{M}| = ad - bc`.\n\n.. latex-math::\n\n \\int_0^1 x^n dx = \\frac{1}{n + 1}\n\n.. latex-math::\n\n \\sum_{n=1}^m n = \\frac{m(m+1)}{2}\n\n* tilde: :latex-math:`\\tilde{n}`\n* hat: :latex-math:`\\hat{H}`\n* bar: :latex-math:`\\bar{v}`\n\nQuantum mechanics:\n\n.. latex-math::\n\n -\\frac{1}{2}\\nabla^2 \\psi + v \\psi = \\varepsilon \\psi\n\nMath split over two lines:\n\n.. latex-math::\n\n g(\\alpha) = & (1 + \\alpha + \\alpha^2 + \\alpha^3 + \\alpha^4\\\\\n & + \\alpha^5)\n\n.. latex-math::\n\n f(x) = \\left\\{\n \\begin{matrix}\n 1 - x, & x < 1 \\\\\n 0, & x > 1\n \\end{matrix}\\right.\n', 'type': 'text/plain', 'name': 'test.txt'} Shouldn't the newvalues dictionary contain information about all the fields in the form? Thx, Skip From pfdubois at gmail.com Sat Jun 9 19:11:57 2007 From: pfdubois at gmail.com (Paul Dubois) Date: Sat, 9 Jun 2007 10:11:57 -0700 Subject: [Tracker-discuss] Spammer-messages this morning just me cleaning up Message-ID: You may have received some messages this morning that looked like more spam. They were not, they were me permanently retiring some issues that had been posted by spammers a month ago. Unfortunately we have set up an auditor that sends ALL changes to python-bugs-list, so even such administrative actions result in messages. I lobbied for not sending out mail when there was no message attached (which is Roundup's default) but we were told to do otherwise. I continue to think this is a bad idea, and this morning's messages are an example why. (Another one was me just closing an issue without comment; it had been a test issue I had posted some time back). I am entering the totally-retired state (just 3 more working days) and will start spam patrol on the tracker on a regular basis. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/tracker-discuss/attachments/20070609/95ba61a7/attachment.htm From brett at python.org Sat Jun 9 23:09:07 2007 From: brett at python.org (Brett Cannon) Date: Sat, 9 Jun 2007 14:09:07 -0700 Subject: [Tracker-discuss] Spammer-messages this morning just me cleaning up In-Reply-To: References: Message-ID: On 6/9/07, Paul Dubois wrote: > > You may have received some messages this morning that looked like more > spam. They were not, they were me permanently retiring some issues that had > been posted by spammers a month ago. Unfortunately we have set up an auditor > that sends ALL changes to python-bugs-list, so even such administrative > actions result in messages. I lobbied for not sending out mail when there > was no message attached (which is Roundup's default) but we were told to do > otherwise. I continue to think this is a bad idea, and this morning's > messages are an example why. (Another one was me just closing an issue > without comment; it had been a test issue I had posted some time back). Well, this might be the example that changes that idea for the bugs list. Will just have to tell people to include a comment about why they performed an action in order for it to show up. I am entering the totally-retired state (just 3 more working days) and will > start spam patrol on the tracker on a regular basis. Thanks, Paul! And hopefully retirement will be fun for you. -Brett -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/tracker-discuss/attachments/20070609/4595bc97/attachment.html From constant.beta at gmail.com Sun Jun 10 14:43:01 2007 From: constant.beta at gmail.com (=?ISO-8859-2?Q?Micha=B3_Kwiatkowski?=) Date: Sun, 10 Jun 2007 14:43:01 +0200 Subject: [Tracker-discuss] List of recently modified issues In-Reply-To: References: <5e8b0f6b0706041820r53bc6f5crffdb5f8a76534de8@mail.gmail.com> <4664E16D.4010006@v.loewis.de> <5e8b0f6b0706051704t271babc9sc6771feb22873b6c@mail.gmail.com> <46664513.90104@v.loewis.de> Message-ID: <5e8b0f6b0706100543u5c05b713paf14fa11f5eb5fe@mail.gmail.com> On 6/6/07, Paul Dubois wrote: > I say again, this is virtually identical to the logic in roundup-summary. I looked at that script and its approach is different from what I'd like to accomplish. roundup-summary generates summaries which are later sent to python-dev mailing list (like the last one: http://mail.python.org/pipermail/python-dev/2007-June/073551.html ). This summary includes general statistics of tracker activity, like number of new/closed issues. Currently most important information for me - list of recently attached files - is not included there. But that's not a problem, as I already found an example of detector-based feed generation: http://www.mechanicalcat.net/tech/roundup/wiki/DetectorBasedFeedGeneration I'll build my detailed changes summary on top of this module. Cheers, mk From skip at pobox.com Sun Jun 10 17:44:56 2007 From: skip at pobox.com (skip at pobox.com) Date: Sun, 10 Jun 2007 10:44:56 -0500 Subject: [Tracker-discuss] spam auditor checked in Message-ID: <18028.7288.172843.721394@montanaro.dyndns.org> I checked in a simple spam auditor. In theory you should be able to install it. If the connection to the XML-RPC server fails it just accepts the submission. Still, it would be nice to have the server running. Can someone help me get that up and running? Skip From constant.beta at gmail.com Sun Jun 10 22:22:16 2007 From: constant.beta at gmail.com (=?ISO-8859-2?Q?Micha=B3_Kwiatkowski?=) Date: Sun, 10 Jun 2007 22:22:16 +0200 Subject: [Tracker-discuss] List of recently modified issues In-Reply-To: <46664513.90104@v.loewis.de> References: <5e8b0f6b0706041820r53bc6f5crffdb5f8a76534de8@mail.gmail.com> <4664E16D.4010006@v.loewis.de> <5e8b0f6b0706051704t271babc9sc6771feb22873b6c@mail.gmail.com> <46664513.90104@v.loewis.de> Message-ID: <5e8b0f6b0706101322o75817fe3t8874e14f6f54b7fb@mail.gmail.com> On 6/6/07, "Martin v. L?wis" wrote: > I'd encourage you to check out the tracker installation, and > propose a solution. There are two ways for report generation > in roundup: you can either update it whenever a change is made. > This is efficient, but also fixed with respect to the > information available in the report. OTOH, generating the report > dynamically allows customization, but is also more > compute-expensive. I went the update-on-change road, as it seemed more straightforward. Attached to this mail is "changes_xml_writer.py" detector, which updates recent-changes.xml file each time a file is uploaded to a tracker. After uploading a sample attachment go to http://localhost:9999/python-dev/_file/recent-changes.xml to see the generated file. A single change looks like this in XML: 45 sample.patch text/x-diff http://localhost:9999/python-dev/file45/sample.patch 6 Currently only file uploads are reported, although more change types can be implemented later. File uploads are everything what I need to continue my SoC project. List of changes has maximum of 20 items, so the file won't grow indefinitely. I have a question about Roundup updates though. Is a reactor function called atomically, i.e. should I worry about two processes writing to recent-changes.xml? Cheers, mk -------------- next part -------------- import os import urllib from xml.dom import minidom from time import gmtime, strftime # Relative to tracker home directory. FILENAME = os.path.join('%(TEMPLATES)s', 'recent-changes.xml') def tracker_url(db): return str(db.config.options[('tracker', 'web')]) def changes_xml_path(db): return os.path.join(db.config.HOME, FILENAME % db.config.options) def rfc2822_date(): return strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime()) class File(object): def __init__(self, db, id, issue_id): self.db = db self.id = id self.issue_id = issue_id self.name = db.file.get(id, 'name') self.type = db.file.get(id, 'type') # Based on roundup.cgi.templating._HTMLItem.download_url(). self.download_url = tracker_url(self.db) +\ urllib.quote('%s%s/%s' % ('file', self.id, self.name)) class ChangesXml(object): # Maximum number of changes stored in a file. max_items = 20 def __init__(self, filename): self.filename = filename self._read_document() def save(self): self._trim_to_max_items() fd = open(self.filename, 'w') self.document.writexml(fd, encoding="UTF-8") fd.close() def add_file(self, file): change = self._change("file%s-added-to-issue%s" % (file.id, file.issue_id), "file-added") change.appendChild(self._element_with_text("file-id", file.id)) change.appendChild(self._element_with_text("file-name", file.name)) change.appendChild(self._element_with_text("file-type", file.type)) change.appendChild(self._element_with_text("file-url", file.download_url)) change.appendChild(self._element_with_text("issue-id", file.issue_id)) self.root.appendChild(change) def add_files(self, files): for file in files: self.add_file(file) def _change(self, id, type): """Return new 'change' element of a given type. """ change = self.document.createElement("change") change.setAttribute("id", id) change.setAttribute("type", type) change.setAttribute("date", rfc2822_date()) return change def _element_with_text(self, name, value): """Return new element with given name and text node as a value. value """ element = self.document.createElement(name) text = self.document.createTextNode(str(value)) element.appendChild(text) return element def _trim_to_max_items(self): """Remove changes exceeding self.max_items. """ # Assumes that changes are stored sequentially from oldest to newest. # Will do for now. for change in self.root.getElementsByTagName("change")[0:-self.max_items]: self.root.removeChild(change) def _read_document(self): try: self.document = minidom.parse(self.filename) self.root = self.document.firstChild except IOError, e: if e.errno != 2: raise self._create_new_document() def _create_new_document(self): self.document = minidom.Document() self.root = self.document.createElement("changes") self.document.appendChild(self.root) def get_new_files_ids(issue_now, issue_then): """Return ids of files added between `now` and `then`. """ files_now = set(issue_now['files']) files_then = set(issue_then['files']) if issue_then else set() return map(int, files_now - files_then) def file_added_to_issue(db, cl, issue_id, olddata): changes = ChangesXml(changes_xml_path(db)) issue = db.issue.getnode(issue_id) new_files = [ File(db, id, issue_id) for id in get_new_files_ids(issue, olddata) ] changes.add_files(new_files) changes.save() def init(db): db.issue.react('create', file_added_to_issue) db.issue.react('set', file_added_to_issue) From martin at v.loewis.de Sun Jun 10 22:36:59 2007 From: martin at v.loewis.de (=?ISO-8859-1?Q?=22Martin_v=2E_L=F6wis=22?=) Date: Sun, 10 Jun 2007 22:36:59 +0200 Subject: [Tracker-discuss] List of recently modified issues In-Reply-To: <5e8b0f6b0706101322o75817fe3t8874e14f6f54b7fb@mail.gmail.com> References: <5e8b0f6b0706041820r53bc6f5crffdb5f8a76534de8@mail.gmail.com> <4664E16D.4010006@v.loewis.de> <5e8b0f6b0706051704t271babc9sc6771feb22873b6c@mail.gmail.com> <46664513.90104@v.loewis.de> <5e8b0f6b0706101322o75817fe3t8874e14f6f54b7fb@mail.gmail.com> Message-ID: <466C60EB.5040805@v.loewis.de> > I went the update-on-change road, as it seemed more straightforward. > Attached to this mail is "changes_xml_writer.py" detector, which > updates recent-changes.xml file each time a file is uploaded to a > tracker. After uploading a sample attachment go to > http://localhost:9999/python-dev/_file/recent-changes.xml to see the > generated file. A single change looks like this in XML: > > id="file45-added-to-issue6" type="file-added"> > 45 > sample.patch > text/x-diff > http://localhost:9999/python-dev/file45/sample.patch > 6 > Just to clarify: this is not RSS, right? > I have a question about Roundup updates though. Is a reactor function > called atomically, i.e. should I worry about two processes writing to > recent-changes.xml? I'm not sure, but I *think* this might happen. I don't know what depends on these data, but I wouldn't be too worried if that could cause the file to lose changes sometimes, or if the file could get truncated. The one thing I *am* worried about is exception-safety: you need to make absolutely sure that the reactor doesn't fail, because otherwise the entire change being made gets rolled back, and the user gets an error message. In particular, if the previous file gets corrupt for some reason, make sure the generator can recover from that. I point this out because this precise problem happened to me with the RSS generator. Regards, Martin From constant.beta at gmail.com Sun Jun 10 22:43:34 2007 From: constant.beta at gmail.com (=?ISO-8859-2?Q?Micha=B3_Kwiatkowski?=) Date: Sun, 10 Jun 2007 22:43:34 +0200 Subject: [Tracker-discuss] spam auditor checked in In-Reply-To: <18028.7288.172843.721394@montanaro.dyndns.org> References: <18028.7288.172843.721394@montanaro.dyndns.org> Message-ID: <5e8b0f6b0706101343l1f082a02s70e624d03c2a05e@mail.gmail.com> On 6/10/07, skip at pobox.com wrote: > I checked in a simple spam auditor. In theory you should be able to install > it. If the connection to the XML-RPC server fails it just accepts the > submission. Still, it would be nice to have the server running. Can > someone help me get that up and running? Your auditor won't work, because you use undefined variable CUTOFF on line 35. Did you mean "if prob >= SPAM_CUTOFF"? On line 29 you have "xmlrpclb" instead of "xmlrpclib". You may also consider catching other exceptions on line 32, for example xmlrpclib.ProtocolError. I can't help you with Bayes server though. ;) Cheers, mk From constant.beta at gmail.com Sun Jun 10 22:49:36 2007 From: constant.beta at gmail.com (=?ISO-8859-2?Q?Micha=B3_Kwiatkowski?=) Date: Sun, 10 Jun 2007 22:49:36 +0200 Subject: [Tracker-discuss] List of recently modified issues In-Reply-To: <466C60EB.5040805@v.loewis.de> References: <5e8b0f6b0706041820r53bc6f5crffdb5f8a76534de8@mail.gmail.com> <4664E16D.4010006@v.loewis.de> <5e8b0f6b0706051704t271babc9sc6771feb22873b6c@mail.gmail.com> <46664513.90104@v.loewis.de> <5e8b0f6b0706101322o75817fe3t8874e14f6f54b7fb@mail.gmail.com> <466C60EB.5040805@v.loewis.de> Message-ID: <5e8b0f6b0706101349s6f4763a9i9eaedbbc3770d762@mail.gmail.com> On 6/10/07, "Martin v. L?wis" wrote: > Just to clarify: this is not RSS, right? No, just an ad-hoc XML format to describe Roundup changes. Is this a problem? > > I have a question about Roundup updates though. Is a reactor function > > called atomically, i.e. should I worry about two processes writing to > > recent-changes.xml? > > I'm not sure, but I *think* this might happen. I don't know what > depends on these data, but I wouldn't be too worried if that could cause > the file to lose changes sometimes, or if the file could get > truncated. > > The one thing I *am* worried about is exception-safety: you need > to make absolutely sure that the reactor doesn't fail, because > otherwise the entire change being made gets rolled back, and > the user gets an error message. In particular, if the previous > file gets corrupt for some reason, make sure the generator can > recover from that. I point this out because this precise problem > happened to me with the RSS generator. OK, I'll make the code more bullet-proof then. Thanks for the suggestion, I'll post back the results as soon as I fix the issue. Cheers, mk From skip at pobox.com Sun Jun 10 23:01:14 2007 From: skip at pobox.com (skip at pobox.com) Date: Sun, 10 Jun 2007 16:01:14 -0500 Subject: [Tracker-discuss] spam auditor checked in In-Reply-To: <5e8b0f6b0706101343l1f082a02s70e624d03c2a05e@mail.gmail.com> References: <18028.7288.172843.721394@montanaro.dyndns.org> <5e8b0f6b0706101343l1f082a02s70e624d03c2a05e@mail.gmail.com> Message-ID: <18028.26266.55066.758425@montanaro.dyndns.org> >> I checked in a simple spam auditor. In theory you should be able to >> install it. If the connection to the XML-RPC server fails it just >> accepts the submission. Still, it would be nice to have the server >> running. Can someone help me get that up and running? mk> Your auditor won't work, because you use undefined variable CUTOFF mk> on line 35. Did you mean "if prob >= SPAM_CUTOFF"? mk> On line 29 you have "xmlrpclb" instead of "xmlrpclib". mk> You may also consider catching other exceptions on line 32, for mk> example xmlrpclib.ProtocolError. Thanks. I would have caught all those if I actually had something to run it against. Guess I should have at least run it through pylint. :-( OTOH, at least I know someone was looking. :-) I was beginning to wonder. I've now fixed those bits and run it through pylint to boot, answering all its complaints. Skip From martin at v.loewis.de Sun Jun 10 23:17:28 2007 From: martin at v.loewis.de (=?UTF-8?B?Ik1hcnRpbiB2LiBMw7Z3aXMi?=) Date: Sun, 10 Jun 2007 23:17:28 +0200 Subject: [Tracker-discuss] List of recently modified issues In-Reply-To: <5e8b0f6b0706101349s6f4763a9i9eaedbbc3770d762@mail.gmail.com> References: <5e8b0f6b0706041820r53bc6f5crffdb5f8a76534de8@mail.gmail.com> <4664E16D.4010006@v.loewis.de> <5e8b0f6b0706051704t271babc9sc6771feb22873b6c@mail.gmail.com> <46664513.90104@v.loewis.de> <5e8b0f6b0706101322o75817fe3t8874e14f6f54b7fb@mail.gmail.com> <466C60EB.5040805@v.loewis.de> <5e8b0f6b0706101349s6f4763a9i9eaedbbc3770d762@mail.gmail.com> Message-ID: <466C6A68.8090706@v.loewis.de> Micha? Kwiatkowski schrieb: > On 6/10/07, "Martin v. L?wis" wrote: >> Just to clarify: this is not RSS, right? > > No, just an ad-hoc XML format to describe Roundup changes. Is this a > problem? Not for me, no. I was just curios whether I perhaps misunderstood RSS. Regards, Martin From constant.beta at gmail.com Sun Jun 10 23:28:00 2007 From: constant.beta at gmail.com (=?ISO-8859-2?Q?Micha=B3_Kwiatkowski?=) Date: Sun, 10 Jun 2007 23:28:00 +0200 Subject: [Tracker-discuss] List of recently modified issues In-Reply-To: <466C6A68.8090706@v.loewis.de> References: <5e8b0f6b0706041820r53bc6f5crffdb5f8a76534de8@mail.gmail.com> <4664E16D.4010006@v.loewis.de> <5e8b0f6b0706051704t271babc9sc6771feb22873b6c@mail.gmail.com> <46664513.90104@v.loewis.de> <5e8b0f6b0706101322o75817fe3t8874e14f6f54b7fb@mail.gmail.com> <466C60EB.5040805@v.loewis.de> <5e8b0f6b0706101349s6f4763a9i9eaedbbc3770d762@mail.gmail.com> <466C6A68.8090706@v.loewis.de> Message-ID: <5e8b0f6b0706101428m41821e5br4dfc986eefd7411f@mail.gmail.com> I forgot to ask one thing. What version of Python is used on bugs.python.org? I used conditional expression in my code and wonder if this will be a problem. Cheers, mk From skip at pobox.com Sun Jun 10 23:34:32 2007 From: skip at pobox.com (skip at pobox.com) Date: Sun, 10 Jun 2007 16:34:32 -0500 Subject: [Tracker-discuss] Need some help - how do I get my auditor to run for each submission? Message-ID: <18028.28264.63133.869269@montanaro.dyndns.org> I've concluded that the only time my auditor runs is when I attach a file to a submission. Then the only data present in the newvalues dict are the bits related to the attachment itself. How can I get my auditor called with all the data present in the submission? How can I get my auditor called even when there are no attachments? Thanks, Skip From constant.beta at gmail.com Sun Jun 10 23:57:43 2007 From: constant.beta at gmail.com (=?ISO-8859-2?Q?Micha=B3_Kwiatkowski?=) Date: Sun, 10 Jun 2007 23:57:43 +0200 Subject: [Tracker-discuss] Need some help - how do I get my auditor to run for each submission? In-Reply-To: <18028.28264.63133.869269@montanaro.dyndns.org> References: <18028.28264.63133.869269@montanaro.dyndns.org> Message-ID: <5e8b0f6b0706101457n2946d21ewfe999aa6cbfff75a@mail.gmail.com> On 6/10/07, skip at pobox.com wrote: > I've concluded that the only time my auditor runs is when I attach a file to > a submission. Then the only data present in the newvalues dict are the bits > related to the attachment itself. How can I get my auditor called with all > the data present in the submission? How can I get my auditor called even > when there are no attachments? You used: database.file.audit('create', check_spam) database.file.audit('set', check_spam) while you probably meant: database.issue.audit('create', check_spam) database.issue.audit('set', check_spam) or maybe: database.msg.audit('create', check_spam) database.msg.audit('set', check_spam) Auditors/reactors are registered for each model (i.e. issue, file, message, etc.) separately. "database.file.audit('create', check_spam)" registers check_spam as a handler for file creation. Check out http://roundup.sourceforge.net/doc-1.0/design.html#detector-interface for more detailed explanation. For list of models used in python-tracker, look at schema.py file. Creating a file attachment and creating a new issue are two separate events, so you'll have to handle them separately. So, use "database.file.audit" to register file attachments checker and use "database.msg.audit" to register message checker. Cheers, mk From skip at pobox.com Mon Jun 11 00:26:59 2007 From: skip at pobox.com (skip at pobox.com) Date: Sun, 10 Jun 2007 17:26:59 -0500 Subject: [Tracker-discuss] Need some help - how do I get my auditor to run for each submission? In-Reply-To: <5e8b0f6b0706101457n2946d21ewfe999aa6cbfff75a@mail.gmail.com> References: <18028.28264.63133.869269@montanaro.dyndns.org> <5e8b0f6b0706101457n2946d21ewfe999aa6cbfff75a@mail.gmail.com> Message-ID: <18028.31411.686768.139127@montanaro.dyndns.org> mk> You used: mk> database.file.audit('create', check_spam) mk> database.file.audit('set', check_spam) mk> while you probably meant: mk> database.issue.audit('create', check_spam) mk> database.issue.audit('set', check_spam) mk> or maybe: mk> database.msg.audit('create', check_spam) mk> database.msg.audit('set', check_spam) Thanks. Shouldn't this be clearly documented somewhere? Your mail sent me into the depths of the design document. As far as I can tell the distinction between different attributes of the hyperdatabase is only found in a couple examples in the detectors directory. What's the difference between issue and msg? Web submission vs. email? Is there one choke point where I can execute the auditor? Where do web and email submissions coincide? I'm unable to actually create a database interactively. The example session in the Application Example section of design.txt clearly doesn't work. I poked around a bit and tried creating a back_anydbm.Database. That also failed. If Database objects are supposed to have issue attributes I ought to be able to find "self.issue" somewhere in the Roundup code but have not been able to. I did find "self.msg" and "self.file", but the grep hits that turned up didn't seem to be related directly to Database objects. mk> Creating a file attachment and creating a new issue are two separate mk> events, so you'll have to handle them separately. So, use mk> "database.file.audit" to register file attachments checker and use mk> "database.msg.audit" to register message checker. Again, what's the difference between "msg" and "issue"? Can I read about any of this anywhere? I am more than happy to do what I can to make SpamBayes a viable spam checker for Roundup, Trac, MoinMoin and other web applications, but I really don't have the time to become a guru for any of those systems. frustratedly-y'rs, Skip From martin at v.loewis.de Mon Jun 11 05:46:07 2007 From: martin at v.loewis.de (=?ISO-8859-1?Q?=22Martin_v=2E_L=F6wis=22?=) Date: Mon, 11 Jun 2007 05:46:07 +0200 Subject: [Tracker-discuss] Need some help - how do I get my auditor to run for each submission? In-Reply-To: <18028.31411.686768.139127@montanaro.dyndns.org> References: <18028.28264.63133.869269@montanaro.dyndns.org> <5e8b0f6b0706101457n2946d21ewfe999aa6cbfff75a@mail.gmail.com> <18028.31411.686768.139127@montanaro.dyndns.org> Message-ID: <466CC57F.2090405@v.loewis.de> > Thanks. Shouldn't this be clearly documented somewhere? isn't it clearly explained here:? http://roundup.sourceforge.net/doc-0.8/design.html#detector-interface > What's the difference between issue and msg? They have different classes. Classes are explained here: http://roundup.sourceforge.net/doc-0.8/design.html#items-and-classes > Web submission vs. email? I believe they are different only from a security point of view; for detectors, there will be no difference. > Is there one choke point where I can execute the auditor? This question I do not understand. What's a choke point? The auditors are invoked whenever an item is created or modified. > Where do web and email submissions coincide? For the detector, they are the same. > I'm unable to actually create a database interactively. The > example session in the Application Example section of design.txt clearly > doesn't work. That's no surprise if you tried to execute it literally - there won't be a foo.db database unless you create it. In the python-dev tracker, the database is assumed to be a postgres one, and its name is assumed to be "roundup". See http://wiki.python.org/moin/TrackerDevelopment > I poked around a bit and tried creating a > back_anydbm.Database. That also failed. If Database objects are supposed > to have issue attributes I ought to be able to find "self.issue" somewhere > in the Roundup code but have not been able to. It's not hard-coded in round-up that there always is an issue class. Instead, the database schema is defined in python-dev/schema.py. > Again, what's the difference between "msg" and "issue"? Can I read about > any of this anywhere? Read about classes, and about the database schema. Regards, Martin From constant.beta at gmail.com Mon Jun 11 13:00:41 2007 From: constant.beta at gmail.com (=?ISO-8859-2?Q?Micha=B3_Kwiatkowski?=) Date: Mon, 11 Jun 2007 13:00:41 +0200 Subject: [Tracker-discuss] List of recently modified issues In-Reply-To: <5e8b0f6b0706101428m41821e5br4dfc986eefd7411f@mail.gmail.com> References: <5e8b0f6b0706041820r53bc6f5crffdb5f8a76534de8@mail.gmail.com> <4664E16D.4010006@v.loewis.de> <5e8b0f6b0706051704t271babc9sc6771feb22873b6c@mail.gmail.com> <46664513.90104@v.loewis.de> <5e8b0f6b0706101322o75817fe3t8874e14f6f54b7fb@mail.gmail.com> <466C60EB.5040805@v.loewis.de> <5e8b0f6b0706101349s6f4763a9i9eaedbbc3770d762@mail.gmail.com> <466C6A68.8090706@v.loewis.de> <5e8b0f6b0706101428m41821e5br4dfc986eefd7411f@mail.gmail.com> Message-ID: <5e8b0f6b0706110400y339f723em9e7e4c4d8fe82d57@mail.gmail.com> Hello again, I modified my detector, so it can recover in case of a file corrupt. I also added try/except block around my main function, so the reactor will never throw an exception in the user face. I'm worried about future debugging though. I'd like to at least log the exception. I see [logging] section in the config.ini, but no actual code which uses this. What is the preferred way to put a message into a logger in Roundup? Cheers, mk -------------- next part -------------- # # changes.xml writer detector. # # Copyright (c) 2007 Michal Kwiatkowski # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # # * Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # * Neither the name of the author nor the names of his contributors # may be used to endorse or promote products derived from this software # without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED # TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # """changes.xml writer detector -- save each database change to an XML file. Root element is called `changes` and it has at most `ChangesXml.max_items` children, each called a `change`. Each `change` has the following attributes: :date: date in RFC2822 format when the change was made :id: unique identifier of this change (note: not an integer) :type: type of this change (see below) A structure of a `change` depends on its `type`. Currently implemented change types and their formats are listed below. * type = `file-added` Describes a new file attached to an existing issue. Child elements: :file-id: unique integer identifier of the file :file-name: name of the uploaded file :file-type: MIME type of the file content :file-url: permanent URL of the file :issue-id: unique integer identifier of an issue this file is attached to """ import os import urllib from xml.dom import minidom from xml.parsers.expat import ExpatError from time import gmtime, strftime # Relative to tracker home directory. FILENAME = os.path.join('%(TEMPLATES)s', 'recent-changes.xml') def tracker_url(db): return str(db.config.options[('tracker', 'web')]) def changes_xml_path(db): return os.path.join(db.config.HOME, FILENAME % db.config.options) def rfc2822_date(): return strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime()) class File(object): def __init__(self, db, id, issue_id): self.db = db self.id = id self.issue_id = issue_id self.name = db.file.get(id, 'name') self.type = db.file.get(id, 'type') # Based on roundup.cgi.templating._HTMLItem.download_url(). self.download_url = tracker_url(self.db) +\ urllib.quote('%s%s/%s' % ('file', self.id, self.name)) class ChangesXml(object): # Maximum number of changes stored in a file. max_items = 20 def __init__(self, filename): self.filename = filename self._read_document() self.modified = False def save(self): if not self.modified: return self._trim_to_max_items() fd = open(self.filename, 'w') self.document.writexml(fd, encoding="UTF-8") fd.close() def add_file(self, file): change = self._change("file%s-added-to-issue%s" % (file.id, file.issue_id), "file-added") change.appendChild(self._element_with_text("file-id", file.id)) change.appendChild(self._element_with_text("file-name", file.name)) change.appendChild(self._element_with_text("file-type", file.type)) change.appendChild(self._element_with_text("file-url", file.download_url)) change.appendChild(self._element_with_text("issue-id", file.issue_id)) self.root.appendChild(change) self.modified = True def add_files(self, files): for file in files: self.add_file(file) def _change(self, id, type): """Return new 'change' element of a given type. """ change = self.document.createElement("change") change.setAttribute("id", id) change.setAttribute("type", type) change.setAttribute("date", rfc2822_date()) return change def _element_with_text(self, name, value): """Return new element with given name and text node as a value. value """ element = self.document.createElement(name) text = self.document.createTextNode(str(value)) element.appendChild(text) return element def _trim_to_max_items(self): """Remove changes exceeding self.max_items. """ # Assumes that changes are stored sequentially from oldest to newest. # Will do for now. for change in self.root.getElementsByTagName("change")[0:-self.max_items]: self.root.removeChild(change) def _read_document(self): try: self.document = minidom.parse(self.filename) self.root = self.document.firstChild except IOError, e: # File not found, create a new one then. if e.errno != 2: raise self._create_new_document() except ExpatError: # File has been damaged, forget about it and create a new one. self._create_new_document() def _create_new_document(self): self.document = minidom.Document() self.root = self.document.createElement("changes") self.document.appendChild(self.root) def get_new_files_ids(issue_now, issue_then): """Return ids of files added between `now` and `then`. """ files_now = set(issue_now['files']) files_then = set(issue_then['files']) if issue_then else set() return map(int, files_now - files_then) def file_added_to_issue(db, cl, issue_id, olddata): try: changes = ChangesXml(changes_xml_path(db)) issue = db.issue.getnode(issue_id) new_files = [ File(db, id, issue_id) for id in get_new_files_ids(issue, olddata) ] changes.add_files(new_files) changes.save() except: # We can't mess up with a database commit. pass def init(db): db.issue.react('create', file_added_to_issue) db.issue.react('set', file_added_to_issue) From constant.beta at gmail.com Wed Jun 13 02:22:21 2007 From: constant.beta at gmail.com (=?ISO-8859-2?Q?Micha=B3_Kwiatkowski?=) Date: Wed, 13 Jun 2007 02:22:21 +0200 Subject: [Tracker-discuss] List of recently modified issues In-Reply-To: <5e8b0f6b0706110400y339f723em9e7e4c4d8fe82d57@mail.gmail.com> References: <5e8b0f6b0706041820r53bc6f5crffdb5f8a76534de8@mail.gmail.com> <4664E16D.4010006@v.loewis.de> <5e8b0f6b0706051704t271babc9sc6771feb22873b6c@mail.gmail.com> <46664513.90104@v.loewis.de> <5e8b0f6b0706101322o75817fe3t8874e14f6f54b7fb@mail.gmail.com> <466C60EB.5040805@v.loewis.de> <5e8b0f6b0706101349s6f4763a9i9eaedbbc3770d762@mail.gmail.com> <466C6A68.8090706@v.loewis.de> <5e8b0f6b0706101428m41821e5br4dfc986eefd7411f@mail.gmail.com> <5e8b0f6b0706110400y339f723em9e7e4c4d8fe82d57@mail.gmail.com> Message-ID: <5e8b0f6b0706121722w537a95b2yb5859bd4b998426e@mail.gmail.com> Hi again, Any chances for including changes_xml_writer.py detector into the main Python-tracker repository and deploying on bugs.python.org? Cheers, mk From martin at v.loewis.de Wed Jun 13 06:10:01 2007 From: martin at v.loewis.de (=?ISO-8859-1?Q?=22Martin_v=2E_L=F6wis=22?=) Date: Wed, 13 Jun 2007 06:10:01 +0200 Subject: [Tracker-discuss] List of recently modified issues In-Reply-To: <5e8b0f6b0706121722w537a95b2yb5859bd4b998426e@mail.gmail.com> References: <5e8b0f6b0706041820r53bc6f5crffdb5f8a76534de8@mail.gmail.com> <4664E16D.4010006@v.loewis.de> <5e8b0f6b0706051704t271babc9sc6771feb22873b6c@mail.gmail.com> <46664513.90104@v.loewis.de> <5e8b0f6b0706101322o75817fe3t8874e14f6f54b7fb@mail.gmail.com> <466C60EB.5040805@v.loewis.de> <5e8b0f6b0706101349s6f4763a9i9eaedbbc3770d762@mail.gmail.com> <466C6A68.8090706@v.loewis.de> <5e8b0f6b0706101428m41821e5br4dfc986eefd7411f@mail.gmail.com> <5e8b0f6b0706110400y339f723em9e7e4c4d8fe82d57@mail.gmail.com> <5e8b0f6b0706121722w537a95b2yb5859bd4b998426e@mail.gmail.com> Message-ID: <466F6E19.8080501@v.loewis.de> > Any chances for including changes_xml_writer.py detector into the main > Python-tracker repository and deploying on bugs.python.org? Please submit a bug report at http://psf.upfronthosting.co.za/roundup/meta/ Regards, Martin From roche at upfrontsystems.co.za Wed Jun 13 09:56:51 2007 From: roche at upfrontsystems.co.za (=?ISO-8859-1?Q?Roch=E9?= Compaan) Date: Wed, 13 Jun 2007 09:56:51 +0200 Subject: [Tracker-discuss] spam auditor checked in In-Reply-To: <18028.7288.172843.721394@montanaro.dyndns.org> References: <18028.7288.172843.721394@montanaro.dyndns.org> Message-ID: <1181721411.10879.7.camel@localhost.localdomain> On Sun, 2007-06-10 at 10:44 -0500, skip at pobox.com wrote: > I checked in a simple spam auditor. In theory you should be able to install > it. If the connection to the XML-RPC server fails it just accepts the > submission. Still, it would be nice to have the server running. Can > someone help me get that up and running? If you provide us with details, I can ask Izak to install the server for you. -- Roch? Compaan Upfront Systems http://www.upfrontsystems.co.za From skip at pobox.com Wed Jun 13 18:00:09 2007 From: skip at pobox.com (skip at pobox.com) Date: Wed, 13 Jun 2007 11:00:09 -0500 Subject: [Tracker-discuss] spam auditor checked in In-Reply-To: <1181721411.10879.7.camel@localhost.localdomain> References: <18028.7288.172843.721394@montanaro.dyndns.org> <1181721411.10879.7.camel@localhost.localdomain> Message-ID: <18032.5257.477481.918007@montanaro.dyndns.org> Roch?> If you provide us with details, I can ask Izak to install the Roch?> server for you. It's only available from the SpamBayes CVS repository at the moment, so you'll have to check that out: cvs -d:pserver:anonymous at spambayes.cvs.sourceforge.net:/cvsroot/spambayes login cvs -z3 -d:pserver:anonymous at spambayes.cvs.sourceforge.net:/cvsroot/spambayes co -P spambayes (I'll talk with the other spambayes developers about cutting a new alpha release.) Then install it: python setup.py install Devote a directory to it, e.g.: SBDIR=/usr/local/spambayes/core_server # or whatever... mkdir -p $SBDIR Create an INI file: cd $SBDIR cat > bayescustomize.ini < References: <18028.7288.172843.721394@montanaro.dyndns.org> <1181721411.10879.7.camel@localhost.localdomain> <18032.5257.477481.918007@montanaro.dyndns.org> Message-ID: <467022C4.5090801@upfrontsystems.co.za> skip at pobox.com wrote: > It's only available from the SpamBayes CVS repository at the moment, so > you'll have to check that out: Perhaps I can debianise it and you can roll the changes into upstream? From skip at pobox.com Thu Jun 14 02:41:52 2007 From: skip at pobox.com (skip at pobox.com) Date: Wed, 13 Jun 2007 19:41:52 -0500 Subject: [Tracker-discuss] spam auditor checked in In-Reply-To: <467022C4.5090801@upfrontsystems.co.za> References: <18028.7288.172843.721394@montanaro.dyndns.org> <1181721411.10879.7.camel@localhost.localdomain> <18032.5257.477481.918007@montanaro.dyndns.org> <467022C4.5090801@upfrontsystems.co.za> Message-ID: <18032.36560.979687.363972@montanaro.dyndns.org> Izak> skip at pobox.com wrote: >> It's only available from the SpamBayes CVS repository at the moment, >> so you'll have to check that out: Izak> Perhaps I can debianise it and you can roll the changes into Izak> upstream? Sorry, I don't know what you're referring to. What we (the SpamBayes team) need to do is cut a new release. If that includes a Debian distribution of some sort all the better, but I have no idea how to generate that. Skip From metatracker at psf.upfronthosting.co.za Sat Jun 16 14:47:43 2007 From: metatracker at psf.upfronthosting.co.za (Michal Kwiatkowski) Date: Sat, 16 Jun 2007 12:47:43 -0000 Subject: [Tracker-discuss] [issue118] Deploy a detector for writing changes.xml Message-ID: <1181998063.79.0.463929011499.issue118@psf.upfronthosting.co.za> New submission from Michal Kwiatkowski: As part of my Summer of Code project I implemented a detector that writes tracker changes into an XML file. Code of the detector is attached to this report. It works on Python 2.5. If the Python tracker runs on an earlier version, let me know and I'll correct the code. Please check it in into tracker repository and deploy on bugs.python.org. Discussion about this feature: http://mail.python.org/pipermail/tracker-discuss/2007-June/000895.html ---------- files: changes_xml_writer.py messages: 631 nosy: ruby priority: feature status: unread title: Deploy a detector for writing changes.xml _______________________________________________________ Meta Tracker _______________________________________________________ -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: changes_xml_writer.py Url: http://mail.python.org/pipermail/tracker-discuss/attachments/20070616/47e2f35a/attachment.asc From constant.beta at gmail.com Sat Jun 16 14:49:01 2007 From: constant.beta at gmail.com (=?ISO-8859-2?Q?Micha=B3_Kwiatkowski?=) Date: Sat, 16 Jun 2007 14:49:01 +0200 Subject: [Tracker-discuss] List of recently modified issues In-Reply-To: <466F6E19.8080501@v.loewis.de> References: <5e8b0f6b0706041820r53bc6f5crffdb5f8a76534de8@mail.gmail.com> <46664513.90104@v.loewis.de> <5e8b0f6b0706101322o75817fe3t8874e14f6f54b7fb@mail.gmail.com> <466C60EB.5040805@v.loewis.de> <5e8b0f6b0706101349s6f4763a9i9eaedbbc3770d762@mail.gmail.com> <466C6A68.8090706@v.loewis.de> <5e8b0f6b0706101428m41821e5br4dfc986eefd7411f@mail.gmail.com> <5e8b0f6b0706110400y339f723em9e7e4c4d8fe82d57@mail.gmail.com> <5e8b0f6b0706121722w537a95b2yb5859bd4b998426e@mail.gmail.com> <466F6E19.8080501@v.loewis.de> Message-ID: <5e8b0f6b0706160549v366ee198tc1f62d82fa5ad635@mail.gmail.com> On 6/13/07, "Martin v. L?wis" wrote: > > Any chances for including changes_xml_writer.py detector into the main > > Python-tracker repository and deploying on bugs.python.org? > > Please submit a bug report at > > http://psf.upfronthosting.co.za/roundup/meta/ Done: http://psf.upfronthosting.co.za/roundup/meta/issue118 . Cheers, mk From martin at v.loewis.de Sun Jun 17 09:37:16 2007 From: martin at v.loewis.de (=?ISO-8859-15?Q?=22Martin_v=2E_L=F6wis=22?=) Date: Sun, 17 Jun 2007 09:37:16 +0200 Subject: [Tracker-discuss] Metatracker spammed Message-ID: <4674E4AC.30209@v.loewis.de> Can somebody please clean up issue 117 in the metatracker? Thanks, Martin From metatracker at psf.upfronthosting.co.za Sun Jun 17 09:41:20 2007 From: metatracker at psf.upfronthosting.co.za (=?utf-8?q?Martin_v._L=C3=B6wis?=) Date: Sun, 17 Jun 2007 07:41:20 -0000 Subject: [Tracker-discuss] [issue110] Showstopper: sf.net is generating invalid XML Message-ID: <1182066080.58.0.228502652729.issue110@psf.upfronthosting.co.za> Martin v. L?wis added the comment: This problem now seems to be solved, although in a somewhat unsatisfying manner. SF has a new exporter; the URL for Python is http://sourceforge.net/export/xml_export2.php?group_id=5470 This exporter seems to work fine. I put a demo export at http://svn.python.org/snapshots/tracker-20070617.xml.bz2 The bad news is that this uses a different schema (not matching the DOCTYPE declaration that they put into the document). I like the new schema more as it is more xml-ish, and should be easier to process, however, it requires the importer to be updated. Erik, are you willing to update the importer? _______________________________________________________ Meta Tracker _______________________________________________________ From pfdubois at gmail.com Sun Jun 17 19:38:11 2007 From: pfdubois at gmail.com (Paul Dubois) Date: Sun, 17 Jun 2007 10:38:11 -0700 Subject: [Tracker-discuss] Metatracker spammed In-Reply-To: <4674E4AC.30209@v.loewis.de> References: <4674E4AC.30209@v.loewis.de> Message-ID: Done. The user name posting the spam was Peter Funk and he had a low 'serial' number, not a new user, and his user record even gives his phone number. I don't know this person but I didn't delete his user account yet until I had a chance to ask if this is a legit person. On 6/17/07, "Martin v. L?wis" wrote: > > Can somebody please clean up issue 117 in the metatracker? > > Thanks, > Martin > _______________________________________________ > Tracker-discuss mailing list > Tracker-discuss at python.org > http://mail.python.org/mailman/listinfo/tracker-discuss > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/tracker-discuss/attachments/20070617/a8fdf560/attachment.html From brett at python.org Sun Jun 17 19:47:57 2007 From: brett at python.org (Brett Cannon) Date: Sun, 17 Jun 2007 10:47:57 -0700 Subject: [Tracker-discuss] Metatracker spammed In-Reply-To: References: <4674E4AC.30209@v.loewis.de> Message-ID: On 6/17/07, Paul Dubois wrote: > > Done. The user name posting the spam was Peter Funk and he had a low > 'serial' number, not a new user, and his user record even gives his phone > number. I don't know this person but I didn't delete his user account yet > until I had a chance to ask if this is a legit person. I have never heard of him. -Brett On 6/17/07, "Martin v. L?wis" wrote: > > > > Can somebody please clean up issue 117 in the metatracker? > > > > Thanks, > > Martin > > _______________________________________________ > > Tracker-discuss mailing list > > Tracker-discuss at python.org > > http://mail.python.org/mailman/listinfo/tracker-discuss > > > > > _______________________________________________ > Tracker-discuss mailing list > Tracker-discuss at python.org > http://mail.python.org/mailman/listinfo/tracker-discuss > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/tracker-discuss/attachments/20070617/69496497/attachment.htm From martin at v.loewis.de Sun Jun 17 19:59:55 2007 From: martin at v.loewis.de (=?UTF-8?B?Ik1hcnRpbiB2LiBMw7Z3aXMi?=) Date: Sun, 17 Jun 2007 19:59:55 +0200 Subject: [Tracker-discuss] Metatracker spammed In-Reply-To: References: <4674E4AC.30209@v.loewis.de> Message-ID: <4675769B.6060305@v.loewis.de> On 6/17/07, *Paul Dubois* > wrote: > > Done. The user name posting the spam was Peter Funk and he had a low > 'serial' number, not a new user, and his user record even gives his > phone number. I don't know this person but I didn't delete his user > account yet until I had a chance to ask if this is a legit person. > > > > I have never heard of him. I did: http://www.python.org/community/sigs/current/i18n-sig/ http://mail.python.org/pipermail/python-list/2000-January/020449.html http://mail.python.org/pipermail/python-dev/2000-March/002908.html http://www.python.org/dev/summary/2000-12-1.html So I think we should try to find out how he thinks this posting was made. Regards, Martin From metatracker at psf.upfronthosting.co.za Sun Jun 17 20:47:14 2007 From: metatracker at psf.upfronthosting.co.za (Erik Forsberg) Date: Sun, 17 Jun 2007 18:47:14 -0000 Subject: [Tracker-discuss] [issue110] Showstopper: sf.net is generating invalid XML In-Reply-To: <1182066080.58.0.228502652729.issue110@psf.upfronthosting.co.za> (Martin v. Löwis's message of "Sun, 17 Jun 2007 07:41:20 -0000") Message-ID: <871wgaa05v.fsf@uterus.efod.se> Erik Forsberg added the comment: "Martin v. L?wis" writes: > Erik, are you willing to update the importer? I'll take a look. \EF -- Erik Forsberg http://efod.se GPG/PGP Key: 1024D/0BAC89D9 _______________________________________________________ Meta Tracker _______________________________________________________ From metatracker at psf.upfronthosting.co.za Sat Jun 23 12:05:01 2007 From: metatracker at psf.upfronthosting.co.za (Erik Forsberg) Date: Sat, 23 Jun 2007 10:05:01 -0000 Subject: [Tracker-discuss] [issue110] Showstopper: sf.net is generating invalid XML In-Reply-To: <1182066080.58.0.228502652729.issue110@psf.upfronthosting.co.za> Message-ID: <467CF048.8030306@efod.se> Erik Forsberg added the comment: Hmm.. from where did you get this information? I'm a bit confused, because https://sourceforge.net/tracker/?func=detail&atid=200001&aid=1687916&group_id=1 got a comment one day after your mail, with information that the feature will be available after 2007-07-10. The fact that the exported xml says: "This feature has been launched as of 2004-09-27 on SourceForge.net as an Early Release feature for SourceForge.net site subscribers." ..is also rather confusing. 2004? That's three years ago.. Also, the tracker comment doesn't say anything about any format changes. That might of course be a mistake from their side. Did you get this a some kind of pre-release because of your premium subscriber status? I'm just a little bit worried that I'm now putting time on rewriting the importer to understand a format that is not relevant after 2007-07-10, or that an export with the old format might be available after 2007-07-10, which would mean that rewriting the importer is not neccesary. Regards, \EF _______________________________________________________ Meta Tracker _______________________________________________________ From metatracker at psf.upfronthosting.co.za Sat Jun 23 13:21:54 2007 From: metatracker at psf.upfronthosting.co.za (=?utf-8?q?Martin_v._L=C3=B6wis?=) Date: Sat, 23 Jun 2007 11:21:54 -0000 Subject: [Tracker-discuss] [issue110] Showstopper: sf.net is generating invalid XML In-Reply-To: <467CF048.8030306@efod.se> Message-ID: <467D0250.3050204@v.loewis.de> Martin v. L?wis added the comment: > Did you get this a some kind of pre-release because of your premium > subscriber status? I'm just a little bit worried that I'm now putting > time on rewriting the importer to understand a format that is not > relevant after 2007-07-10, or that an export with the old format might > be available after 2007-07-10, which would mean that rewriting the > importer is not neccesary. No: Guido van Rossum talked to Jeff Bates (of SF), and he suggested that we can try this exporter. He mentioned it as a "social issue" that we were apparently not aware of that importer. I will ask him specifically how that relates to the change announced in the bug report. Regards, Martin _______________________________________________________ Meta Tracker _______________________________________________________ From martin at v.loewis.de Sat Jun 23 13:21:52 2007 From: martin at v.loewis.de (=?ISO-8859-1?Q?=22Martin_v=2E_L=F6wis=22?=) Date: Sat, 23 Jun 2007 13:21:52 +0200 Subject: [Tracker-discuss] [issue110] Showstopper: sf.net is generating invalid XML In-Reply-To: <467CF048.8030306@efod.se> References: <467CF048.8030306@efod.se> Message-ID: <467D0250.3050204@v.loewis.de> > Did you get this a some kind of pre-release because of your premium > subscriber status? I'm just a little bit worried that I'm now putting > time on rewriting the importer to understand a format that is not > relevant after 2007-07-10, or that an export with the old format might > be available after 2007-07-10, which would mean that rewriting the > importer is not neccesary. No: Guido van Rossum talked to Jeff Bates (of SF), and he suggested that we can try this exporter. He mentioned it as a "social issue" that we were apparently not aware of that importer. I will ask him specifically how that relates to the change announced in the bug report. Regards, Martin From metatracker at psf.upfronthosting.co.za Mon Jun 25 20:32:02 2007 From: metatracker at psf.upfronthosting.co.za (Erik Forsberg) Date: Mon, 25 Jun 2007 18:32:02 -0000 Subject: [Tracker-discuss] [issue110] Showstopper: sf.net is generating invalid XML In-Reply-To: <467D0250.3050204@v.loewis.de> (Martin v. Löwis's message of "Sat, 23 Jun 2007 11:21:54 -0000") Message-ID: <87lke7opgj.fsf@uterus.efod.se> Erik Forsberg added the comment: "Martin v. L?wis" writes: > I will ask him specifically how that relates to the change announced > in the bug report. "Ross David Turk" confirms in a comment on https://sourceforge.net/tracker/?func=detail&atid=200001&aid=1687916&group_id=1 that there's a new format which makes a rewrite neccesary :-(. Well, at least now I'm sure that I'm not doing any unneccesary work. \EF -- Erik Forsberg http://efod.se GPG/PGP Key: 1024D/0BAC89D9 _______________________________________________________ Meta Tracker _______________________________________________________ From brett at python.org Mon Jun 25 23:02:24 2007 From: brett at python.org (Brett Cannon) Date: Mon, 25 Jun 2007 14:02:24 -0700 Subject: [Tracker-discuss] [issue110] Showstopper: sf.net is generating invalid XML In-Reply-To: <87lke7opgj.fsf@uterus.efod.se> References: <467D0250.3050204@v.loewis.de> <87lke7opgj.fsf@uterus.efod.se> Message-ID: On 6/25/07, Erik Forsberg wrote: > > Erik Forsberg added the comment: > > "Martin v. L?wis" writes: > > > I will ask him specifically how that relates to the change announced > > in the bug report. > > "Ross David Turk" confirms in a comment on > https://sourceforge.net/tracker/?func=detail&atid=200001&aid=1687916&group_id=1 that there's a new format which makes a rewrite neccesary :-(. > > Well, at least now I'm sure that I'm not doing any unneccesary work. > Yeah, sorry about this, Erik. Wish this wasn't happening. Obviously if you need help just speak up and maybe someone can. But you should probably wait until the final fix is pushed to the live site in case they change something between now and then. Plus you should have an actual DTD to work with. -Brett From metatracker at psf.upfronthosting.co.za Mon Jun 25 23:02:28 2007 From: metatracker at psf.upfronthosting.co.za (Brett C.) Date: Mon, 25 Jun 2007 21:02:28 -0000 Subject: [Tracker-discuss] [issue110] Showstopper: sf.net is generating invalid XML In-Reply-To: <87lke7opgj.fsf@uterus.efod.se> Message-ID: Brett C. added the comment: On 6/25/07, Erik Forsberg wrote: > > Erik Forsberg added the comment: > > "Martin v. L?wis" writes: > > > I will ask him specifically how that relates to the change announced > > in the bug report. > > "Ross David Turk" confirms in a comment on > https://sourceforge.net/tracker/?func=detail&atid=200001&aid=1687916&group_id=1 that there's a new format which makes a rewrite neccesary :-(. > > Well, at least now I'm sure that I'm not doing any unneccesary work. > Yeah, sorry about this, Erik. Wish this wasn't happening. Obviously if you need help just speak up and maybe someone can. But you should probably wait until the final fix is pushed to the live site in case they change something between now and then. Plus you should have an actual DTD to work with. -Brett _______________________________________________________ Meta Tracker _______________________________________________________ From skip at pobox.com Wed Jun 27 02:29:28 2007 From: skip at pobox.com (skip at pobox.com) Date: Tue, 26 Jun 2007 19:29:28 -0500 Subject: [Tracker-discuss] spam auditor checked in In-Reply-To: <18032.36560.979687.363972@montanaro.dyndns.org> References: <18028.7288.172843.721394@montanaro.dyndns.org> <1181721411.10879.7.camel@localhost.localdomain> <18032.5257.477481.918007@montanaro.dyndns.org> <467022C4.5090801@upfrontsystems.co.za> <18032.36560.979687.363972@montanaro.dyndns.org> Message-ID: <18049.44904.231296.641649@montanaro.dyndns.org> >>> It's only available from the SpamBayes CVS repository at the moment, >>> so you'll have to check that out: Izak> Perhaps I can debianise it and you can roll the changes into Izak> upstream? skip> Sorry, I don't know what you're referring to. What we (the skip> SpamBayes team) need to do is cut a new release. If that includes skip> a Debian distribution of some sort all the better, but I have no skip> idea how to generate that. I released SpamBayes 1.1a4 yesterday. You can get the tar.gz distro and signature files here: http://spambayes.sourceforge.net/download.html My public key is here: http://www.webfast.com/~skip/pgpkey.txt I've not done an actual signed release before, so hopefully I didn't screw up anything using GPG to generate the signature files. Skip