#cs ---------------------------------------------------------------------------- Tiddly2Tudumo.au3 v1.0 AutoIt Version: 3.2.2.0 Author: Jon Diercks Script Function: Translate TiddlyWiki HTML to Tudumo XML v1.0 6/19/2007 -- currently handles titles, tags, and notes future versions may add support for dates and other options #ce ---------------------------------------------------------------------------- const $me = "Tiddly2Tudumo v1.0" #include if ProcessExists("Tudumo.exe") then msgbox(48,$me,"Tudumo is running, please Exit it before running conversion.") Exit EndIf ; select tiddlywiki source file $twfilename=FileOpenDialog("Select TiddlyWiki file to convert","","HTML files (*.htm;*.html)|All files (*.*)",3,"*.html") $twfile=FileOpen($twfilename,0) if $twfile=-1 then exit $size = FileGetSize($twfilename) ;select target Tudumo directory $tudumo_folder=FileSelectFolder("Select your Tudumo folder","",0,@ProgramFilesDir & "\Thinkmo\Tudumo") if $tudumo_folder="" then Exit ; open existting tudumo file $tudumofilename=$tudumo_folder & "\Data\Default_0.2.tudumo" if not FileExists($tudumofilename) Then msgbox(48,$me,"Cannot find Tudumo data file") Exit EndIf $tufile=FileOpen($tudumofilename,0) if $tufile=-1 then msgbox(48,$me,"Cannot open Tudumo data file") Exit EndIf ; open temp target file $tmpfilename=_TempFile() $tmpfile=FileOpen($tmpfilename,2) if $tmpfile=-1 then msgbox(48,$me,"Cannot open temporary output file") Exit EndIf ; copy everything before from orig to temp While 1 $line = FileReadLine($tufile) If @error = -1 Then ExitLoop if StringInStr($line,"") then ExitLoop if not FileWriteLine($tmpfile,$line) Then msgbox(48,$me,"Error writing data to temporary output file") Exit EndIf Wend ; open tiddlywiki source ; find tiddlers
$inData=0 While 1 $line = FileReadLine($twfile) If @error = -1 Then ExitLoop if StringInStr($line,'
') then $inData=1 ExitLoop EndIf WEnd if not $inData Then msgbox(48,$me,"Couldn't find any data in TiddlyWiki file.") Exit EndIf $count=0 $pos=0 ProgressOn("Converting data...","") While 1 $line = FileReadLine($twfile) If @error = -1 Then ExitLoop $pos+=StringLen($line) ProgressSet($pos/$size*100) if StringInStr($line,'
" ; extract tags --
a,b,c d,e $tags=$line $tags=StringRegExpReplace($tags,'^
" ; extract note
____
--> ___ (\n --> actual newline) $note=$line $note=StringRegExpReplace($note,'^
]*>','') $note=StringRegExpReplace($note,'
$','') $note=StringRegExpReplace($note,'\\n',chr(13)&chr(10)) $note="" & $note & "" ; output new task item to temp file FileWriteLine($tmpfile,"") FileWriteLine($tmpfile,$title) FileWriteLine($tmpfile,$tags) FileWriteLine($tmpfile,$note) FileWriteLine($tmpfile,"Action") FileWriteLine($tmpfile,"") $count+=1; Endif ; StringInStr(tiddler) WEnd ; end of TiddlyWiki input ProgressOff() ; write to end of temp file FileWriteLine($tmpfile,"") FileWriteLine($tmpfile,"") ; close all files FileClose($twfile) FileClose($tufile) FileClose($tmpfile) ; rename old tudumo file if not FileMove($tudumofilename,_TempFile($tudumo_folder & "\Backup\","pre-conversion_",".tudumo")) Then msgbox(48,$me,"Error backing up original Tudumo file. Conversion Cancelled.") Exit EndIf ; rename temp output file to main tudumo data if not FileMove($tmpfilename,$tudumofilename) Then msgbox(48,$me,"Error replacing original Tudumo file. Original is in Backup folder.") Exit EndIf msgbox(0,$me, $count & " tiddlers converted to Tudumo.")