-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRedactedBrain.swift
154 lines (134 loc) · 5.22 KB
/
RedactedBrain.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
//
// RedactedBrain.swift
// [Redacted]
//
// Created by [Redacted] on [Redacted]-[Redacted]-[Redacted].
// Copyright (c) 2015 [Redacted] All rights reserved.
// THIS VERSION EXISTS SOLELY FOR /r/pokemondev
//
import Foundation
class RedactedBrain {
private var prefixes: [String]
private var redactedSuffixes: [String]
// private var redacted2Suffix: String
// private var redacted3Suffix: String
// var redacted: (String, String)
var dirty = false
var savedRedacted: [String] = [""] {
didSet {
dirty = true
}
}
// Define Constants
let prefixValue = "Redacted"
let suffixValue = "Redacted"
let BASE_URL = "https://pastebin.com/raw.php?i="
// let prefixLink = "https://pastebin.com/raw.php?i=\(prefixValue)"
// let suffixLink = "https://pastebin.com/raw.php?i=\(suffixValue)"
// func getListFromPastebin(pasteIdentifier: String) -> Array<String>{
// var list: [String] = [""]
// // API Arguments
// let session = NSURLSession.sharedSession()
// let urlString = BASE_URL + pasteIdentifier
// let url = NSURL(string: urlString)!
// let request = NSURLRequest(URL: url)
//
// // Initialize Task
// let task = session.dataTaskWithRequest(request) {data, response, downloadError in
// if let error = downloadError {
// println("Could not complete the request \(error)")
// } else {
// // Parse the data
// if let pasteData = NSData(contentsOfURL: url) {
// dispatch_async(dispatch_get_main_queue(), {
// var pasteDataString = NSString(data:pasteData, encoding:NSUTF8StringEncoding)
// let pasteDataArray = pasteDataString?.componentsSeparatedByString(",") as! [String]
// list = pasteDataArray
// println("pasteData is \(pasteData)")
// println("pasteDataArray is \(pasteDataArray)")
// })
// } else {
// println("Error 2: System Error Unknown")
// println("\(downloadError)")
// }
// println("Request completed")
// }
// println("Task completed")
// }
// println(list)
// task.resume()
// return list
// }
func getListFromPastebin(pasteIdentifier: String) -> Array<String> {
let urlString = BASE_URL + pasteIdentifier
let url = NSURL(string: urlString)!
let pasteDataString: String?
do {
pasteDataString = try String(contentsOfURL: url, encoding: NSUTF8StringEncoding)
} catch _ {
pasteDataString = nil
}
let pasteDataArray = pasteDataString?.componentsSeparatedByString(", ")
let list = pasteDataArray
return list!
}
init() {
prefixes = ["Redacted", "Redacted", "Redacted", "Redacted", "Redacted", "Redacted", "Redacted"]
redactedSuffixes = ["Redacted", "Redacted", "Redacted", "Redacted", "Redacted", "Redacted", "Redacted"]
refreshListsFromInternet()
}
func refreshListsFromInternet() {
if Reachability.isConnectedToNetwork() == true {
prefixes = getListFromPastebin(prefixValue)
redactedSuffixes = getListFromPastebin(suffixValue)
} else if Reachability.isConnectedToNetwork() == false {
prefixes = ["Redacted", "Redacted", "Redacted", "Redacted", "Redacted", "Redacted", "Redacted"]
redactedSuffixes = ["Redacted", "Redacted", "Redacted", "Redacted", "Redacted", "Redacted", "Redacted"]
}
}
private let prefix: String = ""
private let suffix: String = ""
func generatePrefixRedacted() -> String {
let prefixValue = Int(arc4random_uniform(UInt32(prefixes.count)))
let redactedPrefix = (prefixes[prefixValue])
print(redactedPrefix)
return redactedPrefix
}
func generateSuffixRedacted() -> String {
let suffixValue = Int(arc4random_uniform(UInt32(redactedSuffixes.count)))
let redactedSuffix = (redactedSuffixes[suffixValue])
print(redactedSuffix)
return redactedSuffix
}
// func sendSuffixList() -> [String] {
// let suffixList = redactedSuffixes
// return suffixList
// }
//
func sendPrefixList() -> [[String]] {
var prefixList = prefixes
prefixList.insert("", atIndex: 0)
let sentPrefixList = [prefixList]
return sentPrefixList
}
func sendCombinedList() -> [[String]] {
var suffixList = redactedSuffixes
var prefixList = prefixes
prefixList.insert("", atIndex: 0)
suffixList.insert("", atIndex: 0)
let combinedList = [prefixList,suffixList]
return combinedList
}
// func showSavedList() -> String? {
// return "".join(savedRedacted!.map{ "\($0)" })
// }
// func showSavedList() -> String? {
// for element in savedRedacted {
//
// }
// }
//
func showSavedList() -> String {
return savedRedacted.joinWithSeparator("\n")
}
}