예제 #1
0
    def setUp(self):
        self.europe = Continent("Europe", 2)
        self.scotland = Country("Scotland", self.europe, 1)
        self.iceland = Country("Iceland", self.europe, 3)

        self.glencoe = Location("Glencoe", "This is stunning location, i need to see it", False, self.scotland, 1)
        self.godafoss = Location("Godafoss", "The most amazing waterfall i have ever seen", True, self.iceland, 2)
        self.no_id = Location("No id", "locaiton without id", True,self.scotland)
예제 #2
0
    def setUp(self):
        self.asia = Continent("Asia", 1)
        self.europe = Continent("Europe", 2)

        self.scotland = Country("Scotland", self.europe, 1)
        self.singapore = Country("Singapore", self.asia, 2)
        self.iceland = Country("Iceland", self.europe, 3)
        self.no_id = Country("No Id", self.europe)
예제 #3
0
def create_country():
    name = request.form["name"]
    continent = request.form["continent"]

    country = Country(name, continent)
    country_repository.save(country)
    return redirect("/countries")
예제 #4
0
def getPieData():
    countryName = request.form["name"]
    print(countryName)
    country_info = Country().one(name=countryName)
    APIType = country_info.APIType
    level = country_info.level
    names = []
    results = []
    if APIType == 'basic':
        if level == 'country':  # 国内各省
            result = ChinaStatus.all(city='all')
            for item in result:
                if item.nowConfirm == 0:
                    continue
                names.append(item.province)
                results.append({"name": item.province, "value": item.nowConfirm})
        elif level == 'province':  # 省内各市
            result = ChinaStatus.all(province=countryName)
            for city_info in result:
                if city_info.name != 'all':
                    names.append(city_info.name)
                    results.append({"name": city_info.city, "value": city_info.nowConfirm})
    elif APIType == 'foreign':
        if level == 'country':
            result = GlobalStatus.all(country=countryName)
            for pro_info in result:
                if pro_info.province != 'all' and pro_info.nowConfirm >= 0:
                    names.append(pro_info.province)
                    results.append({"name": pro_info.province, "value": pro_info.nowConfirm})
    else:
        print("error province search name.")
    return jsonify({"data": results, "name": names})
예제 #5
0
def select(id):
    sql = "SELECT * FROM countries WHERE id = %s"
    values = [id]
    result = run_sql(sql, values)[0]
    if result is not None:
        country = Country(result['name'], result['id'])
    return country
예제 #6
0
def update_country(id):
    name = request.form["name"]
    continent = request.form["continent"]

    country = Country(name, continent, id)
    country_repository.update(country)
    return redirect(f"/countries/{id}")
예제 #7
0
def create_city():
    name = request.form["new_city_name"]
    country = request.form["new_city_country"]
    new_country = Country(country)
    persistent_country = country_repo.save(new_country)
    new_city = City(name, persistent_country)
    city_repo.save(new_city)
    return redirect("/cities")
예제 #8
0
    def setUp(self):
        self.europe = Continent("Europe", 2)
        self.scotland = Country("Scotland", self.europe, 1)
        self.iceland = Country("Iceland", self.europe, 3)

        self.glencoe = Location("Glencoe",
                                "This is stunning location, i need to see it",
                                False, self.scotland, 1)
        self.godafoss = Location(
            "Godafoss", "The most amazing waterfall i have ever seen", True,
            self.iceland, 2)

        self.glencoe_photo = Photo("devils_pulpit.jpg", True, self.glencoe, 1)
        self.godafoss_photo_01 = Photo("marina_sands01.jpg", True,
                                       self.godafoss, 2)
        self.godafoss_photo_02 = Photo("marina_sands01.jpg", True,
                                       self.godafoss)
예제 #9
0
def select_all():
    countries = []
    sql = "SELECT * FROM countries"
    results = run_sql(sql)
    for row in results:
        country = Country(row['name'], row['id'])
        countries.append(country)
    return countries
