Author Topic: Getting rid of Skype completely - converting histories to metacontacts  (Read 3217 times)

0 Members and 1 Guest are viewing this topic.

Offline VulpixTopic starter

  • Beta Tester
  • *****
  • Posts: 593
  • Country: 00
  • Karma: 15
For people who want to completely get rid of skype (I have uninstalled it but I have to keep the database file for chat logs, to use with "Skyperious" (A program that lets me read/export/search through skype db without the need to have skype turned on) ).

I doubt any of the programmers here have time to create an importer that can read the skype database file; and I don't even think it's that necessary as there is a tool that can do something similar.

I'm just curious what you think would be the best approach.

I would like to - somehow - be able to import a history for each of my contacts from skype so that I finally have one actual database. I've pretty much migrated everyone to Tox (or Steam) and those two protocols are all I need.

I can get the data into various forms of xml / csv / txt / whatever really. I'll have a timestamp, the person chatting and the message body.

I don't mind not being able to import group chats as I never did any group chats anyway.

I don't mind not being able to import for example "calls" as actual special event; the message body for a call looks like this : [Call]_x000D_ - which is fine with me.

Any tips, ideas, etc?
 

Offline Robyer

  • Hero Member
  • *****
  • Posts: 1082
  • Country: cz
  • Karma: 60
    • Robyer.cz website
  • Version Info
Well you can use ImportTXT plugin that have templates for various input formats. Or you can write your own template if you have that data in some special format.
I was developing mainly Facebook, Omegle, Steam, Dummy and MobileState plugins. Now I'm retired. Goodbye, everyone. ~ You can still find me on Facebook.
 

Offline VulpixTopic starter

  • Beta Tester
  • *****
  • Posts: 593
  • Country: 00
  • Karma: 15
I tried the ImportTXT plugin and yeah, there is no template for this format; nor is there a guide on how to write one from what I could find.

Looking at the ini files, I guess it could work if I experiment a little.

The only issue is that ImportTXT won't work on the x64 version of miranda, nor will it work with the miranda alpha. I'm not sure it's safe to use my profile (temporarily) with the latest stable x86 miranda for the purposes of import.
 

Offline Robyer

  • Hero Member
  • *****
  • Posts: 1082
  • Country: cz
  • Karma: 60
    • Robyer.cz website
  • Version Info
Why it won't work with development version of Miranda?
I was developing mainly Facebook, Omegle, Steam, Dummy and MobileState plugins. Now I'm retired. Goodbye, everyone. ~ You can still find me on Facebook.
 

Offline VulpixTopic starter

  • Beta Tester
  • *****
  • Posts: 593
  • Country: 00
  • Karma: 15
Heya,

You're right; for some reason, it wouldn't work with the pcre3 file that I was using before even though the timestamps are the same.

So, as for x32 / x64, is it safe to temporarily use my profile with an x32 version of Miranda?
 

Offline Robyer

  • Hero Member
  • *****
  • Posts: 1082
  • Country: cz
  • Karma: 60
    • Robyer.cz website
  • Version Info
Oh, yes. pcre library was updated, in development version you need to use newer one (isn't it distributed with Miranda?).

And yes, you can safely switch between 32 and 64 bit versions, profile file should be invariant to that.
I was developing mainly Facebook, Omegle, Steam, Dummy and MobileState plugins. Now I'm retired. Goodbye, everyone. ~ You can still find me on Facebook.
 

Offline VulpixTopic starter

  • Beta Tester
  • *****
  • Posts: 593
  • Country: 00
  • Karma: 15
Yeah it's distributed with miranda, but I used "overwrite only older" option when unpacking it; and for some reason, the pcre3.dll file wasn't newer; but it was different.

It works now anyway. I'll try to figure out the best way to import it and when I have a procedure, I think I will post it here for the other folks that also want to convert, if that's the case :)
 

Offline watcher

  • Miranda NG support
  • Hero Member
  • *****
  • Posts: 1906
  • Country: il
  • Karma: 157
  • Version Info
Oh, yes. pcre library was updated, in development version you need to use newer one (isn't it distributed with Miranda?).

Not for ImportTXT, it still uses pcre3
Пожалуйста, внимательно прочтите правила постинга перед тем, как открыть новую тему.
Please read forum rules.
 

Offline mida

  • Full Member
  • ***
  • Posts: 177
  • Country: at
  • Karma: 0
i have interests to import my skype history into miranda but templates from importtxt are to difficult for my self...
sorry for my bad english
 

Offline VulpixTopic starter

  • Beta Tester
  • *****
  • Posts: 593
  • Country: 00
  • Karma: 15
I wrote a crude script that accomplishes this.

I'm really ashamed of how crude it is. It does what I need though (the "Skyperious" program is written in Python so I couldn't mod that... not a python enthusiast).

The script:

