def scrapeAchievements(): for h in range(1, 74): tempurl = baseurl + '/achievement/' + str(h) req = urllib.request.Request(tempurl, headers={'User-Agent': 'Mozilla/5.0'}) try: thejson = urllib.request.urlopen(req, context=context) except: pass else: data_bytes = thejson.read().decode('utf-8') data = json.loads(data_bytes) achievement_id = data['id'] name = data['name'] description = data['description'] reward = data['reward']['name'] reward_type = data['reward']['type']['name'] reward_quality = data['reward']['quality']['name'] f_key = None if (data['hero'] is not None): f_key = data['hero']['id'] # #all the url, info to create each json # print(str(achievement_id) + " "+ name + "\n"+ description) achieve = Achievement(achievement_id, name, description, reward, reward_type, reward_quality, f_key) db.session.add(achieve) db.session.commit()
def post(self): logging.info('newAchievement posted') # Get the current Cheever's profile so we can update their numContribs cheever_key = ndb.Key('Cheever', self.user.email()) cheever = cheever_key.get() # Create new achievement with auto - generated key achievement = Achievement() achievement.populate( title=self.request.get('title'), description=self.request.get('description'), category=self.request.get('category'), score=int(self.request.get('score')), contributor=cheever.username, verified=False ) cheever.numContribs += 1 # Commit our updates to the datastore @ndb.transactional(xg=True) def commit(): achievement.put() cheever.put() commit() self.redirect('/profile')
def create(name, short_description, long_description, difficulty, image_src, bg_image_src): """ Create a new user """ achievement = Achievement( name=name, short_description=short_description, long_description=long_description, difficulty=difficulty, image_src=image_src, bg_image_src=bg_image_src ) return achievement.save()
def mutate(self, info, achievement_data=None): threshold = UserMetrics( works_visited=achievement_data.threshold.works_visited, works_found=achievement_data.threshold.works_found) achievement = Achievement(title=achievement_data.title, description=achievement_data.description, points=achievement_data.points, threshold=threshold) achievement.save() return CreateAchievementMutation(achievement=achievement)
def init_db(): art = [ Artwork(title="Street Art", description="A true masterpiece", location=[7,80]), Artwork(title="Hidden Subway Mural", description="Far side of the subway station has a double walled mural.", location=[10,132]), Artwork(title="Blue Bridge", description="Neon blue tentacles of paint wind up the struts of the bridge", location=[0,0], tags=["amazing"]), Artwork(title="Artistic Underpass", description="Bridge ceiling covered in art", location=[0,0], tags=["surreal", "amazing"]), Artwork(title="Fire Wall", description="Tongues of flame comemorate the historic fire of this district", tags=["sad", "historic", "amazing"], location=[0,0]), Artwork(title="Street Corner Fresco", description="This popular street has a decorative fresco spilling out of the alley behind a popular restaurant", tags=["amazing", "unreal"], location=[0,0]) ] for a in art: a.save() portfolios = [ Portfolio(artworks=[art[0], art[1]]), Portfolio(artworks=[art[2], art[4]]), Portfolio(artworks=[art[1], art[2], art[3]]), Portfolio(artworks=[art[3], art[5]]), ] for p in portfolios: p.save() users = [ User(name="Grant", portfolio=portfolios[0], bio="Love me some AI and maybe web dev."), User(name="Braden", portfolio=portfolios[1], bio="Spending some time on CSC 400."), User(name="Kyle", portfolio=portfolios[2], bio="Fitness, meditation and good books."), User(name="John", portfolio=portfolios[3], bio="Looking around for some art. Wasn't satisfied with my dope Windows Vista wallpaper.") ] for user in users: user.save() achievements = [ Achievement(title="Noob", description="You signed up for the service!", points=10) ] for a in achievements: a.save() for user in users: user.achievements.append(achievements[0]) for user, portfolio in zip(users, portfolios): portfolio.owner = user for portfolio in portfolios: portfolio.save()