예제 #10
0
def create_country():
    continent_id = request.form['continent_id']
    name = request.form["name"]
    continent = continent_repository.select(continent_id)
    visited = False
    new_country = Country(name, continent, visited)
    country_repository.save(new_country)
    country_id = new_country.id
    return redirect(f"/countries/{country_id}")
예제 #11
0
def select(id):
    country = None
    sql = "SELECT * FROM countries WHERE id = %s"
    values = [id]
    result = run_sql(sql, values)[0]

    if result is not None:
        country = Country(result['country_name'], result['country_population'],result['country_visited'], result['id'])
    return country 
예제 #12
0
def select_all():  # working
    countries = []
    sql = "SELECT * FROM countries"
    results = run_sql(sql)
    for row in results:
        # taking entries from database and attaching to a new country instance (arguments based on class parameters)
        country = Country(row['name'], row['visited'], row['id'])
        countries.append(country)
    return countries
예제 #13
0
def create_country():
    country_name = request.form['country_name']
    country_population = request.form['country_population']
    country_visited = False
    if 'country_visited' in request.form:
        country_visited = True
    country = Country(country_name, country_population, country_visited)
    country_repository.save(country)
    return redirect('/countries')
예제 #14
0
def select_all():
    countries = []
    # when I list countries I want them to be alphabetical order each time
    sql = "SELECT * FROM countries ORDER BY name ASC"
    results = run_sql(sql)

    for row in results:
        country = Country(row['name'], row['continent'], row['id'])
        countries.append(country)
    return countries
예제 #15
0
def update_country(id):
    name = request.form['name']
    continent_id = request.form['continent_id']
    continent = continent_repository.select(continent_id)
    country = country_repository.select(id)
    visited = country.visited
    updated_country = Country(name, continent, visited, id)
    country_repository.update(updated_country)
    country_id = country.id
    return redirect(f"/countries/{country_id}")
def select_all():
    countries_list = []

    sql = "SELECT * FROM countries"
    results = run_sql(sql)

    for row in results:
        country = Country(row["name"], row["continent"], row['id'])
        countries_list.append(country)
    return countries_list
예제 #17
0
def select(id):
    country = None
    sql = "SELECT * FROM countries WHERE id = %s"
    values = [id]
    result = run_sql(sql, values)[0]

    if result is not None:
        continent = continent_repository.select(result['continent_id'])
        country = Country(result['name'], continent, result['visited'],
                          result['id'])
    return country
예제 #18
0
def select_all():
    countries = []

    sql = "SELECT * FROM countries"
    results = run_sql(sql)

    for row in results:
        continent = continent_repository.select(row['continent_id'])
        country = Country(row['name'], continent, row['visited'], row['id'])
        countries.append(country)
    return countries
예제 #19
0
def create_trip():
    city_id = request.form["city_id"]
    country_id = request.form["country_id"]
    sight_id = request.form["sight_id"]
    to_visit = request.form["to_visit"]
    new_city = City("name", city_id)
    new_country = Country("country", country_id)
    new_sight = Sight("sight", sight_id)
    trip = Visit(new_city, new_country, new_sight, to_visit)
    visit_repository.save(trip)
    return redirect("/trips")
예제 #20
0
def update_country(id):
    country_name = request.form['country_name']
    country_population = request.form['country_population']
    country_visited = False
    print(request.form)
    if 'visited' in request.form:
        country_visited = True
        print(request.form)
    country = Country(country_name, country_population, country_visited, id)
    country_repository.update(country)
    return redirect("/countries")
예제 #21
0
def view_country(id):
    country = country_repository.select(id)
    all_vu_points = country_repository.vu_points(country)

    for vu_point in all_vu_points:  # by doing on this route, it takes account of edits and new vu's
        if vu_point.visited == True:
            country = Country(country.name, True, id)
            country_repository.update(country)

    return render_template("countries/view.html",
                           country=country,
                           all_vu_points=all_vu_points)