Takes source *.html exports from Skyperious and creates <filename>_output.txt files in history++ txt format (including a "fake" header ) which can then be imported using the ImportTXT plugin for miranda (History++ template). Note that this plugin only works with x86 version of miranda.

Actions, file transfers and other "extra" states are shown as regular messages, but are otherwise preserved.

Timestamps are preserved.

The script can take any number of files. It's not particularly fast but I wrote and ran it completely on my OpenWRT router because I was a bit bored :D

If I polish it a little bit more and make sure all is well, I may post it here, if someone wants it.

Reminder - I don't guarantee integrity; but it worked for me with a contact I have over 300 000+ messages with (~30MB text file)

Post Merge: 16 09 2014, 09:36:17
I present to you:
Skype-to-Miranda importer-helper-fixer-upper-thing

What does it do:
Acts as a middleman between skyperious' html export and miranda's ImportTXT's import.

What does it not do:
Print money

What is imported:
Everything (messages, links, /me actions, file transfers) - but everything appears as a generic chat message.
Not a big issue though, I think - you can search through the chat and when a file is sent, you can see "<contact> sent a file" so.. it's good enough.
Unicode characters etc -> preserved (even symbols such as € or japanese letters)

Guide:

DISCLAIMER:
This guide was written for: Windows 7 x64 + Ubuntu 14.04LTS and will only work with Miranda x86 (though you can simply temporarily use your profile with a 32bit miranda just for the imports and then just move the profile back to the 64bit miranda.) Don't sue me if it doesn't work. Tell me and I can do something to the script if needs be.

I highly recommend making a miranda db backup prior to doing anything with imports!


On windows:
  • http://suurjaak.github.io/Skyperious/ -> download (pref. 64bit but 32 is fine too, big histories may crash your program though), install.
  • Shut down skype (seriously though, why do you still have it?) Open Skyperious, navigate (or auto-find) your skype DB files
  • Once the DB file is opened, type "Single" into the "Filter Chats" option (the script is not made for importing group chats)
  • Select all of the chats you wish to export
  • Click "Export Chats" button and select "Export selected chats into individual files"
  • Select your target folder and select "*.html" as the export format. Careful, if you have a lot of histories, the mass export may fail due a memory leak. It's best to export bigger histories (200-300k messages) one-by-one
  • Wait until exporting is done
  • Copy the exported *.html files into a LINUX machine to some folder, i.e. ~/Desktop/Convert/
  • Download, save and copy the attached file "process.sh" to the same folder on the linux machine

on Linux (for the purposes of this procedure, I'm using a 32bit Ubuntu 14.04LTS in a virtual machine):
  • Install the dos2unix extension: sudo apt-get install dos2unix
  • Open the folder where you previously copied the *.html files to
  • Make the processing file executable:  sudo chmod a+x process.sh
  • Run the conversion: ./process.sh
  • Wait until you see a "Conversion Complete" message.. yes, it's slow, I know. Sorry.
  • Copy all of the *_output.txt files to your windows machine

Back on Windows

  • Get the importTXT plugin http://wiki.miranda-ng.org/index.php?title=Plugin:ImportTXT/en and unpack it into the x86 miranda folder
  • Start your x86 miranda
  • Right-click the target contact and select "Import history"
  • Select "History++ pattern" and then use the ... to navigate to the text file you wish to import - please note it doesn't matter what the nicks are, miranda will automatically mod them to be the current miranda contact's nick
  • I recommend you deselect "Check for duplicates" as that would remove messages which have the same timestamp (exactly the same, i.e. same second, happens when you spam messages too fast)
  • Start the conversion
  • ???
  • Profit

:D

Don't forget to go back to your 64bit miranda afterwards (or stay with 32bit if you use that) :)

If you have any suggestions or need more help, let me know!

Please don't tell me the script is bad. I know, and I'm sorry. I just couldn't be buggered writing anything better. If anyone wants to write something better, please do so~ I'll only welcome it.
« Last Edit: 16 09 2014, 10:18:26 by Vulpix »
 

Offline VulpixTopic starter

  • Beta Tester
  • *****
  • Posts: 593
  • Country: 00
  • Karma: 15
In the wake of Skype becoming a crappy thing (see https://blogs.skype.com/news/2018/07/16/upgrade-to-the-latest-version-of-skype-for-desktop/ , I mean it was crappy already but now you won't be able to use the "classic" client and the new client doesn't have functionality like away mode; the settings section is like 20 different toggles without proper settings really and the interface is a complete mess), I've checked and the above procedure _still_ works. In fact I've fixed up the process.sh file to make it remove some blank spaces which it previously kept for some reason.

Tested on-> Ubuntu 14.04.5 LTS x64, Latest Skyperious (3.5) x64 and Skype 7.xx (the version that will soon be deprecated) + latest dev x86 miranda with ImportTXT

The old process.sh still works it just produces a bit of a gap at the beginning of each message. But it looks ok in miranda either way.