Created
March 18, 2015 16:55
-
-
Save jdunne-kaplan/80752bac0a762847ee4e to your computer and use it in GitHub Desktop.
Clean slidedecks asset by removing invalid deck_ids
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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