Mercurial > p > roundup > code
comparison roundup/roundupdb.py @ 1090:9b910e8d987d
removed Log
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Tue, 10 Sep 2002 00:19:55 +0000 |
| parents | 502a5ae11cc5 |
| children | 711f2ecee20f |
comparison
equal
deleted
inserted
replaced
| 1089:43ab730ee194 | 1090:9b910e8d987d |
|---|---|
| 13 # BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS | 13 # BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
| 14 # FOR A PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS" | 14 # FOR A PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS" |
| 15 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE, | 15 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE, |
| 16 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. | 16 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. |
| 17 # | 17 # |
| 18 # $Id: roundupdb.py,v 1.63 2002-07-26 08:26:59 richard Exp $ | 18 # $Id: roundupdb.py,v 1.64 2002-09-10 00:18:20 richard Exp $ |
| 19 | 19 |
| 20 __doc__ = """ | 20 __doc__ = """ |
| 21 Extending hyperdb with types specific to issue-tracking. | 21 Extending hyperdb with types specific to issue-tracking. |
| 22 """ | 22 """ |
| 23 | 23 |
| 422 if m: | 422 if m: |
| 423 m.insert(0, '----------') | 423 m.insert(0, '----------') |
| 424 m.insert(0, '') | 424 m.insert(0, '') |
| 425 return '\n'.join(m) | 425 return '\n'.join(m) |
| 426 | 426 |
| 427 # | |
| 428 # $Log: not supported by cvs2svn $ | |
| 429 # Revision 1.62 2002/07/14 02:05:53 richard | |
| 430 # . all storage-specific code (ie. backend) is now implemented by the backends | |
| 431 # | |
| 432 # Revision 1.61 2002/07/09 04:19:09 richard | |
| 433 # Added reindex command to roundup-admin. | |
| 434 # Fixed reindex on first access. | |
| 435 # Also fixed reindexing of entries that change. | |
| 436 # | |
| 437 # Revision 1.60 2002/07/09 03:02:52 richard | |
| 438 # More indexer work: | |
| 439 # - all String properties may now be indexed too. Currently there's a bit of | |
| 440 # "issue" specific code in the actual searching which needs to be | |
| 441 # addressed. In a nutshell: | |
| 442 # + pass 'indexme="yes"' as a String() property initialisation arg, eg: | |
| 443 # file = FileClass(db, "file", name=String(), type=String(), | |
| 444 # comment=String(indexme="yes")) | |
| 445 # + the comment will then be indexed and be searchable, with the results | |
| 446 # related back to the issue that the file is linked to | |
| 447 # - as a result of this work, the FileClass has a default MIME type that may | |
| 448 # be overridden in a subclass, or by the use of a "type" property as is | |
| 449 # done in the default templates. | |
| 450 # - the regeneration of the indexes (if necessary) is done once the schema is | |
| 451 # set up in the dbinit. | |
| 452 # | |
| 453 # Revision 1.59 2002/06/18 03:55:25 dman13 | |
| 454 # Fixed name/address display problem introduced by an earlier change. | |
| 455 # (instead of "name<addr>" display "name <addr>") | |
| 456 # | |
| 457 # Revision 1.58 2002/06/16 01:05:15 dman13 | |
| 458 # Removed temporary workaround -- it seems it was a bug in the | |
| 459 # nosyreaction detector in the 0.4.1 extended template and has already | |
| 460 # been fixed in CVS. We'll see. | |
| 461 # | |
| 462 # Revision 1.57 2002/06/15 15:49:29 dman13 | |
| 463 # Use 'email' instead of 'rfc822', if available. | |
| 464 # Don't use isinstance() on a string (not allowed in python 2.1). | |
| 465 # Return an error message instead of crashing if 'oldvalues' isn't a | |
| 466 # dict (in generateChangeNote). | |
| 467 # | |
| 468 # Revision 1.56 2002/06/14 03:54:21 dman13 | |
| 469 # #565992 ] if ISSUE_TRACKER_WEB doesn't have the trailing '/', add it | |
| 470 # | |
| 471 # use the rfc822 module to ensure that every (oddball) email address and | |
| 472 # real-name is properly quoted | |
| 473 # | |
| 474 # Revision 1.55 2002/06/11 04:58:07 richard | |
| 475 # detabbing | |
| 476 # | |
| 477 # Revision 1.54 2002/05/29 01:16:17 richard | |
| 478 # Sorry about this huge checkin! It's fixing a lot of related stuff in one go | |
| 479 # though. | |
| 480 # | |
| 481 # . #541941 ] changing multilink properties by mail | |
| 482 # . #526730 ] search for messages capability | |
| 483 # . #505180 ] split MailGW.handle_Message | |
| 484 # - also changed cgi client since it was duplicating the functionality | |
| 485 # . build htmlbase if tests are run using CVS checkout (removed note from | |
| 486 # installation.txt) | |
| 487 # . don't create an empty message on email issue creation if the email is empty | |
| 488 # | |
| 489 # Revision 1.53 2002/05/25 07:16:24 rochecompaan | |
| 490 # Merged search_indexing-branch with HEAD | |
| 491 # | |
| 492 # Revision 1.52 2002/05/15 03:27:16 richard | |
| 493 # . fixed SCRIPT_NAME in ZRoundup for instances not at top level of Zope | |
| 494 # (thanks dman) | |
| 495 # . fixed some sorting issues that were breaking some unit tests under py2.2 | |
| 496 # . mailgw test output dir was confusing the init test (but only on 2.2 *shrug*) | |
| 497 # | |
| 498 # fixed bug in the init unit test that meant only the bsddb test ran if it | |
| 499 # could (it clobbered the anydbm test) | |
| 500 # | |
| 501 # Revision 1.51 2002/04/08 03:46:42 richard | |
| 502 # make it work | |
| 503 # | |
| 504 # Revision 1.50 2002/04/08 03:40:31 richard | |
| 505 # . added a "detectors" directory for people to put their useful auditors and | |
| 506 # reactors in. Note - the roundupdb.IssueClass.sendmessage method has been | |
| 507 # split and renamed "nosymessage" specifically for things like the nosy | |
| 508 # reactor, and "send_message" which just sends the message. | |
| 509 # | |
| 510 # The initial detector is one that we'll be using here at ekit - it bounces new | |
| 511 # issue messages to a team address. | |
| 512 # | |
| 513 # Revision 1.49.2.1 2002/04/19 19:54:42 rochecompaan | |
| 514 # cgi_client.py | |
| 515 # removed search link for the time being | |
| 516 # moved rendering of matches to htmltemplate | |
| 517 # hyperdb.py | |
| 518 # filtering of nodes on full text search incorporated in filter method | |
| 519 # roundupdb.py | |
| 520 # added paramater to call of filter method | |
| 521 # roundup_indexer.py | |
| 522 # added search method to RoundupIndexer class | |
| 523 # | |
| 524 # Revision 1.49 2002/03/19 06:41:49 richard | |
| 525 # Faster, easier, less mess ;) | |
| 526 # | |
| 527 # Revision 1.48 2002/03/18 18:32:00 rochecompaan | |
| 528 # All messages sent to the nosy list are now encoded as quoted-printable. | |
| 529 # | |
| 530 # Revision 1.47 2002/02/27 03:16:02 richard | |
| 531 # Fixed a couple of dodgy bits found by pychekcer. | |
| 532 # | |
| 533 # Revision 1.46 2002/02/25 14:22:59 grubert | |
| 534 # . roundup db: catch only IOError in getfile. | |
| 535 # | |
| 536 # Revision 1.44 2002/02/15 07:08:44 richard | |
| 537 # . Alternate email addresses are now available for users. See the MIGRATION | |
| 538 # file for info on how to activate the feature. | |
| 539 # | |
| 540 # Revision 1.43 2002/02/14 22:33:15 richard | |
| 541 # . Added a uniquely Roundup header to email, "X-Roundup-Name" | |
| 542 # | |
| 543 # Revision 1.42 2002/01/21 09:55:14 rochecompaan | |
| 544 # Properties in change note are now sorted | |
| 545 # | |
| 546 # Revision 1.41 2002/01/15 00:12:40 richard | |
| 547 # #503340 ] creating issue with [asignedto=p.ohly] | |
| 548 # | |
| 549 # Revision 1.40 2002/01/14 22:21:38 richard | |
| 550 # #503353 ] setting properties in initial email | |
| 551 # | |
| 552 # Revision 1.39 2002/01/14 02:20:15 richard | |
| 553 # . changed all config accesses so they access either the instance or the | |
| 554 # config attriubute on the db. This means that all config is obtained from | |
| 555 # instance_config instead of the mish-mash of classes. This will make | |
| 556 # switching to a ConfigParser setup easier too, I hope. | |
| 557 # | |
| 558 # At a minimum, this makes migration a _little_ easier (a lot easier in the | |
| 559 # 0.5.0 switch, I hope!) | |
| 560 # | |
| 561 # Revision 1.38 2002/01/10 05:57:45 richard | |
| 562 # namespace clobberation | |
| 563 # | |
| 564 # Revision 1.37 2002/01/08 04:12:05 richard | |
| 565 # Changed message-id format to "<%s.%s.%s%s@%s>" so it complies with RFC822 | |
| 566 # | |
| 567 # Revision 1.36 2002/01/02 02:31:38 richard | |
| 568 # Sorry for the huge checkin message - I was only intending to implement #496356 | |
| 569 # but I found a number of places where things had been broken by transactions: | |
| 570 # . modified ROUNDUPDBSENDMAILDEBUG to be SENDMAILDEBUG and hold a filename | |
| 571 # for _all_ roundup-generated smtp messages to be sent to. | |
| 572 # . the transaction cache had broken the roundupdb.Class set() reactors | |
| 573 # . newly-created author users in the mailgw weren't being committed to the db | |
| 574 # | |
| 575 # Stuff that made it into CHANGES.txt (ie. the stuff I was actually working | |
| 576 # on when I found that stuff :): | |
| 577 # . #496356 ] Use threading in messages | |
| 578 # . detectors were being registered multiple times | |
| 579 # . added tests for mailgw | |
| 580 # . much better attaching of erroneous messages in the mail gateway | |
| 581 # | |
| 582 # Revision 1.35 2001/12/20 15:43:01 rochecompaan | |
| 583 # Features added: | |
| 584 # . Multilink properties are now displayed as comma separated values in | |
| 585 # a textbox | |
| 586 # . The add user link is now only visible to the admin user | |
| 587 # . Modified the mail gateway to reject submissions from unknown | |
| 588 # addresses if ANONYMOUS_ACCESS is denied | |
| 589 # | |
| 590 # Revision 1.34 2001/12/17 03:52:48 richard | |
| 591 # Implemented file store rollback. As a bonus, the hyperdb is now capable of | |
| 592 # storing more than one file per node - if a property name is supplied, | |
| 593 # the file is called designator.property. | |
| 594 # I decided not to migrate the existing files stored over to the new naming | |
| 595 # scheme - the FileClass just doesn't specify the property name. | |
| 596 # | |
| 597 # Revision 1.33 2001/12/16 10:53:37 richard | |
| 598 # take a copy of the node dict so that the subsequent set | |
| 599 # operation doesn't modify the oldvalues structure | |
| 600 # | |
| 601 # Revision 1.32 2001/12/15 23:48:35 richard | |
| 602 # Added ROUNDUPDBSENDMAILDEBUG so one can test the sendmail method without | |
| 603 # actually sending mail :) | |
| 604 # | |
| 605 # Revision 1.31 2001/12/15 19:24:39 rochecompaan | |
| 606 # . Modified cgi interface to change properties only once all changes are | |
| 607 # collected, files created and messages generated. | |
| 608 # . Moved generation of change note to nosyreactors. | |
| 609 # . We now check for changes to "assignedto" to ensure it's added to the | |
| 610 # nosy list. | |
| 611 # | |
| 612 # Revision 1.30 2001/12/12 21:47:45 richard | |
| 613 # . Message author's name appears in From: instead of roundup instance name | |
| 614 # (which still appears in the Reply-To:) | |
| 615 # . envelope-from is now set to the roundup-admin and not roundup itself so | |
| 616 # delivery reports aren't sent to roundup (thanks Patrick Ohly) | |
| 617 # | |
| 618 # Revision 1.29 2001/12/11 04:50:49 richard | |
| 619 # fixed the order of the blank line and '-------' line | |
| 620 # | |
| 621 # Revision 1.28 2001/12/10 22:20:01 richard | |
| 622 # Enabled transaction support in the bsddb backend. It uses the anydbm code | |
| 623 # where possible, only replacing methods where the db is opened (it uses the | |
| 624 # btree opener specifically.) | |
| 625 # Also cleaned up some change note generation. | |
| 626 # Made the backends package work with pydoc too. | |
| 627 # | |
| 628 # Revision 1.27 2001/12/10 21:02:53 richard | |
| 629 # only insert the -------- change note marker if there is a change note | |
| 630 # | |
| 631 # Revision 1.26 2001/12/05 14:26:44 rochecompaan | |
| 632 # Removed generation of change note from "sendmessage" in roundupdb.py. | |
| 633 # The change note is now generated when the message is created. | |
| 634 # | |
| 635 # Revision 1.25 2001/11/30 20:28:10 rochecompaan | |
| 636 # Property changes are now completely traceable, whether changes are | |
| 637 # made through the web or by email | |
| 638 # | |
| 639 # Revision 1.24 2001/11/30 11:29:04 rochecompaan | |
| 640 # Property changes are now listed in emails generated by Roundup | |
| 641 # | |
| 642 # Revision 1.23 2001/11/27 03:17:13 richard | |
| 643 # oops | |
| 644 # | |
| 645 # Revision 1.22 2001/11/27 03:00:50 richard | |
| 646 # couple of bugfixes from latest patch integration | |
| 647 # | |
| 648 # Revision 1.21 2001/11/26 22:55:56 richard | |
| 649 # Feature: | |
| 650 # . Added INSTANCE_NAME to configuration - used in web and email to identify | |
| 651 # the instance. | |
| 652 # . Added EMAIL_SIGNATURE_POSITION to indicate where to place the roundup | |
| 653 # signature info in e-mails. | |
| 654 # . Some more flexibility in the mail gateway and more error handling. | |
| 655 # . Login now takes you to the page you back to the were denied access to. | |
| 656 # | |
| 657 # Fixed: | |
| 658 # . Lots of bugs, thanks Roché and others on the devel mailing list! | |
| 659 # | |
| 660 # Revision 1.20 2001/11/25 10:11:14 jhermann | |
| 661 # Typo fix | |
| 662 # | |
| 663 # Revision 1.19 2001/11/22 15:46:42 jhermann | |
| 664 # Added module docstrings to all modules. | |
| 665 # | |
| 666 # Revision 1.18 2001/11/15 10:36:17 richard | |
| 667 # . incorporated patch from Roch'e Compaan implementing attachments in nosy | |
| 668 # e-mail | |
| 669 # | |
| 670 # Revision 1.17 2001/11/12 22:01:06 richard | |
| 671 # Fixed issues with nosy reaction and author copies. | |
| 672 # | |
| 673 # Revision 1.16 2001/10/30 00:54:45 richard | |
| 674 # Features: | |
| 675 # . #467129 ] Lossage when username=e-mail-address | |
| 676 # . #473123 ] Change message generation for author | |
| 677 # . MailGW now moves 'resolved' to 'chatting' on receiving e-mail for an issue. | |
| 678 # | |
| 679 # Revision 1.15 2001/10/23 01:00:18 richard | |
| 680 # Re-enabled login and registration access after lopping them off via | |
| 681 # disabling access for anonymous users. | |
| 682 # Major re-org of the htmltemplate code, cleaning it up significantly. Fixed | |
| 683 # a couple of bugs while I was there. Probably introduced a couple, but | |
| 684 # things seem to work OK at the moment. | |
| 685 # | |
| 686 # Revision 1.14 2001/10/21 07:26:35 richard | |
| 687 # feature #473127: Filenames. I modified the file.index and htmltemplate | |
| 688 # source so that the filename is used in the link and the creation | |
| 689 # information is displayed. | |
| 690 # | |
| 691 # Revision 1.13 2001/10/21 00:45:15 richard | |
| 692 # Added author identification to e-mail messages from roundup. | |
| 693 # | |
| 694 # Revision 1.12 2001/10/04 02:16:15 richard | |
| 695 # Forgot to pass the protected flag down *sigh*. | |
| 696 # | |
| 697 # Revision 1.11 2001/10/04 02:12:42 richard | |
| 698 # Added nicer command-line item adding: passing no arguments will enter an | |
| 699 # interactive more which asks for each property in turn. While I was at it, I | |
| 700 # fixed an implementation problem WRT the spec - I wasn't raising a | |
| 701 # ValueError if the key property was missing from a create(). Also added a | |
| 702 # protected=boolean argument to getprops() so we can list only the mutable | |
| 703 # properties (defaults to yes, which lists the immutables). | |
| 704 # | |
| 705 # Revision 1.10 2001/08/07 00:24:42 richard | |
| 706 # stupid typo | |
| 707 # | |
| 708 # Revision 1.9 2001/08/07 00:15:51 richard | |
| 709 # Added the copyright/license notice to (nearly) all files at request of | |
| 710 # Bizar Software. | |
| 711 # | |
| 712 # Revision 1.8 2001/08/02 06:38:17 richard | |
| 713 # Roundupdb now appends "mailing list" information to its messages which | |
| 714 # include the e-mail address and web interface address. Templates may | |
| 715 # override this in their db classes to include specific information (support | |
| 716 # instructions, etc). | |
| 717 # | |
| 718 # Revision 1.7 2001/07/30 02:38:31 richard | |
| 719 # get() now has a default arg - for migration only. | |
| 720 # | |
| 721 # Revision 1.6 2001/07/30 00:05:54 richard | |
| 722 # Fixed IssueClass so that superseders links to its classname rather than | |
| 723 # hard-coded to "issue". | |
| 724 # | |
| 725 # Revision 1.5 2001/07/29 07:01:39 richard | |
| 726 # Added vim command to all source so that we don't get no steenkin' tabs :) | |
| 727 # | |
| 728 # Revision 1.4 2001/07/29 04:05:37 richard | |
| 729 # Added the fabricated property "id". | |
| 730 # | |
| 731 # Revision 1.3 2001/07/23 07:14:41 richard | |
| 732 # Moved the database backends off into backends. | |
| 733 # | |
| 734 # Revision 1.2 2001/07/22 12:09:32 richard | |
| 735 # Final commit of Grande Splite | |
| 736 # | |
| 737 # Revision 1.1 2001/07/22 11:58:35 richard | |
| 738 # More Grande Splite | |
| 739 # | |
| 740 # | |
| 741 # vim: set filetype=python ts=4 sw=4 et si | 427 # vim: set filetype=python ts=4 sw=4 et si |
