Jonathan sent me a patch, I merged it with the suggestions above and I am uploading IS_SLUG to trunk.
Massimo On Jan 24, 1:09 pm, Thadeus Burgess <thade...@thadeusb.com> wrote: > I agree with pistacchio. > > agree with you massimo on IS_SLUG for filtering only, if you want to > validate use IS_ALPHANUMERIC. > > -Thadeus > > On Sun, Jan 24, 2010 at 12:39 PM, Jonathan Lundell <jlund...@pobox.com> wrote: > > On Jan 24, 2010, at 9:53 AM, mdipierro wrote: > > >> I do not know about this. What do other people think? > >> I do not have a strong opinion either way. > > > I think that slug is a fairly common term. WordPress uses it, for example. > > > And if we make it a validator (I'm about to submit a patch), it definitely > > can't be IS_URL(). > > >> On Jan 24, 11:34 am, pistacchio <pistacc...@gmail.com> wrote: > >>> I'm ok with slugify, but the reason i chose "urlify" is that slug is > >>> not really a mvc term. It comes from the journalistic jargon and it's > >>> been adopted by the original Django developers that were working on a > >>> framework to build a newspaper site on. > > >>> I don't think that "slug", outside the Django community, is a standard > >>> term to name such url-friendly strings. More often they're referred to > >>> as "pretty urls". > > >>> On 24 Gen, 17:55, Jonathan Lundell <jlund...@pobox.com> wrote: > > >>>> On Jan 24, 2010, at 8:30 AM, mdipierro wrote: > > >>>>> I will take a patch. ;-) > > >>>> I'll contribute one. Any objection to changing the name to "slugify", > >>>> since it's not really urlifying its input? > > >>>>> On Jan 23, 7:03 pm, Jonathan Lundell <jlund...@pobox.com> wrote: > >>>>>> urlify needs a comment to say explicitly what its intention is. That's > >>>>>> partly because it suppresses quite a few characters that are normally > >>>>>> legal in URLs, which is confusing. > > >>>>>> Also, > > >>>>>>> def urlify(s, max_length=80): > >>>>>>> s = s.lower() > >>>>>>> # string normalization, eg è => e, ñ => n > >>>>>>> s = unicodedata.normalize('NFKD', > >>>>>>> s.decode('utf-8')).encode('ASCII', 'ignore') > >>>>>>> # strip entities > >>>>>>> s = re.sub('&\w+;', '', s) > > >>>>>> this should be '&\w+?;' (that is, non-greedy). Otherwise, a string > >>>>>> like '&whatever&' will be completely eliminated. > > >>>>>>> # strip everything but letters, numbers, dashes and spaces > >>>>>>> s = re.sub('[^a-z0-9\-\s]', '', s) > >>>>>>> # replace spaces with dashes > >>>>>>> s = s.replace(' ', '-') > >>>>>>> # strip multiple contiguous dashes > >>>>>>> s = re.sub('-{2,}', '-', s) > >>>>>>> # strip dashes at the beginning and end of the string > >>>>>>> s = s.strip('-') > >>>>>>> # ensure the maximum length > >>>>>>> s = s[:max_length-1] > >>>>>>> return s > > >>>>>> (Stylistically, I think it'd be more readable if the comments were > >>>>>> appended to the relevant code lines.) > > >>>>> -- > >>>>> You received this message because you are subscribed to the Google > >>>>> Groups "web2py-users" group. > >>>>> To post to this group, send email to web...@googlegroups.com. > >>>>> To unsubscribe from this group, send email to > >>>>> web2py+unsubscr...@googlegroups.com. > >>>>> For more options, visit this group > >>>>> athttp://groups.google.com/group/web2py?hl=en. > > >> -- > >> You received this message because you are subscribed to the Google Groups > >> "web2py-users" group. > >> To post to this group, send email to web...@googlegroups.com. > >> To unsubscribe from this group, send email to > >> web2py+unsubscr...@googlegroups.com. > >> For more options, visit this group > >> athttp://groups.google.com/group/web2py?hl=en. > > > -- > > You received this message because you are subscribed to the Google Groups > > "web2py-users" group. > > To post to this group, send email to web...@googlegroups.com. > > To unsubscribe from this group, send email to > > web2py+unsubscr...@googlegroups.com. > > For more options, visit this group > > athttp://groups.google.com/group/web2py?hl=en. > > -- You received this message because you are subscribed to the Google Groups "web2py-users" group. To post to this group, send email to web...@googlegroups.com. To unsubscribe from this group, send email to web2py+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/web2py?hl=en.