Author Topic: Плагин Import TXT  (Read 18830 times)

0 Members and 1 Guest are viewing this topic.

Offline CleriC

Плагин Import TXT
« on: 11 01 2014, 09:09:59 »
Здравствуйте.
Хочу добавить сообщений с одним из собеседников. На своей же миранде, этой же версии, сделал с помощью History++ текстовый файл вида:
Полная история CleriC - Antonidze
###
### Полная история
### CleriC (ICQ: 200911462) - Antonidze (ICQ: 208558068)
### (generated by history++ plugin)
###

[10.01.2014 22:24:47] CleriC:
ты на работе еще? О_о

[11.01.2014 11:14:36] Antonidze:
привет!
не, я вчера аську забыл выключить, на гору вчера ездил
а сегодня на работе
[close]
Текстовый файл, который генерирует History++, сохраняется по умолчанию в кодировке UTF-16 LE (пробовал UTF-16 BE с BOM и без).
Если попробовать импортировать файл в контакт плагином Import TXT (с шаблоном History++ pattern), плагин пишет что не найден заголовок.
В historypp_p.ini по умолчанию, для шаблона History++ pattern прописан Charset=UCS2
Я пересохраняю файл в кодировке UTF-8. Теперь плагин пишет что "Импорт запущен", но "В этом файле нет сообщений".
Пробовал прописывать в historypp_p.ini Charset=UTF8 - тоже самое.
Подскажите, пожалуйста, как же мне успешно воспользоваться плагином и хоть что-то импортировать в нужный мне контакт?

ЗЫ Раньше, на Миранде ИМ 8.26, я делал это с помощью плагина mbot. Там был написан скрипт hpp_import.php который отлично все считывал.

VersionInfo
Quote
CPU: Intel(R) Core(TM) i7 CPU 950 @ 3.07GHz [Intel64 Family 6 Model 26 Stepping 5] [DEP Enabled] [8 CPUs]
Installed RAM: 6136 MBytes
Operating System: Microsoft Windows 7 Ultimate Edition, 64-bit Service Pack 1 (build 7601)
Internet Explorer: 9.11.9600.16428 (build 99600)
Administrator privileges: No
OS Languages: (UI | Locale (User/System)) : Russian/Russian | Russian/Russian
Free disk space on Miranda partition: 2557 MBytes

Miranda NG Version: 0.94.6 build #6797 [running inside WOW64]
Build time: 6 Nov 2013 1:33:28
Profile: H:\Prog\Miranda NG\Profiles\Mcl\Mcl.dat
Profile size: 31064064 Bytes
Profile creation date: 8 Jan 2014 11:49:18
Language pack: Russian (RU) [0419]
Service Mode: No

Active Plugins (11):
  AdvaImg.dll v.0.11.0.1 [6 Nov 2013 1:28:06] - Miranda image services
  AVS.dll v.0.11.1.1 [6 Nov 2013 1:27:08] - Avatar service
  CrashDumper.dll v.0.0.4.22 [5 Nov 2013 21:30:22] - Crash dumper
  Dbx_3x.dll v.0.11.0.1 [6 Nov 2013 1:27:08] - Miranda NG database driver
  Dbx_mmap.dll v.0.11.0.1 [6 Nov 2013 1:27:12] - Miranda NG mmap database driver
  HistoryPP.dll v.1.5.1.5 [14 Oct 2013 6:06:30] - History++
  ICQ.dll v.0.11.0.1 [6 Nov 2013 1:27:46] - IcqOscarJ Protocol
  ImportTXT.dll v.0.0.1.10 [5 Nov 2013 21:34:00] - Import TXT
  KeepStatus.dll v.0.8.0.97 [5 Nov 2013 21:28:50] - Keep status
  MobileState.dll v.0.0.1.2 [5 Nov 2013 21:31:04] - Mobile state
  Spamotron.dll v.0.0.4.6 [5 Nov 2013 21:32:30] - Spam-o-tron

Unloadable Plugins (1):
  DbChecker.dll v.0.0.0.0 [6 Nov 2013 1:30:32] - <unknown>


