ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl
Все, теперь можно открывать файлы, например, вот так
subl /etc/hosts
from functools import wraps from django.db.models.signals import pre_save from django.db.models.signals import post_save def autoconnect_signals(cls): """ Class decorator that automatically connects pre_save/post_save signals on a model class to its pre_save_handler()/post_save_handler() methods. """ def connect(signal, func): cls.func = staticmethod(func) @wraps(func) def wrapper(sender, *args, **kwargs): return func(kwargs.get('instance'), args, kwargs) signal.connect(wrapper, sender=cls) return wrapper if hasattr(cls, 'pre_save_handler'): cls.pre_save_handler = connect(pre_save, cls.pre_save_handler) if hasattr(cls, 'post_save_handler'): cls.post_save_handler = connect(post_save, cls.post_save_handler) return cls
@autoconnect_signals class Book(models.Model): #... name = models.SlugField(_("Name"), max_length = 150, unique = True) def pre_save_handler(self,*args, **kwargs): u"""Сигнал, получаемый перед сохранением модели.""" print self.name #в self передается сам инстанс модели. #Остальное есть в аргументах. def post_save_handler(self,*args, **kwargs): u"""Сигнал, получаемый после сохранения модели.""" print self.name
image.scaleX < image.scaleY ? image.scaleY = image.scaleX : image.scaleX = image.scaleY;
function resizeObject(target:DisplayObject, maxWidth:Number, maxHeight:Number, keepAspect:Boolean=true):void { target.width = maxWidth; target.height = maxHeight; if (keepAspect) { target.scaleX < target.scaleY ? target.scaleY = target.scaleX : target.scaleX = target.scaleY; } }
from django.core.mail.backends.smtp import EmailBackend from django.conf import settings import dkim class DKIMBackend(EmailBackend): u''' Бекенд, позволяющий вставлять в письма DKIM-подпись. Требует определения переменных в settings: DKIM_SELECTOR - селектор, все что до точки в "selector._domainkey.example.com" DKIM_DOMAIN - домен например, "example.com" DKIM_PRIVATE_KEY - приватный DKIM-ключ. Полностью, включая "-----BEGIN RSA PRIVATE KEY-----" и т.п. @requires: python-dkim, есть на http://hewgill.com/pydkim ''' def _send(self, email_message): if not email_message.recipients(): return False try: message_string = email_message.message().as_string() signature = dkim.sign(message_string, settings.DKIM_SELECTOR, settings.DKIM_DOMAIN, settings.DKIM_PRIVATE_KEY) self.connection.sendmail(email_message.from_email, email_message.recipients(), signature+message_string) except: if not self.fail_silently: raise return False return True
import random def weighted_choice(choices): u''' Взвешенный псевдослучайный выбор. Чем выше вес, тем выше шанс выпадения значения. @param choices: список или кортеж пар вида: ( ('choice', 14), ('choice2', 11), ... (<значение>, <вес> ) ''' total = sum(w for c,w in choices) r = random.uniform(0, total) upto = 0 for c, w in choices: if upto+w > r: return c upto += w assert False, "Shouldn't get here"Работает вот так:
test_choices = ( ('Foo', 8), ('Bar', 3), ('god damn!', 1) ) for i in xrange(10): print weighted_choice(test_choices)