Merge branch 'master' of github.com:bornhack/bornhack-website

This commit is contained in:
Thomas Steen Rasmussen 2017-01-28 18:24:14 +01:00
commit f6e18a6dbb

View file

@ -42,16 +42,16 @@ class Command(BaseCommand):
tagline='Make Tradition', tagline='Make Tradition',
slug='bornhack-2017', slug='bornhack-2017',
buildup=( buildup=(
timezone.datetime(2017, 8, 20, 12, 0, tzinfo=timezone.utc), timezone.datetime(2017, 8, 25, 12, 0, tzinfo=timezone.utc),
timezone.datetime(2017, 8, 22, 12, 0, tzinfo=timezone.utc), timezone.datetime(2017, 8, 27, 11, 59, tzinfo=timezone.utc),
), ),
camp=( camp=(
timezone.datetime(2017, 8, 22, 12, 0, tzinfo=timezone.utc), timezone.datetime(2017, 8, 27, 12, 0, tzinfo=timezone.utc),
timezone.datetime(2017, 8, 29, 12, 0, tzinfo=timezone.utc), timezone.datetime(2017, 9, 04, 11, 59, tzinfo=timezone.utc),
), ),
teardown=( teardown=(
timezone.datetime(2017, 8, 29, 12, 0, tzinfo=timezone.utc), timezone.datetime(2017, 9, 04, 12, 0, tzinfo=timezone.utc),
timezone.datetime(2017, 8, 31, 12, 0, tzinfo=timezone.utc), timezone.datetime(2017, 9, 06, 12, 0, tzinfo=timezone.utc),
), ),
) )
@ -60,47 +60,19 @@ class Command(BaseCommand):
tagline='Undecided', tagline='Undecided',
slug='bornhack-2018', slug='bornhack-2018',
buildup=( buildup=(
timezone.datetime(2018, 8, 13, 12, 0, tzinfo=timezone.utc), timezone.datetime(2018, 8, 25, 12, 0, tzinfo=timezone.utc),
timezone.datetime(2018, 8, 16, 12, 00, tzinfo=timezone.utc), timezone.datetime(2018, 8, 27, 11, 59, tzinfo=timezone.utc),
), ),
camp=( camp=(
timezone.datetime(2018, 8, 16, 12, 0, tzinfo=timezone.utc), timezone.datetime(2018, 8, 27, 12, 0, tzinfo=timezone.utc),
timezone.datetime(2018, 8, 23, 12, 0, tzinfo=timezone.utc), timezone.datetime(2018, 9, 04, 11, 59, tzinfo=timezone.utc),
), ),
teardown=( teardown=(
timezone.datetime(2018, 8, 23, 12, 0, tzinfo=timezone.utc), timezone.datetime(2018, 9, 04, 12, 0, tzinfo=timezone.utc),
timezone.datetime(2018, 8, 26, 12, 0, tzinfo=timezone.utc), timezone.datetime(2018, 9, 06, 12, 0, tzinfo=timezone.utc),
), ),
) )
self.output('Creating news...')
news1 = NewsItem.objects.create(
title='welcome to bornhack 2016',
content='news body here with <b>html</b> support',
published_at=timezone.datetime(2016, 8, 27, 12, 0, tzinfo=timezone.utc)
)
news2 = NewsItem.objects.create(
title='bornhack 2016 is over',
content='news body here',
published_at=timezone.datetime(2016, 9, 4, 12, 0, tzinfo=timezone.utc)
)
news3 = NewsItem.objects.create(
title='unpublished news item',
content='unpublished news body here',
)
news4 = NewsItem.objects.create(
title='welcome to bornhack 2017',
content='news body here',
published_at=timezone.datetime(2017, 8, 22, 12, 0, tzinfo=timezone.utc),
archived=True
)
news5 = NewsItem.objects.create(
title='bornhack 2017 is over',
content='news body here',
published_at=timezone.datetime(2017, 8, 29, 12, 0, tzinfo=timezone.utc),
archived=True
)
self.output("creating users...") self.output("creating users...")
user1 = User.objects.create_user( user1 = User.objects.create_user(
username='user1', username='user1',
@ -157,78 +129,102 @@ class Command(BaseCommand):
light_text=False light_text=False
) )
self.output("creating events...") self.output("creating productcategories...")
transportation = ProductCategory.objects.create(
name='Transportation',
slug='transportation'
)
merchendise = ProductCategory.objects.create(
name='Merchandise',
slug='merchandise'
)
NewsItem.objects.create(
title='unpublished news item',
content='unpublished news body here',
)
for camp in [camp1, camp2, camp3]:
year = camp.camp.lower.year
self.output('Creating news for {}...'.format(year))
NewsItem.objects.create(
title='Welcome to {}'.format(camp.title),
content='news body here with <b>html</b> support',
published_at=timezone.datetime(year, 8, 27, 12, 0, tzinfo=timezone.utc)
)
NewsItem.objects.create(
title='{} is over'.format(camp.title),
content='news body here',
published_at=timezone.datetime(year, 9, 4, 12, 0, tzinfo=timezone.utc)
)
self.output("creating events for {}...".format(year))
ev1 = Event.objects.create( ev1 = Event.objects.create(
title='Developing the BornHack website', title='Developing the BornHack website',
abstract='abstract here, bla bla bla', abstract='abstract here, bla bla bla',
event_type=talk, event_type=talk,
camp=camp1 camp=camp
) )
ev2 = Event.objects.create( ev2 = Event.objects.create(
title='State of the world', title='State of the world',
abstract='abstract here, bla bla bla', abstract='abstract here, bla bla bla',
event_type=keynote, event_type=keynote,
camp=camp1 camp=camp
) )
ev3 = Event.objects.create( ev3 = Event.objects.create(
title='Welcome to bornhack!', title='Welcome to bornhack!',
abstract='abstract here, bla bla bla', abstract='abstract here, bla bla bla',
event_type=talk, event_type=talk,
camp=camp1 camp=camp
) )
ev4 = Event.objects.create( ev4 = Event.objects.create(
title='bar is open', title='bar is open',
abstract='the bar is open, yay', abstract='the bar is open, yay',
event_type=facility, event_type=facility,
camp=camp1 camp=camp
) )
ev5 = Event.objects.create( ev5 = Event.objects.create(
title='Network something', title='Network something',
abstract='abstract here, bla bla bla', abstract='abstract here, bla bla bla',
event_type=talk, event_type=talk,
camp=camp1 camp=camp
) )
ev6 = Event.objects.create( ev6 = Event.objects.create(
title='State of outer space', title='State of outer space',
abstract='abstract here, bla bla bla', abstract='abstract here, bla bla bla',
event_type=talk, event_type=talk,
camp=camp2 camp=camp
)
ev7 = Event.objects.create(
title='Welcome to bornhack!',
abstract='abstract here, bla bla bla',
event_type=talk,
camp=camp2
) )
ev8 = Event.objects.create( ev8 = Event.objects.create(
title='bar is open', title='bar is open',
abstract='the bar is open, yay', abstract='the bar is open, yay',
event_type=talk, event_type=facility,
camp=camp2 camp=camp
) )
ev9 = Event.objects.create( ev9 = Event.objects.create(
title='The Alternative Welcoming', title='The Alternative Welcoming',
abstract='Why does The Alternative support BornHack? Why does The Alternative think IT is an overlooked topic? A quick runt-hrough of our program and workshops. We will bring an IT political debate to both the stage and the beer tents.', abstract='Why does The Alternative support BornHack? Why does The Alternative think IT is an overlooked topic? A quick runt-hrough of our program and workshops. We will bring an IT political debate to both the stage and the beer tents.',
event_type=talk, event_type=talk,
camp=camp1 camp=camp
) )
ev10 = Event.objects.create( ev10 = Event.objects.create(
title='Words and Power - are we making the most of online activism?', title='Words and Power - are we making the most of online activism?',
abstract='For years, big names like Ed Snowden and Chelsea Manning have given up their lives in order to protect regular people like you and me from breaches of our privacy. But we are still struggling with getting people interested in internet privacy. Why is this, and what can we do? Using experience from communicating privacy issues on multiple levels for a couple of years, I have encountered some deep seated issues in the way we talk about what privacy means. Are we good enough at letting people know whats going on?', abstract='For years, big names like Ed Snowden and Chelsea Manning have given up their lives in order to protect regular people like you and me from breaches of our privacy. But we are still struggling with getting people interested in internet privacy. Why is this, and what can we do? Using experience from communicating privacy issues on multiple levels for a couple of years, I have encountered some deep seated issues in the way we talk about what privacy means. Are we good enough at letting people know whats going on?',
event_type=keynote, event_type=keynote,
camp=camp1 camp=camp
) )
ev11 = Event.objects.create( ev11 = Event.objects.create(
title='r4d1o hacking 101', title='r4d1o hacking 101',
abstract='Learn how to enable the antenna part of your ccc badge and get started with receiving narrow band FM. In the workshop you will have the opportunity to sneak peak on the organizers radio communications using your SDR. If there is more time we will look at WiFi radar or your protocol of choice.', abstract='Learn how to enable the antenna part of your ccc badge and get started with receiving narrow band FM. In the workshop you will have the opportunity to sneak peak on the organizers radio communications using your SDR. If there is more time we will look at WiFi radar or your protocol of choice.',
event_type=workshop, event_type=workshop,
camp=camp1 camp=camp
) )
ev12 = Event.objects.create( ev12 = Event.objects.create(
title='Introduction to Sustainable Growth in a Digital World', title='Introduction to Sustainable Growth in a Digital World',
abstract='Free Choice is the underestimated key to secure value creation in a complex economy, where GDP-models only measure commercial profit and ignore the environment. We reconstruct the model thinking about Utility, Production, Security and Environment around the 5 Criteria for Sustainability.', abstract='Free Choice is the underestimated key to secure value creation in a complex economy, where GDP-models only measure commercial profit and ignore the environment. We reconstruct the model thinking about Utility, Production, Security and Environment around the 5 Criteria for Sustainability.',
event_type=workshop, event_type=workshop,
camp=camp1 camp=camp
) )
ev13 = Event.objects.create( ev13 = Event.objects.create(
title='American Fuzzy Lop and Address Sanitizer', title='American Fuzzy Lop and Address Sanitizer',
@ -240,7 +236,7 @@ Code written in C and C++ is often riddled with bugs in the memory management. O
Slides: [https://www.int21.de/slides/bornhack2016-fuzzing/](https://www.int21.de/slides/bornhack2016-fuzzing/) Slides: [https://www.int21.de/slides/bornhack2016-fuzzing/](https://www.int21.de/slides/bornhack2016-fuzzing/)
''', ''',
event_type=talk, event_type=talk,
camp=camp1 camp=camp
) )
ev14 = Event.objects.create( ev14 = Event.objects.create(
title='PGP Keysigning Party', title='PGP Keysigning Party',
@ -255,7 +251,7 @@ For people who haven't attended a PGP keysigning party before, we will guide you
2. (Optional) Bring some government-issued identification paper (passport, drivers license, etc.). The ID should contain a picture of yourself. You can leave this out, but then it will be a bit harder for others to verify your key properly. 2. (Optional) Bring some government-issued identification paper (passport, drivers license, etc.). The ID should contain a picture of yourself. You can leave this out, but then it will be a bit harder for others to verify your key properly.
''', ''',
event_type=workshop, event_type=workshop,
camp=camp1 camp=camp
) )
ev15 = Event.objects.create( ev15 = Event.objects.create(
title='Bluetooth Low Energy', title='Bluetooth Low Energy',
@ -285,7 +281,7 @@ of applications you can build on top. Finally, a low-level
demonstration of interfacing with a BLE controller is performed. demonstration of interfacing with a BLE controller is performed.
''', ''',
event_type=talk, event_type=talk,
camp=camp1 camp=camp
) )
ev16 = Event.objects.create( ev16 = Event.objects.create(
title='TLS attacks and the burden of faulty TLS implementations', title='TLS attacks and the burden of faulty TLS implementations',
@ -307,13 +303,13 @@ underappreciated problem.
Slides: [https://www.int21.de/slides/bornhack2016-tls/](https://www.int21.de/slides/bornhack2016-tls/) Slides: [https://www.int21.de/slides/bornhack2016-tls/](https://www.int21.de/slides/bornhack2016-tls/)
''', ''',
event_type=talk, event_type=talk,
camp=camp1 camp=camp
) )
ev17 = Event.objects.create( ev17 = Event.objects.create(
title='State of the Network', title='State of the Network',
abstract='Come and meet the network team who will talk about the design and operation of the network at BornHack.', abstract='Come and meet the network team who will talk about the design and operation of the network at BornHack.',
event_type=talk, event_type=talk,
camp=camp1 camp=camp
) )
ev18 = Event.objects.create( ev18 = Event.objects.create(
title='Running Exit Nodes in the North', title='Running Exit Nodes in the North',
@ -341,64 +337,64 @@ In Finland, Juha Nurmi has been establishing good relationships with ISPs
and law enforcement agencies to keep Finnish exit nodes online. and law enforcement agencies to keep Finnish exit nodes online.
''', ''',
event_type=talk, event_type=talk,
camp=camp1 camp=camp
) )
self.output("creating speakers...") self.output("creating speakers for {}...".format(year))
sp1 = Speaker.objects.create( sp1 = Speaker.objects.create(
name='Henrik Kramse', name='Henrik Kramse',
biography='Henrik is an internet samurai working in internet and security around the world.', biography='Henrik is an internet samurai working in internet and security around the world.',
slug='henrik-kramshj', slug='henrik-kramshj',
camp=camp1 camp=camp
) )
sp1.events.add(ev5) sp1.events.add(ev5)
sp2 = Speaker.objects.create( sp2 = Speaker.objects.create(
name='Thomas Tykling', name='Thomas Tykling',
biography='random danish hacker', biography='random danish hacker',
slug='thomas-tykling', slug='thomas-tykling',
camp=camp1 camp=camp
) )
sp2.events.add(ev3, ev1) sp2.events.add(ev3, ev1)
sp3 = Speaker.objects.create( sp3 = Speaker.objects.create(
name='Alex Ahf', name='Alex Ahf',
biography='functional alcoholic', biography='functional alcoholic',
slug='alex-ahf', slug='alex-ahf',
camp=camp1 camp=camp
) )
sp3.events.add(ev4, ev2) sp3.events.add(ev4, ev2)
sp4 = Speaker.objects.create( sp4 = Speaker.objects.create(
name='Jesper Arp', name='Jesper Arp',
biography='Representative from The Alternative with focus in data visualization.', biography='Representative from The Alternative with focus in data visualization.',
slug='jesper-arp', slug='jesper-arp',
camp=camp1 camp=camp
) )
sp4.events.add(ev9) sp4.events.add(ev9)
sp5 = Speaker.objects.create( sp5 = Speaker.objects.create(
name='Rolf Bjerre', name='Rolf Bjerre',
biography='The green pirate', biography='The green pirate',
slug='rolf-bjerre', slug='rolf-bjerre',
camp=camp1 camp=camp
) )
sp5.events.add(ev9) sp5.events.add(ev9)
sp6 = Speaker.objects.create( sp6 = Speaker.objects.create(
name='Emma Holten', name='Emma Holten',
biography='Emma Holten is a feminist and human rights activist. She is co-founder and editor of the standard critical magazine Friktion and also a student at the University of Copenhagen. She speaks in both national and global contexts of feminism, digital activism and why privacy on the internet is crucial to a democracy, where everyone is equal.', biography='Emma Holten is a feminist and human rights activist. She is co-founder and editor of the standard critical magazine Friktion and also a student at the University of Copenhagen. She speaks in both national and global contexts of feminism, digital activism and why privacy on the internet is crucial to a democracy, where everyone is equal.',
slug='emma-holten', slug='emma-holten',
camp=camp1 camp=camp
) )
sp6.events.add(ev10) sp6.events.add(ev10)
sp7 = Speaker.objects.create( sp7 = Speaker.objects.create(
name='Christoffer Jerkeby', name='Christoffer Jerkeby',
biography='Hacker and phone phreaker from Stockholm bent on radio. Researching security and privacy in wireless protocols.', biography='Hacker and phone phreaker from Stockholm bent on radio. Researching security and privacy in wireless protocols.',
slug='christoffer-jerkeby', slug='christoffer-jerkeby',
camp=camp1 camp=camp
) )
sp7.events.add(ev11) sp7.events.add(ev11)
sp8 = Speaker.objects.create( sp8 = Speaker.objects.create(
name='Stephan Engberg', name='Stephan Engberg',
biography='Stephan Engberg is a Computer Scientist specializing in Innovation Strategist working with Digital Business when he realized the Digital World is designed through our approach to security models and economic models. He then dedicated himself to Privacy/Security by Design in Open Business Innovation making numerous breakthroughs in security and engaged in EU research activities he was e.g. member of the Strategic Advisory Board for FP7 Security Research Roadmapping and started manufacturing of RFID computer chips based on Privacy by Design with zero-knowledge based computing in passive chips without battery or ultra-low memory and computational capabilities. In 2003, he was selected by an a transatlantic panel of researchers in ethics as a Moral Example in the Computer Profession.', biography='Stephan Engberg is a Computer Scientist specializing in Innovation Strategist working with Digital Business when he realized the Digital World is designed through our approach to security models and economic models. He then dedicated himself to Privacy/Security by Design in Open Business Innovation making numerous breakthroughs in security and engaged in EU research activities he was e.g. member of the Strategic Advisory Board for FP7 Security Research Roadmapping and started manufacturing of RFID computer chips based on Privacy by Design with zero-knowledge based computing in passive chips without battery or ultra-low memory and computational capabilities. In 2003, he was selected by an a transatlantic panel of researchers in ethics as a Moral Example in the Computer Profession.',
slug='stephan-engberg', slug='stephan-engberg',
camp=camp1 camp=camp
) )
sp8.events.add(ev12) sp8.events.add(ev12)
sp9 = Speaker.objects.create( sp9 = Speaker.objects.create(
@ -412,7 +408,7 @@ security issues for various publications. He is the author of the
monthly Bulletproof TLS Newsletter. monthly Bulletproof TLS Newsletter.
''', ''',
slug='hanno-bock', slug='hanno-bock',
camp=camp1 camp=camp
) )
sp9.events.add(ev13, ev16) sp9.events.add(ev13, ev16)
sp10 = Speaker.objects.create( sp10 = Speaker.objects.create(
@ -427,7 +423,7 @@ I also like music, cooking, sci-fi and cats, in an order indistinguishable from
a truly random sequence by a polynomial-time-bounded computational adversary. a truly random sequence by a polynomial-time-bounded computational adversary.
''', ''',
slug='ximin-luo', slug='ximin-luo',
camp=camp1 camp=camp
) )
sp10.events.add(ev14) sp10.events.add(ev14)
sp11 = Speaker.objects.create( sp11 = Speaker.objects.create(
@ -438,14 +434,14 @@ His dayjob involves writing firmware for a BT/wifi controller
for a semiconductor company. for a semiconductor company.
''', ''',
slug='michael-knudsen', slug='michael-knudsen',
camp=camp1 camp=camp
) )
sp11.events.add(ev15) sp11.events.add(ev15)
sp12 = Speaker.objects.create( sp12 = Speaker.objects.create(
name='BornHack Network Team', name='BornHack Network Team',
biography='The team you won\'t notice if everything goes as it should. Please bring them rum or beer if they look too stressed.', biography='The team you won\'t notice if everything goes as it should. Please bring them rum or beer if they look too stressed.',
slug='bornhack-network-team', slug='bornhack-network-team',
camp=camp1 camp=camp
) )
sp12.events.add(ev17) sp12.events.add(ev17)
sp13 = Speaker.objects.create( sp13 = Speaker.objects.create(
@ -459,261 +455,243 @@ Valley. Juha is also a noted lecturer and public speaker. Juha's work on
Ahmia has been in part sponsored by the Google Summer of Code. Ahmia has been in part sponsored by the Google Summer of Code.
''', ''',
slug='juha-nurmi', slug='juha-nurmi',
camp=camp1 camp=camp
) )
sp13.events.add(ev18) sp13.events.add(ev18)
self.output("creating eventinstances...") self.output("creating eventinstances for {}...".format(year))
ei1 = EventInstance.objects.create( EventInstance.objects.create(
event=ev3, event=ev3,
when=( when=(
timezone.datetime(2016, 8, 27, 12, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 27, 12, 0, tzinfo=timezone.utc),
timezone.datetime(2016, 8, 27, 13, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 27, 13, 0, tzinfo=timezone.utc),
) )
) )
ei2 = EventInstance.objects.create( EventInstance.objects.create(
event=ev1, event=ev1,
when=( when=(
timezone.datetime(2016, 8, 28, 12, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 28, 12, 0, tzinfo=timezone.utc),
timezone.datetime(2016, 8, 28, 13, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 28, 13, 0, tzinfo=timezone.utc),
) )
) )
ei3 = EventInstance.objects.create( EventInstance.objects.create(
event=ev2, event=ev2,
when=( when=(
timezone.datetime(2016, 8, 29, 12, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 29, 12, 0, tzinfo=timezone.utc),
timezone.datetime(2016, 8, 29, 13, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 29, 13, 0, tzinfo=timezone.utc),
) )
) )
ei4 = EventInstance.objects.create( EventInstance.objects.create(
event=ev4, event=ev4,
when=( when=(
timezone.datetime(2016, 8, 27, 12, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 27, 12, 0, tzinfo=timezone.utc),
timezone.datetime(2016, 8, 28, 5, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 28, 5, 0, tzinfo=timezone.utc),
) )
) )
ei5 = EventInstance.objects.create( EventInstance.objects.create(
event=ev4, event=ev4,
when=( when=(
timezone.datetime(2016, 8, 28, 12, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 28, 12, 0, tzinfo=timezone.utc),
timezone.datetime(2016, 8, 29, 5, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 29, 5, 0, tzinfo=timezone.utc),
) )
) )
ei6 = EventInstance.objects.create( EventInstance.objects.create(
event=ev4, event=ev4,
when=( when=(
timezone.datetime(2016, 8, 29, 12, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 29, 12, 0, tzinfo=timezone.utc),
timezone.datetime(2016, 8, 30, 5, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 30, 5, 0, tzinfo=timezone.utc),
) )
) )
ei7 = EventInstance.objects.create( EventInstance.objects.create(
event=ev4, event=ev4,
when=( when=(
timezone.datetime(2016, 8, 30, 12, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 30, 12, 0, tzinfo=timezone.utc),
timezone.datetime(2016, 8, 31, 5, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 31, 5, 0, tzinfo=timezone.utc),
) )
) )
ei8 = EventInstance.objects.create( EventInstance.objects.create(
event=ev7,
when=(
timezone.datetime(2016, 8, 27, 12, 0, tzinfo=timezone.utc),
timezone.datetime(2016, 8, 27, 13, 0, tzinfo=timezone.utc),
)
)
ei9 = EventInstance.objects.create(
event=ev5, event=ev5,
when=( when=(
timezone.datetime(2016, 8, 28, 12, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 28, 12, 0, tzinfo=timezone.utc),
timezone.datetime(2016, 8, 28, 13, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 28, 13, 0, tzinfo=timezone.utc),
) )
) )
ei10 = EventInstance.objects.create( EventInstance.objects.create(
event=ev6, event=ev6,
when=( when=(
timezone.datetime(2016, 8, 29, 12, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 29, 12, 0, tzinfo=timezone.utc),
timezone.datetime(2016, 8, 29, 13, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 29, 13, 0, tzinfo=timezone.utc),
) )
) )
ei11 = EventInstance.objects.create( EventInstance.objects.create(
event=ev8, event=ev8,
when=( when=(
timezone.datetime(2016, 8, 27, 12, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 27, 12, 0, tzinfo=timezone.utc),
timezone.datetime(2016, 8, 28, 5, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 28, 5, 0, tzinfo=timezone.utc),
) )
) )
ei12 = EventInstance.objects.create( EventInstance.objects.create(
event=ev8, event=ev8,
when=( when=(
timezone.datetime(2016, 8, 28, 12, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 28, 12, 0, tzinfo=timezone.utc),
timezone.datetime(2016, 8, 29, 5, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 29, 5, 0, tzinfo=timezone.utc),
) )
) )
ei13 = EventInstance.objects.create( EventInstance.objects.create(
event=ev8, event=ev8,
when=( when=(
timezone.datetime(2016, 8, 29, 12, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 29, 12, 0, tzinfo=timezone.utc),
timezone.datetime(2016, 8, 30, 5, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 30, 5, 0, tzinfo=timezone.utc),
) )
) )
ei14 = EventInstance.objects.create( EventInstance.objects.create(
event=ev8, event=ev8,
when=( when=(
timezone.datetime(2016, 8, 30, 12, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 30, 12, 0, tzinfo=timezone.utc),
timezone.datetime(2016, 8, 31, 5, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 31, 5, 0, tzinfo=timezone.utc),
) )
) )
ei15 = EventInstance.objects.create( EventInstance.objects.create(
event=ev9, event=ev9,
when=( when=(
timezone.datetime(2016, 8, 30, 11, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 30, 11, 0, tzinfo=timezone.utc),
timezone.datetime(2016, 8, 30, 11, 30, tzinfo=timezone.utc), timezone.datetime(year, 8, 30, 11, 30, tzinfo=timezone.utc),
) )
) )
ei16 = EventInstance.objects.create( EventInstance.objects.create(
event=ev10, event=ev10,
when=( when=(
timezone.datetime(2016, 8, 30, 12, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 30, 12, 0, tzinfo=timezone.utc),
timezone.datetime(2016, 8, 30, 13, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 30, 13, 0, tzinfo=timezone.utc),
) )
) )
ei17 = EventInstance.objects.create( EventInstance.objects.create(
event=ev12, event=ev12,
when=( when=(
timezone.datetime(2016, 8, 30, 9, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 30, 9, 0, tzinfo=timezone.utc),
timezone.datetime(2016, 8, 30, 11, 30, tzinfo=timezone.utc), timezone.datetime(year, 8, 30, 11, 30, tzinfo=timezone.utc),
) )
) )
ei18 = EventInstance.objects.create( EventInstance.objects.create(
event=ev11, event=ev11,
when=( when=(
timezone.datetime(2016, 8, 31, 14, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 31, 14, 0, tzinfo=timezone.utc),
timezone.datetime(2016, 8, 31, 16, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 31, 16, 0, tzinfo=timezone.utc),
) )
) )
ei19 = EventInstance.objects.create( EventInstance.objects.create(
event=ev18, event=ev18,
when=( when=(
timezone.datetime(2016, 9, 2, 14, 0, tzinfo=timezone.utc), timezone.datetime(year, 9, 2, 14, 0, tzinfo=timezone.utc),
timezone.datetime(2016, 9, 2, 15, 0, tzinfo=timezone.utc), timezone.datetime(year, 9, 2, 15, 0, tzinfo=timezone.utc),
) )
) )
ei20 = EventInstance.objects.create( EventInstance.objects.create(
event=ev17, event=ev17,
when=( when=(
timezone.datetime(2016, 9, 2, 16, 0, tzinfo=timezone.utc), timezone.datetime(year, 9, 2, 16, 0, tzinfo=timezone.utc),
timezone.datetime(2016, 9, 2, 17, 0, tzinfo=timezone.utc), timezone.datetime(year, 9, 2, 17, 0, tzinfo=timezone.utc),
) )
) )
ei21 = EventInstance.objects.create( EventInstance.objects.create(
event=ev15, event=ev15,
when=( when=(
timezone.datetime(2016, 9, 1, 15, 0, tzinfo=timezone.utc), timezone.datetime(year, 9, 1, 15, 0, tzinfo=timezone.utc),
timezone.datetime(2016, 9, 1, 16, 0, tzinfo=timezone.utc), timezone.datetime(year, 9, 1, 16, 0, tzinfo=timezone.utc),
) )
) )
ei22 = EventInstance.objects.create( EventInstance.objects.create(
event=ev14, event=ev14,
when=( when=(
timezone.datetime(2016, 8, 31, 21, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 31, 21, 0, tzinfo=timezone.utc),
timezone.datetime(2016, 8, 31, 22, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 31, 22, 0, tzinfo=timezone.utc),
) )
) )
ei23 = EventInstance.objects.create( EventInstance.objects.create(
event=ev16, event=ev16,
when=( when=(
timezone.datetime(2016, 9, 1, 14, 0, tzinfo=timezone.utc), timezone.datetime(year, 9, 1, 14, 0, tzinfo=timezone.utc),
timezone.datetime(2016, 9, 1, 15, 0, tzinfo=timezone.utc), timezone.datetime(year, 9, 1, 15, 0, tzinfo=timezone.utc),
) )
) )
ei24 = EventInstance.objects.create( EventInstance.objects.create(
event=ev13, event=ev13,
when=( when=(
timezone.datetime(2016, 8, 31, 17, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 31, 17, 0, tzinfo=timezone.utc),
timezone.datetime(2016, 8, 31, 18, 0, tzinfo=timezone.utc), timezone.datetime(year, 8, 31, 18, 0, tzinfo=timezone.utc),
) )
) )
self.output("creating productcategories") self.output("creating products for {}...".format(year))
transportation = ProductCategory.objects.create( Product.objects.create(
name='Transportation',
slug='transportation'
)
merchendise = ProductCategory.objects.create(
name='Merchandise',
slug='merchandise'
)
self.output("creating products")
prod1 = Product.objects.create(
category=transportation, category=transportation,
name='PROSA bus transport (open for everyone)', name='PROSA bus transport (open for everyone)',
slug='prosa-bus', slug='prosa-bus',
price=125, price=125,
description='PROSA is sponsoring a bustrip from Copenhagen to the venue and back.', description='PROSA is sponsoring a bustrip from Copenhagen to the venue and back.',
available_in=( available_in=(
timezone.datetime(2016, 4, 30, 11, 0, tzinfo=timezone.utc), timezone.datetime(year, 4, 30, 11, 0, tzinfo=timezone.utc),
timezone.datetime(2016, 10, 30, 11, 30, tzinfo=timezone.utc), timezone.datetime(year, 10, 30, 11, 30, tzinfo=timezone.utc),
) )
) )
prod2 = Product.objects.create( Product.objects.create(
category=transportation, category=transportation,
name='PROSA bus transport (open for everyone)', name='PROSA bus transport (open for everyone)',
slug='prosa-bus', slug='prosa-bus',
price=125, price=125,
description='PROSA is sponsoring a bustrip from Copenhagen to the venue and back.', description='PROSA is sponsoring a bustrip from Copenhagen to the venue and back.',
available_in=( available_in=(
timezone.datetime(2016, 4, 30, 11, 0, tzinfo=timezone.utc), timezone.datetime(year, 4, 30, 11, 0, tzinfo=timezone.utc),
timezone.datetime(2016, 10, 30, 11, 30, tzinfo=timezone.utc), timezone.datetime(year, 10, 30, 11, 30, tzinfo=timezone.utc),
) )
) )
prod3 = Product.objects.create( Product.objects.create(
category=merchendise, category=merchendise,
name='T-shirt (large)', name='T-shirt (large)',
slug='t-shirt-large', slug='t-shirt-large',
price=160, price=160,
description='Get a nice t-shirt', description='Get a nice t-shirt',
available_in=( available_in=(
timezone.datetime(2016, 4, 30, 11, 0, tzinfo=timezone.utc), timezone.datetime(year, 4, 30, 11, 0, tzinfo=timezone.utc),
timezone.datetime(2016, 10, 30, 11, 30, tzinfo=timezone.utc), timezone.datetime(year, 10, 30, 11, 30, tzinfo=timezone.utc),
) )
) )
self.output("creating infocategories") self.output("creating infocategories for {}...".format(year))
info_cat1 = InfoCategory.objects.create( info_cat1 = InfoCategory.objects.create(
camp=camp1, camp=camp,
headline='When is BornHack happening?', headline='When is BornHack happening?',
anchor='when' anchor='when'
) )
info_cat2 = InfoCategory.objects.create( info_cat2 = InfoCategory.objects.create(
camp=camp1, camp=camp,
headline='Travel Information', headline='Travel Information',
anchor='travel' anchor='travel'
) )
info_cat3 = InfoCategory.objects.create( info_cat3 = InfoCategory.objects.create(
camp=camp1, camp=camp,
headline='Where do I sleep?', headline='Where do I sleep?',
anchor='sleep' anchor='sleep'
) )
self.output("creating infoitems") self.output("creating infoitems for {}...".format(year))
info_item1 = InfoItem.objects.create( InfoItem.objects.create(
category=info_cat1, category=info_cat1,
headline='Opening', headline='Opening',
anchor='opening', anchor='opening',
body='BornHack 2016 starts saturday, august 27th, at noon (12:00). It will be possible to access the venue before noon if for example you arrive early in the morning with the ferry. But please dont expect everything to be ready before noon :)' body='BornHack 2016 starts saturday, august 27th, at noon (12:00). It will be possible to access the venue before noon if for example you arrive early in the morning with the ferry. But please dont expect everything to be ready before noon :)'
) )
info_item2 = InfoItem.objects.create( InfoItem.objects.create(
category=info_cat1, category=info_cat1,
headline='Closing', headline='Closing',
anchor='closing', anchor='closing',
body='BornHack 2016 ends saturday, september 3rd, at noon (12:00). Rented village tents must be empty and cleaned at this time, ready to take down. Participants must leave the site no later than 17:00 on the closing day (or stay and help us clean up).' body='BornHack 2016 ends saturday, september 3rd, at noon (12:00). Rented village tents must be empty and cleaned at this time, ready to take down. Participants must leave the site no later than 17:00 on the closing day (or stay and help us clean up).'
) )
info_item3 = InfoItem.objects.create( InfoItem.objects.create(
category=info_cat2, category=info_cat2,
headline='Public Transportation', headline='Public Transportation',
anchor='public-transportation', anchor='public-transportation',
body=''' body='''
From/Via Copenhagen From/Via Copenhagen
There are several ways to get to Bornholm from Copenhagen. A domestic plane departs from Copenhagen Airport, and you can get from Copenhagen Central station by either bus or train via Ystad or the Køge-Rønne ferry connection. There are several ways to get to Bornholm from Copenhagen. A domestic plane departs from Copenhagen Airport, and you can get from Copenhagen Central station by either bus or train via Ystad or the Køge-Rønne ferry connection.
@ -752,14 +730,14 @@ Getting from Rønne to the Venue
The venue is 24km from Rønne. We will have a shuttle bus that will pick people up and take them to the venue. It is also possible to take a public bus to near the venue. Local taxis can also get you here. The company operating on Bornholm is called Dantaxi and the local phonenumber is +4556952301. The venue is 24km from Rønne. We will have a shuttle bus that will pick people up and take them to the venue. It is also possible to take a public bus to near the venue. Local taxis can also get you here. The company operating on Bornholm is called Dantaxi and the local phonenumber is +4556952301.
''' '''
) )
info_item4 = InfoItem.objects.create( InfoItem.objects.create(
category=info_cat1, category=info_cat1,
headline='Bus to and from BornHack', headline='Bus to and from BornHack',
anchor='bus-to-and-from-bornhack', anchor='bus-to-and-from-bornhack',
body='PROSA, the union of IT-professionals in Denmark, has set up a great deal for BornHack attendees travelling from Copenhagen to BornHack. For only 125kr, about 17 euros, you can be transported to the camp on opening day, and back to Copenhagen at the end of the camp!' body='PROSA, the union of IT-professionals in Denmark, has set up a great deal for BornHack attendees travelling from Copenhagen to BornHack. For only 125kr, about 17 euros, you can be transported to the camp on opening day, and back to Copenhagen at the end of the camp!'
) )
info_item5 = InfoItem.objects.create( InfoItem.objects.create(
category=info_cat1, category=info_cat1,
headline='Driving and Parking', headline='Driving and Parking',
anchor='driving-and-parking', anchor='driving-and-parking',
@ -769,37 +747,37 @@ A car is very convenient when bringing lots of equipment, and we know that hacke
Please note that sleeping in the parking lot is not permitted. If you want to sleep in your car/RV/autocamper/caravan please contact us, and we will work something out. Please note that sleeping in the parking lot is not permitted. If you want to sleep in your car/RV/autocamper/caravan please contact us, and we will work something out.
''' '''
) )
info_item5 = InfoItem.objects.create( InfoItem.objects.create(
category=info_cat3, category=info_cat3,
headline='Camping', headline='Camping',
anchor='camping', anchor='camping',
body='BornHack is first and foremost a tent camp. You need to bring a tent to sleep in. Most people go with some friends and make a camp somewhere at the venue. See also the section on Villages - you might be able to find some likeminded people to camp with.' body='BornHack is first and foremost a tent camp. You need to bring a tent to sleep in. Most people go with some friends and make a camp somewhere at the venue. See also the section on Villages - you might be able to find some likeminded people to camp with.'
) )
info_item6 = InfoItem.objects.create( InfoItem.objects.create(
category=info_cat3, category=info_cat3,
headline='Cabins', headline='Cabins',
anchor='cabins', anchor='cabins',
body='We rent out a few cabins at the venue with 8 beds each for people who don\'t want to sleep in tents for some reason. A tent is the cheapest sleeping option (you just need a ticket), but the cabins are there if you want them.' body='We rent out a few cabins at the venue with 8 beds each for people who don\'t want to sleep in tents for some reason. A tent is the cheapest sleeping option (you just need a ticket), but the cabins are there if you want them.'
) )
self.output("creating villages") self.output("creating villages for {}...".format(year))
vil1 = Village.objects.create( Village.objects.create(
contact=user1, contact=user1,
camp=camp1, camp=camp,
name='Baconsvin', name='Baconsvin',
slug='baconsvin', slug='baconsvin',
description='The camp with the doorbell-pig! Baconsvin is a group of happy people from Denmark doing a lot of open source, and are always happy to talk about infosec, hacking, BSD, and much more. A lot of the organizers of BornHack live in Baconsvin village. Come by and squeeze the pig and sign our guestbook!' description='The camp with the doorbell-pig! Baconsvin is a group of happy people from Denmark doing a lot of open source, and are always happy to talk about infosec, hacking, BSD, and much more. A lot of the organizers of BornHack live in Baconsvin village. Come by and squeeze the pig and sign our guestbook!'
) )
vil2 = Village.objects.create( Village.objects.create(
contact=user2, contact=user2,
camp=camp1, camp=camp,
name='NetworkWarriors', name='NetworkWarriors',
slug='networkwarriors', slug='networkwarriors',
description='We will have a tent which house the NOC people, various lab equipment people can play with, and have fun. If you want to talk about networking, come by, and if you have trouble with the Bornhack network contact us.' description='We will have a tent which house the NOC people, various lab equipment people can play with, and have fun. If you want to talk about networking, come by, and if you have trouble with the Bornhack network contact us.'
) )
vil3 = Village.objects.create( Village.objects.create(
contact=user3, contact=user3,
camp=camp1, camp=camp,
name='TheCamp.dk', name='TheCamp.dk',
slug='the-camp', slug='the-camp',
description='This village is representing TheCamp.dk, an annual danish tech camp held in July. The official subjects for this event is open source software, network and security. In reality we are interested in anything from computers to illumination soap bubbles and irish coffee' description='This village is representing TheCamp.dk, an annual danish tech camp held in July. The official subjects for this event is open source software, network and security. In reality we are interested in anything from computers to illumination soap bubbles and irish coffee'