示例#1
0
文件: main.py 项目: Boris14/project
def new_ad():
    if request.method == 'GET':
        return render_template('new_ad.html', ads=Ad.all())
    elif request.method == 'POST':
        ad = Ad.find(request.form['ad_id'])
        values = (None, request.form['title'], request.form['description'],
                  request.form['price'], request.form['date'],
                  request.form['is_active'], request.form['buyer'], ad)
        Ad(*values).create()

        return redirect('/')
示例#2
0
 def get_ads(self):
     results = self.content('.container-results').find('.search-item')
     ads = []
     for result in results:
         preview = pq(result)
         ads.append(Ad(preview))
     return ads
示例#3
0
def read_near_ads(latitude, longitude, distance):
	'''
	This function reads, serializes and returns all tupples in Ad table that
	their geographical location is nearer than distance (Killometer) in order.
	Instead of using GIS database extensions, SqlAlchemy Hybrid method and Great Circle
	formula are used here to query the database for calculating the distances.
	'''
	try:
		ads = db.session.query(
			Ad,
			Ad.distance(latitude, longitude).label('distance'),
			Ad.agency_id,
			Ad.name,
			Ad.latitude,
			Ad.longitude
		).having(db.column('distance') <= distance).order_by('distance').all()
		ads_json = [{
		'agency_id' : ad.agency_id,
		'name': ad.name,
    	'latitude': float(ad.latitude),
    	'longitude': float(ad.longitude),
    	'distance': ad.distance
    	} for ad in ads]
		return ads_json
	except Exception as e:
		print('error while reading near ads: ' + str(e))
		return None
示例#4
0
 def write_csv(self, ad: Ad):
     metro = ad.get_closest_station()
     self.writer.writerow({
         'id': ad.get_id(),
         'url': ad.get_url(),
         'has_washer': 'yes' if ad.is_washer_mentioned() else 'no',
         'metro station': metro[0],
         'metro distance': metro[1],
         'title': ad.get_title_components()[0],
         'score': ad.get_score(),
         'price': ad.get_price(),
         'date': ad.get_posted_date()
     })
示例#5
0
 def setUp(self):
     self.kyokuto_anime_snippet_ad = Ad({
         'title':
         'a',
         'snippet':
         '極東アニメーションで素敵な作品を描こう',
         'link':
         'http://www.pref.nara.jp/item/83513.htm'
     })
     self.chuni_snippet_ad = Ad({
         'title':
         'a',
         'snippet':
         '夢ならたくさん見た',
         'link':
         'http://www.pref.nara.jp/item/83513.htm'
     })
     self.health_title_ad = Ad({
         'title':
         '健康を気にするなら',
         'snippet':
         's',
         'link':
         'http://www.pref.nara.jp/item/83513.htm'
     })
     self.trigger_snippet_ad = Ad({
         'title':
         'TRIGGERのキルラキルでアニメの新世界を見よう。あの今石洋之なら世界を変えられる!',
         'snippet':
         'TRIGGERのキルラキルでアニメの新世界を見よう。あの今石洋之なら世界を変えられる!',
         'link':
         'http://www.pref.nara.jp/item/83513.htm'
     })
     self.sakuga_snippet_ad = Ad({
         'title':
         't',
         'snippet':
         'あのグレートウルトラアニメなら銀河特急新幹線を超えられる',
         'link':
         'http://www.pref.nara.jp/item/83513.htm'
     })
示例#6
0
 def set_ads_with_html_body(self):
     listWrap = pq(self.html_body).find('.listWrap')
     lis = listWrap.children().children()
     ads = []
     for li in lis:
         pq_li = pq(li)
         title = pq_li.find('a').text()
         link = pq_li.find('a').attr('href')
         snippet = pq_li.find('.smr').text()
         ad = Ad(title=title, snippet=snippet, link=link)
         ads.append(ad)
     self.ads = ads
示例#7
0
文件: watchdog.py 项目: iRhonin/bidar
    def fetch_ads(self, context):
        print('fetch query')
        print('query: ', self.query.url)
        html_doc = get(self.query.url).text
        soup = BeautifulSoup(html_doc, 'html.parser')
        ads = soup.find_all('a', {'class': 'post-card-link'})
        ad_links = [ad['href'] for ad in ads]
        new_ads = set(ad_links) - self.history
        print('len ads:', len(new_ads))

        if not self.history:
            self.history = new_ads
            return

        for ad_url in new_ads:
            url = urljoin(self.query.base_url, ad_url)
            ad = Ad(url=url)
            ad.fetch()
            self.send(ad)
            self.history.add(ad_url)

        return new_ads
示例#8
0
 def post(self):
     parser = reqparse.RequestParser()
     try:
         parser.add_argument('width', type=int)
         parser.add_argument('height', type=int)
         parser.add_argument('creative', type=str)
         args = parser.parse_args()
         adid = str(uuid.uuid4())
         newad = Ad(adid, args['width'], args['height'], args['creative'])
         store[adid] = newad
         return {"args": args, "status": "success"}
     except:
         return {"args": args, "status": "error"}
示例#9
0
 def fetch_ads(self):
     nlist = pq(self.html).find('.nlist')
     lis = nlist.children().children()
     ads = []
     for li in lis:
         pq_li = pq(li)
         title = pq_li.find('a').text()
         link = pq_li.find('a').attr('href')
         snippet = pq_li.find('.yschabstr').text()
         ad_info = {'title': title, 'snippet': snippet, 'link': link}
         ad = Ad(ad_info)
         ads.append(ad)
     return ads
示例#10
0
def create_ad(agency_id, name, latitude, longitude):
	'''
	This function creates a new tupple in Ad table.
	return 0 means everything accomplished successfully.
	return 1 means the operation was unsuccessfull.
	'''
	try:
		ad = Ad(agency_id, name, latitude, longitude)
		db.session.add(ad)
		db.session.commit()
		return 0
	except Exception as e:
		print('error while creating the ad: ' + str(e))
		return 1
示例#11
0
    def __init__(self,
                 id_raffle: str,
                 name: str,
                 ad: Ad,
                 duration: float = 60):
        self._id_raffle = id_raffle
        self._name_raffle = name
        self._ad = ad  # Ojeto anuncio Asociado
        self._id_ad = ad.show_properties()[0]
        self._started = 0
        self._finished = 0

        self._time_duration = duration  # Seconds of a day
        self._time_start = 0
        self._time_raffle = 0
        self._time_stop = 0

        self._prize_money = 0
        self._participants = list()
        self._id_participants = list()
        self._number_winners = 1
        self._id_winners = list()
        self._winners = list()
示例#12
0
 def attachAd(self, settings):
     ad = Ad(settings)
     self.ads.append(ad)
     return ad
示例#13
0
文件: main.py 项目: Boris14/project
def get_categories():
    return render_template("categories.html", categories=Ad.all())
示例#14
0
文件: main.py 项目: Boris14/project
def buy_ad(id):
    ad = Ad.find(id)
    ad.buy()

    return redirect('/')
示例#15
0
文件: main.py 项目: Boris14/project
def delete_ad(id):
    ad = Ad.find(id)
    ad.delete()

    return redirect('/')
示例#16
0
文件: main.py 项目: Boris14/project
def show_ad(id):
    ad = Ad.find(id)

    return render_template('ad.html', ad=ad)
示例#17
0
文件: main.py 项目: alikhd1/yekta-in
from base_model import BaseAdvertising
from ad import Ad
from advertiser import Advertiser

if __name__ == "__main__":
    baseAdvertising = BaseAdvertising()
    advertiser1 = Advertiser('name1')
    advertiser2 = Advertiser('name2')
    ad1 = Ad("title1", "img-url1", "link1", advertiser1)
    ad2 = Ad("title2", "img-url2", "link2", advertiser2)
    baseAdvertising.describeMe()
    ad2.describeMe()
    advertiser1.describeMe()
    ad1.incViews()
    ad1.incViews()
    ad1.incViews()
    ad1.incViews()
    ad2.incViews()
    ad1.incClicks()
    ad1.incClicks()
    ad2.incClicks()
    advertiser2.getName()
    advertiser2.setName("new name")
    advertiser2.getName()
    ad1.getClicks()
    advertiser2.getClicks()
    Advertiser.getTotalClicks()
    Advertiser.help()
示例#18
0
文件: db.py 项目: 2e3s/KijijiRentals
 def insert(self, ad: Ad):
     cursor = self.db.cursor()
     cursor.execute(
         '''REPLACE INTO ads(
         id,
         title,
         url,
         description,
         postedTime,
         price,
         rooms,
         isNothingIncluded,
         score,
         isLate,
         isBasement,
         isWasherMentioned,
         closestMetro,
         closestMetroDistance
         ) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?)''',
         (ad.get_id(), ad.get_title_components()[0], ad.get_url(),
          ad.get_description(),
          int(
              datetime.strptime(
                  ad.get_posted_date(),
                  '%Y-%m-%d %H:%M:%S').timestamp()), ad.get_price(),
          ad.get_size(), ad.is_nothing_included(), ad.get_score(),
          ad.is_too_late(), ad.is_basement(), ad.is_washer_mentioned(),
          ad.get_closest_station()[0], ad.get_closest_station()[1]))
     self.db.commit()
示例#19
0
from baseAdvertising import BaseAdvertising
from ad import Ad
from advertiser import Advertiser

baseAdvertising = BaseAdvertising()
advertiser1 = Advertiser(1, "name1")
advertiser2 = Advertiser(2, "name2")
ad1 = Ad(1, "title1", "img-url1", "link1", advertiser1)
ad2 = Ad(2, "title2", "img-url2", "link2", advertiser2)
print(baseAdvertising.describe_me())
print(ad2.describe_me())
print(advertiser1.describe_me())
ad1.inc_views()
ad1.inc_views()
ad1.inc_views()
ad1.inc_views()
ad2.inc_views()
ad1.inc_clicks()
ad1.inc_clicks()
ad2.inc_clicks()
print(advertiser2.name)
advertiser2.name = "new name"
print(advertiser2.name)
print(ad1.clicks)
print(advertiser2.clicks)
print(Advertiser.get_total_clicks())
print(Advertiser.help())
 def __init__(self):
     self._nome = 'Resultado'
     self._dados = []
     self.lista = []
     self.lista.append(Ad())
     self.lista.append(Result())
示例#21
0
文件: main.py 项目: Boris14/project
def list_ads():
    return render_template('ads.html', ads=Ad.all())
示例#22
0
from base_model import BaseAdvertising
from ad import Ad
from advertiser import Advertiser

if __name__ == '__main__':
    baseAdvertising = BaseAdvertising
    advertiser1 = Advertiser(1, "name1")
    advertiser2 = Advertiser(2, "name2")
    ad1 = Ad(1, "title1", "img-url1", "link1", advertiser1)
    ad2 = Ad(2, "title2", "img-url2", "link2", advertiser2)
    ad1.incViews()
    ad1.incViews()
    ad1.incViews()
    ad1.incViews()
    ad2.incViews()
    ad1.incClicks()
    ad1.incClicks()
    ad2.incClicks()
    print(advertiser2.getName())
    advertiser2.setName("new name")
    print(advertiser2.getName())
    print(ad1.getClicks())
    print(advertiser2.getClicks())
    print(Advertiser.getTotalClicks())