Настройка -> Сортировка

Модератор: motyara

Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Окрашивание файлов

Сообщение Qwertiy » Вт авг 03, 2010 8:51 pm

После добавления шаблонов для групп сортировки возникает вопрос об окрашивании файлов. Логично красить группу, поэтому надеюсь, что в стилях оформления расширения будут также дополнены масками (без использования поисковых запросов). Предлагаю именно дополнить, а не заменить. Всё-таки мне кажется, со временем Вы добавите шаблоны расширений, как более естественный вариант...

PS: Интересно, когда появится соответствующий билд. Или придётся ждать версию 0.97?

Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3123
Зарегистрирован: Пт окт 12, 2007 9:00 pm
Контактная информация:

Сообщение Max Diesel » Ср авг 04, 2010 7:55 am

Qwertiy писал(а):После добавления шаблонов для групп сортировки возникает вопрос об окрашивании файлов. Логично красить группу, поэтому надеюсь, что в стилях оформления расширения будут также дополнены масками (без использования поисковых запросов). Предлагаю именно дополнить, а не заменить. Всё-таки мне кажется, со временем Вы добавите шаблоны расширений, как более естественный вариант...
К сожалению по этому направлению есть проблемы в плане совместимости, ведь если сохранять не расширения а шаблоны, то нужно еще модифицировать скрипты на сайте, которые отвечают за раздачу стилей... то есть "новый" стиль без коррекции не сможет быть воспринят старой версией программы.
Qwertiy писал(а):PS: Интересно, когда появится соответствующий билд. Или придётся ждать версию 0.97?
Будет еще билд текущей версии.

Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Сообщение Qwertiy » Ср авг 04, 2010 1:18 pm

Max Diesel писал(а):К сожалению по этому направлению есть проблемы в плане совместимости, ведь если сохранять не расширения а шаблоны, то нужно еще модифицировать скрипты на сайте, которые отвечают за раздачу стилей... то есть "новый" стиль без коррекции не сможет быть воспринят старой версией программы.
Не очень представляю, как работает эта система, но мне кажется, что можно было бы скопировать скрипт, изменив только его имя и источник стилей... Тогда новые версии будут обращаться к новому скрипту, а старые - к старому. Принцип "Новые стили только достаточно новым версиям" здесь в самый раз.
Немного хуже с отправкой стиля в старом формате, но можно просто периодически запускать конвертор старых стилей в новые.

Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3123
Зарегистрирован: Пт окт 12, 2007 9:00 pm
Контактная информация:

Сообщение Max Diesel » Ср авг 04, 2010 6:51 pm

Qwertiy писал(а):Не очень представляю, как работает эта система, но мне кажется, что можно было бы скопировать скрипт, изменив только его имя и источник стилей... Тогда новые версии будут обращаться к новому скрипту, а старые - к старому. Принцип "Новые стили только достаточно новым версиям" здесь в самый раз.
Получается что и база стилей должна быть отдельной (и, что особенно неприятно, нужно еще и стили вручную отправлять в разные базы, автоматической системы проверки стилей пока что нет и вряд ли появится, ведь алгоритм оценки красивости стиля не так уж прост чтобы можно было его сделать за час). Впрочем над вопросом о расширениях и шаблонах я еще поразмыслю.

Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Сообщение Qwertiy » Ср авг 04, 2010 8:24 pm

Max Diesel писал(а):
Qwertiy писал(а):Не очень представляю, как работает эта система, но мне кажется, что можно было бы скопировать скрипт, изменив только его имя и источник стилей... Тогда новые версии будут обращаться к новому скрипту, а старые - к старому. Принцип "Новые стили только достаточно новым версиям" здесь в самый раз.
Получается что и база стилей должна быть отдельной (и, что особенно неприятно, нужно еще и стили вручную отправлять в разные базы, автоматической системы проверки стилей пока что нет и вряд ли появится, ведь алгоритм оценки красивости стиля не так уж прост чтобы можно было его сделать за час). Впрочем над вопросом о расширениях и шаблонах я еще поразмыслю.
Такое ощущение, что Вы опять не поняли мою идею...
Насколько я понял, после нажатия на кнопку Скачать/Закачать, выполняется некоторый скрипт на сайте. Если просто добавить точно такие же скрипты, но с обращением к другому источнику стилей, то старые версии UC не будут знать о существовании этих скриптов и будут продолжать использовать старые, соответственно при этом все стили будут взяты из старой базы и добавлены в неё же. А новой версии UC не следует знать о существовании старых скриптов, она будет работать с новыми, т. е. обращаться только к новой базе.
Здесь нет никакого "ручного выбора" базы, сама программа (не скрипт) знает только о тех скриптах, которые соответствуют нужному ей формату стилей.
Единственным, что стоит добавить при такой реализации - синхронизацию баз (вероятно, одностороннюю), которую можно проводить по расписанию.

Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3123
Зарегистрирован: Пт окт 12, 2007 9:00 pm
Контактная информация:

