Skip to content

Instantly share code, notes, and snippets.

View n3rio's full-sized avatar

Nerio Rincon n3rio

  • AMP Agency
  • Bogota, Colombia
View GitHub Profile
#!/bin/bash
# Put this in .git/hooks/pre-push
# Exit immediately if any command fails
set -e
echo "Running pre-push checks..."
# Get the list of files to be pushed
@n3rio
n3rio / emacs
Created October 9, 2021 18:44
emacs init.el
;; Look & feel
;; ===========
(setq inhibit-startup-message t)
(scroll-bar-mode -1)
(tool-bar-mode -1)
(tooltip-mode -1)
(set-fringe-mode 10)
(menu-bar-mode -1)
(setq visible-bell t)
(setq gnutls-algorithm-priority "NORMAL:-VERS-TLS1.3")
@n3rio
n3rio / gist:39c6ff33969b748fb1788c27b9053330
Last active June 6, 2021 18:47
COC settings - ~/.config/nvim/coc-settings.json
{
"coc.preferences.useQuickfixForLocations": true,
"coc.preferences.extensionUpdateCheck": "never",
"suggest.disableMenu": true,
"suggest.snippetIndicator": "",
"workspace.workspaceFolderCheckCwd": false,
"workspace.bottomUpFiletypes": ["python"]
}
@n3rio
n3rio / .vim
Last active June 6, 2021 18:47
Neovim dotfile init.vim
" Basic config
set encoding=utf-8
syntax enable
set noswapfile
set scrolloff=7
filetype plugin on
let mapleader = ","
" Basic config - Python specific
set tabstop=4
@n3rio
n3rio / .vimrc
Last active December 16, 2019 19:13
VIM config
" vim-bootstrap
"*****************************************************************************
"" Vim-PLug core
"*****************************************************************************
let vimplug_exists=expand('~/.vim/autoload/plug.vim')
let g:vim_bootstrap_langs = "html,javascript,python,typescript"
let g:vim_bootstrap_editor = "vim" " nvim or vim
@n3rio
n3rio / forever_spider.py
Created January 11, 2019 19:37
Run for ever spyder, modifying start_requests() method. (private)
# Se coloca el inicio de la ejecucion en start_request()
class Foo(Spider):
name = 'foo'
allowed_domains = ['foo.com']
def start_requests(self):
while True:
data = self.coll.find({'status': 'unscraped'}).limit(5000)
if not data:
@n3rio
n3rio / multispider.py
Created January 11, 2019 19:36
Run several spyders at the same time.
import scrapy
from scrapy.crawler import CrawlerProcess
class MySpider1(scrapy.Spider):
# Your first spider definition
# por ejemplo, obtencion de las paginas correspondientes a un target
...
class MySpider2(scrapy.Spider):
# Your second spider definition
@n3rio
n3rio / restart_spider.py
Created January 11, 2019 19:35
Autorestart spider when failed
def handle_error(self, failure):
self.log("Error Handle: %s" % failure.request)
self.log("Sleeping 60 seconds")
time.sleep(60)
url = 'http://www.google.com'
yield scrapy.Request(url, self.parse, errback=self.handle_error, dont_filter=True)
@n3rio
n3rio / remove_duplicates.py
Created January 11, 2019 19:33
Remover documentos duplicados en pymongo
db.test.ensureIndex({name: 1, nodes: 1}, {unique: true, dropDups: true})