Protocols and Accounts:
-------------------------------------------------------------------------------
ICQ                      1 - Enabled 0 - Disabled  Loaded
MRA                      0 - Enabled 1 - Disabled  Not Loaded
SKYPE                    0 - Enabled 1 - Disabled  Not Loaded

Icon Packs:
-------------------------------------------------------------------------------
 hicoloricq.dll [27 May 2001 0:13:46]
 HistoryPP_icons.dll [3 May 2008 18:08:36]
 HistoryPP_icons.dll1 [5 Nov 2013 21:30:54]
 mirabilisicons.dll [7 Apr 2002 3:05:06]
 Original ICQ Icons.dll [27 May 2001 5:13:46]
 Proto_AIM.dll [6 Nov 2013 1:29:28]
 Proto_Facebook.dll [6 Nov 2013 1:29:26]
 Proto_GG.dll [6 Nov 2013 1:29:28]
 Proto_ICQ.dll [6 Nov 2013 1:29:30]
 Proto_IRC.dll [6 Nov 2013 1:29:30]
 Proto_Jabber.dll [6 Nov 2013 1:29:30]
 Proto_MRA.dll [5 Nov 2013 21:29:28]
 Proto_MSN.dll [6 Nov 2013 1:29:30]
 Proto_Skype.dll [30 Dec 2013 16:05:14]
 Proto_Yahoo.dll [6 Nov 2013 1:29:30]
 TabSRMM_icons.dll [6 Nov 2013 1:30:56]
 Toolbar_icons.dll [6 Nov 2013 1:29:34]
 xStatus_ICQ.dll [6 Nov 2013 1:28:00]
 xStatus_Jabber.dll [6 Nov 2013 1:28:02]
 xStatus_MRA.dll [5 Nov 2013 21:29:14]
[close]

Post Merge: 11 01 2014, 10:05:18
Разобрался я в чем дело.
По умолчанию, в historypp_p.ini указан следующий шаблон на сообщения:
Code: [Select]
Pattern=^\[(\d\d?)\.(\d\d?)\.(\d\d\d?\d?)\s(\d\d?):(\d\d?)\]\s([^\r\n]+?):$А необходим следующий:
Code: [Select]
Pattern=^\[(\d\d?)\.(\d\d?)\.(\d\d\d?\d?)\s(\d\d?):(\d\d?):(\d\d?)\]\s([^\r\n]+?):И в секции [Message] исправить
Direction=7
Seconds=6
Что бы плагин понял, что 6-ой блок регулярки содержит секунды, а 7-ой - направление (от кого) сообщения.
« Last Edit: 11 01 2014, 10:05:18 by CleriC »
«События происходят, Дела делаются, Но нет индивидуального деятеля».
«Events happen, deeds are done, but there is no individual doer thereof».
 

Offline watcher

Re: Плагин Import TXT
« Reply #1 on: 11 01 2014, 10:17:44 »
Можно в History++ экспортировать историю контакта в формат mcontacts, ImportTXT его понимает и с ним вообще нет хлопот.

Post Merge: 11 01 2014, 10:24:27
Но да, импорт текста поломали, именно INI. Посмотрю почему.
Пожалуйста, внимательно прочтите правила постинга перед тем, как открыть новую тему.
Please read forum rules.
 

Offline watcher

Re: Плагин Import TXT
« Reply #2 on: 11 01 2014, 10:56:29 »
По ошибке был влит этот вариант паттерна, нерабочий, откатываю на старое.
Пожалуйста, внимательно прочтите правила постинга перед тем, как открыть новую тему.
Please read forum rules.
 

Offline solaris

  • Newbie
  • *
  • Posts: 9
история из MailRu Агента
« Reply #3 on: 03 02 2014, 08:21:28 »
Хочу слезть с MailRu Агента. Для этого надо перетащить историю.
Агент умеет делать export в html, это совсем неудобно для импорта. Поэтому я выделил всю историю и скопировал в буфер, затем сохранил в файл.
Подскажите, плиз, может есть файл настроек для плагина ImportTXT, чтобы импортировать историю такого вида?
 
