Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

[WFX] tcPhonebook
Goto page Previous  1, 2, 3 ... 26, 27, 28, 29, 30, 31  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Rodny



Joined: 24 Jan 2007
Posts: 949
Location: Могилёв, Беларусь

Post (Separately) Posted: Fri Apr 11, 2014 18:12    Post subject: Reply with quote

К разговору об имени файла контакта.

Есть телефонная книга, долгие годы переносимая с телефона на телефон. В силу исторических ограничений контакты записаны в виде "ИВАНОВ АЛ-ДР ПЕТРО". То есть заглавными буквами и с ограничением по длине.

Я импортировал из vcf в плагин и начал расписывать имена/отчества, менять регистр через ИГП, расчитывая, что мои исправления попадут в свойства контакта.
Но я ошибался. В файле "Иванов Александр Петрович.vcf" имя осталось прежним.
Перспектива зайти руками в свойства каждого файла и скопировать имя файла в имя контакта не очень радует, файлов более 300.
В диалоге смены атрибутов обнаружились поля плагина, но в fs.Имя нельзя использовать данные из контентных плагинов.

Вопрос: как (и можно ли средствами сабжа) мне всё это привести к нормальному виду?

Добавлено
А, и ещё багрепорт: при импорте нужно что-то делать с недопустимыми символами, сейчас такие контакты не импортируются, например, "Вокзал ж/д"

Добавлено ещё
Хм, дочитал до 10 страницы и увидел, что это было сделано. Однако, вот этот контакт у меня при импорте потерялся:
 Hidden text
Back to top
View user's profile Send private message
amzoom



Joined: 07 Oct 2009
Posts: 44

Post (Separately) Posted: Fri Apr 11, 2014 18:22    Post subject: Reply with quote

Rodny wrote:
Вопрос: как (и можно ли средствами сабжа) мне всё это привести к нормальному виду?

Средствами сабжа это можно сделать только вручную.
Правильно это сделать - надо каким-нибудь скриптом (.js/.bat/.ahk/etc.).

Замечу лишь, что
Quote:
Я импортировал из vcf в плагин и начал расписывать имена/отчества, менять регистр через ИГП, расчитывая, что мои исправления попадут в свойства контакта.

стоило всё-таки после первого "исправленного" контакта зайти в его свойства и проверить влияет ли имя файла на свойства контакта. Хотя и само подобное предположение - мягко говоря, дико.
Back to top
View user's profile Send private message
Rodny



Joined: 24 Jan 2007
Posts: 949
Location: Могилёв, Беларусь

Post (Separately) Posted: Fri Apr 11, 2014 18:26    Post subject: Reply with quote

Я и проверил, где-то после десятка исправлений.
А предположение вполне себе логичное. Если можно формировать имя файла из полного имени контакта, то почему бы и не существовать обратной возможности.
Что ж, если нельзя плагином - будем скриптовать на досуге.
Хотя думаю, что проще будет залезть прямо в базу и там заменить.

Добавлено спустя 2 часа 36 минут:

В общем, если вдруг найдётся ещё любитель нетрадиционного использования плагина. Cool
Требуется что-нибудь для редактирования базы, у меня это дополнение SQLite Manager к Firefox.

1. Приводим имена файлов к нужному виду в TC.
2. Открываем в SQL-редакторе файл базы tcPhonebook.db
3. Выполняем последовательно три запроса
 Hidden text

4. PROFIT!

Добавлено спустя 17 минут:

А если бы я дочитал до конца 14-ю страницу форума, то не пытался бы два часа разобраться в sql-запросах, а скачал рекомендованную SQLiteStudio и сделал то же самое методом копи-паст за 5 минут Laughing
Back to top
View user's profile Send private message
Maximus



Joined: 07 Apr 2005
Posts: 927
Location: Украина, Кировоградская обл., г. Знаменка

Post (Separately) Posted: Sat Apr 12, 2014 17:51    Post subject: Reply with quote

amzoom wrote:
Жму "Yes" и получаю крэш tcmdx64 v8.50.

Это пофикшено (прошу подтвердить):
http://maximus.in.ua/files/temp-phb/wfx_tcPhonebook_0960beta01/

amzoom wrote:
ок, предположим я и правда первый, кто столкнулся с этими багами.

Кстати, баг не проявлял себя на x32

amzoom wrote:
Прежде всего, прошу вас ознакомиться с этой и этой ссылками и добавить поддержку каждого из свойств.

Не всё сразу. По наличию свободного времени.
Сейчас в работе было добавление PHOTO, но пришлось прерваться :)

amzoom wrote:
Что такое виртуальные папки?

cm_OpenDesktop, cm_OpenPrinters и т.п.

amzoom wrote:
Да что уж там стандартные и расширенные свойства... любое содержимое файла не должно вызывать падения программы.

Это бесспорно истина.

Добавлено спустя 8 минут:

Rodny wrote:
Однако, вот этот контакт у меня при импорте потерялся

У меня без проблем импортировался как "Вокзал Ж_Д". Возможно нужно пробовать весь файл контактов целиком. Если что - жду его в личку или на е-почту.
_________________
tcPhonebook|AppLoader|Українізація TC|Ultimate Calendar
Back to top
View user's profile Send private message
amzoom



Joined: 07 Oct 2009
Posts: 44

Post (Separately) Posted: Sat Apr 12, 2014 19:21    Post subject: Reply with quote

Maximus wrote:
amzoom wrote:
Жму "Yes" и получаю крэш tcmdx64 v8.50.

Это пофикшено (прошу подтвердить):
http://maximus.in.ua/files/temp-phb/wfx_tcPhonebook_0960beta01/

VERIFIED FIXED

Maximus wrote:
Кстати, баг не проявлял себя на x32

Об этом я и не подумал. Я смотрю в сообществе ТС вообще беда с х64.

Maximus wrote:
Не всё сразу. По наличию свободного времени.

Само собой разумеется.


Импорт в этот раз прошёл успешно, только странно имена у файлов контактов импортировались: 4 шт с нормальной кириллицей, а остальные вот такой кракозябрицей: Р РѕРјР°

Добавлено спустя 5 минут:

И да, заметка по поводу прогресс бара при импортировании: его бы можно улучшить.
Сейчас он считает кол-во импортируемых файлов и в зависимости от завершения импорта какого-то кол-ва этих файлов - рисует %-ты выполнения операции.
И если импортируется 100 контактов из 1 файла, то прогресс бар будет иметь не 100 делений, а ровно 2: 0% и 100%.
Было бы хорошо при импорте делать подсчёт кол-ва контактов изо всех импортируемых файлов и рисовать %-ы от этого числа.
Кол-во контактов можно подсчитать по кол-ву пар BEGIN:VCARD и END:VCARD.
Back to top
View user's profile Send private message
Maximus



Joined: 07 Apr 2005
Posts: 927
Location: Украина, Кировоградская обл., г. Знаменка

Post (Separately) Posted: Sat Apr 12, 2014 20:13    Post subject: Reply with quote

amzoom wrote:
Импорт в этот раз прошёл успешно, только странно имена у файлов контактов импортировались: 4 шт с нормальной кириллицей, а остальные вот такой кракозябрицей: Р РѕРјР°

Поставь в настройках импорта принудительный UTF-8.

amzoom wrote:
И да, заметка по поводу прогресс бара при импортировании: его бы можно улучшить.

Я знаю :) Но там не всё так просто. Прогресс-баром сейчас управляет ТС. В интерфейсе плагинов есть функция ProgressProc, посмотрю может ли она помочь с этой бедой.
_________________
tcPhonebook|AppLoader|Українізація TC|Ultimate Calendar
Back to top
View user's profile Send private message
amzoom



Joined: 07 Oct 2009
Posts: 44

Post (Separately) Posted: Mon Apr 14, 2014 02:22    Post subject: Reply with quote

Bug
В процессе импорта клик по кнопкам Pause/Cancel не работает: задача продолжает выполняться не смотря ни на что.

И да, форсирование UTF-8 помогло, спасибо. Только всё равно странно: файл-то один, почему часть контактов распозналась как UTF-8, а остальные - нет? Они ж все в одной кодировке в одном файле сохранены.
Back to top
View user's profile Send private message
Maximus



Joined: 07 Apr 2005
Posts: 927
Location: Украина, Кировоградская обл., г. Знаменка

Post (Separately) Posted: Mon Apr 14, 2014 11:06    Post subject: Reply with quote

amzoom wrote:
В процессе импорта клик по кнопкам Pause/Cancel не работает: задача продолжает выполняться не смотря ни на что.

Это вопрос не ко мне, а к Гислеру. Я этим процессом не управляю.
ТС, видимо, воспринимает нажатия этих кнопок только в промежутках между обработкой файлов. И если выполняется импорт одного файла с несколькими контактами, то очередь до обработки нажатий кнопок дойдёт только после полной обработки этого файла.

amzoom wrote:
И да, форсирование UTF-8 помогло, спасибо. Только всё равно странно: файл-то один, почему часть контактов распозналась как UTF-8, а остальные - нет? Они ж все в одной кодировке в одном файле сохранены.

Видимо кодировка в некоторых контактах указана, а в некоторых нет.
_________________
tcPhonebook|AppLoader|Українізація TC|Ultimate Calendar
Back to top
View user's profile Send private message
Maximus



