I saw it the other day, so I can find it again. I just didn't want to be bothered manually updating version numbers all the time. So I was looking to build something more automatic. Oh well. Thanks for your help, anyway.
Ian On Monday, November 20, 2017 at 11:02:56 PM UTC-5, Dave S wrote: > > > > On Monday, November 20, 2017 at 7:04:00 PM UTC-8, Ian W. Scott wrote: >> >> I'm not getting web2py's 404 page because it's not the controller's page >> that isn't found. It's the stylesheet. >> > > Yeah, I just was about to admit I didn't try messing with anything from > static. > > >> So when I view all of the file requests in Chrome's dev tools (network >> tab) I see that the request for the stylesheet has returned 404. The >> requested URL was: >> >> http://127.0.0.1:8000/paideia/static/css/theme.1511232931.css (Paideia >> is the name of the app). >> >> Is that the problem? Does web2py's rewrite system only work for the >> controller functions, but not for static files? >> >> > Well, the default "static file versioning" works for static files, but > I've forgotten where that is handled. > > /dps > > >> On Monday, November 20, 2017 at 9:55:09 PM UTC-5, Dave S wrote: >>> >>> >>> >>> On Monday, November 20, 2017 at 6:02:38 PM UTC-8, Ian W. Scott wrote: >>>> >>>> Yes, that's right. I'm getting a 404 on each file with the added >>>> version string, which must mean that the routes.py isn't pointing the >>>> browser successfully to the real file (without the version string in the >>>> name. >>>> >>>> For clarity's sake, here's the contents of my routes.py with the one >>>> syntax error fixed: >>>> >>>> routes_in = ((r >>>> '.*/static/(?P<subdir>(css|images|audio|js))/(?P<basename>.*)\.[\d]{10}\.(?P<extension>(css|js|ico|png|svg|jpe?g))' >>>> , >>>> r'/static/\g<subdir>/\g<basename>.\g<extension>'), >>>> ) >>>> routes_out = [(x, y) for (y, x) in routes_in] >>>> >>>> I fixed the syntax error, but I'm still getting 404 errors. >>>> >>> >>> >>> Does your 404 page show the URL? The default web2py 404 will show >>> either invalid controller or invalid function, but not invalid application. >>> >>> /dps >>> >>> >>>> On Monday, November 20, 2017 at 8:38:17 PM UTC-5, Dave S wrote: >>>>> >>>>> >>>>> >>>>> On Monday, November 20, 2017 at 9:04:27 AM UTC-8, Ian W. Scott wrote: >>>>>> >>>>>> I'm still wondering if anyone can help with this. I found a minor >>>>>> error in the second member of the routes_in tuple (the period shouldn't >>>>>> be >>>>>> escaped). But it's still not working for me. I used re.sub to confirm >>>>>> that >>>>>> the second member *should be* outputting the right string. So far >>>>>> I'm just testing this on the bundled rocket server, so I don't think >>>>>> there's any issue with server settings. >>>>>> >>>>>> Any help would be much appreciated. >>>>>> >>>>> >>>>> I tried to run the doctests on rewrite.py, but didn't do it right to >>>>> get the gluon imports working. The module doesn't seem >>>>> >>>>> Is the error that you're not getting the files you expect? Are you >>>>> getting a 404 as a result? >>>>> >>>>> /dps >>>>> >>>>> >>>>> >>>>>> >>>>>> On Friday, November 17, 2017 at 10:12:58 AM UTC-5, Ian W. Scott wrote: >>>>>>> >>>>>>> Hi there. I'm dynamically adding version numbers to the filenames >>>>>>> for static assets like css, js, and image files. (These version numbers >>>>>>> aren't actually in the filenames. They're just added to the url in the >>>>>>> <link> and <script> tags that reference them.) So I need to use url >>>>>>> rewriting to remove those version numbers. In other words, if the >>>>>>> browser >>>>>>> looks for >>>>>>> >>>>>>> /static/css/theme.1510773357.css >>>>>>> >>>>>>> it should be served >>>>>>> >>>>>>> /static/css/theme.css >>>>>>> >>>>>>> I've written a routes.py file that I thought would do the trick, but >>>>>>> it's not working. The browser is still giving a 404 error for the file. >>>>>>> >>>>>>> routes_in = ((r >>>>>>> '.*/static/(?P<subdir>(css|images|audio|js))/(?P<basename>.*)\.[\d]{10}\.(?P<extension>(css|js|ico|png|svg|jpe?g))' >>>>>>> , >>>>>>> r'/static/\g<subdir>/\g<basename>\.\g<extension>'), >>>>>>> ) >>>>>>> routes_out = [(x, y) for (y, x) in routes_in] >>>>>>> >>>>>>> Any idea what's wrong? I've confirmed that the first regex in the >>>>>>> pair does match the filename, and that the correct matching groups are >>>>>>> found ({'subdir': 'css', 'basename': 'theme', 'extension': 'css'}). Is >>>>>>> there something wrong with the second string that creates the new path? >>>>>>> >>>>>>> In case anyone is wondering, I'm doing this even though I know about >>>>>>> web2py's built-in versioning system. The app is under constant >>>>>>> incremental >>>>>>> development and I don't want to have to manually change version numbers >>>>>>> every time I push out an update. This approach automatically forces >>>>>>> users >>>>>>> to download the updated file based on its last-modified datetime. >>>>>>> >>>>>>> Thanks, >>>>>>> >>>>>>> Ian >>>>>>> >>>>>> -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.