Сообщение Max Diesel » Чт авг 05, 2010 12:17 am

Qwertiy писал(а):Здесь нет никакого "ручного выбора" базы, сама программа (не скрипт) знает только о тех скриптах, которые соответствуют нужному ей формату стилей.
Сначала пользователи присылают стили, затем я проверяю стили на корректность (это делается вручную, так как это проще чем написание алгоритма оценки красивости стиля), затем я добавляю стили в базу, лишь после этого скрипт может эти стили раздавать. Соответственно я и должен тогда следить за тем чтобы стиль попал в нужную базу... вот что я имел в виду.

Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Сообщение Qwertiy » Чт авг 05, 2010 1:01 am

Max Diesel писал(а):Сначала пользователи присылают стили, затем я проверяю стили на корректность (это делается вручную, так как это проще чем написание алгоритма оценки красивости стиля), затем я добавляю стили в базу, лишь после этого скрипт может эти стили раздавать. Соответственно я и должен тогда следить за тем чтобы стиль попал в нужную базу... вот что я имел в виду.
Не ожидал... Я считал, что все отправленные стили доступны для скачивания сразу.

Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3123
Зарегистрирован: Пт окт 12, 2007 9:00 pm
Контактная информация:

Сообщение Max Diesel » Чт авг 05, 2010 1:14 am

Qwertiy писал(а):Не ожидал... Я считал, что все отправленные стили доступны для скачивания сразу.
Далеко не сразу, иногда между моментами сбрасывания накопившихся стилей в базу проходит полгода (очень уж неприятный это процесс - проверка стилей на адекватность).

Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Сообщение Qwertiy » Чт авг 05, 2010 1:30 am

Max Diesel писал(а):Далеко не сразу, иногда между моментами сбрасывания накопившихся стилей в базу проходит полгода (очень уж неприятный это процесс - проверка стилей на адекватность).
А может стоит просто кидать всё без проверки? Или там очень много плохих?

Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3123
Зарегистрирован: Пт окт 12, 2007 9:00 pm
Контактная информация:

Сообщение Max Diesel » Чт авг 05, 2010 1:38 am

Qwertiy писал(а):А может стоит просто кидать всё без проверки? Или там очень много плохих?
Из 10-ти входящих в базу попадают 3-4.

Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Сообщение Qwertiy » Чт авг 05, 2010 1:54 am

Max Diesel писал(а):Из 10-ти входящих в базу попадают 3-4.
По-моему 1/3 вполне достаточно, чтобы кидать в базу всё без разбора... К тому же, ведь тому, кто их отправил, они нравятся, может понравятся и кому-то ещё...

PS: Было бы интересно посмотреть на голосование по этому вопросу...

Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3123
Зарегистрирован: Пт окт 12, 2007 9:00 pm
Контактная информация:

Сообщение Max Diesel » Чт авг 05, 2010 2:56 am

Qwertiy писал(а):По-моему 1/3 вполне достаточно, чтобы кидать в базу всё без разбора... К тому же, ведь тому, кто их отправил, они нравятся, может понравятся и кому-то ещё...
Не разделяю эту точку зрения...
Qwertiy писал(а):PS: Было бы интересно посмотреть на голосование по этому вопросу...
Полагаю этот не тот вопрос, по которому следует проводить голосование.

Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Группы сортировки

Сообщение Qwertiy » Вт авг 17, 2010 9:05 pm

Очень обрадовался, увидев шаблоны для групп сортировки, но, к сожалению, там имеется несколько недоработок:
1. Если имя файла начинается с цифры, то номер группы (который превращается в цифру) соединяясь с именем файла образует некоторое число, которое при использовании сортировки с учётом числовых значений помещается не туда, куда надо... Проверил на файлах, созданных с помощью

Код: Выделить всё

#include <cstdio>

int main(void)
{
char ch, s[32];
unsigned q;

for(ch='A'; ch<='J'; ++ch)
  {
  printf("SGexts%u=::*.%c:\n", ch-'A', ch);
  sprintf(s, "Temp\\QQQ (%u).%c", ch-'A', ch);
  fclose(fopen(s,"w"));
  for(q=0; q<11; ++q)
    {
    sprintf(s, "Temp\\%uQQQ (%u%u).%c", q, ch-'A', q, ch);
    fclose(fopen(s,"w"));
    }
  }

getchar();
return 0;
}
Думаю, самым простым вариантом будет вместо цифр использовать буквы латинского алфавита - тогда они не будут сливаться в числа с цифрами имени, количество необходимых символов не изменится, а количество возможных групп возрастёт c 10 до 25 (26-я - для остальных файлов).
2. При попытке добавления чего-либо в группу с помощью диалога настроек сразу ставится "*.", что подразумевает расширение. У меня так и не получилось написать там что-то нормальное (правда, я и не особо старался - менял руками в ini-файле)...
3. Файлы без расширения (в т. ч. ".name") не попадают ни в одну группу (даже ::*:)... Случайно какой-нибудь проверки на существование расширения от предыдущего варианта не осталось?
4. Вероятно, файлы с именем ".name" не должны попадать в группу сортировки для такого расширения, поэтому предлагаю заменить дефаултный шаблон для расширения с "*.ext" на "*?.ext". Именно "*?", а не "?*", т. к. алгоритм оптимизирован для комбинации ":*".
5. При установке (поверх 782) в uncom.ini получились строки вида

Код: Выделить всё

SGexts0=::*.EXE;*.MSI;*.COM;*.BAT;*.CMD:
т. е. стоят ';' вместо ':'...

Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3123
Зарегистрирован: Пт окт 12, 2007 9:00 pm
Контактная информация:

Сообщение Max Diesel » Вс сен 05, 2010 5:04 am

Qwertiy писал(а):Очень обрадовался, увидев шаблоны для групп сортировки, но, к сожалению, там имеется несколько недоработок:
1. Если имя файла начинается с цифры, то номер группы (который превращается в цифру) соединяясь с именем файла образует некоторое число, которое при использовании сортировки с учётом числовых значений помещается не туда, куда надо...
Думаю, самым простым вариантом будет вместо цифр использовать буквы латинского алфавита - тогда они не будут сливаться в числа с цифрами имени, количество необходимых символов не изменится, а количество возможных групп возрастёт c 10 до 25 (26-я - для остальных файлов).
2. При попытке добавления чего-либо в группу с помощью диалога настроек сразу ставится "*.", что подразумевает расширение. У меня так и не получилось написать там что-то нормальное (правда, я и не особо старался - менял руками в ini-файле)...
3. Файлы без расширения (в т. ч. ".name") не попадают ни в одну группу (даже ::*:)... Случайно какой-нибудь проверки на существование расширения от предыдущего варианта не осталось?
4. Вероятно, файлы с именем ".name" не должны попадать в группу сортировки для такого расширения, поэтому предлагаю заменить дефаултный шаблон для расширения с "*.ext" на "*?.ext". Именно "*?", а не "?*", т. к. алгоритм оптимизирован для комбинации ":*".
5. При установке (поверх 782) в uncom.ini получились строки вида

Код: Выделить всё

SGexts0=::*.EXE;*.MSI;*.COM;*.BAT;*.CMD:
т. е. стоят ';' вместо ':'...
1 - судя по всему нужно более наглядное представление результатов опыта, нежели краткое словесное описание...
2 - если вписывая "что-то нормальное" вставить точку, то картина предположительно изменится... согласно алгоритму проверяется отсутствие точки, а также астериска.
3 - файлы без расширения в глазах программы всегда являлись и являются "особенными", подозреваю что с этим нужно смириться... можно конечно использовать что-то для принудительного определения этих файлов, но это снизит скорость сортировки, а при учете количества файлов без расширений по отношению к общему количеству файлов это просто нерационально.
4 - с одной стороны это логично, но с другой - это больше запутает пользователя... поэтому на мой взгляд рациональнее оставить "*.ext", но каждый желающий (и при этом разбирающийся в вопросе) сможет добавить знак "?".
5 - я исправил эту странность. Фактически после первого же запуска окна настроек строка исправляется до нужного вида.

Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Сообщение Qwertiy » Вс сен 05, 2010 11:37 am

Max Diesel писал(а):1 - судя по всему нужно более наглядное представление результатов опыта, нежели краткое словесное описание...
2 - если вписывая "что-то нормальное" вставить точку, то картина предположительно изменится... согласно алгоритму проверяется отсутствие точки, а также астериска.
3 - файлы без расширения в глазах программы всегда являлись и являются "особенными", подозреваю что с этим нужно смириться... можно конечно использовать что-то для принудительного определения этих файлов, но это снизит скорость сортировки, а при учете количества файлов без расширений по отношению к общему количеству файлов это просто нерационально.
4 - с одной стороны это логично, но с другой - это больше запутает пользователя... поэтому на мой взгляд рациональнее оставить "*.ext", но каждый желающий (и при этом разбирающийся в вопросе) сможет добавить знак "?".
1. Компилируете код (из предыдущего моего сообщения), создаёте папку с именем Temp (или добавляете вызов "system("md Temp");" в программу), после чего запускаете. То, что выведено на экран делаете группами сортировки, затем открываете папку Temp в UC и убеждаетесь, что файлы отсортированы по значению в скобках.
2. После набора точки, точка в шаблоне исчезает, но звёздочка остаётся...
3. Функция проверки на соответствие имени строке масок работает независимо от наличия у файла расширения. Не понимаю, чем отсутствие проверки на наличие расширения снизит скорость сортировки...
4. Об оптимизации функции для ":*" мало кто знает...

Ответить