Skip to content

Instantly share code, notes, and snippets.

View otykhonruk's full-sized avatar

Oleksandr Tykhonruk otykhonruk

View GitHub Profile
#!/usr/bin/env python
import argparse
import json
import os.path
import re
import sys
try:
# python 2
import java.util.LinkedList;
public class ParenCheck {
static int OPENING = 1, CLOSING = -1;
static int PAREN = 0, BRACKET = 1, BRACE = 2, PAIRING = 3;
static String[] desc = { "()", "[]", "{}", "Pairing" };
static int[] check(char[] s) {
int[] stat = new int[4];
int sym, type;
@otykhonruk
otykhonruk / ZipHttpServer.java
Created August 7, 2013 10:30
HTTP server that serves content of zip files. Useful for huge zipped piles of html, for example Java SDK docs.
package alt;
import static java.net.HttpURLConnection.*; // http status codes
import java.io.*;
import java.net.InetSocketAddress;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.Executors;
import java.util.logging.Logger;
@otykhonruk
otykhonruk / geocode.py
Last active March 4, 2016 08:18
Client for Yandex geocoding service.
# http://api.yandex.com/maps/doc/geocoder/desc/concepts/About.xml
import argparse
import requests
from collections import OrderedDict
from pprint import pprint
YANDEX_GEOCODER_URL = 'http://geocode-maps.yandex.ru/1.x/'
FORMAT_CHOICES = ('json', 'xml')
@otykhonruk
otykhonruk / seostat.py
Last active November 16, 2015 22:57
Simple SEO-related text metrics.
import re
import sys
from collections import Counter
from pymorphy2 import MorphAnalyzer
morph = MorphAnalyzer()
def words(text):
return re.findall('[а-яА-Яa-zA-Z-]+', text.lower())
@otykhonruk
otykhonruk / calculator.py
Last active February 1, 2016 08:52
Simple calculator that can add, subtract, multiply and divide
import operator as op
# Simple calculator that can add, subtract, multiply and divide
OPS = (("Add", "+", op.iadd),
("Subtract", "-", op.isub),
("Multiply", "*", op.imul),
("Divide", "/", op.truediv))
valid_choices = list(map(str, range(1, len(OPS)+1)))
import requests
from collections import namedtuple
from xml.etree import ElementTree
""" Client for http://gismeteo.ru """
# Sample forecast section:
#
# <FORECAST day="29" month="03" year="2016" hour="03" tod="0" predict="0" weekday="3">
# <PHENOMENA cloudiness="0" precipitation="10" rpower="0" spower="0"/>
@otykhonruk
otykhonruk / minimal.py
Last active January 5, 2018 09:16
Example of minimal fully-functional django project.
from django import conf, http, urls
conf.settings.configure(
DEBUG = True,
ROOT_URLCONF = __name__
)
def index(request):
@otykhonruk
otykhonruk / example.conf
Last active May 16, 2016 16:11
nginx/uwsgi configuration for typical django project.
# example.conf
# the upstream component nginx needs to connect to
upstream example {
server unix:///tmp/example.sock; # for a file socket
}
# configuration of the server
server {
listen 80;
#!/bin/sh
git_revision=$(git rev-parse HEAD)
echo "git_revision='$git_revision'" > version.py