Ubuntu One Folder Sync Filter
Я пытаюсь изменить сценарии Python для синхронизации Ubuntu One File, чтобы они не включали такие вещи, как.iso.
Я дошел до поиска этого файла: /usr/share/pyshared/ubuntuone/u1sync/constants.py
Внутри этот кусок кода:
import re
# the name of the directory u1sync uses to keep metadata about a mirror
METADATA_DIR_NAME = u".ubuntuone-sync"
# filenames to ignore
SPECIAL_FILE_RE = re.compile(".*\\.("
"(u1)?partial|part|"
"(u1)?conflict(\\.[0-9]+)?)$")
Как я могу отредактировать этот последний раздел (регулярное выражение?) И заставить его игнорировать файлы.iso??? Я вполне уверен, что это место, чтобы положить это!
Уверен, это стандартное действие Python:)
Любая помощь будет оценена.
Спасибо
Энди
4 ответа
В UbuntuOne действительно должен быть файл.ignore или что-то в этом роде... Я хочу игнорировать множество вещей... .pyc, .blend1 только для начала.
ОБНОВЛЕНИЕ: это имеет - взгляните на:
https://answers.launchpad.net/ubuntuone-client/+question/114731
НАБЛЮДАЙТЕ ОТВЕТ:
Отвечать... .*\\. находится в начале старого шаблона, поэтому заменив:
"(U1)? Конфликт (\.[0-9]+)?)$")
с:
"(U1) конфликт (\ [0-9] +.) |? Изо) $")
Должен сделать это.
Перечисление строк друг за другом в Python просто объединяет их, так что это все одна строка.
Документация по регулярным выражениям для python будет тем местом, где это можно найти.
Для isos вы могли бы просто добавить "|.*\.iso$"
до последней строки.
Регулярное выражение для сопоставления ISO-файлов будет
".*\\.iso$"
Который соответствует чему-либо, заканчивающемуся на ".iso"
Я думаю, вы можете добавить это в качестве еще одной строки в вызове re.compile, но тот, кто знает Python лучше меня, может это подтвердить.
"У вас есть проблема, поэтому вы думаете:" Эй, я просто использую регулярное выражение ". Теперь у вас есть две проблемы"
Вот гораздо более простое решение вашей проблемы:
def shouldIignore(filename):
ext = filename.split('.')[-1] # Get the extension
ignorelist = ('.iso', '.pyc', '.blend1', '.bigfile')
if ext in ignorelist:
return True
return False
А вот и дополнительный бонус - это займет все 3 минуты? расширить это, чтобы получить расширения из файла игнорирования.
НТН