|
15 | 15 | # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE, |
16 | 16 | # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. |
17 | 17 | # |
18 | | -# $Id: hyperdb.py,v 1.16 2001-08-15 23:43:18 richard Exp $ |
| 18 | +# $Id: hyperdb.py,v 1.17 2001-08-16 06:59:58 richard Exp $ |
19 | 19 |
|
20 | 20 | # standard python modules |
21 | 21 | import cPickle, re, string |
@@ -571,20 +571,7 @@ def filter(self, filterspec, sort, group, num_re = re.compile('^\d+$')): |
571 | 571 | # simple glob searching |
572 | 572 | v = v.replace('?', '.') |
573 | 573 | v = v.replace('*', '.*?') |
574 | | - v = re.compile(v) |
575 | | - l.append((2, k, v)) |
576 | | - elif v[0] == '^': |
577 | | - # start-anchored |
578 | | - if v[-1] == '$': |
579 | | - # _and_ end-anchored |
580 | | - l.append((6, k, v[1:-1])) |
581 | | - l.append((3, k, v[1:])) |
582 | | - elif v[-1] == '$': |
583 | | - # end-anchored |
584 | | - l.append((4, k, v[:-1])) |
585 | | - else: |
586 | | - # substring |
587 | | - l.append((5, k, v)) |
| 574 | + l.append((2, k, re.compile(v, re.I))) |
588 | 575 | else: |
589 | 576 | l.append((6, k, v)) |
590 | 577 | filterspec = l |
@@ -615,15 +602,15 @@ def filter(self, filterspec, sort, group, num_re = re.compile('^\d+$')): |
615 | 602 | elif t == 2 and not v.search(node[k]): |
616 | 603 | # RE search |
617 | 604 | break |
618 | | - elif t == 3 and node[k][:len(v)] != v: |
619 | | - # start anchored |
620 | | - break |
621 | | - elif t == 4 and node[k][-len(v):] != v: |
622 | | - # end anchored |
623 | | - break |
624 | | - elif t == 5 and node[k].find(v) == -1: |
625 | | - # substring search |
626 | | - break |
| 605 | +# elif t == 3 and node[k][:len(v)] != v: |
| 606 | +# # start anchored |
| 607 | +# break |
| 608 | +# elif t == 4 and node[k][-len(v):] != v: |
| 609 | +# # end anchored |
| 610 | +# break |
| 611 | +# elif t == 5 and node[k].find(v) == -1: |
| 612 | +# # substring search |
| 613 | +# break |
627 | 614 | elif t == 6 and node[k] != v: |
628 | 615 | # straight value comparison for the other types |
629 | 616 | break |
@@ -807,6 +794,10 @@ def Choice(name, *options): |
807 | 794 |
|
808 | 795 | # |
809 | 796 | # $Log: not supported by cvs2svn $ |
| 797 | +# Revision 1.16 2001/08/15 23:43:18 richard |
| 798 | +# Fixed some isFooTypes that I missed. |
| 799 | +# Refactored some code in the CGI code. |
| 800 | +# |
810 | 801 | # Revision 1.15 2001/08/12 06:32:36 richard |
811 | 802 | # using isinstance(blah, Foo) now instead of isFooType |
812 | 803 | # |
|
0 commit comments