--------------------------------------
Вадик (19.12.2012 21:16)
Привет. В Бразилии был?  :)
 
Петр (19.12.2012 21:17)
Привет! Как угадал? Фотки на одноклассниках увидел?
 
Петр (19.12.2012 21:17)
Догадался, наверное Mail.ru агент местоположение писал.
 
Вадик (19.12.2012 21:17)
да ты указал на карте
 
Петр (19.12.2012 21:18)
понятно... никакой загадочности... а то я думал, что ты меня вычислил!
--------------------------------------
 

Offline CleriC

Re: Плагин Import TXT
« Reply #4 on: 05 02 2014, 18:48:40 »
А можно, с помощью плагина Import TXT, добавить историю переписки из текстового файла, в контакт скайпа (которые появляются в контакт листе с помощью плагина Skype)?
Дело в том, что  Import TXT завязан на UID, а у протокола скайпа не цифровые UID, а, в основном буквенно-символьные.


Есть ли другие способы запихать историю в контакты Миранды? Да хоть бы и вручную.
«События происходят, Дела делаются, Но нет индивидуального деятеля».
«Events happen, deeds are done, but there is no individual doer thereof».
 

Offline Apollo2k4

Re: Плагин Import TXT
« Reply #5 on: 05 02 2014, 19:14:20 »
CleriC, нет к сожаление никак из Skype выколупать (одно время в плагине Skype была функция подтянуть историю, но теперь кажись нет). Есть вариант как-то достать и написать ini для importtxt, но это больно муторно. Можно так же попробовать SkypeClassic там вроде тоже был импорт истории из Skype (использовал давно т.ч. могу ошибаться), а оттуда уже плясать History++ плюс ImportTXT
«Все глупости совершаются с серьёзным выражением лица» © Кён «Меланхолия Сузумии Харухи»

Правильно заданный вопрос – 50% решения.
Правила постинга
 

Offline CleriC

Re: Плагин Import TXT
« Reply #6 on: 05 02 2014, 19:17:43 »
Да из скайпа то я выколупал историю, в таком виде:
Spoiler
[31.12.2012 22:39:32] CleriC: привет, Коля, с наступающим тебя!
[31.12.2012 22:39:58] Коля: привет, и тебя тоже с Наступающим
[05.06.2013 10:50:37] CleriC: Коля, привет
[close]
Проблема в том, что importtxt жалуется на отсутствие заголовка, хотя все там ок должно быть. Подозреваю что он хочет UID в виде чисел. Номера ICQ ведь из чисел состоят. А скайп буквенно-цифровой идентификатор (логин) имеет. Поэтому, наверное importtxt и не хочет с ним работать?

Задать бы вопрос создателю плагина...
« Last Edit: 05 02 2014, 19:19:35 by CleriC »
«События происходят, Дела делаются, Но нет индивидуального деятеля».
«Events happen, deeds are done, but there is no individual doer thereof».
 

Offline Apollo2k4

Re: Плагин Import TXT
« Reply #7 on: 05 02 2014, 19:26:47 »
CleriC, importtxt фиолетовы UID он следует форматированию в файле шаблона ты как я понимаю пытаешься его импортировать как history++?

Post Merge: 05 02 2014, 19:37:07
Задать бы вопрос создателю плагина...
Зачем? Оно работает, просто нужно правильно оформить файл истории.
« Last Edit: 05 02 2014, 19:37:07 by Apollo2k4 »
«Все глупости совершаются с серьёзным выражением лица» © Кён «Меланхолия Сузумии Харухи»

Правильно заданный вопрос – 50% решения.
Правила постинга
 

Offline CleriC

Re: Плагин Import TXT
« Reply #8 on: 06 02 2014, 04:57:11 »
Да. Вот такой сделал файл:
Spoiler
###
### Полная история
### CleriC (ICQ: 200911462) - В Коля (Skype: nick.vas)
### (generated by history++ plugin)
###


