def edit(cls, user_id, slot_id, slot_type, name, first_filing=None, keyword=None): data = { 'slotType': slot_type, 'name': name, } if slot_id: slot = cls.find_one(dict(_id=slot_id)) slot._id = int(slot._id) if not slot: raise SlotNotFound() if not slot.appId == user_id: raise OperateNotAllowed() if slot_type == TYPE.SHUFFLE: raise OperateNotAllowed('can not create shuffle type slot') slot.last_operated = datetime.now().strftime('%Y-%m-%d') slot.update(data) slot.save() else: slot_id = int(_gid(GidKey.slot_key)) data.update({ '_id': slot_id, 'appId': user_id, 'status': STATUS.OPEN, 'first_filing': FILLING.FB, }) slot = Slots(data, True) slot.save() return slot
def add(cls, affiliate_id, url): post_back = PostBack(dict( _id=_gid(GidKey.post_back_key), affiliate_id=int(affiliate_id), url=url ), True) post_back.save() return True
def _create(cls, **kwargs): _id = _gid(GidKey.invoice_key) invoice = Invoice( dict(_id=_id, user_id=int(kwargs.get('user_id')), affiliate_id=int(kwargs.get('affiliate_id')), time_range=kwargs.get('time_range'), _invoice=kwargs.get('_invoices'), _invoice_number='newborn-{}'.format(_id), currency=kwargs.get('currency')), True) invoice.save()
def _create(cls, **kwargs): e_mail = EMail(gen_skel=True) e_mail._id = _gid(GidKey.email_key) e_mail.user_id = int(kwargs.get('user_id')) e_mail.model_id = int(kwargs.get('model_id')) e_mail.subject = kwargs.get('subject') e_mail.sender = kwargs.get('sender', e_mail.sender) e_mail.receiver = kwargs.get('receiver') e_mail.message = kwargs.get('message') e_mail.save() cls._send(e_mail) # 此处暂时先存后发送
def create(cls, email=None, captcha_code=None): captcha = Captcha.find_one(dict(email=email)) if not captcha: captcha = Captcha( dict(_id=int(_gid(GidKey.captcha_key)), email=email, code=captcha_code), True) else: captcha.code = captcha_code captcha.create_time = cls._t.current_time captcha.save() return captcha
def regist(cls, email, password1, password2, company): password = cls.encrypt_pwd(password1) _id = int(_gid(GidKey.user_key)) user = User( dict(_id=_id, email=email, password=password, company=company, username=email), True) user.save() return user
def _save(cls, **kw): aff = Affiliate( dict(_id=_gid(GidKey.affiliate_key), user_id=int(kw.get('user_id')), country=kw.get('country'), account_manager=int(kw.get('account_manager')) if kw.get('account_manager') else None, company=kw.get('company'), status=kw.get('status', '1'), create_time=cls._t.today, last_update=cls._t.today, payment=kw.get('payment')), True) aff.save() return aff
def _create(cls, **kw): password = kw.get('password', '') password = cls.encrypt_pwd(password) user = User( dict(_id=_gid(GidKey.user_key), email=kw.get('email'), password=password, account=kw.get('account'), role_id=int(kw.get('role_id')) if kw.get('role_id') else '', skype_id=kw.get('skype_id'), phone=kw.get('phone')), True) user.save() return user
def _save(cls, **kw): day_cap = 10000000 month_cap = 10000000 total_cap = 10000000 if kw.get('day_cap'): day_cap = int(kw.get('day_cap')) if kw.get('month_cap'): month_cap = int(kw.get('month_cap')) if kw.get('total_cap'): total_cap = int(kw.get('total_cap')) offer_affiliate = OfferAffiliate( dict(_id=_gid(GidKey.off_aff_key), offer_id=int(kw.get('offer_id')), affiliate_id=int(kw.get('affiliate_id')), payout=float(kw.get('payout', 0)) if kw.get('payout') else 0, day_cap=day_cap, month_cap=month_cap, total_cap=total_cap, cap=dict(day=day_cap, month=month_cap, total=total_cap), status=kw.get('status', '2')), True) offer_affiliate.save() return offer_affiliate
def get_report(): """ """ http = httplib2.Http() url_ios = "https://api.taptica.com/v2/bulk?token=O%2fhjVq4UFGiM6fiHJBo2sw%3d%3d&platforms=iPhone" url_android = "https://api.taptica.com/v2/bulk?token=O%2fhjVq4UFGiM6fiHJBo2sw%3d%3d&platforms=android" headers = { "Content-Type": "application/json", "Accept": "application/json" } response_ios, content_ios = http.request(url_ios, 'GET', headers=headers) response_android, content_android = http.request(url_android, 'GET', headers=headers) offers_ios = yajl.loads(content_ios)['Data'] offers_android = yajl.loads(content_android)['Data'] offers = offers_ios + offers_android offers_list_new = [] ## offers_list_old = OfferList.find_one(dict( _id=96)).offer_list if OfferList.find_one(dict(_id=96)) else [] ## for offer in offers: o = Offers(parse_offer(offer)) re = Offers.find_one( dict(title=o.title, geo_targeting=o.geo_targeting, click_url=o.click_url)) if re: offers_list_new.append(re._id) ## re.is_expired = False ## re.advertiser_id = o.advertiser_id re.is_api = o.is_api re.offer_type = o.offer_type re.category_id = o.category_id re.package_name = o.package_name re.title = o.title re.preview_url = o.preview_url re.desciption = o.desciption re.day_cap = o.day_cap re.month_cap = o.month_cap re.total_cap = o.total_cap re.cap = o.cap re.click_url = o.click_url re.icon_url = o.icon_url re.mini_version = o.mini_version re.payment = o.payment re.platform = o.platform re.geo_targeting = o.geo_targeting re.banner_url = o.banner_url re.conversions = o.conversions re.revenue = o.revenue re.status = o.status re.access_status = o.access_status re.save() else: o._id = _gid('ApiKey') o.is_expired = False ## offers_list_new.append(o._id) ## o.save() offers_list = OfferList.find_one(dict(_id=96)) ## if offers_list: ## offers_list._id = 96 ## offers_list.offer_list = offers_list_new ## offers_list.save() ## else: ## offers_list = OfferList( ## dict( ## _id=96, ## offer_list=offers_list_new ## ) ## ) ## offers_list.save() ## is_expired_offers = list(set(offers_list_old) - set(offers_list_new)) ## for offer_id in is_expired_offers: ## offer = Offers.find_one(dict(_id=offer_id)) ## try: offer.is_expired = True ## offer.save() except AttributeError: continue
def get_report(): """ """ http = httplib2.Http() url_ios = "http://api.acekoala.com/api/offers?app_key=4603af3476d9b60bfc5d5cdaa577bdca&platform=Ios" url_android = "http://api.acekoala.com/api/offers?app_key=4603af3476d9b60bfc5d5cdaa577bdca&platform=Android" # url_ios = "http://api.acekoala.com/api/offers?app_key=8dedbea4d48580075b14cd083e5c5f8e&platform=Android" # url_android = "http://api.acekoala.com/api/offers?app_key=8dedbea4d48580075b14cd083e5c5f8e&platform=Android&country=us,ru" headers = { "Content-Type": "application/json", "Accept": "application/json" } response_ios, content_ios = http.request(url_ios, 'GET', headers=headers) response_android,content_android = http.request(url_android, 'GET', headers=headers) offers_ios = yajl.loads(content_ios)['data'] offers_android = yajl.loads(content_android)['data'] offers = offers_ios + offers_android offers_list_new = [] ## offers_list_old = OfferList.find_one(dict(_id=137)).offer_list if OfferList.find_one(dict(_id=137)) else [] ## for offer in offers: o = Offers(parse_offer(offer)) re = Offers.find_one(dict(title=o.title, geo_targeting=o.geo_targeting, click_url=o.click_url)) if re: offers_list_new.append(re._id) ## re.is_expired = False ## re.advertiser_id = o.advertiser_id re.is_api = o.is_api re.offer_type = o.offer_type re.category_id = o.category_id re.package_name = o.package_name re.title = o.title re.preview_url = o.preview_url re.desciption = o.desciption re.day_cap = o.day_cap re.month_cap = o.month_cap re.total_cap = o.total_cap re.cap = o.cap re.click_url = o.click_url re.icon_url = o.icon_url re.mini_version = o.mini_version re.payment = o.payment re.platform = o.platform re.geo_targeting = o.geo_targeting re.banner_url = o.banner_url re.conversions = o.conversions re.revenue = o.revenue re.status = o.status re.access_status = o.access_status re.save() else: o._id = _gid('ApiKey') o.is_expired = False ## offers_list_new.append(o._id) ## o.save() offers_list = OfferList.find_one(dict(_id=137)) ## if offers_list: ## offers_list._id = 137 ## offers_list.offer_list = offers_list_new ## offers_list.save() ## else: ## offers_list = OfferList( ## dict( ## _id=137, ## offer_list=offers_list_new ## ) ## ) ## offers_list.save() ## is_expired_offers = list(set(offers_list_old) - set(offers_list_new)) ## for offer_id in is_expired_offers: ## offer = Offers.find_one(dict(_id=offer_id)) ## try: offer.is_expired = True ## offer.save() except AttributeError: continue
def _create(cls, **kwargs): role = Role(gen_skel=True) role._id = _gid(GidKey.role_key) role.name = kwargs.get('name') role.permission = kwargs.get('permission') role.save()
def _create(cls, **kwargs): e_model = EmailModel( dict(_id=_gid(GidKey.e_model_key), model_name=kwargs.get('model_name'), content=kwargs.get('content')), True) e_model.save()
def get_report(): """ """ http = httplib2.Http() url = "http://api.c.avazunativeads.com/s2s?sourceid=21804&pagenum=10000&page=1" headers = { "Content-Type": "application/json", "Accept": "application/json" } response, content = http.request(url, 'GET', headers=headers) offers = yajl.loads(content)['ads']['ad'] offers_list_new = [] ## offers_list_old = OfferList.find_one(dict(_id=153)).offer_list if OfferList.find_one(dict(_id=153)) else [] ## for offer in offers: o = Offers(parse_offer(offer)) re = Offers.find_one(dict(title=o.title, geo_targeting=o.geo_targeting, click_url=o.click_url)) if re: offers_list_new.append(re._id) ## re.is_expired = False ## re.advertiser_id = o.advertiser_id re.is_api = o.is_api re.offer_type = o.offer_type re.category_id = o.category_id re.package_name = o.package_name re.title = o.title re.desciption = o.desciption re.day_cap = o.day_cap re.month_cap = o.month_cap re.total_cap = o.total_cap re.cap = o.cap re.click_url = o.click_url re.icon_url = o.icon_url re.mini_version = o.mini_version re.payment = o.payment re.platform = o.platform re.geo_targeting = o.geo_targeting re.conversions = o.conversions re.revenue = o.revenue re.status = o.status re.access_status = o.access_status re.save() else: o._id = _gid('ApiKey') o.is_expired = False ## offers_list_new.append(o._id) ## o.save() offers_list = OfferList.find_one(dict(_id=153)) ## if offers_list: ## offers_list._id = 153 ## offers_list.offer_list = offers_list_new ## offers_list.save() ## else: ## offers_list = OfferList( ## dict( ## _id=153, ## offer_list=offers_list_new ## ) ## ) ## offers_list.save() ## is_expired_offers = list(set(offers_list_old) - set(offers_list_new)) ## for offer_id in is_expired_offers: ## offer = Offers.find_one(dict(_id=offer_id)) ## try: offer.is_expired = True ## offer.save() except AttributeError: continue
def get_report(): """ """ http = httplib2.Http() url = "http://cpactions.com/api/v1.0/feed/public/offers?site_id=10459&hash=bfd486e491d72d38c533af53ee3c47b3097bafed&filters[avg_cr][gt]=0.01" headers = { "Content-Type": "application/json", "Accept": "application/json" } response, content = http.request(url, 'GET', headers=headers) offers = yajl.loads(content)['offers'] offers_list_new = [] ## offers_list_old = OfferList.find_one(dict( _id=91)).offer_list if OfferList.find_one(dict(_id=91)) else [] ## for offer in offers: o = Offers(parse_offer(offer)) re = Offers.find_one( dict(title=o.title, geo_targeting=o.geo_targeting, click_url=o.click_url)) if re: offers_list_new.append(re._id) ## re.is_expired = False ## re.advertiser_id = o.advertiser_id re.is_api = o.is_api re.offer_type = o.offer_type re.category_id = o.category_id re.package_name = o.package_name re.title = o.title re.preview_url = o.preview_url re.desciption = o.desciption re.day_cap = o.day_cap re.month_cap = o.month_cap re.total_cap = o.total_cap re.cap = o.cap re.click_url = o.click_url re.icon_url = o.icon_url re.payment = o.payment re.platform = o.platform re.geo_targeting = o.geo_targeting re.rating = o.rating re.conversions = o.conversions re.revenue = o.revenue re.status = o.status re.access_status = o.access_status re.save() else: o._id = _gid('ApiKey') o.is_expired = False ## offers_list_new.append(o._id) ## o.save() offers_list = OfferList.find_one(dict(_id=91)) ## if offers_list: ## offers_list._id = 91 ## offers_list.offer_list = offers_list_new ## offers_list.save() ## else: ## offers_list = OfferList( ## dict( ## _id=91, ## offer_list=offers_list_new ## ) ## ) ## offers_list.save() ## is_expired_offers = list(set(offers_list_old) - set(offers_list_new)) ## for offer_id in is_expired_offers: ## offer = Offers.find_one(dict(_id=offer_id)) ## try: offer.is_expired = True ## offer.save() except AttributeError: continue
def _save(cls, **kwargs): kwargs.update(dict(_id=_gid(GidKey.advertiser_key))) ads = Advertisers(kwargs, True) ads.save() return ads
o._id = _gid('ApiKey') o.is_expired = False ## offers_list_new.append(o._id) ## o.save() offers_list = OfferList.find_one(dict(_id=61)) ## if offers_list: ## offers_list._id = 61 ## offers_list.offer_list = offers_list_new ## offers_list.save() ## else: ## offers_list = OfferList( ## dict( ## _id=61, ## offer_list=offers_list_new ## ) ## ) ## offers_list.save() ## is_expired_offers = list(set(offers_list_old) - set(offers_list_new)) ## for offer_id in is_expired_offers: ## offer = Offers.find_one(dict(_id=offer_id)) ## try: offer.is_expired = True ## offer.save() except AttributeError: continue if __name__ == "__main__": get_report() print _gid('ApiKey')
def _save(cls, name, status): cat = Category( dict(_id=_gid(GidKey.category_key), name=name, status=status), True) cat.save()
def get_report(): """ """ http = httplib2.Http() url = "https://api.hasoffers.com/Apiv3/json?NetworkId=adattract&Target=Affiliate_Offer&Method=findMyApprovedOffers&api_key=43bc7b535a0a37560334f2b0aea03783476887b9bd574a6ef5c4ca073e74462d" headers = {"Content-Type": "application/json"} response, content = http.request(url, 'GET', headers=headers) offers = yajl.loads(content)['response']['data'] offers_list_new = [] ## offers_list_old = OfferList.find_one(dict( _id=138)).offer_list if OfferList.find_one(dict(_id=138)) else [] ## for k, v in offers.iteritems(): click_url = "https://api.hasoffers.com/Apiv3/json?NetworkId=adattract&Target=Affiliate_Offer&Method=generateTrackingLink&api_key=43bc7b535a0a37560334f2b0aea03783476887b9bd574a6ef5c4ca073e74462d&offer_id=" + str( k) response, click_url = http.request(click_url, 'GET', headers=headers) try: click_url = yajl.loads(click_url)['response']['data']['click_url'] except TypeError: continue country_url = "https://api.hasoffers.com/Apiv3/json?NetworkId=adattract&Target=Affiliate_Offer&Method=getTargetCountries&api_key=43bc7b535a0a37560334f2b0aea03783476887b9bd574a6ef5c4ca073e74462d&ids%5B%5D=" + str( k) response, country_url = http.request(country_url, 'GET', headers=headers) try: country = yajl.loads( country_url)['response']['data'][0]['countries'].keys() except AttributeError: continue platform_url = "https://api.hasoffers.com/Apiv3/json?NetworkId=adattract&Target=Affiliate_OfferTargeting&Method=getRuleTargetingForOffer&api_key=43bc7b535a0a37560334f2b0aea03783476887b9bd574a6ef5c4ca073e74462d&offer_id=" + str( k) response, platform_url = http.request(platform_url, 'GET', headers=headers) try: platform_url = yajl.loads( platform_url)['response']['data'][0]['rule']['name'] except IndexError: platform_url = '' icon_url = "https://api.hasoffers.com/Apiv3/json?NetworkId=adattract&Target=Affiliate_OfferFile&Method=findAll&api_key=43bc7b535a0a37560334f2b0aea03783476887b9bd574a6ef5c4ca073e74462d&filters%5Boffer_id%5D=" + str( k) response, icon_banner = http.request(icon_url, 'GET', headers=headers) try: icon_url = yajl.loads(icon_banner)['response']['data'][ 'data'].values()[0]['OfferFile']['thumbnail'] banner_url = yajl.loads(icon_banner)['response']['data'][ 'data'].values()[0]['OfferFile']['url'] except (AttributeError, KeyError, TypeError) as e: icon_url = '' banner_url = '' if platform_url == 'Android': platform = '2' elif platform_url == 'iOS' or 'iPhone': platform = '1' else: continue o = dict( advertiser_id=138, is_api=True, offer_type=1, category_id=10, title=v['Offer']['name'], preview_url=v['Offer']['preview_url'], platform=platform, click_url=click_url + "&transaction_id={clickid}&aff_sub={aff_sub2}&affiliate_id={affid}&aff_sub2={aff_sub1}", #done desciption=cgi.escape(v['Offer']['description']), total_cap=10000000, day_cap=10000000, month_cap=10000000, cap=dict(day=10000000, month=10000000, total=10000000), payment=float(v['Offer']['default_payout']) * 0.9, geo_targeting=country, conversions=0, revenue=float(v['Offer']['default_payout']), status='1', access_status='1', icon_url=icon_url, banner_url=banner_url) o = Offers(o) re = Offers.find_one( dict(title=o.title, geo_targeting=o.geo_targeting, platform=o.platform)) ## if re: offers_list_new.append(re._id) ## re.is_expired = False ## re.advertiser_id = o.advertiser_id re.is_api = o.is_api re.offer_type = o.offer_type re.category_id = o.category_id re.title = o.title re.preview_url = o.preview_url re.platform = o.platform re.click_url = o.click_url re.icon_url = o.icon_url re.banner_url = o.banner_url re.desciption = o.desciption re.total_cap = o.total_cap re.day_cap = o.day_cap re.month_cap = o.month_cap re.cap = o.cap re.payment = o.payment re.geo_targeting = o.geo_targeting re.conversions = o.conversions re.revenue = o.revenue re.status = o.status re.access_status = o.access_status re.save() else: o._id = _gid('ApiKey') o.is_expired = False ## offers_list_new.append(o._id) ## o.save() offers_list = OfferList.find_one(dict(_id=138)) ## if offers_list: ## offers_list._id = 138 ## offers_list.offer_list = offers_list_new ## offers_list.save() ## else: ## offers_list = OfferList( ## dict( ## _id=138, ## offer_list=offers_list_new ## ) ## ) ## offers_list.save() ## is_expired_offers = list(set(offers_list_old) - set(offers_list_new)) ## for offer_id in is_expired_offers: ## offer = Offers.find_one(dict(_id=offer_id)) ## try: offer.is_expired = True ## offer.save() except AttributeError: continue
def get_report(): """ """ http = httplib2.Http() url = "http://feed.appthis.com/feed/v1?api_key=2b749940922e74c65292a6da90e5dc01&format=json" headers = {"Content-Type": "application/json"} response, content = http.request(url, 'GET', headers=headers) offers = yajl.loads(content)['offers'] offers_list_new = [] ## offers_list_old = OfferList.find_one(dict( _id=86)).offer_list if OfferList.find_one(dict(_id=86)) else [] ## for k, v in offers.iteritems(): for campaign in v['campaigns']: if not v['icon_url'].startswith('http'): v['icon_url'] = 'http:' + v['icon_url'] if campaign['platform'] == 'Android': campaign['platform'] = '2' if campaign['platform'] == 'iPhone': campaign['platform'] = '1' o = dict( advertiser_id=86, is_api=True, offer_type=1, category_id=10, title=v['name'], platform=campaign['platform'], package_name=v['android_package_name'], click_url=v['tracking_url'] + "?clickid={clickid}&source={affid}&source2={aff_sub2}", #done icon_url=v['icon_url'], desciption=v['description'], total_cap=10000000, day_cap=10000000, month_cap=10000000, cap=dict(day=10000000, month=10000000, total=10000000), payment=float(campaign['payout']) * 0.9, geo_targeting=campaign['countries'], conversions=0, revenue=float(campaign['payout']), status='1', access_status='1') o = Offers(o) re = Offers.find_one( dict(title=o.title, geo_targeting=o.geo_targeting, platform=o.platform)) if re: offers_list_new.append(re._id) ## re.is_expired = False ## re.advertiser_id = o.advertiser_id re.is_api = o.is_api re.offer_type = o.offer_type re.category_id = o.category_id re.title = o.title re.platform = o.platform re.package_name = o.package_name re.click_url = o.click_url re.icon_url = o.icon_url re.desciption = o.desciption re.total_cap = o.total_cap re.day_cap = o.day_cap re.month_cap = o.month_cap re.cap = o.cap re.payment = o.payment re.geo_targeting = o.geo_targeting re.conversions = o.conversions re.revenue = o.revenue re.status = o.status re.access_status = o.access_status re.save() else: o._id = _gid('ApiKey') o.is_expired = False ## offers_list_new.append(o._id) ## o.save() offers_list = OfferList.find_one(dict(_id=86)) ## if offers_list: ## offers_list._id = 86 ## offers_list.offer_list = offers_list_new ## offers_list.save() ## else: ## offers_list = OfferList( ## dict( ## _id=86, ## offer_list=offers_list_new ## ) ## ) ## offers_list.save() ## is_expired_offers = list(set(offers_list_old) - set(offers_list_new)) ## for offer_id in is_expired_offers: ## offer = Offers.find_one(dict(_id=offer_id)) ## try: offer.is_expired = True ## offer.save() except AttributeError: continue
def get_report(): """ """ http = httplib2.Http() url_ios = "https://admin.appnext.com/offerApi.aspx?id=dbc2d386-5f74-4817-a0a6-1b688877ea24" url_android = "https://admin.appnext.com/offerApi.aspx?id=cdd8008b-da30-42e3-be36-c64c6bf536ea" headers = { "Content-Type": "application/json", "Accept": "application/json" } response_ios, content_ios = http.request(url_ios, 'GET', headers=headers) response_android, content_android = http.request(url_android, 'GET', headers=headers) offers_ios = yajl.loads(content_ios)['apps'] offers_android = yajl.loads(content_android)['apps'] offers_list_new = [] ## offers_list_old = OfferList.find_one(dict( _id=111)).offer_list if OfferList.find_one(dict(_id=111)) else [] ## for offer in offers_ios: o = Offers(parse_ios_offer(offer)) re = Offers.find_one( dict(title=o.title, geo_targeting=o.geo_targeting, click_url=o.click_url)) if re: offers_list_new.append(re._id) ## re.is_expired = False ## re.advertiser_id = o.advertiser_id re.is_api = o.is_api re.offer_type = o.offer_type re.category_id = o.category_id re.package_name = o.package_name re.title = o.title # re.preview_url = o.preview_url re.desciption = o.desciption re.day_cap = o.day_cap re.month_cap = o.month_cap re.total_cap = o.total_cap re.cap = o.cap re.click_url = o.click_url re.icon_url = o.icon_url re.mini_version = o.mini_version re.payment = o.payment re.platform = o.platform re.geo_targeting = o.geo_targeting re.conversions = o.conversions re.revenue = o.revenue re.status = o.status re.access_status = o.access_status re.save() else: o._id = _gid('ApiKey') o.is_expired = False ## offers_list_new.append(o._id) ## o.save() for offer in offers_android: o = Offers(parse_android_offer(offer)) re = Offers.find_one( dict(title=o.title, geo_targeting=o.geo_targeting, click_url=o.click_url)) if re: offers_list_new.append(re._id) ## re.is_expired = False ## re.advertiser_id = o.advertiser_id re.is_api = o.is_api re.offer_type = o.offer_type re.category_id = o.category_id re.package_name = o.package_name re.title = o.title re.preview_url = o.preview_url re.desciption = o.desciption re.day_cap = o.day_cap re.month_cap = o.month_cap re.total_cap = o.total_cap re.cap = o.cap re.click_url = o.click_url re.icon_url = o.icon_url re.mini_version = o.mini_version re.payment = o.payment re.platform = o.platform re.geo_targeting = o.geo_targeting re.conversions = o.conversions re.revenue = o.revenue re.status = o.status re.access_status = o.access_status re.save() else: o._id = _gid('ApiKey') o.is_expired = False ## offers_list_new.append(o._id) ## o.save() offers_list = OfferList.find_one(dict(_id=111)) ## if offers_list: ## offers_list._id = 111 ## offers_list.offer_list = offers_list_new ## offers_list.save() ## else: ## offers_list = OfferList( ## dict( ## _id=111, ## offer_list=offers_list_new ## ) ## ) ## offers_list.save() ## is_expired_offers = list(set(offers_list_old) - set(offers_list_new)) ## for offer_id in is_expired_offers: ## offer = Offers.find_one(dict(_id=offer_id)) ## try: offer.is_expired = True ## offer.save() except AttributeError: continue
spec.update(dict(createdTime={'$gte': start, '$lte': end})) if offer_ids: spec.update(dict(offer_id={'$in': offer_ids})) data = cls.find(spec) return data @classmethod def get_sum(cls, affiliate_id, currency, start, end): data = cls.get_range_data(affiliate_id, currency, start, end) # data_sum {'1': {'offer': '', 'paryout': '', 'actions': '', ...}} data_sum = InterFace.get_sum(data) return [v for k, v in data_sum.items()] if __name__ == '__main__': o = OfferInfo( dict( _id=_gid(GidKey.invoice_key), affiliate_id=71, offer_id=15, payout=500, actions=5, amount=40, click=100, currency='U.S.$', createdTime='2016-03-08', )) o.save() # i = Invoice.find() pass
def get_report(): """ """ http = httplib2.Http() url = "http://mapi.affle.co/publisher.php?cId=all&key=63389e65c6fe8cd5f7b2f8d12e698907" headers = {"Content-Type": "application/json"} response, content = http.request(url, 'GET', headers=headers) offers = yajl.loads(content)['data'] offers_list_new = [] ## offers_list_old = OfferList.find_one(dict( _id=61)).offer_list if OfferList.find_one(dict(_id=61)) else [] ## for offer in offers: o = Offers(parse_offer(offer)) re = Offers.find_one( dict(title=o.title, geo_targeting=o.geo_targeting, click_url=o.click_url)) if re: offers_list_new.append(re._id) ## re.advertiser_id = re.advertiser_id re.is_api = o.is_api re.offer_type = o.offer_type re.category_id = o.category_id re.title = o.title re.platform = o.platform # re.package_name = o.package_name # re.mini_version = o.mini_version re.click_url = o.click_url re.banner_url = o.banner_url re.preview_url = o.preview_url re.total_cap = o.total_cap re.day_cap = o.day_cap re.month_cap = o.month_cap re.cap = o.cap re.payment = o.payment re.geo_targeting = o.geo_targeting re.create_time = o.create_time re.conversions = o.conversions re.revenue = o.revenue re.status = o.status re.access_status = o.access_status re.is_expired = False ## re.save() else: o._id = _gid('ApiKey') o.is_expired = False ## offers_list_new.append(o._id) ## o.save() offers_list = OfferList.find_one(dict(_id=61)) ## if offers_list: ## offers_list._id = 61 ## offers_list.offer_list = offers_list_new ## offers_list.save() ## else: ## offers_list = OfferList( ## dict( ## _id=61, ## offer_list=offers_list_new ## ) ## ) ## offers_list.save() ## is_expired_offers = list(set(offers_list_old) - set(offers_list_new)) ## for offer_id in is_expired_offers: ## offer = Offers.find_one(dict(_id=offer_id)) ## try: offer.is_expired = True ## offer.save() except AttributeError: continue
def get_parm(cls, self, type=None): user = self.get_current_user().account title = self.get_argument('title', None, strip=True) category_id = self.get_argument('category', None, strip=True) price_model = self.get_argument('price_model', None,strip=True) advertiser_id = self.get_argument('advertiser', None, strip=True) tag = self.get_argument('tag', None, strip=True) rating = self.get_argument('rating', None, strip=True) platform = self.get_argument('platform', None, strip=True) icon_url = self.get_argument('icon_url', None, strip=True) package_name = self.get_argument('package_name', None, strip=True) mini_version = self.get_argument('mini_version', None, strip=True) desciption = self.get_argument('desciption', None, strip=True) restrictions = self.get_argument('restrictions', None, strip=True) click_url = self.get_argument('click_url', None, strip=True) banner_url = self.get_argument('banner_url', None, strip=True) preview_url = self.get_argument('preview_url', None, strip=True) conver_image = self.get_argument('conver_image', None, strip=True) total_cap = self.get_argument('total_cap', 0, strip=True) if not total_cap: total_cap = 0 daily_cap = self.get_argument('daily_cap', 0, strip=True) if not daily_cap: daily_cap = 0 month_cap = self.get_argument('month_cap', 0, strip=True) if not month_cap: month_cap = 0 revenue = self.get_argument('revenue', None, strip=True) payment = self.get_argument('payment', None, strip=True) root = self.get_argument('root', None, strip=True) include_geo_targeting = self.get_arguments('include_geo_targeting') exclude_geo_targeting = self.get_arguments('exclude_geo_targeting') offer_type = self.get_argument('offer_type', 1, strip=True) status = self.get_argument('status', None, strip=True) access_status = self.get_argument('access_status', None, strip=True) black_ip = [] to_api = True if self.get_argument('to_api', None, strip=True) == "true" else False now = datetime.now() create_time = Tool.datetime_str(now, "%Y%m%d-%H:%M:%S") last_update = Tool.datetime_str(now, "%Y%m%d-%H:%M:%S") kw = dict( title=title, category_id=int(category_id) if category_id else None, price_model=price_model, advertiser_id=int(advertiser_id) if advertiser_id else None, tag=tag, rating=rating, platform=platform, icon_url=icon_url, package_name=package_name, mini_version=mini_version, desciption=desciption, restrictions=restrictions, click_url=click_url, banner_url=banner_url, preview_url=preview_url, conver_image=conver_image, total_cap=int(total_cap) if total_cap else 10000000, day_cap=int(daily_cap) if daily_cap else 10000000, month_cap=int(month_cap) if month_cap else 10000000, cap=dict( day=int(daily_cap) if daily_cap else 10000000, month=int(month_cap) if month_cap else 10000000, total=int(total_cap) if total_cap else 10000000 ), revenue=float(revenue) if revenue else 0, payment=float(payment) if payment else 0, root=root, geo_targeting=include_geo_targeting, exclude_geo_targeting=exclude_geo_targeting, status=status, access_status=access_status, black_ip=black_ip, user=user, offer_type=offer_type, to_api=to_api, create_time=create_time, last_update=last_update, pause_job_set=False ) if not type: kw['_id'] = _gid(GidKey.offer_key) return kw
total.append((item['total'])) result = { 'new_data': { 'x': x, 'y': new }, 'active_data': { 'x': x, 'y': active }, 'total_data': { 'x': x, 'y': total } } return result if __name__ == "__main__": activity = Activity( dict( _id=_gid('activity'), publisher_id=1, slot_id=2, country='en', time='2016-04-18', new=50, active=51, total=52, ) ) activity.save()
# coding:utf-8 from solo.web.mongo import Doc from app.web.model.gid import gid as _gid class Publisher(Doc): structure = dict( _id=int, publisher_id=int, name=str, slot=list, ) if __name__ == '__main__': publisher = Publisher( dict(_id=_gid('analysis'), publisher_id=4, name='jay', slot=[13, 14, 15, 16])) publisher.save()