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

Roundup Issue Tracker: http://roundup-tracker.org/