[31.12.2012 22:39:32] CleriC: привет, Коля, с наступающим тебя!
[31.12.2012 22:39:58] В Коля: привет, и тебя тоже с Наступающим
[05.06.2013 10:50:37] CleriC: Коля, привет
[close]


И вот такой шаблон:

Spoiler
Code: [Select]
[General]
Name=Skype
Type=1
Charset=UTF8
UseHeader=3
UsePreMsg=1
[Message]
Pattern=^\[(\d\d?)\.(\d\d?)\.(\d\d\d?\d?)\s(\d\d?):(\d\d?):(\d\d?)\]\s([^\r\n]+?):$
Direction=7
Day=1
Month=2
Year=3
Hours=4
Minutes=5
Seconds=6
[Header]
Pattern=^###\n###\s[^\n]+?\n###\s([^\n]+?)\s\([^\n]+?:\s([^\n]+?)\)\s-\s([^\n]+?)\s\([^\n]+?:\s([^\n]+?)\)\n###\s[^\n]+?\n###\n
In=3
Out=1
InNick=3
OutNick=1
InUID=4
OutUID=2
[PreMessage]
PreRN=0
AfterRN=0
[close]
Пишет что не найден заголовок. Но регулярка точно рабочая, тестировал здесь.
«События происходят, Дела делаются, Но нет индивидуального деятеля».
«Events happen, deeds are done, but there is no individual doer thereof».
 

Offline Apollo2k4

Re: Плагин Import TXT
« Reply #9 on: 06 02 2014, 05:32:10 »
CleriC, сообщение должно быть с новой строки? после времени и в заголовке тоже бы поменять ICQ на Skype
«Все глупости совершаются с серьёзным выражением лица» © Кён «Меланхолия Сузумии Харухи»

Правильно заданный вопрос – 50% решения.
Правила постинга
 

Offline CleriC

Re: Плагин Import TXT
« Reply #10 on: 06 02 2014, 06:06:00 »
HystoryPP сохраняет лог в таком виде:
Spoiler
###
### Полная история
### CleriC (ICQ: 200911462) - Bac (ICQ: 271193557)
### (generated by history++ plugin)
###

[19.09.2011 11:24:55] CleriC:
привет

[19.09.2011 11:44:03] Bac:
привет)
[close]
В кодировке UTF-16 LE без BOM. В той же кодировке я и пересохранил лог скайпа.
В настройках распознавания skype.ini (importtxt) поставил:

Code: [Select]
[General]
Charset=UCS2

Заголовок для лога скайпа я видоизменил следующим образом:
Spoiler
###
### Полная история
### CleriC (Skype: iC1eriC) - Васильев Коля (Skype: nick.vasiliev)
### (generated by history++ plugin)
###
[close]
Но все равно, почему-то, не может он прочитать заголовок.
Там еще есть возможность разобрать лог без заголовка, взяв контакт из названия файла. Но если посмотреть шаблон:
Code: [Select]
[FileName]
Pattern=^[^\r\n]+?\\(\d{5,})\.txt$
InUID=1
Видно, что он хочет 5 и более ЦИФР (что логично для ICQ). Но не подходит для скайпа.


За количество переводов строки до и после сообщения, в importtxt отвечает следующая секция:
Spoiler
Code: [Select]
[PreMessage]                  Обработка сообщения перед импортом в базу
PreRN=                        удалить переводы строк в начале сообщения (целое число или -1 тогда все)
AfterRN=                     удалить переводы строк в конце сообщения (целое число или -1 тогда все)
PreSP=                        удалить пробелы в начале каждой строки сообщения
AfterSP=                     удалить пробелы в конце каждой строки сообщения
                           возможные значения:
                           целое число
                           -1 все
                           -2 кол-во равно длине распознаного шаблона заголовка сообщения (актуально для Message Export)
                           любой параметр может отсутствовать или быть равен нулю, тогда не используется
                           SP использовать только в случае крайней необходимости, потому что замедляется работа
