Skip to content

Instantly share code, notes, and snippets.

@tfausak
tfausak / famigodocument.py
Created March 17, 2011 22:35
Wrapper around mongoengine's Document class to avoid deleting things.
from datetime import datetime
from mongoengine import *
from mongoengine.queryset import queryset_manager
from re import sub
class FamigoDocument(Document):
_active = BooleanField(default=True, required=True)
@queryset_manager
def active(cls, queryset):
@tfausak
tfausak / deepcopy.py
Created March 23, 2011 17:29
Minimal example that causes an error when deep copying a mongoengine Document.
from copy import deepcopy
from mongoengine import Document, ReferenceField, connect
class Foo(Document):
pass
class Bar(Document):
foo = ReferenceField(Foo)
connect('tmp-deepcopy')
@tfausak
tfausak / backup.py
Created March 24, 2011 00:30
Back up Tumblr posts to XML files. (Doesn't save assets, like images and audio.)
#!/usr/bin/env python
from BeautifulSoup import BeautifulStoneSoup
from urllib2 import urlopen
from urllib import urlretrieve
from os.path import basename
import sys
def main(argv=None):
if argv is None:
@tfausak
tfausak / output.txt
Created March 24, 2011 15:50
Minimal example that causes a uniqueness constraint when reading from mongoengine.
[<A: A object>, <A: A object>, <B: B object>]
Traceback (most recent call last):
File "unique3.py", line 20, in <module>
print B.objects
File "/usr/local/lib/python2.6/dist-packages/mongoengine-0.4-py2.6.egg/mongoengine/queryset.py", line 1131, in __repr__
File "/usr/local/lib/python2.6/dist-packages/mongoengine-0.4-py2.6.egg/mongoengine/queryset.py", line 776, in __getitem__
File "/usr/local/lib/python2.6/dist-packages/mongoengine-0.4-py2.6.egg/mongoengine/queryset.py", line 427, in _cursor
File "/usr/local/lib/python2.6/dist-packages/mongoengine-0.4-py2.6.egg/mongoengine/queryset.py", line 402, in _collection
File "build/bdist.linux-i686/egg/pymongo/collection.py", line 717, in ensure_index
File "build/bdist.linux-i686/egg/pymongo/collection.py", line 639, in create_index
@tfausak
tfausak / output.txt
Created March 24, 2011 15:15
Minimal example that causes a mysterious uniqueness constraint when inserting into mongoengine.
Traceback (most recent call last):
File "unique.py", line 15, in <module>
B(foo=True).save()
File "/usr/local/lib/python2.6/dist-packages/mongoengine-0.4-py2.6.egg/mongoengine/document.py", line 85, in save
mongoengine.queryset.OperationError: Tried to save duplicate unique keys (E11000 duplicate key errorindex: tmp-unique.a.$foo_1 dup key: { : null })
@tfausak
tfausak / file-field-fail.py
Created March 25, 2011 21:07
Every mongoengine field can be deep copied, except for file fields.
from copy import deepcopy
from mongoengine import *
from pymongo import Connection
class A(Document):
binary_field = BinaryField()
boolean_field = BooleanField()
date_time_field = DateTimeField()
decimal_field = DecimalField()
dict_field = DictField()
@tfausak
tfausak / RTCDataChannel.html
Created September 26, 2015 13:36
WebRTC data channel
<!doctype html>
<html>
<head>
<title>RTCDataChannel</title>
</head>
<body>
<p>
<a href="https://github.com/samdutton/simpl/tree/master/rtcdatachannel">
@tfausak
tfausak / wpm.py
Created December 24, 2011 21:01
Scrape application information from the Windows Phone Marketplace.
#!/usr/bin/env python
import BeautifulSoup
import cookielib
import re
import urllib2
def parse_rating(rating):
"""Parse a rating's class name and return it as a number.
@tfausak
tfausak / famigo-logo.html
Created January 20, 2012 00:33
The Famigo logo in HTML and CSS.
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<style>
html, body {
background: silver;
margin: 0;
@tfausak
tfausak / wp7-tile.html
Created February 3, 2012 04:39
Generate a tile-able page for Windows Phone 7.
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta content="maximum-scale=1,minimum-scale=1,width=device-width" name="viewport">
<style>
body {
margin: 0;