Skip to content

Instantly share code, notes, and snippets.

View mahmudahsan's full-sized avatar

Mahmud Ahsan mahmudahsan

View GitHub Profile
def parse_soup_to_simple_html(self):
news_list = self.__soup.find_all(['h1', 'h2']) # h1
#print (news_list)
htmltext = '''
<html>
<head><title>Simple News Link Scrapper</title></head>
<body>
{NEWS_LINKS}
@mahmudahsan
mahmudahsan / defer.swift
Created December 22, 2017 16:44
cleanup actions using defer
func readDesc(_ desc:inout String) throws {
let newDesc = desc
defer {
desc = ""
}
throw SampleError.sample2(message: "cool error")
print(newDesc)
}
var desc = "Life is cool and play is a tool!"
@mahmudahsan
mahmudahsan / error_handling5.swift
Created December 22, 2017 16:43
Error handling in swift
func square(val:Int) throws -> Int {
if val == 5 {
throw SampleError.sample1
}
return val * val
}
let sqaureValue = try! square(val: 10)
print(sqaureValue)
@mahmudahsan
mahmudahsan / error_handling4.swift
Created December 22, 2017 16:41
Error handling in swift
let str = try? sampleThrowError()
if let str = str {
print(str)
}
else {
print("Str is nil")
}
@mahmudahsan
mahmudahsan / error_handling3.swift
Created December 22, 2017 16:41
Error handling in swift
do {
try sampleThrowError()
}
catch SampleError.sample1 {
print("Sample 1 Error caught")
}
catch {
print("For all other cases")
}
@mahmudahsan
mahmudahsan / error_handling2.swift
Created December 22, 2017 16:40
Error handling in swift
func sampleThrowError() throws -> String {
throw SampleError.sample1
return ""
}
@mahmudahsan
mahmudahsan / error_handling1.swift
Created December 22, 2017 16:39
Error Handling in Swift
enum SampleError: Error {
case sample1
case sample2(message: String)
}
import UIKit
import PlaygroundSupport
PlaygroundPage.current.needsIndefiniteExecution = true
let pairOfNumbers = [(2, 3), (5, 10), (4, 5)]
let operationQueue = OperationQueue()
//if set 1, it will be serial if commented it will be concurrent
operationQueue.maxConcurrentOperationCount = 1
let pairOfNumbers = [(2, 3), (5, 10), (4, 5)]
class MultiplcationOp : Operation{
var inputPair: [(Int, Int)]?
override func main() {
guard let inputPair = inputPair else { return }
for pair in inputPair{
let result = pair.0 * pair.1
print(result)
//Single BlockOperation
var result:Int?
let multiplication = BlockOperation{
result = 5 * 10
}
multiplication.start()
result
[/code]
Multiple operations using BlockOperation: