Skip to content

Instantly share code, notes, and snippets.

View Kasahs's full-sized avatar

Shasak Raina Kasahs

  • O4S
  • Gurugram, India
View GitHub Profile
@Kasahs
Kasahs / ssl_adapter.py
Last active January 28, 2016 08:34
To solve 'EOF occurred in violation of protocol' error when using the python requests module
from requests.adapters import HTTPAdapter
from requests.packages.urllib3.poolmanager import PoolManager
import ssl
class MyAdapter(HTTPAdapter):
"""Create http adapter that uses TLSv1 protocol."""
def init_poolmanager(self, connections, maxsize, block=False):
self.poolmanager = PoolManager(num_pools=connections,
@Kasahs
Kasahs / pymongo_essentials.py
Created January 28, 2016 08:28
Some essential functions for connecting to mongodb, adding data to a collection etc. using pymongo.
from pymongo import MongoClient
def get_db():
try:
connection = MongoClient('localhost', 27019)
db = connection['db_name']
collection = db['collection_name']
return collection, connection
except Exception as e:
@Kasahs
Kasahs / header_gen.py
Last active January 28, 2016 08:25
To generate new headers for scraping purposes.
"""
Expose methods to return new header dictionary. Supports only GET requests at the moment.
(Using phantomJS to throw them off. Maybe overkill. Could have used simple get request.)
"""
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
# edit desired capabilities
dcap = dict(DesiredCapabilities.PHANTOMJS)
@Kasahs
Kasahs / factory-service-provider.js
Last active December 19, 2015 10:13
A simple example to show difference between them and usage style.
// @see http://stackoverflow.com/a/17944367/2317794
var myApp = angular.module('myApp', []);
//Service style, probably the simplest one
myApp.service('helloWorldFromService', function() {
this.sayHello = function() {
return "Hello, World!"
};
});
@Kasahs
Kasahs / stacked-column-chart.html
Last active December 8, 2015 14:48
Highcharts stacked vertical column graph config.
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>
<div id="container" style="min-width: 310px; max-width: 800px; height: 400px; margin: 0 auto"></div>
@Kasahs
Kasahs / .eslintrc
Created November 26, 2015 10:56
eslintrc based on google style guide with a few mods.
{
"env": {
"browser": true, // browser global variables.
"node": false, // Node.js global variables and Node.js-specific rules.
"worker": false, // web workers global variables.
"amd": false, // defines require() and define() as global variables as per the amd spec.
"mocha": false, // adds all of the Mocha testing global variables.
"jasmine": false, // adds all of the Jasmine testing global variables for version 1.3 and 2.0.
"phantomjs": false, // phantomjs global variables.
"jquery": true, // jquery global variables.
@Kasahs
Kasahs / pubsubExample.js
Last active September 15, 2015 13:00
simple javascript pubsub example
var PubSub = (function(){
var mapping = {};
return {
sub: function(eventName, callback, obj){
callback = callback || _.noop;
if(!_.isFunction(callback)){
console.error("callback is not a function");
return;
}
function foo(){
var callback = arguments[0] || function(){return "do nothing"};
var options = arguments[1] || {};
return [callback(), options.a || "no A", options.b || "no B", this];
}
// try these out to understand how to use apply and what it means to write functions which might be called in this way
foo(null, {a:1, b:2});
foo.apply("apples", [function(){return "do something"}, {a:1, b:2}]);
function findUrlsAndPlaceAnchorTags(str) {
var urlRegex = /((http|https|ftp|ftps)\:\/\/)([a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?)/g;
return str.replace(urlRegex, function(match, p1, p2, p3){
return "<a href='"+ match +"'>" + p3 + "</a>";
});
}
@Kasahs
Kasahs / gitauthorstat.sh
Last active September 8, 2015 13:14
script to check author loc in git
git log --author="_author_name_" --pretty=tformat: --numstat \
| awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s removed lines: %s total lines: %s\n", add, subs, loc }' -