[close]
Т.к. у меня в логе скайпа переводов строки нигде нет - я поставил нули.

Но пока до сообщений дело даже не дошло, он даже заголовок не может разобрать. Причем, мне все-таки кажется, что не хочет дружить плагин importtxt с плагином skype. Возможно из-за того что скайповый (буквенный) UID его не устраивает.

UPD
Вот для примера, только что проверил - импорт работает.
Лог (сделанный HistoryPP) вида:
Spoiler
###
### Полная история
### CleriC (ICQ: 200911462) - Commander Duck (ICQ: 112074746)
### (generated by history++ plugin)
###

[21.01.2014 11:02:32] CleriC:
привет
футболки получил, все супер! большое спасибо

[21.01.2014 16:32:48] Commander Duck:
пожалуйста
[close]
Кодировка UTF-16 LE без BOM.
Шаблон importtxt вида
Spoiler
Code: [Select]
[General]
Name=History++ pattern (Cler)
Type=1
Charset=UCS2
UseHeader=3
UsePreMsg=1
[Message]
Pattern=^\[(\d\d?)\.(\d\d?)\.(\d\d\d?\d?)\s(\d\d?):(\d\d?):(\d\d?)\]\s([^\r\n]+?):$
Direction=7
Day=1
Month=2
Year=3
Hours=4
Minutes=5
Seconds=6
[Header]
Pattern=^###\r\n###\s[^\r\n]+?\r\n###\s([^\r\n]+?)\s\([^\r\n]+?:\s([^\r\n]+?)\)\s-\s([^\r\n]+?)\s\([^\r\n]+?:\s([^\r\n]+?)\)\r\n###\s[^\r\n]+?\r\n###\r\n
In=3
Out=1
InNick=3
OutNick=1
InUID=4
OutUID=2
[PreMessage]
PreRN=1
AfterRN=2
[close]
Результат:
Spoiler
[close]
А со скапом не работает :(

Post Merge: 06 02 2014, 06:45:55
Все, разобрался  :) 
«Учится, учится и еще раз учится!» Прав был дедушка Ленин.


Вот, держите, может будет кому полезно, шаблон для распознавания лога скайпа:

Spoiler
Code: [Select]
[General]
Name=Skype new
Type=1
Charset=UCS2
UseHeader=3
UsePreMsg=1
[Message]
Pattern=\[(\d\d?)\.(\d\d?)\.(\d\d\d?\d?)\s(\d\d?):(\d\d?):(\d\d?)\]\s([^\r\n]+?):\s
Direction=7
Day=1
Month=2
Year=3
Hours=4
Minutes=5
Seconds=6
[Header]
Pattern=^###\r\n###\s[^\r\n]+?\r\n###\s([^\r\n]+?)\s\([^\r\n]+?:\s([^\r\n]+?)\)\s-\s([^\r\n]+?)\s\([^\r\n]+?:\s([^\r\n]+?)\)\r\n###\s[^\r\n]+?\r\n###\r\n
In=3
Out=1
InNick=3
OutNick=1
InUID=4
OutUID=2
[PreMessage]
PreRN=0
AfterRN=0
[close]
Лог вида:

Spoiler
###
### Полная история
### CleriC (Skype: iC1eriC) - Васильев Коля (Skype: nick.vas)
### (generated by history++ plugin)
###

[31.12.2012 22:39:32] CleriC: привет, Коля, с наступающим тебя!
[31.12.2012 22:39:58] Васильев Коля: привет, и тебя тоже с Наступающим
[05.06.2013 10:50:37] CleriC: Коля, привет
[close]
Для снятия со скайпа всего лога переписки, надо открыть контакт, нажать "С самого начала", выделить весь текст (ctrl+a) и скопировать его в текстовый файл UTF-16 LE без BOM. В файл добавить шапку как в примере.
« Last Edit: 06 02 2014, 06:45:55 by CleriC »
«События происходят, Дела делаются, Но нет индивидуального деятеля».
«Events happen, deeds are done, but there is no individual doer thereof».
 

