mirror of
				https://github.com/Jonny007-MKD/OTR-SaneRename
				synced 2025-11-03 16:15:35 +01:00 
			
		
		
		
	added all files
This commit is contained in:
		
							parent
							
								
									7dd61cbfec
								
							
						
					
					
						commit
						9b21874034
					
				
					 4 changed files with 277 additions and 0 deletions
				
			
		
							
								
								
									
										
											BIN
										
									
								
								SaneRename for OTR.exe
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								SaneRename for OTR.exe
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										176
									
								
								Script.au3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										176
									
								
								Script.au3
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,176 @@
 | 
				
			||||||
 | 
					;; TODO: Umlaute werden beim Download der xml όber alle serien nicht richtig όbergeben. evtl mit %-Code arbeiten
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#NoTrayIcon
 | 
				
			||||||
 | 
					#region ;**** Directives created by AutoIt3Wrapper_GUI ****
 | 
				
			||||||
 | 
					#AutoIt3Wrapper_Icon=icon.ico
 | 
				
			||||||
 | 
					#AutoIt3Wrapper_Outfile=SaneRename for OTR.exe
 | 
				
			||||||
 | 
					#AutoIt3Wrapper_UseUpx=n
 | 
				
			||||||
 | 
					#AutoIt3Wrapper_Change2CUI=y
 | 
				
			||||||
 | 
					#AutoIt3Wrapper_Res_Comment=Umbenennungstool fόr Downloads vom OTR in das fόr Serien όbliche Format zur weiterverarbeitung durch Scraper
 | 
				
			||||||
 | 
					#AutoIt3Wrapper_Res_Description=Umbenennungstool fόr Downloads vom OTR in das fόr Serien όbliche Format zur weiterverarbeitung durch Scraper
 | 
				
			||||||
 | 
					#AutoIt3Wrapper_Res_Fileversion=0.2.0.15
 | 
				
			||||||
 | 
					#AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y
 | 
				
			||||||
 | 
					#AutoIt3Wrapper_Res_LegalCopyright=All rights reserved. Leroy Fφrster
 | 
				
			||||||
 | 
					#AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker
 | 
				
			||||||
 | 
					#AutoIt3Wrapper_Run_AU3Check=n
 | 
				
			||||||
 | 
					#endregion ;**** Directives created by AutoIt3Wrapper_GUI ****
 | 
				
			||||||
 | 
					#include <Array.au3>
 | 
				
			||||||
 | 
					#include <_CSV2Array.au3>
 | 
				
			||||||
 | 
					#include <File.au3>
 | 
				
			||||||
 | 
					#include <String.au3>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Global Static $apikey = "2C9BB45EFB08AD3B"
 | 
				
			||||||
 | 
					Global Static $productname = "SaneRename for OTR (ALPHA) v0.2"
 | 
				
			||||||
 | 
					Dim $titel
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					w("")
 | 
				
			||||||
 | 
					w(" :: " & $productname & @CRLF & " :: by Leroy Foerster" & @CRLF & @CRLF)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					;~ Sleep(1000)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Func w($text)
 | 
				
			||||||
 | 
						ConsoleWrite($text & @CRLF & @CRLF)
 | 
				
			||||||
 | 
						Sleep(500)
 | 
				
			||||||
 | 
					EndFunc   ;==>w
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Func ende($t)
 | 
				
			||||||
 | 
						ConsoleWrite($t & @LF)
 | 
				
			||||||
 | 
						MsgBox(0, "Fehler", $t)
 | 
				
			||||||
 | 
						Exit 3
 | 
				
			||||||
 | 
					EndFunc   ;==>ende
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$pfad = InputBox("","")
 | 
				
			||||||
 | 
					;~ $pfad = FileOpenDialog("Datei mit OTR-Benennungsschema [Titel_Datum_Zeit] auswδhlen", "", "Videodateien (*.avi;*.mp4;*.mpg;*.mpeg;*.divx;*.xvid;*.mkv)")
 | 
				
			||||||
 | 
					$datei = StringSplit($pfad, "\")
 | 
				
			||||||
 | 
					$datei = $datei[$datei[0]]
 | 
				
			||||||
 | 
					$dateiendung = StringRight($datei, 3)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					;; Datei in einzelne Felder, getrennt von _ (underscores) aufteilen
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$array = StringSplit($datei, "_", 2)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$array_pos = 0
 | 
				
			||||||
 | 
					For $i In $array
 | 
				
			||||||
 | 
						If StringIsDigit($array[0]) And $array_pos == 0 Then ; Prόfen, ob das erste Feld Cutlistnummern enthδlt, statt den Sendungsnamen
 | 
				
			||||||
 | 
							w("Erstes Feld ist eine Zahl (vermutlich Cutlist-Nummer) und wird ignoriert.")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						ElseIf StringRegExp($i, "\d+\.\d+\.\d+") Then ; Feld ist Datum YY.MM.TT?
 | 
				
			||||||
 | 
							$datum = StringRegExpReplace($i, "(\d+)\.(\d+)\.(\d+)", "$3.$2.$1")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						ElseIf StringRegExp($i, "\d+-\d+") Then ; Feld ist Uhrzeit?
 | 
				
			||||||
 | 
							$uhrzeit = StringRegExpReplace($i, "(\d+)-(\d+)", "\1:\2") ; Uhrzeit in ein schφnes Format bringen
 | 
				
			||||||
 | 
							ExitLoop ; Nach der Uhrzeit kommen keinen parsbaren Informationen mehr, der Loop wird verlassen
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Else
 | 
				
			||||||
 | 
							$titel &= $i & " " ; Das Feld passt zu keinem vorherigen Fall, es muss folglich zum Titel gehφren. Feld wird an bestehenden Titel angehδngt.
 | 
				
			||||||
 | 
						EndIf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						$array_pos += 1
 | 
				
			||||||
 | 
					Next
 | 
				
			||||||
 | 
					$titel = StringStripWS($titel, 2) ; Entferne όberflόssiges Leerzeichen am Ende des Titels
 | 
				
			||||||
 | 
					$titel = StringRegExpReplace($titel, "(.*)(ae)(.*)", "\1δ\3") ; Mache aus AE ein Δ (Umlaute erstellen)
 | 
				
			||||||
 | 
					$titel = StringRegExpReplace($titel, "(.*)(ue)(.*)", "\1δ\3") ; Mache aus UE ein ά (Umlaute erstellen)
 | 
				
			||||||
 | 
					$titel = StringRegExpReplace($titel, "(.*)(oe)(.*)", "\1δ\3") ; Mache aus OE ein Φ (Umlaute erstellen)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					w("    Datum: " & @TAB & @TAB & $datum)
 | 
				
			||||||
 | 
					w("    Uhrzeit: " & @TAB & @TAB & $uhrzeit)
 | 
				
			||||||
 | 
					w("    Titel: " & @TAB & @TAB & $titel)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					;; ------------ Series ID abrufen anhand vom Titel der Serie -------------------- ;;
 | 
				
			||||||
 | 
					$series_db = "http://www.thetvdb.com/api/GetSeries.php?seriesname=" & $titel & "&language=de"
 | 
				
			||||||
 | 
					w("Lade Serieninfos von '" & $series_db & "' herunter...")
 | 
				
			||||||
 | 
					If Not InetGet($series_db, "serien.xml") Then Ende("Fehler beim Download von " & $series_db)
 | 
				
			||||||
 | 
					Dim $serien_xml[1]
 | 
				
			||||||
 | 
					_FileReadToArray("serien.xml", $serien_xml)
 | 
				
			||||||
 | 
					;~ FileDelete("serien.xml")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$serien_xml_zeile_serie = _ArraySearch($serien_xml, $titel, -1, -1, -1, -1, 1) ; Nach Serientitel-Zeile suchen, von oben nach unten
 | 
				
			||||||
 | 
					If $serien_xml_zeile_serie = -1 Then Ende("Die Serie wurde nicht in der TVDB.COM gefunden.")
 | 
				
			||||||
 | 
					$serien_id = (_StringBetween($serien_xml[$serien_xml_zeile_serie - 2], ">", "</"))
 | 
				
			||||||
 | 
					$serien_id = $serien_id[0]
 | 
				
			||||||
 | 
					w("    TVDB: " & @TAB & @TAB & "Serie gefunden. ID: " & $serien_id)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					;; ------------ EPG vom jeweiligen Tag herunterladen, durchsuchen anhand der Ausstrahlungszeit ------------- ;;
 | 
				
			||||||
 | 
					$aDatum_DMY = StringSplit($datum, ".")
 | 
				
			||||||
 | 
					$epg_datei = "http://www.onlinetvrecorder.com/epg/csv/epg_20" & $aDatum_DMY[3] & "_" & $aDatum_DMY[2] & "_" & $aDatum_DMY[1] & ".csv"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					;~ w("Lade die EPG Datei '" & $epg_datei & "' herunter...")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					If Not InetGet($epg_datei, "epg.csv") Then Ende("Fehler beim Download von " & $epg_datei)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$epg = _CSV2Array("epg.csv")
 | 
				
			||||||
 | 
					FileDelete("epg.csv")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$ersterFund = _ArraySearch($epg, $uhrzeit, -1, -1, -1, -1, 1, 1) ; Position der ersten Sendung von hh:mm Uhr
 | 
				
			||||||
 | 
					$letzterFund = _ArraySearch($epg, $uhrzeit, -1, -1, -1, -1, 0, 1) ; Position der letzten Sendung von hh:mm Uhr
 | 
				
			||||||
 | 
					$ID = (_ArraySearch($epg, $titel, $ersterFund, $letzterFund, -1, -1, -1, 5)) ; Position (Zeile) der Sendung mit dem $TITEL im Berech der oben eingegerenzten Uhrzeiten. So wird vermieden, dass die Infos von der gleichen Sendung, zu einer anderen Sendezeit gefunden werden
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					If $ID == -1 Then _ArrayDisplay($epg, "Fataler Fehler: Sendung '" & $titel & "' konnte im EPG (Spalte 5) nicht gefunden werden!") ; Wenn im EPG nichts gefunden wurde mit dem Titel (z.B. bei falscher Formatierung oder Whitespaces)
 | 
				
			||||||
 | 
					;; Beschreibung lesen und alles nach dem Komma als Episodentitel behandeln (BETA)
 | 
				
			||||||
 | 
					w("    EPG: " & @TAB & @TAB & "gefunden. Zeile: " & $ID)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$beschreibung = $epg[$ID][7] ; Hole die Beschreibung aus Spalte 7 der Zeile, die oben herausgefunden wurde
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$episode = StringSplit($beschreibung, ",") ; Episodenname kommt όblicherweise hinter dem Komma
 | 
				
			||||||
 | 
					$episode = StringStripWS($episode[2], 7) ; Fόhrende und folgende Whitespaces entfernen
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					w("    Episodentitel: " & @TAB & $episode)
 | 
				
			||||||
 | 
					;; Episoden von der TVDB herunterladen und nach einer Episode mit diesem Titel suchen
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$episoden_db = "http://www.thetvdb.com/api/" & $apikey & "/series/" & $serien_id & "/all/de.xml"
 | 
				
			||||||
 | 
					;~ w("Lade Episodeninfos von '" & $episoden_db & "'herunter...")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					If Not InetGet($episoden_db, "episoden.xml") Then ende("Fehler beim Download von " & $episoden_db)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Dim $episoden_xml[1]
 | 
				
			||||||
 | 
					_FileReadToArray("episoden.xml", $episoden_xml)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					;; Infos aus der Episodendatei rauslesen
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$episode_xml_zeile_episode = _ArraySearch($episoden_xml, $episode, -1, -1, -1, -1, 1) ; Nach Episodentitel-Zeile suchen, von oben nach unten
 | 
				
			||||||
 | 
					If $episode_xml_zeile_episode == -1 Then
 | 
				
			||||||
 | 
						ConsoleWrite("Keine Episode mit diesem Titel gefunden. Suche nochmal in der englischen Datenbank... ")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						$episoden_db = "http://www.thetvdb.com/api/" & $apikey & "/series/" & $serien_id & "/all/en.xml"
 | 
				
			||||||
 | 
					;~ w("Lade Episodeninfos von '" & $episoden_db & "'herunter...")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						If Not InetGet($episoden_db, "episoden.xml") Then ende("Fehler beim Download von " & $episoden_db)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Dim $episoden_xml[1]
 | 
				
			||||||
 | 
						_FileReadToArray("episoden.xml", $episoden_xml)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						;; Infos aus der Episodendatei rauslesen
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						$episode_xml_zeile_episode = _ArraySearch($episoden_xml, $episode, -1, -1, -1, -1, 1) ; Nach Episodentitel-Zeile suchen, von oben nach unten
 | 
				
			||||||
 | 
						if $episode_xml_zeile_episode == -1 then Ende("Die Episode mit dem Titel '"&$episode&"' konnte weder in der deutschen, noch der englischen Datenbank von TheTvDB.com gefunden werden.")
 | 
				
			||||||
 | 
						w("gefunden! :)")
 | 
				
			||||||
 | 
					EndIf
 | 
				
			||||||
 | 
					FileDelete("episoden.xml")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$episode_nummer = (_StringBetween($episoden_xml[$episode_xml_zeile_episode + 1], ">", "</"))
 | 
				
			||||||
 | 
					$episode_nummer = $episode_nummer[0]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$episode_xml_zeile_season = _ArraySearch($episoden_xml, "<SeasonNumber>", $episode_xml_zeile_episode, -1, -1, 1, 1) ; Nach SeasonNumber suchen, von der Zeile mit dem Episodentitel aus abwδrts
 | 
				
			||||||
 | 
					$season_nummer = (_StringBetween($episoden_xml[$episode_xml_zeile_season], ">", "</"))
 | 
				
			||||||
 | 
					$season_nummer = $season_nummer[0]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					w("    Staffel: " & @TAB & @TAB & $season_nummer)
 | 
				
			||||||
 | 
					w("    Episode: " & @TAB & @TAB & $episode_nummer)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					;; Datei gemδί der όblichen Namenskonvention umbenennen; damit ist die Datei bereit zum scrapen durch andere Programme wie XBMC oder SickBeard
 | 
				
			||||||
 | 
					$neueDatei = $titel & " - " & $season_nummer & "x" & $episode_nummer & " - " & $episode & "." & $dateiendung
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#region --- CodeWizard generated code Start ---
 | 
				
			||||||
 | 
					;MsgBox features: Title=Yes, Text=Yes, Buttons=Yes and No, Icon=Question
 | 
				
			||||||
 | 
					If Not IsDeclared("iMsgBoxAnswer") Then Local $iMsgBoxAnswer
 | 
				
			||||||
 | 
					$iMsgBoxAnswer = MsgBox(36, $productname, "Die Verarbeitung ist abgeschlossen. Der empfohlene Dateiname lautet:" & @CRLF & @CRLF & $neueDatei & @CRLF & @CRLF & "Soll die Datei umbenannt werden?")
 | 
				
			||||||
 | 
					Select
 | 
				
			||||||
 | 
						Case $iMsgBoxAnswer = 6 ;Yes
 | 
				
			||||||
 | 
							FileMove($pfad, $neueDatei)
 | 
				
			||||||
 | 
						Case $iMsgBoxAnswer = 7 ;No
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					EndSelect
 | 
				
			||||||
 | 
					#endregion --- CodeWizard generated code Start ---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										97
									
								
								_CSV2Array.au3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										97
									
								
								_CSV2Array.au3
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,97 @@
 | 
				
			||||||
 | 
					; #FUNCTION# ===================================================================
 | 
				
			||||||
 | 
					; Name ..........: _CSV2Array
 | 
				
			||||||
 | 
					; Description ...:
 | 
				
			||||||
 | 
					; AutoIt Version : V3.3.0.0
 | 
				
			||||||
 | 
					; Syntax ........: _CSV2Array($hFile[, $cSeperator = "auto"[, $bFilterString = True[, $iColumnMode = 0]]])
 | 
				
			||||||
 | 
					; Parameter(s): .: $hFile       - Handle for the CSV file to Read
 | 
				
			||||||
 | 
					;                  $cSeperator  - Optional: (Default = "auto") : Tries to find the separator char (; or , or TAB or | or space)
 | 
				
			||||||
 | 
					;                               | Data-seperator-char
 | 
				
			||||||
 | 
					;                               | Empty-string = Opt("GUIDataSeparatorChar")
 | 
				
			||||||
 | 
					;                  $bFilterString - Optional: (Default = True) : Removes leading and trailing " or '
 | 
				
			||||||
 | 
					;                  $iColumnMode - Optional: (Default = 0) :
 | 
				
			||||||
 | 
					;                               | 0: Sets error if lines have different columns and @extended to the csv-line number
 | 
				
			||||||
 | 
					;                               | 1: returns lines with different columns numbers comparing to the first line, too
 | 
				
			||||||
 | 
					;                               | 2: removing all columns > column numbers in the first line
 | 
				
			||||||
 | 
					; Return Value ..: Success      - 2-dim Array
 | 
				
			||||||
 | 
					;                  Failure      - 0
 | 
				
			||||||
 | 
					;                  @ERROR       - 1: error file read
 | 
				
			||||||
 | 
					;                  @ERROR       - 2: different number of columns / @EXTENDED = CSV-line
 | 
				
			||||||
 | 
					;                               - 3: parameter error
 | 
				
			||||||
 | 
					; Author(s) .....: Thorsten Willert
 | 
				
			||||||
 | 
					; Date ..........: Mon Dec 07 18:54:35 CET 2009
 | 
				
			||||||
 | 
					; ==============================================================================
 | 
				
			||||||
 | 
					Func _CSV2Array($hFile, $cSeperator = "auto", $bFilterString = True, $iColumnMode = 0)
 | 
				
			||||||
 | 
						Local $s = FileRead($hFile)
 | 
				
			||||||
 | 
						If @error Then Return SetError(1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						If $cSeperator = Default Then $cSeperator = "auto"
 | 
				
			||||||
 | 
						If Not $cSeperator Then $cSeperator = Opt("GUIDataSeparatorChar")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						; searching the line-seperator and splitting the lines into an array
 | 
				
			||||||
 | 
						Local $aLines
 | 
				
			||||||
 | 
						If StringInStr($s, @CRLF) Then
 | 
				
			||||||
 | 
							$aLines = StringSplit($s, @CRLF, 1)
 | 
				
			||||||
 | 
						ElseIf StringInStr($s, @CR) Then
 | 
				
			||||||
 | 
							$aLines = StringSplit($s, @CR)
 | 
				
			||||||
 | 
						Else
 | 
				
			||||||
 | 
							$aLines = StringSplit($s, @LF)
 | 
				
			||||||
 | 
						EndIf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						; searching the delimiter in the first line
 | 
				
			||||||
 | 
						Local $aTMP
 | 
				
			||||||
 | 
						If $cSeperator = "auto" Then
 | 
				
			||||||
 | 
							Local $iMax = 0
 | 
				
			||||||
 | 
							Local $iC[5] = [0, 0, 0, 0, 0]
 | 
				
			||||||
 | 
							Local $sC[5] = [";", ",", @TAB, "|", " "]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							$aTMP = StringRegExp($aLines[1], ";", 3)
 | 
				
			||||||
 | 
							If Not @error Then $iC[0] = UBound($aTMP)
 | 
				
			||||||
 | 
							$aTMP = StringRegExp($aLines[1], ",", 3)
 | 
				
			||||||
 | 
							If Not @error Then $iC[1] = UBound($aTMP)
 | 
				
			||||||
 | 
							$aTMP = StringRegExp($aLines[1], "\t", 3)
 | 
				
			||||||
 | 
							If Not @error Then $iC[2] = UBound($aTMP)
 | 
				
			||||||
 | 
							$aTMP = StringRegExp($aLines[1], "\|", 3)
 | 
				
			||||||
 | 
							If Not @error Then $iC[3] = UBound($aTMP)
 | 
				
			||||||
 | 
							$aTMP = StringRegExp($aLines[1], "[ ]", 3)
 | 
				
			||||||
 | 
							If Not @error Then $iC[4] = UBound($aTMP)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							For $i = 0 To UBound($sC) - 1
 | 
				
			||||||
 | 
								If $iC[$i] > $iMax Then
 | 
				
			||||||
 | 
									$iMax = $iC[$i]
 | 
				
			||||||
 | 
									$cSeperator = $sC[$i]
 | 
				
			||||||
 | 
								EndIf
 | 
				
			||||||
 | 
							Next
 | 
				
			||||||
 | 
						EndIf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						; creating 2-dim array based on the number of data in the first line
 | 
				
			||||||
 | 
						$aTMP = StringSplit($aLines[1], $cSeperator)
 | 
				
			||||||
 | 
						Local $iCol = $aTMP[0]
 | 
				
			||||||
 | 
						Local $aRet[$aLines[0]][$iCol]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						; splitting and filling the lines
 | 
				
			||||||
 | 
						For $i = 1 To $aLines[0]
 | 
				
			||||||
 | 
							$aTMP = StringSplit($aLines[$i], $cSeperator)
 | 
				
			||||||
 | 
							If @error Then ContinueLoop
 | 
				
			||||||
 | 
							If $aTMP[0] > $iCol Then
 | 
				
			||||||
 | 
								Switch $iColumnMode
 | 
				
			||||||
 | 
									Case 0
 | 
				
			||||||
 | 
										Return SetError(2, $i)
 | 
				
			||||||
 | 
									Case 1
 | 
				
			||||||
 | 
										ReDim $aRet[$aLines[0] - 1][$aTMP[0]]
 | 
				
			||||||
 | 
									Case 2
 | 
				
			||||||
 | 
										$aTMP[0] = $iCol
 | 
				
			||||||
 | 
									Case Else
 | 
				
			||||||
 | 
										Return SetError(3)
 | 
				
			||||||
 | 
								EndSwitch
 | 
				
			||||||
 | 
							EndIf
 | 
				
			||||||
 | 
							For $j = 1 To $aTMP[0]
 | 
				
			||||||
 | 
								$aTMP[$j] = StringStripWS($aTMP[$j], 3)
 | 
				
			||||||
 | 
								If $bFilterString Then ; removing leading and trailing " or '
 | 
				
			||||||
 | 
									$aTMP[$j] = StringRegExpReplace($aTMP[$j], '^("|'')(.*?)\1$', '$2')
 | 
				
			||||||
 | 
								EndIf
 | 
				
			||||||
 | 
								$aRet[$i - 1][$j - 1] = $aTMP[$j]
 | 
				
			||||||
 | 
							Next ; /cols
 | 
				
			||||||
 | 
						Next ; /lines
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Return $aRet
 | 
				
			||||||
 | 
					EndFunc   ;==>_CSV2Array
 | 
				
			||||||
							
								
								
									
										4
									
								
								serien.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								serien.xml
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,4 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="UTF-8" ?>
 | 
				
			||||||
 | 
					<Data>
 | 
				
			||||||
 | 
					</Data>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue