Skip to content

Instantly share code, notes, and snippets.

@csytan
csytan / uca.py
Created October 14, 2009 08:54
evil uca sort
import re
import urllib
def uca_sort(l, locale='en', _re_nums=re.compile('<tt class="count">(\d+):</tt>')):
"""Uses the ICU demo site to sort a list"""
url = 'http://demo.icu-project.org/icu-bin/locexp'
url += '?_=' + locale + '&d_=en&x=col'
data = 'str=' + '\n'.join(l)
html = urllib.urlopen(url, data).read()
from xml.etree import ElementTree
tree = ElementTree.fromstring(
"""<?xml version="1.0"?>
<result>
<mediaid>[MediaID]</mediaid>
<source>[SourceFile]</source>
<status>[MediaStatus]</status>
<description>[ ErrorDescription]</description> <!-- Only in case of Status = Error -->
<format>
import urllib
import re
import uuid
from django.utils import simplejson
def google_translate(text, source='en', target='fr'):
subs = {}
for arg in re.findall('(\{.+?\})', text):
@csytan
csytan / lolloop
Created March 17, 2010 02:39 — forked from anonymous/lolloop
for i in range(0, len(x)):
for j in range(0, len(x)):
indice = i * len(x) + j
value = x[i] ** (len(x) - j)
M.put(indice, value)
@csytan
csytan / forum_model.py
Created April 19, 2010 09:10
Threaded Comments
class Topic(BaseModel):
author = db.ReferenceProperty(User, required=True, collection_name='topics')
title = db.StringProperty()
body = db.TextProperty()
@classmethod
def topics(cls):
topics = cls.all().order('-updated').fetch(100)
prefetch_refprop(topics, cls.author)
return topics
f = open('/path/csv.txt', 'r')
entities = []
for line in f:
arg1, arg2, arg3 = line.split(',')
data = models.SomeData(arg1=arg1, arg2=arg2, arg3=arg3)
entities.append(data)
if len(entities) > 40:
db.put(entities)
entities = []
@csytan
csytan / blobstore_tornado.py
Created November 12, 2010 02:42
blobstore tornado uploadhandler config
### app.yaml ###
- url: /upload
script: main.py
login: admin
### views.py ###
class BlobstoreUpload(BaseHandler):
def post(self):
key = self.get_argument('key')
class Votable(BaseModel):
points = db.IntegerProperty(default=1)
score = db.FloatProperty()
up_votes = db.StringListProperty() # contains user key_names
down_votes = db.StringListProperty() # contains user key_names
def update_score(self):
"""Adapted from reddit's algorithm
http://code.reddit.com/browser/r2/r2/lib/db/sorts.py?rev=4778b17e939e119417cc5ec25b82c4e9a65621b2
"""
@csytan
csytan / gomtv-live.html
Created December 10, 2010 11:14
downloads the live stream for viewing on vlc
<html>
<body>
<a href="javascript:
(function() {
  var el=document.createElement('div'),
      b=document.getElementsByTagName('body')[0],
      otherlib=false,
      msg='';
import timeit
t = timeit.Timer(stmt="""\
def test(pwd, n_iter):
for i in range(n_iter):
pwd = hashlib.sha1(pwd).hexdigest()
test('hello', 50000)
""", setup='import hashlib')
print t.timeit(100) / 100