2009-12-08 15 views
8

Czy ktoś ma opinie lub doświadczenia z Python Selector? Wygląda świetnie, ale jestem trochę zniechęcony jego statusem "Alfa" na Pypi i brakiem testów jednostkowych.Selektor języka Python (biblioteka routingu adresów URL), doświadczenie/opinie?

Najbardziej lubię to proste, samodzielne i czyste WSGI. Wszystkie inne routery URL, które znalazłem, zakładają, że używam django, pylonów, lub wklejam, lub pobierałem wiele innych zależności, lub po prostu nie pozwól mi utworzyć prostego mapowania adresów URL do aplikacji wsgi. Naprawdę, wszystko co chcę zrobić, to:

mapper.add("/regex/{to}/{resource}", my_wsgi_app) 
mapper.add("/another/.*", other_wsgi_app) 
...etc... 

W każdym razie, czy ktoś używał go przed, czy wiedzą o projektach, które mają?

Odpowiedz

8

Używam Selectora od kilku lat i stwierdził, że jest idealnie stabilny. Od co najmniej dwóch lat wynosi ona 0,8.11.

chciałbym wyciągnąć dwa wnioski, że:

  1. To może być w zasadzie unmaintained. Jeśli znajdziesz w nim błąd lub potrzebujesz nowej funkcji, nie liczę na to, że uda mi się skłonić Luke'a Arno do skakania i naprawienia go w pośpiechu (nie mówiąc, że nie, ale domyślam się, że Selector isn jego główny cel w tych dniach). Czy byłbyś w takim razie wygodny w utrzymaniu lokalnego widelca?

  2. Jest prawie kompletny. Problem, który próbuje rozwiązać, zawarty jest w zakresie. To bardzo mała biblioteka bez dużego kodu. Robaki zostały wytrząśnięte i nie można na nich nic zrobić. Myślę, że to główny powód, dla którego od dawna nie był aktualizowany. Zasadniczo to się robi.

Twórcy oprogramowania open source, a zwłaszcza programiści Pythona, mają długą historię (bardzo przesadnie) konserwatywnego podejścia do oznaczania rzeczy jako 1.0. Brak testów jednostkowych może być trochę niepotrzebny, ale znowu jest to mała biblioteka rozwiązująca problem o ograniczonym zakresie. Kod jest krótki i wystarczająco czytelny, aby go przeczytać i przekonać się o jego poprawności.

+0

Dzięki, to właśnie miałem nadzieję usłyszeć! –

6

Czy obejrzałeś werkzeug.routing? Trudno znaleźć coś prostszego, bardziej samodzielnego lub czystszego WSGI niż Werkzeug, ogólnie - jestem całkiem fanem! -)

+0

Być może jestem gęsty, ale w jaki sposób mapa wywołuje aplikację wsgi powiązaną z regułą? Od przeglądania źródła wydaje się, że tworzysz reguły, dodajesz je do mapy, a następnie piszesz własnego dyspozytora dla mapy. –

+0

Tak, na koniec używa się metody 'dispatch' (zazwyczaj z' lambda'), aby pobrać program obsługi z punktu końcowego i wywołać go (http://dev.pocoo.org/projects/werkzeug/wiki/UsingNamedRulesWithWerkzeugRouting ma bardziej elegancka propozycja ;-). –

Powiązane problemy