Portál AbcLinuxu, 26. dubna 2024 15:04


Dotaz: kopete - import historie ze SIMu?

hajma avatar 10.5.2005 00:09 hajma | skóre: 27 | blog: hajma | Říčany
kopete - import historie ze SIMu?
Přečteno: 191×
Odpovědět | Admin
viz titulek - jde to nějak?
21 promarněných znaků
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

10.5.2005 00:13 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
Rozbalit Rozbalit vše Re: kopete - import historie ze SIMu?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nevím jak vypadá historie SIMu, ale kopette má jeden xml soubor pro každou konverzaci, ten by se měl dát celkem snadno vyrobit.
Weblate - překládání přes web | Gammu SMSD - posílání SMS | Blog
4.7.2005 13:28 8an | skóre: 30
Rozbalit Rozbalit vše Re: kopete - import historie ze SIMu?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nevím jestli je to ještě aktuální, ale třeba se to někomu bude hodit. Skript je v AWK, musí se volat na každý soubor zvlášť (třeba pomocí for filename in *; do ...), výsledky zapisuje do adresáře output.

Já už jsem svojí hisorii přenášel do 4. klienta, a proti konverzi z Mirandy tohle bylo docela jednoduché.

#!/bin/awk -f

function writetext()
{
  if(text)
  {
    from = dir_in ? nick : mynick;

    filename = nick;
    gsub("\\.","-",filename)
    filename = "output/" filename "." date ".xml";

    if( filename != oldfile )
    {
      print "<!DOCTYPE Kopete-History>\n<kopete-history version=\"0.7\" >\n <head>" > filename;
      print "  <date month=\"" (date % 100) "\" year=\"" sprintf("%d", date / 100) "\" />" > filename;
      print "  <contact contactId=\"" mynick "\" type=\"myself\" />" > filename;
      print "  <contact contactId=\"" nick "\" />\n </head>" > filename;
      if(oldfile) print "</kopete-history>" > oldfile;
    }

    print " <msg from=\"" from "\" in=\"" dir_in "\" time=\"" time "\" >" text "</msg>" > filename;
    oldfile = filename;
  }
}

BEGIN { name = ARGV[1];
        sub(".*/","",name);
        split(name,splitname,"\\.");

        if(splitname[1] == "Jabber")
        {
          sub("Jabber.","+",name);
          split(name,splitname,"+");
        }

        nick = splitname[3];
        mynick = splitname[2];
      }

/^\[/ { writetext();
        text = 0;
        dir_in = 0;
      }

/^(Server)?Text=/ { sub("^[^=]*=\"","");
                    sub("\"$","");
                    gsub("\\\\x0d","");
                    gsub("\\\\n","\n");
                    gsub("\\\\\"","\\"");
                    text = $0;
                  }

/^Time=/ { sub("^Time=","");
           date = strftime("%Y%m", $0);
           time = strftime("%d %H:%M:%S", $0);
         }


/^Flags=1/ { dir_in=1 }

END { writetext();
      if(filename) print "</kopete-history>" > filename;
    }
If you build an operating system that even an idiot can use, only idiots will use it.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.