From f3950041c748e9280a813de45453bb48ddd7507a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20F=C3=B6rtsch?= Date: Thu, 11 Oct 2018 12:58:02 +0200 Subject: [PATCH] add optionals as return value --- .../UserInterfaceState.xcuserstate | Bin 0 -> 24532 bytes LiquipediaMenu/MatchesAPI.swift | 21 +++++----- LiquipediaMenu/StatusBarController.swift | 19 ++++----- Pods/Pods.xcodeproj/project.pbxproj | 36 +++++------------- .../xcschemes/Pods-LiquipediaMenu.xcscheme | 33 ++++++++++------ .../xcschemes/SwiftSoup.xcscheme | 33 ++++++++++------ .../xcschemes/xcschememanagement.plist | 4 ++ 7 files changed, 79 insertions(+), 67 deletions(-) create mode 100644 LiquipediaMenu.xcworkspace/xcuserdata/felixfoertsch.xcuserdatad/UserInterfaceState.xcuserstate diff --git a/LiquipediaMenu.xcworkspace/xcuserdata/felixfoertsch.xcuserdatad/UserInterfaceState.xcuserstate b/LiquipediaMenu.xcworkspace/xcuserdata/felixfoertsch.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..2a79704d00dd8d758a9e654675934a3ad09d5214 GIT binary patch literal 24532 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 literal 0 HcmV?d00001 diff --git a/LiquipediaMenu/MatchesAPI.swift b/LiquipediaMenu/MatchesAPI.swift index b936931..f3bbfb3 100644 --- a/LiquipediaMenu/MatchesAPI.swift +++ b/LiquipediaMenu/MatchesAPI.swift @@ -11,15 +11,16 @@ import SwiftSoup class MatchesAPI { - func fetchMatches(for game: String) -> [Match] { + func fetchMatches(for game: String) -> [Match]? { let games = ["dota2", "starcraft", "starcraft2", "heroes", "counterstrike", "rocketleague", "rainbowsix", "overwatch"] - if !games.contains(game) { return [Match]() } - let data = fetchData(for: game) - let matches = extractMatches(from: data) - return matches + if !games.contains(game) { return nil } + if let data = fetchData(for: game) { + return extractMatches(from: data) + } + return nil } - private func fetchData(for game: String) -> String { + private func fetchData(for game: String) -> String? { let url = constructURL(for: game) // DispatchQueue.global().async { [unowned self] in if let url = URL(string: url) { @@ -28,10 +29,10 @@ class MatchesAPI { } } // } - return "" + return nil } - private func extractMatches(from data: String) -> [Match] { + private func extractMatches(from data: String) -> [Match]? { var tmp = data.replacingOccurrences(of: "\\n", with: "") tmp = tmp.replacingOccurrences(of: "\\", with: "") @@ -61,10 +62,10 @@ class MatchesAPI { return matches } catch Exception.Error(_, _) { print("") - return [Match]() + return nil } catch { print("") - return [Match]() + return nil } } diff --git a/LiquipediaMenu/StatusBarController.swift b/LiquipediaMenu/StatusBarController.swift index b689266..e143bba 100644 --- a/LiquipediaMenu/StatusBarController.swift +++ b/LiquipediaMenu/StatusBarController.swift @@ -8,7 +8,7 @@ import Cocoa -class StatusBarController: NSObject { +class StatusBarController: NSObject, NSMenuDelegate { @IBOutlet weak var statusBar: NSMenu! let statusItem = NSStatusBar.system.statusItem(withLength: NSStatusItem.variableLength) let matchesAPI = MatchesAPI() @@ -27,17 +27,18 @@ class StatusBarController: NSObject { statusBar.addItem(withTitle: "Refresh", action: #selector(generateMenu), keyEquivalent: "") statusBar.addItem(NSMenuItem.separator()) - matches = matchesAPI.fetchMatches(for: "dota2") - for match in matches { - let myItem = NSMenuItem(title: match.league, action: nil, keyEquivalent: "") - statusBar.addItem(myItem) + if let matches = matchesAPI.fetchMatches(for: "dota2") { + for match in matches { + let myItem = NSMenuItem(title: match.league, action: nil, keyEquivalent: "") + statusBar.addItem(myItem) + } + + statusBar.addItem(NSMenuItem.separator()) + statusBar.addItem(withTitle: "Quit", action: #selector(quitClicked), keyEquivalent: "") } - - statusBar.addItem(NSMenuItem.separator()) - statusBar.addItem(withTitle: "Quit", action: #selector(quitClicked), keyEquivalent: "") } - @objc func quitClicked() { + @objc func quitClicked(_ sender: NSMenuItem) { NSApplication.shared.terminate(self) } } diff --git a/Pods/Pods.xcodeproj/project.pbxproj b/Pods/Pods.xcodeproj/project.pbxproj index e16003d..1ae5c69 100644 --- a/Pods/Pods.xcodeproj/project.pbxproj +++ b/Pods/Pods.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 50; + objectVersion = 46; objects = { /* Begin PBXBuildFile section */ @@ -84,7 +84,7 @@ /* Begin PBXFileReference section */ 007D3C79D0CF0BE6FF2556B8846850EA /* ArrayExt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ArrayExt.swift; path = Sources/ArrayExt.swift; sourceTree = ""; }; 0AEE3159671F061357B3988820992AB3 /* DataUtil.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DataUtil.swift; path = Sources/DataUtil.swift; sourceTree = ""; }; - 0BCEAB189E2E70EA4D235E29DE325877 /* Pods_LiquipediaMenu.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_LiquipediaMenu.framework; path = "Pods-LiquipediaMenu.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + 0BCEAB189E2E70EA4D235E29DE325877 /* Pods_LiquipediaMenu.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LiquipediaMenu.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 0D016381C9FBB25D558EF8C55592E6D7 /* Pods-LiquipediaMenu.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-LiquipediaMenu.release.xcconfig"; sourceTree = ""; }; 0FD1D556718F7F72612DBB852C53A11A /* Pods-LiquipediaMenu-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-LiquipediaMenu-acknowledgements.plist"; sourceTree = ""; }; 1105B1B4BC31DB983BC3200EE5BC75E4 /* Pods-LiquipediaMenu-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-LiquipediaMenu-resources.sh"; sourceTree = ""; }; @@ -124,7 +124,7 @@ 8DC8E1146AEDC184675DE3BFD3225260 /* Pods-LiquipediaMenu-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-LiquipediaMenu-umbrella.h"; sourceTree = ""; }; 9161B06CA12DCBC5B4DD06E44D91CB1E /* SwiftSoup.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SwiftSoup.modulemap; sourceTree = ""; }; 91F70944F55E23CA9F1AA9C3F5E543E6 /* Attribute.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Attribute.swift; path = Sources/Attribute.swift; sourceTree = ""; }; - 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 97B9BE6A120CF124AC947FD213458C40 /* TextNode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextNode.swift; path = Sources/TextNode.swift; sourceTree = ""; }; 9A1C5C6357B71AF5FED442F9E3F6C77C /* XmlDeclaration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = XmlDeclaration.swift; path = Sources/XmlDeclaration.swift; sourceTree = ""; }; 9CF8CDB58FEC3DF8E9E9C788D7986C1A /* Evaluator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Evaluator.swift; path = Sources/Evaluator.swift; sourceTree = ""; }; @@ -151,7 +151,7 @@ DF0F2496EE4A25ED1BC61246533BA9DB /* Exception.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Exception.swift; path = Sources/Exception.swift; sourceTree = ""; }; DF428FC7C7A6555B2B02D8E238C8D8F2 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Cocoa.framework; sourceTree = DEVELOPER_DIR; }; E06D59F71CA62BD4EDB256AE1B680688 /* Pods-LiquipediaMenu.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-LiquipediaMenu.modulemap"; sourceTree = ""; }; - E11AE56DD631B971DAE87B4973B29116 /* SwiftSoup.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SwiftSoup.framework; path = SwiftSoup.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + E11AE56DD631B971DAE87B4973B29116 /* SwiftSoup.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftSoup.framework; sourceTree = BUILT_PRODUCTS_DIR; }; E206093B8CFA7D169994473FF3E06161 /* TokeniserState.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TokeniserState.swift; path = Sources/TokeniserState.swift; sourceTree = ""; }; E7E9CAE847A747B6035DD7897522E6B3 /* StructuralEvaluator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StructuralEvaluator.swift; path = Sources/StructuralEvaluator.swift; sourceTree = ""; }; F2005E18A17D8432D600D482946D4853 /* TreeBuilder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TreeBuilder.swift; path = Sources/TreeBuilder.swift; sourceTree = ""; }; @@ -289,7 +289,6 @@ 579FD986C85730D8DF75FB2A4152B0BD /* XmlTreeBuilder.swift */, 2585406248F42708599608914EA31A98 /* Support Files */, ); - name = SwiftSoup; path = SwiftSoup; sourceTree = ""; }; @@ -393,7 +392,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0930; - LastUpgradeCheck = 0930; + LastUpgradeCheck = 1000; }; buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; compatibilityVersion = "Xcode 3.2"; @@ -517,11 +516,7 @@ FRAMEWORK_VERSION = A; INFOPLIST_FILE = "Target Support Files/Pods-LiquipediaMenu/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - "@loader_path/Frameworks", - ); + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; MACOSX_DEPLOYMENT_TARGET = 10.13; MODULEMAP_FILE = "Target Support Files/Pods-LiquipediaMenu/Pods-LiquipediaMenu.modulemap"; @@ -558,11 +553,7 @@ FRAMEWORK_VERSION = A; INFOPLIST_FILE = "Target Support Files/Pods-LiquipediaMenu/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - "@loader_path/Frameworks", - ); + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; MACOSX_DEPLOYMENT_TARGET = 10.13; MODULEMAP_FILE = "Target Support Files/Pods-LiquipediaMenu/Pods-LiquipediaMenu.modulemap"; @@ -598,11 +589,7 @@ GCC_PREFIX_HEADER = "Target Support Files/SwiftSoup/SwiftSoup-prefix.pch"; INFOPLIST_FILE = "Target Support Files/SwiftSoup/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - "@loader_path/Frameworks", - ); + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.10; MODULEMAP_FILE = "Target Support Files/SwiftSoup/SwiftSoup.modulemap"; PRODUCT_MODULE_NAME = SwiftSoup; @@ -636,11 +623,7 @@ GCC_PREFIX_HEADER = "Target Support Files/SwiftSoup/SwiftSoup-prefix.pch"; INFOPLIST_FILE = "Target Support Files/SwiftSoup/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - "@loader_path/Frameworks", - ); + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.10; MODULEMAP_FILE = "Target Support Files/SwiftSoup/SwiftSoup.modulemap"; PRODUCT_MODULE_NAME = SwiftSoup; @@ -772,6 +755,7 @@ MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_NAME = "$(TARGET_NAME)"; STRIP_INSTALLED_PRODUCT = NO; + SWIFT_COMPILATION_MODE = wholemodule; SYMROOT = "${SRCROOT}/../build"; }; name = Release; diff --git a/Pods/Pods.xcodeproj/xcuserdata/felixfoertsch.xcuserdatad/xcschemes/Pods-LiquipediaMenu.xcscheme b/Pods/Pods.xcodeproj/xcuserdata/felixfoertsch.xcuserdatad/xcschemes/Pods-LiquipediaMenu.xcscheme index b5a26cf..5d2c482 100644 --- a/Pods/Pods.xcodeproj/xcuserdata/felixfoertsch.xcuserdatad/xcschemes/Pods-LiquipediaMenu.xcscheme +++ b/Pods/Pods.xcodeproj/xcuserdata/felixfoertsch.xcuserdatad/xcschemes/Pods-LiquipediaMenu.xcscheme @@ -1,36 +1,39 @@ + buildForArchiving = "YES" + buildForAnalyzing = "YES"> + ReferencedContainer = "container:Pods.xcodeproj"> + shouldUseLaunchSchemeArgsEnv = "YES"> + + + + + + + debugDocumentVersioning = "YES"> diff --git a/Pods/Pods.xcodeproj/xcuserdata/felixfoertsch.xcuserdatad/xcschemes/SwiftSoup.xcscheme b/Pods/Pods.xcodeproj/xcuserdata/felixfoertsch.xcuserdatad/xcschemes/SwiftSoup.xcscheme index 0db27f5..fc92c8f 100644 --- a/Pods/Pods.xcodeproj/xcuserdata/felixfoertsch.xcuserdatad/xcschemes/SwiftSoup.xcscheme +++ b/Pods/Pods.xcodeproj/xcuserdata/felixfoertsch.xcuserdatad/xcschemes/SwiftSoup.xcscheme @@ -1,36 +1,39 @@ + buildForArchiving = "YES" + buildForAnalyzing = "YES"> + ReferencedContainer = "container:Pods.xcodeproj"> + shouldUseLaunchSchemeArgsEnv = "YES"> + + + + + + + debugDocumentVersioning = "YES"> diff --git a/Pods/Pods.xcodeproj/xcuserdata/felixfoertsch.xcuserdatad/xcschemes/xcschememanagement.plist b/Pods/Pods.xcodeproj/xcuserdata/felixfoertsch.xcuserdatad/xcschemes/xcschememanagement.plist index adc3005..50df07f 100644 --- a/Pods/Pods.xcodeproj/xcuserdata/felixfoertsch.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/Pods/Pods.xcodeproj/xcuserdata/felixfoertsch.xcuserdatad/xcschemes/xcschememanagement.plist @@ -8,11 +8,15 @@ isShown + orderHint + 0 SwiftSoup.xcscheme isShown + orderHint + 1 SuppressBuildableAutocreation