def handle(self, *args, **options): #Basics (city, country, date, url) = self.get_basic_info() #Main organizer team = self.get_main_organizer() #Team team = self.get_team(team) #Create users click.echo("OK! That's it. Now I'll create your event.") click.echo("Here is an access info for team members:") members = self.create_users(team) #Event and EventPage objects name = u'Django Girls '+city latlng = get_coordinates_for_city(city, country) event = Event.objects.create(name=name, city=city, country=country, latlng=latlng, main_organizer=members[0], date=date, is_on_homepage=False) for member in members: event.team.add(member) page = EventPage.objects.create(event=event, url=url, title=name) #Default content self.add_default_content(page) self.add_default_menu(page) click.echo(u"Website is ready here: http://djangogirls.org/{0}".format(url)) click.echo("Congrats on yet another event!") click.echo("------------") click.echo("Important! Go here: http://djangogirls.org/admin/core/event/{0}/ Upload a photo of city and tick is on homepage checkbox!".format(event.id))
def test_get_coordinates_for_city(self, mock_get): mock_get.return_value.json.return_value = [{"lat": "1.23", "lon": "4.56"}] result = get_coordinates_for_city("London", "UK") mock_get.assert_called_once_with(NOMINATIM_URL, params={"format": "json", "q": "London, UK"}) self.assertEqual(result, "1.23, 4.56")
def test_returns_none_when_no_results(self, mock_get): # Results are an empty list mock_get.return_value.json.return_value = [] result = get_coordinates_for_city("PretendTown", "UK") mock_get.assert_called_once_with(NOMINATIM_URL, params={"format": "json", "q": "PretendTown, UK"}) self.assertIsNone(result)
def test_returns_none_when_invalid_results(self, mock_get): # Empty dict returned in results mock_get.return_value.json.return_value = [{}] result = get_coordinates_for_city("PretendTown", "UK") mock_get.assert_called_once_with(NOMINATIM_URL, params={"format": "json", "q": "PretendTown, UK"}) self.assertIsNone(result)
def handle(self, *args, **options): events = Event.objects.all() for event in events: self.stdout.write("{}, {}".format(event.city, event.country)) event.latlng = get_coordinates_for_city(event.city, event.country) self.stdout.write("{}".format(event.latlng)) event.save()
def handle(self, *args, **options): events = Event.objects.all() for event in events: print(event.city, event.country) event.latlng = get_coordinates_for_city(event.city, event.country) print(event.latlng) event.save()
def test_returns_none_when_invalid_results(mock_get): # Empty dict returned in results mock_get.return_value.json.return_value = [{}] result = get_coordinates_for_city('PretendTown', 'UK') mock_get.assert_called_once_with(NOMINATIM_URL, params={ 'format': 'json', 'q': 'PretendTown, UK', }) assert result is None
def test_returns_none_when_no_results(mock_get): # Results are an empty list mock_get.return_value.json.return_value = [] result = get_coordinates_for_city('PretendTown', 'UK') mock_get.assert_called_once_with(NOMINATIM_URL, params={ 'format': 'json', 'q': 'PretendTown, UK', }) assert result is None
def command(): """Creates new Django Girls event""" # Basics (city, country, date, url, event_mail) = get_basic_info() # Main organizer main_organizer = get_main_organizer() # Team team = get_team(main_organizer) click.echo("OK! That's it. Now I'll create your event.") # Event and EventPage objects name = "Django Girls " + city latlng = get_coordinates_for_city(city, country) mail = event_mail + "@djangogirls.org" event = Event.objects.create( name=name, city=city, country=country, latlng=latlng, email=mail, date=date, is_on_homepage=False ) page = EventPage.objects.create(event=event, url=url, title=name) # Create users members = create_users(team, event) event.main_organizer = members[0] event.save() # Default content add_default_content(page) add_default_menu(page) click.secho("Website is ready here: http://djangogirls.org/{0}".format(url), fg="green") click.echo(DELIMITER) click.secho("Ok, now follow this:", fg="black", bg="green") click.echo("1. Find a photo of a city with CC license on Flickr. Download it.") click.echo("2. Go here: http://djangogirls.org/admin/core/event/{0}/".format(event.id)) click.echo("3. Upload a photo of city, add credits and tick 'is on homepage' checkbox. Save.") click.echo("4. Send e-mail with instructions to a team!") click.echo(DELIMITER) click.secho("This is a ready, filled out mail to sent to organizers:", fg="green") click.echo("SUBJECT: Django Girls {} setup".format(event.city)) click.echo("TO: {}, {}, [email protected]".format(", ".join([x.email for x in members]), event.email)) click.echo("BODY:") click.echo( render_to_string("emails/setup.txt", {"event": event, "email_password": "******", "settings": settings}) ) brag_on_slack_bang(city, country, members)
def test_returns_none_when_no_results(self, mock_get): # Results are an empty list mock_get.return_value.json.return_value = [] result = get_coordinates_for_city('PretendTown', 'UK') mock_get.assert_called_once_with( NOMINATIM_URL, params={ 'format': 'json', 'q': 'PretendTown, UK', } ) self.assertIsNone(result)
def test_get_coordinates_for_city(mock_get): mock_get.return_value.json.return_value = [{ 'lat': '1.23', 'lon': '4.56', }] result = get_coordinates_for_city('London', 'UK') mock_get.assert_called_once_with(NOMINATIM_URL, params={ 'format': 'json', 'q': 'London, UK', }) assert result == '1.23, 4.56'
def test_returns_none_when_invalid_results(self, mock_get): # Empty dict returned in results mock_get.return_value.json.return_value = [{}] result = get_coordinates_for_city('PretendTown', 'UK') mock_get.assert_called_once_with( NOMINATIM_URL, params={ 'format': 'json', 'q': 'PretendTown, UK', } ) self.assertIsNone(result)
def test_get_coordinates_for_city(self, mock_get): mock_get.return_value.json.return_value = [{ 'lat': '1.23', 'lon': '4.56', }] result = get_coordinates_for_city('London', 'UK') mock_get.assert_called_once_with( NOMINATIM_URL, params={ 'format': 'json', 'q': 'London, UK', } ) self.assertEqual(result, '1.23, 4.56')
def handle(self, *args, **options): #Basics (city, country, date, url, event_mail) = self.get_basic_info() #Main organizer team = self.get_main_organizer() #Team team = self.get_team(team) #Create users click.echo("OK! That's it. Now I'll create your event.") click.echo("Here is an access info for team members:") members = self.create_users(team) #Event and EventPage objects name = 'Django Girls ' + city latlng = get_coordinates_for_city(city, country) mail = event_mail + '@djangogirls.org' event = Event.objects.create(name=name, city=city, country=country, latlng=latlng, email=mail, main_organizer=members[0], date=date, is_on_homepage=False) for member in members: event.team.add(member) page = EventPage.objects.create(event=event, url=url, title=name) #Default content self.add_default_content(page) self.add_default_menu(page) click.echo( "Website is ready here: http://djangogirls.org/{0}".format(url)) click.echo("Congrats on yet another event!") click.echo("------------") click.echo( "Important! Go here: http://djangogirls.org/admin/core/event/{0}/ Upload a photo of city and tick is on homepage checkbox!" .format(event.id))
def handle(self, *args, **options): #Basics (city, country, date, url, event_mail) = self.get_basic_info() #Main organizer main_organizer = self.get_main_organizer() #Team team = self.get_team(main_organizer) #Create users click.echo("OK! That's it. Now I'll create your event.") members, members_as_list = self.create_users(team) #Event and EventPage objects name = 'Django Girls ' + city latlng = get_coordinates_for_city(city, country) mail = event_mail + '@djangogirls.org' event = Event.objects.create(name=name, city=city, country=country, latlng=latlng, email=mail, main_organizer=members[0], date=date, is_on_homepage=False) for member in members: event.team.add(member) page = EventPage.objects.create(event=event, url=url, title=name) #Default content self.add_default_content(page) self.add_default_menu(page) click.secho( "Website is ready here: http://djangogirls.org/{0}".format(url), fg='green') click.echo("") click.echo( "---------------------------------------------------------------") click.echo("") self.invite_team_to_slack(members) click.echo("") click.echo( "---------------------------------------------------------------") click.echo("") click.secho("Ok, now follow this:", fg='black', bg='green') click.echo( "1. Find a photo of a city with CC license on Flickr. Download it." ) click.echo( "2. Go here: http://djangogirls.org/admin/core/event/{0}/".format( event.id)) click.echo( "3. Upload a photo of city, add credits and tick 'is on homepage' checkbox. Save." ) click.echo("4. Send e-mail with instructions to a team!") click.echo("") click.echo( "---------------------------------------------------------------") click.echo("") click.secho("This is a ready, filled out mail to sent to organizers:", fg='green') click.echo("SUBJECT: Django Girls {} setup".format(event.city)) click.echo("TO: {}, {}, [email protected]".format( ', '.join([x.email for x in members]), event.email)) click.echo("BODY:") click.echo( render_to_string( 'emails/setup.txt', { 'event': event, 'members': members_as_list, 'email_password': '******', 'settings': settings })) self.brag_on_slack_bang(city, country, members)
def save(self, *args, **kwargs): if not self.latlng: self.latlng = get_coordinates_for_city(self.city, self.get_country_display()) super(EventApplication, self).save(*args, **kwargs)
def save(self, *args, **kwargs): if not self.latlng: self.latlng = get_coordinates_for_city(self.city, self.get_country_display()) super().save(*args, **kwargs)
def command(short): """Creates new Django Girls event""" # Basics (city, country, date, url, event_mail) = get_basic_info() # Main organizer main_organizer = get_main_organizer() # Team team = get_team(main_organizer) click.echo("OK! That's it. Now I'll create your event.") # Event and EventPage objects name = 'Django Girls ' + city latlng = get_coordinates_for_city(city, country) mail = event_mail + '@djangogirls.org' event = Event.objects.create(name=name, city=city, country=country, latlng=latlng, email=mail, date=date, is_on_homepage=False, page_url=url, page_title=name) # Create users members = create_users(team, event) event.main_organizer = members[0] event.save() # Default content add_default_content(event) add_default_menu(event) click.secho( "Website is ready here: http://djangogirls.org/{0}".format(url), fg='green') click.echo(DELIMITER) click.secho("Ok, now follow this:", fg='black', bg='green') click.echo( "1. Find a photo of a city with CC license on Flickr. Download it.") click.echo( "2. Go here: http://djangogirls.org/admin/core/event/{0}/".format( event.id)) click.echo( "3. Upload a photo of city, add credits and tick 'is on homepage' checkbox. Save." ) click.echo("4. Send e-mail with instructions to a team!") click.echo(DELIMITER) click.secho("This is a ready, filled out mail to sent to organizers:", fg='green') click.echo("SUBJECT: Django Girls {} setup".format(event.city)) click.echo("TO: {}, {}, [email protected]".format( ', '.join([x.email for x in members]), event.email)) click.echo("BODY:") if short: click.echo( render_to_string('emails/setup-short.txt', { 'event': event, })) else: click.echo( render_to_string( 'emails/setup.txt', { 'event': event, 'email_password': '******', 'settings': settings })) brag_on_slack_bang(city, country, members)
def save(self, *args, **kwargs): if not self.latlng: self.latlng = get_coordinates_for_city(self.city, self.country) super(EventApplication, self).save(*args, **kwargs)
def handle(self, *args, **options): # Basics (city, country, date, url, event_mail) = self.get_basic_info() # Main organizer main_organizer = self.get_main_organizer() # Team team = self.get_team(main_organizer) # Create users click.echo("OK! That's it. Now I'll create your event.") members, members_as_list = self.create_users(team) # Event and EventPage objects name = 'Django Girls ' + city latlng = get_coordinates_for_city(city, country) mail = event_mail + '@djangogirls.org' event = Event.objects.create(name=name, city=city, country=country, latlng=latlng, email=mail, main_organizer=members[0], date=date, is_on_homepage=False) for member in members: event.team.add(member) page = EventPage.objects.create(event=event, url=url, title=name) # Default content self.add_default_content(page) self.add_default_menu(page) click.secho( "Website is ready here: http://djangogirls.org/{0}".format(url), fg='green') click.echo("") click.echo( "---------------------------------------------------------------") click.echo("") self.invite_team_to_slack(members) click.echo("") click.echo( "---------------------------------------------------------------") click.echo("") click.secho("Ok, now follow this:", fg='black', bg='green') click.echo( "1. Find a photo of a city with CC license on Flickr. Download it.") click.echo( "2. Go here: http://djangogirls.org/admin/core/event/{0}/".format(event.id)) click.echo( "3. Upload a photo of city, add credits and tick 'is on homepage' checkbox. Save.") click.echo("4. Send e-mail with instructions to a team!") click.echo("") click.echo( "---------------------------------------------------------------") click.echo("") click.secho( "This is a ready, filled out mail to sent to organizers:", fg='green') click.echo("SUBJECT: Django Girls {} setup".format(event.city)) click.echo("TO: {}, {}, [email protected]".format( ', '.join([x.email for x in members]), event.email )) click.echo("BODY:") click.echo(render_to_string('emails/setup.txt', { 'event': event, 'members': members_as_list, 'email_password': '******', 'settings': settings })) self.brag_on_slack_bang(city, country, members)