예제 #22
0
def select(id):
    country = None
    sql = "SELECT * FROM countries WHERE id = %s"
    values = [id]
    result = run_sql(sql, values)[0]

    if result is not None:
        name = result['name']
        continent = result['continent']
        country_id = result['id']
        country = Country(name, continent, country_id)
    return country
예제 #23
0
def select(id):
    country = None
    sql = "SELECT * FROM countries WHERE id = %s"
    values = [id]
    result = run_sql(sql, values)[0]

    if result is not None:
        country = Country(result["name"], result["population"],
                          result["language_spoken"], result["currency_used"],
                          result["average_temperature"], result["id"],
                          result["visited"])
    return country
예제 #24
0
def update_country(id):
    print(request.form)
    name = request.form["name"]
    population = request.form["population"]
    language_spoken = request.form["language_spoken"]
    currency_used = request.form["currency"]
    average_temperature = request.form["temperature"]
    visited = request.form["visited"]
    country = Country(name, population, language_spoken, currency_used,
                      average_temperature, id, visited)
    print(vars(country))
    country_repository.update(country)
    return redirect("/bucketlist")
예제 #25
0
def create_country():
    print(request.form)
    name = request.form["name"]
    population = request.form["population"]
    language_spoken = request.form["language_spoken"]
    currency_used = request.form["currency_used"]
    average_temperature = request.form["average_temperature"]
    visited = request.form["visited"]
    country = Country(name, population, language_spoken, currency_used,
                      average_temperature, visited)
    print(vars(country))
    country_repository.save(country)
    return redirect("/countries")
예제 #26
0
def select_all():
    countries = []

    sql = "SELECT * FROM countries"
    results = run_sql(sql)

    for row in results:
        name = row['name']
        continent = row['continent']
        country_id = row['id']
        country = Country(name, continent, country_id)
        countries.append(country)
    return countries
예제 #27
0
def select(id):
    # create sql query without values
    sql = "SELECT * FROM countries WHERE id = %s"
    # create list with values required by sql query
    values = [id]
    # execute sql query
    result = run_sql(sql, values)[0]
    # convert return which is a single element list of dictionaries into a continent object
    country = Country(result["name"],
                      continent_repository.select(result['continent_id']),
                      result["id"])
    # return the result
    return country
예제 #28
0
def select_all():
    # set return variable as empty list
    countries = []
    # create sql query without values
    sql = "SELECT * FROM countries ORDER BY	name ASC"
    # execute sql query
    results = run_sql(sql)
    # convert return which is a single element list of dictionaries into list of countries objects
    for result in results:
        country = Country(result["name"],
                          continent_repository.select(result['continent_id']),
                          result["id"])
        countries.append(country)
    # return the result
    return countries
예제 #29
0
def countries(city):
    results = []
    sql = """SELECT countries.*
            FROM countries
            INNER JOIN visits ON countries.id = visits.country_id
            INNER JOIN cities ON cities.id = visits.city_id
            WHERE cities.id = %s"""
    values = [city.id]
    sql_results = run_sql(sql, values)

    for row in sql_results:
        country = Country(row['name'], row['id'])
        results.append(country)

    return results
예제 #30
0
def getMapData():
    countryName = request.form["name"]
    results = []
    name_info = Country().one(name=countryName)
    APIType = name_info.APIType
    if APIType == 'basic':  # 全国疫情数据
        pro_info_list = ChinaStatus.all(city='all')
    elif APIType == 'foreign':  # 世界疫情数据,某国家疫情数据
        pro_info_list = GlobalStatus().all(country=countryName)
    else:
        pro_info_list = []
    for pro_infos in pro_info_list:
        if pro_infos.province == 'all':
            continue
        results.append({'name': pro_infos.province, 'value': pro_infos.nowConfirm})
    return jsonify({"data": results})