@@ -52,37 +52,35 @@ def __init__(
5252
5353 self .static_view_class = static_from (static_folder )
5454 self .add_view (
55- self .static_view_class , f"{ static_url_path } /<path:path>" , endpoint = "static"
56- )
57- self .add_view (
58- self .static_view_class , f"{ static_url_path } " , endpoint = "static_root"
55+ self .static_view_class , f"{ static_url_path } " , f"{ static_url_path } /<path:path>" , endpoint = "static"
5956 )
6057
6158 @property
6259 def views (self ):
6360 return self ._views
6461
65- def add_view (self , view_class , rule , endpoint = None , ** kwargs ):
62+ def add_view (self , view_class , * urls , endpoint = None , ** kwargs ):
6663 # Remove all leading slashes from view route
67- cleaned_rule = rule
68- while cleaned_rule and cleaned_rule [0 ] == "/" :
69- cleaned_rule = cleaned_rule [1 :]
64+ cleaned_urls = list (urls )
65+ for i , cleaned_url in enumerate (cleaned_urls ):
66+ while cleaned_url and cleaned_urls [i ][0 ] == "/" :
67+ cleaned_urls [i ] = cleaned_urls [i ][1 :]
7068
7169 # Expand the rule to include extension name
72- full_rule = "/{}/{}" .format (self ._name_uri_safe , cleaned_rule )
70+ full_urls = [ "/{}/{}" .format (self ._name_uri_safe , cleaned_url ) for cleaned_url in cleaned_urls ]
7371
7472 # Build endpoint if none given
7573 if not endpoint :
7674 endpoint = camel_to_snake (view_class .__name__ )
7775
7876 # Store route information in a dictionary
79- d = {"rule " : full_rule , "view" : view_class , "kwargs" : kwargs }
77+ d = {"urls " : full_urls , "view" : view_class , "kwargs" : kwargs }
8078
8179 # Add view to private views dictionary
8280 self ._views [endpoint ] = d
83- print (self ._views )
8481 # Store the rule expansion information
85- self ._rules [rule ] = self ._views [endpoint ]
82+ for url in urls :
83+ self ._rules [url ] = self ._views [endpoint ]
8684
8785 def on_register (self , function , args = None , kwargs = None ):
8886 if not callable (function ):
0 commit comments