def set_slug(self, slug=None): if not slug: slug = Util.make_seo_name(self.name) self.slug = slug return self
def save_wp_post(self): log.info('in save_wp_post(), ' \ + 'about to query for existing wp game post') post = db.query(Post).join(Post.meta).filter( PostMeta.meta_key == 'games_appleid', PostMeta.meta_value == str(self.game.get_id())).first() # if the game exists clear out old meta info, we'll re-add with newest if post: log.info('FOUND existing wp game post') log.info('about to delete old postmeta') #db.delete(post.meta) db.query(PostMeta).filter_by(post_id=post.ID) \ .filter(PostMeta.meta_key!='games_association') \ .delete() log.info('deleted old postmeta') #db.flush() # or make a new game else: log.info('DID NOT FIND existing wp game post') post_name = Util.make_seo_name(self.game.get_title()) post = Post(post_title=self.game.get_title(), post_name=post_name) log.info('about to start adding postmeta') post.meta.append(PostMeta(meta_key='games_appleid', meta_value=self.game.get_id())) post.meta.append(PostMeta(meta_key='games_description', meta_value=self.game.get_description())) post.meta.append(PostMeta(meta_key='games_developer', meta_value=self.game.get_developer())) post.meta.append(PostMeta(meta_key='games_display_date', meta_value=datetime.datetime.utcnow())) post.meta.append(PostMeta(meta_key='games_post_id', meta_value=post.ID)) post.meta.append(PostMeta(meta_key='games_price', meta_value=self.game.get_price())) post.meta.append(PostMeta(meta_key='games_publisher', meta_value=self.game.get_publisher())) post.meta.append(PostMeta(meta_key='games_releasedate', meta_value=self.game.get_release_date())) post.meta.append(PostMeta(meta_key='games_version', meta_value=self.game.get_version())) php_array = PHPArray(self.game.get_screenshots()) post.meta.append(PostMeta(meta_key='games_screenshots', meta_value=str(php_array))) post.meta.append(PostMeta(meta_key='games_icon', meta_value=self.game.get_icon())) post.meta.append(PostMeta(meta_key='games_medium_icon', meta_value=self.game.get_medium_icon())) post.meta.append(PostMeta(meta_key='games_large_icon', meta_value=self.game.get_large_icon())) log.info('done building up postmeta, about to add to db session') db.add(post) log.info('added wp post to db session') db.flush() log.info('flushed wp post') post.guid = self.GUID_BASE + str(post.ID) log.info('about to add genres') self.set_genres(post) log.info('added genres') db.add(post) log.info('added wp post again with guid') return self