Download app/models/google_ad.py from rastof9/fb: direct link, hf CLI and curl.
- Browser
- Download file 2.14 kB
-
https://huggingface.co/spaces/rastof9/fb/resolve/main/app/models/google_ad.py
- Command line
-
hf download hf://spaces/rastof9/fb/app/models/google_ad.py
-
curl -L -o google_ad.py https://huggingface.co/spaces/rastof9/fb/resolve/main/app/models/google_ad.py
2.14 kB
| from app import db | |
| from datetime import datetime | |
| import uuid | |
| class GoogleAd(db.Model): | |
| """Model for storing Google Ads data.""" | |
| id = db.Column(db.String(36), primary_key=True, default=lambda: str(uuid.uuid4())) | |
| ad_type = db.Column(db.String(20), nullable=False) # 'search' or 'display' | |
| title = db.Column(db.String(255), nullable=True) | |
| description = db.Column(db.Text, nullable=True) | |
| display_url = db.Column(db.String(255), nullable=True) | |
| target_url = db.Column(db.String(512), nullable=True) | |
| image_url = db.Column(db.String(512), nullable=True) | |
| position = db.Column(db.Integer, nullable=True) | |
| search_query = db.Column(db.String(255), nullable=True) | |
| page_url = db.Column(db.String(512), nullable=True) | |
| raw_data = db.Column(db.JSON, nullable=True) | |
| sentiment = db.Column(db.JSON, nullable=True) | |
| created_at = db.Column(db.DateTime, default=datetime.utcnow) | |
| updated_at = db.Column(db.DateTime, default=datetime.utcnow, onupdate=datetime.utcnow) | |
| user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=True) | |
| def __repr__(self): | |
| return f'<GoogleAd {self.id} - {self.title}>' | |
| def from_search_ad_data(cls, ad_data, search_query, user_id=None): | |
| """Create a GoogleAd instance from scraped search ad data.""" | |
| return cls( | |
| ad_type='search', | |
| title=ad_data.get('title'), | |
| description=ad_data.get('description'), | |
| display_url=ad_data.get('display_url'), | |
| target_url=ad_data.get('target_url'), | |
| position=ad_data.get('position'), | |
| search_query=search_query, | |
| raw_data=ad_data, | |
| user_id=user_id | |
| ) | |
| def from_display_ad_data(cls, ad_data, user_id=None): | |
| """Create a GoogleAd instance from scraped display ad data.""" | |
| return cls( | |
| ad_type='display', | |
| image_url=ad_data.get('image_url'), | |
| target_url=ad_data.get('target_url'), | |
| page_url=ad_data.get('page_url'), | |
| raw_data=ad_data, | |
| user_id=user_id | |
| ) |