>>> h = ''' ... Greeting 1 ... Hello! World! ... Greeting 2 Bye! ... ''' >>> d = PyQuery(h) >>> d('h2:first').nextUntil('h2') [ , ]
(self, selector, filter_=None)
| 477 | |
| 478 | @with_camel_case_alias |
| 479 | def next_until(self, selector, filter_=None): |
| 480 | """ |
| 481 | >>> h = ''' |
| 482 | ... <h2>Greeting 1</h2> |
| 483 | ... <p>Hello!</p><p>World!</p> |
| 484 | ... <h2>Greeting 2</h2><p>Bye!</p> |
| 485 | ... ''' |
| 486 | >>> d = PyQuery(h) |
| 487 | >>> d('h2:first').nextUntil('h2') |
| 488 | [<p>, <p>] |
| 489 | """ |
| 490 | return self._filter_only( |
| 491 | filter_, [ |
| 492 | e |
| 493 | for q in itertools.takewhile( |
| 494 | lambda q: not q.is_(selector), self.next_all().items()) |
| 495 | for e in q |
| 496 | ] |
| 497 | ) |
| 498 | |
| 499 | def _prev_all(self): |
| 500 | return [e for e in self._traverse('getprevious')] |