コード例 #1
0
        def write_field_data_to_db(field_name, field_data):
            for country_name in field_data.keys():

                # get country if it exists; create it if it doesn't.
                country_slug = slugify(country_name)
                try:
                    country = Country.objects.get(url_name=country_slug)
                except Country.DoesNotExist:
                    country = Country(url_name=country_slug)
                    country.CIAWFB_name_short = country_name
                    country.save()

                # Get CIA WFB Entry if it exists; create it if it doesn't.
                try:
                    CIAWFB_object = CIAWFBEntry.objects.get(country__id=country.id)
                except CIAWFBEntry.DoesNotExist:
                    CIAWFB_object = CIAWFBEntry(country=country, date_entered=timezone.now())
                    CIAWFB_object.save()

                # Now update the field we've got for that CIAWFB entry
                db_name = slugify(field_name).replace('-', '_')

                try:
                    setattr(CIAWFB_object, db_name, field_data[country_name])
                    CIAWFB_object.save()
                except DatabaseError:
                    print('Unable to write field "%s" (country "%s"). Size to write was %s.' %
                          (db_name, country_name, len(field_data[country_name])))
                    longest_field = 0
                    for cname in field_data.keys():
                        len_data = len(field_data[cname])
                        if len_data > longest_field:
                            longest_field = len_data
                    print("Field: %s; Max Length: %s" % (field_name, longest_field))
                    raise DatabaseError
コード例 #2
0
def editImmigrant(imm, firstName, lastName, gender, date, country, continent,
                  ethnicity, spokenLang, processLocation, destCity, destState):
    imm = getImmigrant(imm)
    imm.immfirstname = firstName
    imm.immlastname = lastName
    imm.immgender = gender
    imm.immdate = date

    cont = Continent.objects.get(cname=continent)

    try:
        # Attempts to find that country
        c = Country.objects.get(cname=country)
    except Country.DoesNotExist:
        # If that country is not found, creates it
        c = Country(cname=country, ccontinent=cont)
        c.save()

    try:
        # Attempts to find that ethnicity
        e = Ethnicity.objects.get(ename=ethnicity)
    except Ethnicity.DoesNotExist:
        # If that combination is not found, creates it
        e = Ethnicity(ename=ethnicity)
        e.save()

    try:
        # Attempts to find that ethnicity
        sl = Languages.objects.get(lname=spokenLang)
    except Languages.DoesNotExist:
        # If that combination is not found, creates it
        sl = Languages(lname=spokenLang)
        sl.save()

    try:
        # Attempts to find that specific ethnic background combination
        eb = Ethnicbackground.objects.get(country=country,
                                          ethnicity=ethnicity,
                                          spokenlang=spokenLang)
    except Ethnicbackground.DoesNotExist:
        # If that combination is not found, creates it
        eb = Ethnicbackground(country=c, ethnicity=e, spokenlang=sl)
        eb.save()

    imm.immeb = eb
    imm.immprocloc = Processlocation.objects.get(plname=processLocation)

    state = State.objects.get(sname=destState)

    try:
        # Tries to find the city (that matches the state)
        city = City.objects.get(cname=destCity, cstate=state)
    except City.DoesNotExist:
        # If that city doesn't exist, creates it
        city = City(cname=destCity, cstate=state)
        city.save()

    imm.immdestcity = city

    imm.save()
コード例 #3
0
ファイル: pipelines.py プロジェクト: mahdimohebbian/Numbeo
    def handle_country(self, data_set):
        print("-------handle_country-------")

        item = Country()
        item.name = data_set["name"]
        item.currency = data_set["currency"]
        item.save()
