Исправьте строку в программе, которую я выше написал.
Для 7z будет примерно так:
zip_command = "\"c:\program files\7zip\7z.exe\" a -tzip {0} {1}".format(target, ' '.join(source))
Путь может быть другой, имя запускаемой программы я взял в кавычки, кавычки должны быть в константе их нужно экранировать (запись \" - это попытка экранировать кавычки). Как экранировать в питоне я не в курсе - я вообще питон не знаю. Поэтому в таком виде может не заработать. Но если путь к 7z указан в системной переменной PATH, то полный путь можно не писать, а ограничиться только 7z.exe тогда и внутренние кавычки не нужны будут.
И вообще, если вам не принципиально именно создание архива, может выполнить команду dir, например, от этого ценность примера не изменится.
:) В winrar есть утилита rar, но нет zip.
В этой строчке у вас прописана команда архивирования:
zip_command = "zip -qr {0} {1}".format(target, ' '.join(source))
В константе первые буквы zip - это имя вызываемой программы, остальное задает параметры программы.
Напишите там rar, так же укажите путь до него (может он не добавляется в переменную PATH, кто его знает).
Все это, кстати, отношения к питону не имеет. Сам по себе код - правильный.
В tp-linkе zyxel воткнут в LAN, значит правила нужно писать для LAN.
Ну и раз уж включил фаервол, то его нужно настраивать по полной, а то часть настроишь, а остальные ходить не будут.
Результаты работы скрипта можно посмотреть в консоли браузера.
В firefox консоль открывается с помощью Ctrl+Shift+J. В хроме она где-то в меню разработчика. В ишаке ... по моему ее нет по умолчанию, но сообщения от alert вываливаются в окне сообщений, увидите.
В самом скрипте можно выводить отладочные сообщения с помощью: alert("msg");
В целом вы все правильно делаете. Если доменов много, можете запихать их в массив и в цикле проверять, так будет проще поддерживать скрипт. В общем весь стандартный javascript вам в помощь.
И еще - настройте веб сервер, который отдает wpad.dat, чтоб обязательно в ответ добавлялись заголовки, управляющие временем жизни закэшированного браузером wpad.dat (expires), и ставьте не большой интервал жизни (пол часа у меня). Иначе устанете вручную удалять кэши на раб.станциях.
И еще, я когда отлаживал пришлось себе поставить снифер. С помощью него нашел, например, что ишак вместо того что бы искать wpad.mydomain ищет proxy.mydomain и еще кто-то из браузеров периодически не добавляет домен к wpad. В общем тонкости реализации. Микрософтовский Network Monitor вполне не плохо справился.
Ну это вполне естественно - если браузер получил первым адрес, который не доступен (но браузер об этом не знает), то он все равно пытается подключиться по этому адресу и только когда получает отлуп по таймауту подключается по второму адресу.
Если канал не доступен продолжительное время и не известно когда заработает, то есть смысл отредактировать конфиг ДНСа и убрать на время не доступный адрес. Правда есть еще фактор ДНС кэша, который не сразу обновится. Но тут уж вы ничего сделать не можете (ну почти ничего).
Вообще есть смысл повесить некий скрипт, проверяющий доступность каналов и переключающий основной канал, который может менять конфиги ДНСа и перезагружать конфигурацию у ДНС демона.
nonameme: Вылетать мог из-за символов "!", они в некоторых случаях являются спец.символами. Но не в вашем случае. Избегайте в батниках использования спец.символов не по назначению.
А в вашем случае перед pause зачем-то закрывающая скобка, из-за этого и падало.
Скобки - то же спец.символ, особенно закрывающая :)
13 это размер "", т.е. смысл в том, чтобы получить текст внутри тега . Так что прибавить 13 вполне безопасно. Либо попадешь в начало текста, либо в конец, если тег пустой.
А в остальном про кодировки согласен.
Учитывая, что xml может быть в какой-угодно кодировке, логично было бы использовать xml парсер.
Быстрее чем сигвин - да. Но не фантан. Софт собранный с помощью msys/mingw работает раза в 2 медленнее, чем он же, собранный VS. Толи gcc плохо оптимизирует, то ли стандартная библиотека в mingw/gcc такая тормознутая.
Ну скриптом это называть "рука не поднимается".
А что бы вы хотели?
Чтоб программа прочитала ваши мысли и сделала вам хорошо? - пожалуй это из другой оперы.
В netsh есть команда dump - она выдает текущий конфигурационный скрипт. Настраиваете руками конфигурацию, затем выполняете netsh dump >config1.txt и т.д. для всех нужных конфигураций.
Когда нужно сменить конфигурацию выдаете:
netsh -f config1.txt
Доступ имеет не профиль, а пользователь, поэтому иметь будет. Пользователя вы ведь удалять не будете.
И не удаляйте, а переместите или переименуйте, чтобы иметь возможность скопировать информацию в новый профиль.
Не знаю как в доменной среде, а в локальных виндах для того что бы винда поняла что профиля нет нужно удалить раздел в реестре: HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList\
описывающий расположение пользовательского профиля.
Евгений Самсонов: кстати, по поводу внедренной убунты: я че-то не разобрался как из нее попадать во внешний мир, например прочитать/записать файл, который будет виден в винде. Наверное плохо искал, но это из-за того, что уже давненько плотно сижу на msys и подобных заморочек там просто нет.
Святослав: дык ИДЕ упала - файл освободился, значит его можно удалить.
Если файл не освободился, значит процесс ИДЕ все еще висит в памяти и держит его, убейте процесс и удаляйте файл.
В вашей задаче нет более широкого смысла - каждый конкретный случай имеет свои собственные оптимизации, которые не подходят к другим вариантам.
Например про парсер ЯП, то числовые константы, обычно, восьмеричные начинаются на 0, шестнадцатиричные на 0x, остальные десятичные. Таким образом в простейшем случае достаточно проанализировать первые 2 цифры константы и т.д. И эта оптимизации для других примеров не подойдет.
Поэтому пока вы не дадите более полную вводную никто никаких оптимизаций вам не предложит.
Для 7z будет примерно так:
zip_command = "\"c:\program files\7zip\7z.exe\" a -tzip {0} {1}".format(target, ' '.join(source))
Путь может быть другой, имя запускаемой программы я взял в кавычки, кавычки должны быть в константе их нужно экранировать (запись \" - это попытка экранировать кавычки). Как экранировать в питоне я не в курсе - я вообще питон не знаю. Поэтому в таком виде может не заработать. Но если путь к 7z указан в системной переменной PATH, то полный путь можно не писать, а ограничиться только 7z.exe тогда и внутренние кавычки не нужны будут.
И вообще, если вам не принципиально именно создание архива, может выполнить команду dir, например, от этого ценность примера не изменится.