Joined: 07 Apr 2005
Posts: 927
Location: Украина, Кировоградская обл., г. Знаменка

Post (Separately) Posted: Mon Apr 14, 2014 21:31    Post subject: Reply with quote

Rodny wrote:
Однако, вот этот контакт у меня при импорте потерялся

Исправлено:
http://maximus.in.ua/files/temp-phb/wfx_tcPhonebook_0960beta02/
_________________
tcPhonebook|AppLoader|Українізація TC|Ultimate Calendar
Back to top
View user's profile Send private message
amzoom



Joined: 07 Oct 2009
Posts: 44

Post (Separately) Posted: Tue Apr 15, 2014 00:42    Post subject: Reply with quote

Maximus wrote:
Это вопрос не ко мне, а к Гислеру. Я этим процессом не управляю.

Done.
Back to top
View user's profile Send private message
Maximus



Joined: 07 Apr 2005
Posts: 927
Location: Украина, Кировоградская обл., г. Знаменка

Post (Separately) Posted: Tue Apr 15, 2014 09:54    Post subject: Reply with quote

amzoom wrote:
Done.

Я думаю, что он тут ничего не станет делать.
Для того чтобы всё стало хорошо мне нужно реализовать функцию ProgressProc (о ней я писал выше), которая будет показывать прогресс и, соответственно, в таком случае ТС уже сможет прерывать и ставить его на паузу.

Добавлено спустя 2 часа 10 минут:

Добавил отображение прогресса (т.е. задействовал функцию ProgressProc)
http://maximus.in.ua/files/temp-phb/wfx_tcPhonebook_0960beta03/

На паузу теперь поставить можно в любой момент, но отмена по прежнему воспринимается только в промежутках между файлами.
Больше сделать ничего не могу.
_________________
tcPhonebook|AppLoader|Українізація TC|Ultimate Calendar


Last edited by Maximus on Wed Apr 16, 2014 22:28; edited 1 time in total
Back to top
View user's profile Send private message
amzoom



Joined: 07 Oct 2009
Posts: 44

Post (Separately) Posted: Wed Apr 16, 2014 02:06    Post subject: Reply with quote

Maximus wrote:
Это вопрос не ко мне, а к Гислеру. Я этим процессом не управляю.
ТС, видимо, воспринимает нажатия этих кнопок только в промежутках между обработкой файлов. И если выполняется импорт одного файла с несколькими контактами, то очередь до обработки нажатий кнопок дойдёт только после полной обработки этого файла.

А нельзя ли в вашу функцию импорта добавить проверку "была ли нажата кнопка Cancel?" if (answer==true) { abortOperation();}?
Back to top
View user's profile Send private message
Maximus



Joined: 07 Apr 2005
Posts: 927
Location: Украина, Кировоградская обл., г. Знаменка

Post (Separately) Posted: Wed Apr 16, 2014 07:51    Post subject: Reply with quote

amzoom wrote:
А нельзя ли в вашу функцию импорта добавить проверку "была ли нажата кнопка Cancel?" if (answer==true) { abortOperation();}?

Это не мой диалог - это диалог ТС. Я только могу воспользоваться тем, что предоставляет его интерфейс. Сейчас ничего такого нет или я его в упор не вижу :)
_________________
tcPhonebook|AppLoader|Українізація TC|Ultimate Calendar
Back to top
View user's profile Send private message
Maximus



Joined: 07 Apr 2005
Posts: 927
Location: Украина, Кировоградская обл., г. Знаменка

Post (Separately) Posted: Wed Apr 16, 2014 22:27    Post subject: Reply with quote

Maximus wrote:
Сейчас ничего такого нет или я его в упор не вижу :)

Кажись, прояснилось :) (Благодаря теме на оффоруме и MVV лично. Хотя мог бы и тут носом ткнуть)
http://maximus.in.ua/files/temp-phb/wfx_tcPhonebook_0960beta04/
_________________
tcPhonebook|AppLoader|Українізація TC|Ultimate Calendar
Back to top
View user's profile Send private message
amzoom



Joined: 07 Oct 2009
Posts: 44

Post (Separately) Posted: Thu Apr 17, 2014 00:30    Post subject: Reply with quote

Maximus
а Cancel разве не должен не просто остановиться, но и удалить за собой то, что уже успел сделать? Это же именно Отмена, а не остановка.

И ещё: прогрессбар при импорте многоконтактного файла теперь рисуется по делениям, как надо, но вот %-ов не выводится и общее кол-во контактов и сколько уже импортировано - не показывается: по-прежнему видно только "0/1".
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3 ... 26, 27, 28, 29, 30, 31  Next
Page 27 of 31

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group