Offline hunnyr

  • Newbie
  • *
  • Posts: 7
Re: Плагин Import TXT
« Reply #11 on: 25 06 2015, 22:36:39 »
Друзья, помогите пожалуйста.

У меня довольно не тривиальная ситуация, мне надо было соединить истории 7 миранд, и старых и новых. И вот, в самом конце решил добить это дело импортированием  importtxt из папки MsgExport - сохранялась папка\файлы мирандой NG
Только я не могу понять, что у меня за шаблон такой сохранялся и где его можно взять. Перегуглился, больше не могу )
Spoiler
------------------------------------------------
      History for
User      : >>
Protocol  : ICQ
UIN       : 88**44428
FirstName :
LastName  :
Age       : 0
Gender    :
e-mail    :
Nick      :
City      :
State     :
Phone     :
Homepage  :
- About -

------------------------------------------------
>>  18.02.14 12:14:27 день добрый

>>  18.02.14 12:15:54 есть ли у вас такой web8
                      собираюсь покупать
<<  18.02.14 13:48:02 Здравствуйте

<<  18.02.14 13:48:09 Есть такой
....
...
...
и т.д.
[close]

Вроде бы всё должно быть просто из миранды в миранду. Но что то не так и я не могу понять что.. Все шаблоны перепробовал.. Не импортирует
Файлы у меня в utf8 сохранены.
....
Поставил на свежую версию плагин MsgExport . Оказывается это почти стандартный шаблон у меня, только галочка >> << делать выставлена.
Есть ли простой способ перенести в общую базу сообщения из этих тхт. Их просто много, около 8к.
Подскажите пожалуйста, как быть
« Last Edit: 26 06 2015, 07:24:09 by hunnyr »
 

Offline hunnyr

  • Newbie
  • *
  • Posts: 7
Re: Плагин Import TXT
« Reply #12 on: 04 07 2015, 14:35:39 »
Начал разбираться в шаблоне
Message export import pattern
Немного переделал, но вот проблема, которую пока решить не могу. Если у контакта заполнен Nick  - импорт идёт. А вот если он пуст, как у меня в 90% всех случаев - не идёт.
Пробовал поставить InUIN, InUID - не получается
Пишет, что не может определить контакт назначения.

В итоге остаётся такой вопрос:
Если мне надо настроить импорт относительно строки
UIN       : 102**2324
Что мне надо вписать в
Pattern=****
In=1
ЗДЕСЬ=3
Подскажите пожалуйста, хотя бы примерный путь решения, я сам покопаюсь
 

Offline hunnyr

  • Newbie
  • *
  • Posts: 7
Re: Плагин Import TXT
« Reply #13 on: 16 07 2015, 14:06:38 »
Выяснилась новая проблема. Даже если заполен НИК в логе в тхт. То не идет импорт у большинства списка пользователей, так как в базе они этого ника не имееют у меня. Их много и поэтому я не использую лист с сервера, так как у него ограничение в 1000 пользователей.
Может кто то подскажет, как по УИНу импортировать историю из этих тхт?
Проблемы нет, если взять пользователей из сервер-листа или импортировать историю из меню пользователя . А вот что бы группой , всех и сразу - увы..
 

Offline solaris

  • Newbie
  • *
  • Posts: 9
шаблон для импорта из MailRu Агента
« Reply #14 on: 20 10 2016, 18:03:20 »
Приветсвтую!
Никто так и не написал шаблон для импорта из MailRu Агента?

--------------------------------------
Вадик (19.12.2012 21:16)
Привет. В Бразилии был?
Петр (19.12.2012 21:17)
Привет! Как угадал? Фотки на одноклассниках увидел?
--------------------------------------

Я, как не пытаюсь, понять regexp так и не могу.
Пробовал всякие online (типа https://www.debuggex.com/ ), но они не понимают regexp из Import TXT.

Буду благодарен за любые ответы, в том числе направление на учебник regexp'ов, которые применяются в Import TXT.
« Last Edit: 21 10 2016, 05:41:37 by solaris »