# Adds a field called field_len to objects in the_collection. It is based on the field called field # It encodes the len of the string used # This is kind of a hack for mongodb, see lmfdb.utils.len_val_fn for explanation import sys LMFDB_FOLDER = "../../../" sys.path.append(LMFDB_FOLDER) from lmfdb.artin_representations.math_classes import ArtinRepresentation the_collection = ArtinRepresentation.collection() print "Got", the_collection field = "Conductor" from lmfdb.utils import len_val_fn new_field = field + "_plus" print "Updating" for x in the_collection.find(): val = x[field] x[new_field] = len_val_fn(val) the_collection.save(x)
from lmfdb.artin_representations.math_classes import ArtinRepresentation from lmfdb.website import dbport import base base._init(dbport, "") # x is raw # a is of type ArtinRepresentation # all the artin reps that come out of this are safe to appear on the website # their L functions need to be fixed however # if you want to do complex queries, and sort using pymongo's interface: for x in ArtinRepresentation.collection().find(): a = ArtinRepresentation(data=x) print a try: print a.Lfunction() except NotImplementedError or SyntaxError: print "Need CYC types and sign" # if you want to list them all, using a wrapper to directly convert to ArtinRepresentation for a in ArtinRepresentation.find(): print a try: print a.Lfunction() except NotImplementedError or SyntaxError: print "Need CYC types"