Skip to content

Commit a0c89b5

Browse files
committed
logging + cleanup
1 parent 690ad4a commit a0c89b5

File tree

8 files changed

+51
-128
lines changed

8 files changed

+51
-128
lines changed

RxVision.xcodeproj/project.pbxproj

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
94DF277A215D69AC00051F68 /* RxVNRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94DF2779215D69AC00051F68 /* RxVNRequest.swift */; };
2121
94DF277C215D6E9900051F68 /* VNCoreMLRequest+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94DF277B215D6E9900051F68 /* VNCoreMLRequest+Rx.swift */; };
2222
94DF277E215D6F1400051F68 /* RxVNCoreMLRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94DF277D215D6F1400051F68 /* RxVNCoreMLRequest.swift */; };
23+
94DF2792215E973600051F68 /* Log.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94DF2791215E973600051F68 /* Log.swift */; };
2324
/* End PBXBuildFile section */
2425

2526
/* Begin PBXContainerItemProxy section */
@@ -45,7 +46,6 @@
4546
9482DE2D2045A42900A809BC /* Cartfile */ = {isa = PBXFileReference; lastKnownFileType = text; path = Cartfile; sourceTree = "<group>"; };
4647
9482DE2F2045A47800A809BC /* RxSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxSwift.framework; path = ../../Carthage/Build/iOS/RxSwift.framework; sourceTree = "<group>"; };
4748
9482DE332045A5B300A809BC /* VNImageRequestHandler+Rx.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "VNImageRequestHandler+Rx.swift"; sourceTree = "<group>"; };
48-
9482DE372045AA9100A809BC /* stuff.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = stuff.swift; sourceTree = "<group>"; };
4949
94DF276F215D580300051F68 /* VNRequest+Rx.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "VNRequest+Rx.swift"; sourceTree = "<group>"; };
5050
94DF2771215D65D700051F68 /* RequestCompletion.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RequestCompletion.swift; sourceTree = "<group>"; };
5151
94DF2773215D65E600051F68 /* RxVNRequestCompletionHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RxVNRequestCompletionHandler.swift; sourceTree = "<group>"; };
@@ -54,6 +54,7 @@
5454
94DF2779215D69AC00051F68 /* RxVNRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RxVNRequest.swift; sourceTree = "<group>"; };
5555
94DF277B215D6E9900051F68 /* VNCoreMLRequest+Rx.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "VNCoreMLRequest+Rx.swift"; sourceTree = "<group>"; };
5656
94DF277D215D6F1400051F68 /* RxVNCoreMLRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RxVNCoreMLRequest.swift; sourceTree = "<group>"; };
57+
94DF2791215E973600051F68 /* Log.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Log.swift; sourceTree = "<group>"; };
5758
/* End PBXFileReference section */
5859

5960
/* Begin PBXFrameworksBuildPhase section */
@@ -111,9 +112,9 @@
111112
94DF2775215D67DA00051F68 /* RxVNDetectTextRectanglesRequest.swift */,
112113
94DF2777215D681700051F68 /* VNDetectTextRectanglesRequest+Rx.swift */,
113114
9482DE332045A5B300A809BC /* VNImageRequestHandler+Rx.swift */,
115+
94DF2791215E973600051F68 /* Log.swift */,
114116
9482DE132045A33B00A809BC /* RxVision.h */,
115117
9482DE142045A33B00A809BC /* Info.plist */,
116-
9482DE372045AA9100A809BC /* stuff.swift */,
117118
);
118119
path = RxVision;
119120
sourceTree = "<group>";
@@ -282,6 +283,7 @@
282283
files = (
283284
94DF2774215D65E600051F68 /* RxVNRequestCompletionHandler.swift in Sources */,
284285
9482DE342045A5B300A809BC /* VNImageRequestHandler+Rx.swift in Sources */,
286+
94DF2792215E973600051F68 /* Log.swift in Sources */,
285287
94DF2772215D65D700051F68 /* RequestCompletion.swift in Sources */,
286288
94DF2778215D681700051F68 /* VNDetectTextRectanglesRequest+Rx.swift in Sources */,
287289
94DF277E215D6F1400051F68 /* RxVNCoreMLRequest.swift in Sources */,

RxVision/Log.swift

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
//
2+
// Log.swift
3+
// RxVision
4+
//
5+
// Created by Maxim Volgin on 28/09/2018.
6+
// Copyright © 2018 Maxim Volgin. All rights reserved.
7+
//
8+
9+
import os.log
10+
11+
struct Log {
12+
fileprivate static let subsystem: String = Bundle.main.bundleIdentifier ?? ""
13+
14+
static let vn = OSLog(subsystem: subsystem, category: "vn")
15+
}

RxVision/RxVNCoreMLRequest.swift

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,11 @@ import RxSwift
1111

1212
public final class RxVNCoreMLRequest<T>: RxVNRequest<T> {
1313

14-
private lazy var _request: VNCoreMLRequest = VNCoreMLRequest(model: self.model, completionHandler: self.handler?.requestCompletionHandler)
15-
private let model: VNCoreMLModel
16-
1714
public init(model: VNCoreMLModel, imageCropAndScaleOption: VNImageCropAndScaleOption) {
18-
self.model = model
19-
super.init()
20-
_request.imageCropAndScaleOption = imageCropAndScaleOption
21-
}
22-
23-
override public var request: VNRequest {
24-
get {
25-
return _request
26-
}
15+
let handler = RxVNRequestCompletionHandler<T>()
16+
let request: VNCoreMLRequest = VNCoreMLRequest(model: model, completionHandler: handler.requestCompletionHandler)
17+
request.imageCropAndScaleOption = imageCropAndScaleOption
18+
super.init(request: request, handler: handler)
2719
}
2820

2921
}

RxVision/RxVNDetectTextRectanglesRequest.swift

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,11 @@ import RxSwift
1111

1212
public final class RxVNDetectTextRectanglesRequest<T>: RxVNRequest<T> {
1313

14-
private lazy var _request: VNDetectTextRectanglesRequest = VNDetectTextRectanglesRequest(completionHandler: self.handler?.requestCompletionHandler)
15-
1614
public init(reportCharacterBoxes: Bool) {
17-
super.init()
18-
_request.reportCharacterBoxes = reportCharacterBoxes
19-
}
20-
21-
override public var request: VNRequest {
22-
get {
23-
return _request
24-
}
15+
let handler = RxVNRequestCompletionHandler<T>()
16+
let request: VNDetectTextRectanglesRequest = VNDetectTextRectanglesRequest(completionHandler: handler.requestCompletionHandler)
17+
request.reportCharacterBoxes = reportCharacterBoxes
18+
super.init(request: request, handler: handler)
2519
}
2620

2721
}

RxVision/RxVNRequest.swift

Lines changed: 14 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -8,32 +8,27 @@
88

99
import Vision
1010
import RxSwift
11+
import os.log
1112

1213
public class RxVNRequest<T> {
1314

14-
typealias Observer = RxVNRequestCompletionHandler<T>.Observer
15-
16-
var handler: RxVNRequestCompletionHandler<T>?
17-
18-
public var value: T? {
19-
get {
20-
return self.handler?.value
21-
}
22-
set {
23-
self.handler?.value = newValue
24-
}
25-
}
2615
public lazy var observable: Observable<RequestCompletion<T>> = Observable.create { (observer) in
27-
self.handler = RxVNRequestCompletionHandler<T>(observer: observer)
16+
self.handler.observer = observer
17+
os_log("RxVNRequest.observable %@", log: Log.vn, type: .debug, "\(self.handler)")
2818
return Disposables.create()
2919
}
30-
public var request: VNRequest { get {
31-
preconditionFailure("This method must be overridden")
32-
}
33-
}
34-
35-
init() {
20+
21+
public var value: T? = nil
22+
public let request: VNRequest
23+
private let handler: RxVNRequestCompletionHandler<T>
24+
25+
init(request: VNRequest, handler: RxVNRequestCompletionHandler<T>) {
26+
self.request = request
27+
self.handler = handler
3628
}
3729

30+
func requestCompletionHandler(request: VNRequest, error: Error?) {
31+
preconditionFailure("This method must be overridden")
32+
}
3833

3934
}

RxVision/RxVNRequestCompletionHandler.swift

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,21 @@
88

99
import Vision
1010
import RxSwift
11+
import os.log
1112

1213
final class RxVNRequestCompletionHandler<T> {
1314

1415
typealias Observer = AnyObserver<RequestCompletion<T>>
1516

16-
private let observer: Observer
17+
var observer: Observer? = nil
1718

1819
public var value: T? = nil
1920
public lazy var requestCompletionHandler: VNRequestCompletionHandler = { (request: VNRequest, error: Error?) in
20-
self.observer.onNext(RequestCompletion(self.value, request, error))
21+
os_log("RxVNRequestCompletionHandler.requestCompletionHandler %@ %@", log: Log.vn, type: .debug, request, "\(error)")
22+
self.observer?.onNext(RequestCompletion(self.value, request, error))
2123
}
2224

23-
init(observer: Observer) {
24-
self.observer = observer
25+
init() {
2526
}
2627

2728
}

RxVision/VNImageRequestHandler+Rx.swift

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,19 @@
66
// Copyright © 2018 Maxim Volgin. All rights reserved.
77
//
88

9+
import os.log
910
import Vision
1011
import RxSwift
1112

1213
extension Reactive where Base: VNImageRequestHandler {
1314

1415
public func perform<T>(_ requests: [RxVNRequest<T>], with value: T? = nil) throws {
15-
requests.forEach { (request) in
16+
let _requests = requests.map { request -> VNRequest in
1617
request.value = value
18+
return request.request
1719
}
18-
try self.base.perform(requests.map { $0.request })
20+
os_log("VNImageRequestHandler.rx.perform %@ %@", log: Log.vn, type: .debug, "\(value)", _requests)
21+
try self.base.perform(_requests)
1922
}
2023

2124
// deprecated

RxVision/stuff.swift

Lines changed: 0 additions & 79 deletions
This file was deleted.

0 commit comments

Comments
 (0)