Programming and Exciting Things

Python - използване на Google App Engine като прокси

Published on 06.02.2012

За един от проектите върху които работя се налагаше да напиша скрипт, който да използва Google App Engine линк. За целта използвам urllib2 библиотеката а и за кирилицата в url-то използвам sys.setdefaultencoding( "utf-8" ) :)

#!/usr/bin/env python
# -*- coding: utf-8 -*-
from google.appengine.ext import webapp
from google.appengine.ext.webapp import util
import urllib2
import sys
reload(sys)
sys.setdefaultencoding( "utf-8" )

class MainHandler(webapp.RequestHandler):
    def get(self):
        url = self.request.get("url",'http://google.com')
        req = urllib2.Request(url)
        req.add_header('Referer', url)
        r = urllib2.urlopen(req)
        html = r.read()
        self.response.out.write(html)
def main():
    application = webapp.WSGIApplication([('/', MainHandler)], debug=True)
    util.run_wsgi_app(application)
if __name__ == '__main__':
    main()

$_GET параметърът е url
http://my-simple-app.appspot.com/?url=http://dnevnik.bg/

Javascript hash параметри

Published on 06.02.2012

function getUrlHashParams() {
    var hashParams = {};
    var e,
        a = /\+/g,
        r = /([^&;=]+)=?([^&;]*)/g,
        d = function (s) { return decodeURIComponent(s.replace(a, " ")); },
        q = window.location.hash.substring(1);
    while (e = r.exec(q))
       hashParams[d(e[1])] = d(e[2]);
    return hashParams;
}
Малка javascript функция която взима hash параметрите от url адреса и ги "връща" като обект. Примерно:
URL: http://example.com/#pg=1&sort-gsm=asc
 Object { pg="1", sort-gsm="asc"}  

Javascript "взимане" на селектиран от потребителя текст

Published on 31.01.2012

Една малка функция която връща селектирания текст от потребителя.

function getSelectedText() {
	var txt = '';
	if (window.getSelection) {
		txt = window.getSelection();
	} else if (document.getSelection) {
		txt = document.getSelection();
	} else if (document.selection) {
		txt = document.selection.createRange().text;
	} else
		return;
	return txt.toString();
}

Тествано на: IE9,Firefox,Chrome

Защо няма да празнувам на студентския празник

Published on 08.12.2011

Студентският празник затрива с мръсна газ дори абитуриентския бал по очаквания. Добре, че тази година "джангърът" се пада четвъртък - на работа съм. В петък също. Ако не бях, щях да се направя на умрял.
За първи път щях да си изключа трите телефона, компютърът щеше да си седи на спокойствие, телевизорът, който нямам, щеше да продължи да липсва. Щях да цъфтя от радост като дебеланко в сладкарница заради факта, че състудентите щяха да са далеч от мен. Някъде, където да си разкопчаят ризите до пъпа, да лепят един на друг банкноти по мазните си чела, да се клатят на високи токчета и да опъват джуки. Тоя мач съм го играл веднъж, и то миналата година. Повече не ме бройте от този отбор. Мерси.....

Цялата статия тук

[php] Преди ..... x време

Published on 30.11.2011

Една малка функция за извеждане на информация за това колко време е минало от подадения timestamp.

	function calc_past_time($timestamp) {
		$time = time() - $timestamp;
		if($time < 120) {
			return "току-що";
		} else if($time<3600) {
			return "преди ".($time/60)." минути";
		} else if($time < 7200) {
			return "преди 1 час";
		} else if($time < 86400) {
			return "преди ".($time/3600)." часа";
		} else if($time < 172800) {
			return "преди 1 ден";
		} else if($time < 604800) {
			return "преди ".($time/86400)." дни";
		} else if($time < 1209600) {
			return "преди седмица";
		} else if($time < 2419200) {
			return "преди ".($time/604800)." седмици";
		} else if($time < (60*60*24*30*12)) {
			$time = (int)($time / (60 * 60 * 24 * 30));
			return $time > 1 ? "преди ".$time." месеца" : "преди 1 месец";
		} else {
			return 'няма информация';
		}
	}