Skip to content

Instantly share code, notes, and snippets.

@jdunne-kaplan
Created March 18, 2015 16:55
Show Gist options
  • Save jdunne-kaplan/80752bac0a762847ee4e to your computer and use it in GitHub Desktop.
Save jdunne-kaplan/80752bac0a762847ee4e to your computer and use it in GitHub Desktop.
Clean slidedecks asset by removing invalid deck_ids
import json
import models
from google.appengine.ext import ndb
opaqueID = '9f3cccbe-ee94-4bd6-9ba6-96efb1967ae4'
deck_asset = models.DBAsset.all().filter('opaqueID = ', opaqueID).filter('assetType = ', 'slidedecks').get()
asset = json.loads(deck_asset.asset)
keys = [ndb.Key(models.SlideDeck, id) for id in asset["deck_ids"]]
decks = ndb.get_multi(keys)
valid_deck_ids = []
for deck in decks:
if deck is None: continue
print deck.deck_id, deck.deck_url
valid_deck_ids.append(deck.deck_id)
# Filter out invalid deck_ids:
asset["deck_ids"] = valid_deck_ids
deck_asset.asset = json.dumps(asset)
# Update deck asset:
deck_asset.put()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment