def add_listing(comment): submission = comment.submission try: listing = Session.query(Listing).filter(Listing.submission_id == submission.id).one() except NoResultFound: listing = Listing() listing.submission_id = submission.id listing.title = submission.title listing.permalink = submission.permalink listing.flair_text = submission.link_flair_text listing.url = submission.url listing.redditor = submission.author.name listing.created_utc = datetime.utcfromtimestamp(submission.created_utc) listing.updated_utc = datetime.utcnow() if submission.thumbnail.startswith('https:'): listing.thumbnail_url = submission.thumbnail for line in comment.body.splitlines(): m1 = p1.search(line) m2 = p2.search(line) m3 = p3.search(line) m4 = p4.search(line) m5 = p5.search(line) m6 = p6.search(line) m7 = p7.search(line) m8 = p8.search(line) m9 = p9.search(line) m10 = p10.search(line) m11 = p11.search(line) m12 = p12.search(line) if m1: listing.brand = m1.group(1).strip('*').strip() if m2: listing.model = m2.group(1).strip('*').strip() if m3: listing.size = m3.group(1).strip('*').strip() if m4: listing.width = m4.group(1).strip('*').strip() if m5: listing.last = m5.group(1).strip('*').strip() if m6: listing.upper = m6.group(1).strip('*').strip() if m7: listing.sole = m7.group(1).strip('*').strip() if m8: listing.condition = m8.group(1).strip('*').strip() if m9: listing.images = m9.group(1).strip('*').strip() if m10: listing.notes = m10.group(1).strip('*').strip() if m11: listing.price = m11.group(1).strip('*').strip() if m12: listing.country = m12.group(1).strip('*').strip() if not listing.size or not listing.brand or not listing.price: return Session.add(listing) return True