Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- func modifyData(data: String, inic: Bool)->[String:[String:String]]?{
- let a = data.split(separator: ":", maxSplits: 1) // odstraneni prefixu, data v a[1]
- let b = a[1].components(separatedBy: "GTSAP1_") // ziskani id objektu (v b[0]), zbytek b[1]
- var c: Array<Substring> = []
- if b.count>1{
- c = String(b[1]).split(separator: "_", maxSplits: 1) // ziskani typu objektu (c[0]), jmena a hodnoty promenne (c[1])
- if c.count>2{
- return nil
- }
- }else{
- return nil
- }
- //kontrola jestli je objekt podstatny
- if isImportantObject(object: String(c[0])){
- var out: [String:[String:String]] = [:]
- var dat: [String:String] = [:]
- var d = c[1].split(separator: ",", maxSplits: 1) // rozdeleni jmena (d[0]) a hodnoty (d[1]) promenne
- //odstraneni uvozovek v pripade ze se jedna o NAME nebo FILE
- if d[0] == "NAME" || d[0] == "FILE"{
- d[1] = d[1][d[1].index(d[1].startIndex, offsetBy: 1)...d[1].index(d[1].endIndex, offsetBy: -2)]
- }
- //pokud neni inicializace, zapise se jmeno promenne a jeji hodnota
- //a nasledne se pridaji do slovniku pod id objektu
- if inic == false {
- dat[String(d[0])] = String(d[1])
- print(data)
- out[String(b[0]) + "GTSAP1"] = dat
- print(out)
- return out
- } else {
- //pri inicializaci se zapise id objektu a jeho jmeno
- if out[String(c[0])] != nil {
- dat = out[String(c[0])]!
- dat[String(b[0]) + "GTSAP1"] = String(d[1])
- } else {
- dat[String(b[0]) + "GTSAP1"] = String(d[1])
- }
- out[String(c[0])] = dat
- return out
- }
- }
- return nil
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement