Я программирую IRC и XMPP бот, который должен преобразовывать введенные пользователем данные в имя файла.Я уже написал функцию для этого.Достаточно ли это нормально?
Вот код:
allowednamechars = string.ascii_letters + string.digits + '_+/$.-'
def stripname(name, allowed=""):
""" strip all not allowed chars from name. """
n = name.replace(os.sep, '+')
n = n.replace("@", '+')
n = n.replace("#", '-')
n = n.replace("!", '.')
res = u""
for c in n:
if ord(c) < 31: continue
elif c in allowednamechars + allowed: res += c
else: res += "-" + str(ord(c))
return res
Это белый список с дополнительным кодом для удаления управляющих символов и замены os.sep, а также некоторые повторы для создания имени файла Google App Engine совместимый.
Этот бот находится на http://jsonbot.googlecode.com.
Так что вы думаете об этом?