コード例 #4
0
    def handle(self, *args, **kwargs):
        self.stdout.write(self.style.SUCCESS("Lancement du programme"))
        self.key = key = os.environ.get("UNSPLASH_KEY")

        all_countries = list(pycountry.countries)
        clist = []
        temp_dict = TempClass()
        temp_dict = temp_dict.get_datas()
        for i in all_countries:
            clist.append(i)
        for country in tqdm(clist):
            time.sleep(35)

            try:
                country_resume = wikipedia.summary(country.name, sentences=1)
            except:
                country_resume = "No resume avaible for now..."
            try:
                query = country.name.lower()
                url = f"https://unsplash.com/napi/search?query={country.name}&xp=&per_page=1"
                headers = {"authorization": f"Client-ID {self.key}"}
                response = requests.get(url, headers=headers)
                urls = []
                resp = response.json()
                for img in resp["photos"]["results"]:
                    try:
                        urls.append((img.get("urls")["small"]))
                    except:
                        try:
                            urls.append((img.get("urls")["thumbnail"]))
                        except:
                            urls.append((img.get("urls")["raw"]))

                response = requests.get(urls[0])
                pic = ("data:" + response.headers["Content-Type"] + ";" +
                       "base64," +
                       base64.b64encode(response.content).decode("utf-8"))
            except:
                self.stdout.write(
                    self.style.WARNING("WARNING NOT FOUND IMAGE"))
                pic = "No image found"

            if country.alpha_3 in temp_dict:
                c = Country(
                    name=country.name,
                    alpha_2=country.alpha_2,
                    alpha_3=country.alpha_3,
                    temp_averges=temp_dict[country.alpha_3],
                    flag=f"../static/img/flags/flag-{country.alpha_2}.jpg",
                    resume=country_resume,
                    picture=pic,
                )
                c.save()
                a = self.style.WARNING(f"{country.name}")
                b = self.style.SUCCESS(" [OK] ")
                self.stdout.write(a + b)
        self.stdout.write(self.style.SUCCESS("Opération terminée: [OK]"))
コード例 #5
0
ファイル: load_country_info.py プロジェクト: kwantopia/hanuri
  def handle(self, *args, **options):

    # TODO: need to load from csv

    for c in Country.objects.all():
      c.delete()

    with open("data/countryInfo.txt", "r") as country_file:
      reader = csv.DictReader(country_file, delimiter='\t')
      for row in reader:
        country = Country(name=row['Country'], iso_code=row['ISO'])
        country.save()

    print "{country_count} countries saved ".format(country_count=Country.objects.all().count())
コード例 #6
0
ファイル: load_country_info.py プロジェクト: kwantopia/hanuri
    def handle(self, *args, **options):

        # TODO: need to load from csv

        for c in Country.objects.all():
            c.delete()

        with open("data/countryInfo.txt", "r") as country_file:
            reader = csv.DictReader(country_file, delimiter='\t')
            for row in reader:
                country = Country(name=row['Country'], iso_code=row['ISO'])
                country.save()

        print "{country_count} countries saved ".format(
            country_count=Country.objects.all().count())
コード例 #7
0
    def parse(self, response):
        Country.objects.all().delete()
        City.objects.all().delete()

        country_list = response.xpath(
            '//*[@id="country"]//option/text()').extract()[1:40]
        for country in country_list:
            sleep(randint(4, 9))

            new_country = Country(name=country)
            new_country.save()

            yield scrapy.Request(
                "https://numbeo.com/cost-of-living/country_result.jsp?country={}"
                .format(country),
                callback=self.parse_city,
                meta={"country_id": new_country.id})
コード例 #8
0
ファイル: importdata.py プロジェクト: mki/brTech
def countreis():
    print '\n'
    print 'Import/Update Country'

    base, prog = get_data()

    for row in base:

        try:
            country = Country.objects(name_eu = row[3])[0]
        except:
            country = Country(name_eu = row[3])

        country.name_ru = row[3]
        country.slug = '%s' % (str(row[3]).replace(' ','_'))
        country.save()

        prog.increment_amount()
        print prog, '\r',
        sys.stdout.flush()
コード例 #9
0
    def setUp(self):
        credentials = {"username": "******", "password": "******"}
        User.objects.create_superuser(email="*****@*****.**", **credentials)
        self.client.login(**credentials)

        country = Country(code="CY", name="Country")
        country.save()

        cc = CooperativeCenter(code="AB12.3", country=country)
        cc.save()

        cc2 = CooperativeCenter(code="CD45.6", country=country)
        cc2.save()

        john = User.objects.create_user(username="******", email="*****@*****.**")
        john.profile.cooperative_center = cc
        john.profile.save()

        jane = User.objects.create_user(username="******", email="*****@*****.**")
        jane.profile.cooperative_center = cc2
        jane.profile.save()

        settings.ITEMS_PER_PAGE = 3
コード例 #10
0
# Takes the csv file: countries_webscrape.csv and populates the counties model.
# This code was executed using the django shell.
# Based on code from http://abhishekchhibber.com/django-importing-a-csv-file-to-database-models/
import csv
from main.models import Country

with open('webscrape/countries_webscrape.csv') as webscrapecsv:
    csv_file = csv.DictReader(webscrapecsv)
    i = 0
    for row in csv_file:
        country_result = Country(name=row['name'], code=i)
        country_result.save()
        i += 1
コード例 #11
0
ファイル: data-importer.py プロジェクト: jdahlin/holiday
from main.models import Country, State, Holiday

for name in ['Brazil', 'Sweden', 'United States']:
    country = Country(name=name)
    country.save()