awesome slugify and unicode
Mark Lawrence
breamoreboy at yahoo.co.uk
Thu Jan 23 08:18:08 EST 2014
On 23/01/2014 10:41, wxjmfauth at gmail.com wrote:
> Le jeudi 23 janvier 2014 10:14:48 UTC+1, Mark Lawrence a écrit :
>> On 23/01/2014 07:18, wxjmfauth at gmail.com wrote:
>>
>>> Le mercredi 22 janvier 2014 20:23:55 UTC+1, Mark Lawrence a écrit :
>>
>>>> I thought this blog might interest some of you
>>
>>>>
>>
>>>> http://pydanny.com/awesome-slugify-human-readable-url-slugs-from-any-string.html
>>
>>>>
>>
>>>> My fellow Pythonistas, ask not what our language can do for you, ask
>>
>>>>
>>
>>>> what you can do for our language.
>>
>>>>
>>
>>>
>>
>>> This is not "unicode", only string manipulations.
>>
>>> The same work could be done with, let say, cp1252.
>>
>>> The difference lies in the repertoires of characters
>>
>>> to be handled.
>>
>>>
>>
>>> A better way is to work with normalization() and/or
>>
>>> with methods like .translate() with dedicated
>>
>>> tables; the hard task being the creation of these tables.
>>
>>>
>>
>>> Shortly, very naive.
>>
>>>
>>
>>> jmf
>>
>>>
>>
>>
>>
>> You'll have to excuse my ignorance of this stuff. How do I express the
>>
>> following in cp1252?
>>
>>
>>
>> def test_musical_notes():
>>
>> txt = "Is ♬ ♫ ♪ ♩ a melody or just noise?"
>>
>> assert slugify(txt) == "Is-a-melody-or-just-noise"
>>
>> assert slugify_unicode(txt) == "Is-a-melody-or-just-noise"
>>
>>
>>
>> --
>>
>> My fellow Pythonistas, ask not what our language can do for you, ask
>>
>> what you can do for our language.
>>
>>
>
> I wrote: The same work could be done with, let say, cp1252.
> Understand: The same work (string manipulation) ...
> Would something like this not be more informative?
>
>>>> "Is ♬ ♫ ♪ ♩ a melody or just noise?".encode('ascii', 'replace').decode('ascii')
> 'Is ? ? ? ? a melody or just noise?'
>>>>
>>>>
>
> cp1252 analogy.
>
>>>> 'abc€€€'.encode('cp1252').decode('ascii', 'replace').encode('ascii', 'replace').decode('ascii')
> 'abc???'
>>>>
>
> Again, not a "unicode" question, more "how to handle strings in a judicious way?"
>
> jmf
>
Now I'm really confused. I thought that the musical notes I've shown
above are represented as unicode characters. So I'd like to see how you
jmf would represent them in cp1252. Instead you give me an example
showing a simple string manipulation which simply strips the characters
that I want to see, then an even simpler example, clearly not what I've
asked for.
--
My fellow Pythonistas, ask not what our language can do for you, ask
what you can do for our language.
Mark Lawrence
More information about the Python-list
mailing list