DOCSIS-Toolkit/Logger4/FrequencyOperation.swift

43 lines
1.8 KiB
Swift

//
// FrequencyOperation.swift
// Docsis Toolkit
//
// Created by Kilian Hofmann on 15.06.17.
// Copyright © 2017 Kilian Hofmann. All rights reserved.
//
import Cocoa
class FrequencyOperation: Operation {
// DOCSIS 3.0 Upstream Power Limits as per Specification March 5. 2015
let upstreamOne = ["qpsk": "62.18", "8qam": "58.21", "16qam": "58.21", "32qam": "57", "64qam": "57", "128qam": "-"]
let upstreamTwo = ["qpsk": "59.18", "8qam": "55.21", "16qam": "55.21", "32qam": "54", "64qam": "54", "128qam": "-"]
let upstreamThreeOrFour = ["qpsk": "56.18", "8qam": "52.21", "16qam": "52.21", "32qam": "51", "64qam": "51", "128qam": "-"]
let modulationAdjust: NSDictionary = ["qpsk": "-1.18", "8qam": "-0.21", "16qam": "-0.21", "32qam" : "0", "64qam": "0", "128qam": "0.05"]
// XML Parser
let parser: XMLDictionaryParser = XMLDictionaryParser()
override init() {
}
override func main() {
// Get date for folder structure
let time : Date = Date()
let start: Array<String> = (NSApp.delegate as! AppDelegate).justDate.string(from: time).components(separatedBy: ".")
// File manager
let fileManager: FileManager = FileManager.default
// Make all relevant directories if not present
pthread_mutex_lock(&((NSApp.delegate as! AppDelegate).lock))
let dir: NSString = NSString(format: "~/KDLog/%@.docsisplist2/%@/%@", start[2], start[1], start[0])
do {
try fileManager.createDirectory(atPath: dir.expandingTildeInPath, withIntermediateDirectories: true, attributes: nil)
}
catch let error as NSError{
NSLog("ERROR ON SUBDIRECTORY CREATION: \(error.localizedDescription)")
}
pthread_mutex_unlock(&((NSApp.delegate as! AppDelegate).lock))
}
}