{"id":16653637,"url":"https://github.com/norm/eurodrink","last_synced_at":"2026-04-25T13:35:55.993Z","repository":{"id":32142291,"uuid":"35715095","full_name":"norm/eurodrink","owner":"norm","description":"The site and control panel used to run @eurovisiondrink","archived":false,"fork":false,"pushed_at":"2021-09-22T17:36:52.000Z","size":2437,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-19T10:32:49.292Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://eurovisiondrinking.com","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/norm.png","metadata":{"files":{"readme":"README.markdown","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-05-16T07:58:41.000Z","updated_at":"2022-05-14T22:02:13.000Z","dependencies_parsed_at":"2022-09-11T02:21:13.865Z","dependency_job_id":null,"html_url":"https://github.com/norm/eurodrink","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/norm%2Feurodrink","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/norm%2Feurodrink/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/norm%2Feurodrink/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/norm%2Feurodrink/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/norm","download_url":"https://codeload.github.com/norm/eurodrink/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243266770,"owners_count":20263797,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-12T09:46:09.502Z","updated_at":"2025-12-27T17:12:38.628Z","avatar_url":"https://github.com/norm.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"eurodrink\n=========\n\n[@eurovisiondrink](https://twitter.com/eurovisiondrink) is a semi-automated\ntwitter account for those of us who enjoy drinking during the Eurovision Song\nContest. When certain incidents happen during the broadcast, a tweet is sent\nexplaining what has just happened and how much you should drink.\n\nTo speed up this tweeting, most of it happens from a control panel, so I can\nget back to enjoying Eurovision as quickly as possible.\n\nThis repo is that control panel, and the source for the website\n[http://eurovisiondrinking.com](http://eurovisiondrinking.com).\n\n(There was an earlier version published, but this is a complete rewrite.\nThe original still exists at [v1](https://github.com/norm/eurodrink/tree/v1).)\n\n## Setting up\n\nThe control panel is normally used via a virtual environment.\n\n    pip install virtualenvwrapper\n    mkvirtualenv eurodrink\n    pip install -r requirements.txt\n\n\n## Twitter credentials\n\nIn order to tweet, we first need twitter credentials for the app and the user\nto tweet as. Add the consumer key and secret obtained from\n[Twitter](https://developer.twitter.com/en/apps) to the `.env` file:\n\n    PYTHONUNBUFFERED=True\n    CALLBACK_URL=http://localhost:5000/done\n    CONSUMER_KEY=XXX\n    CONSUMER_SECRET=XXX\n\nRun the auth app, then visit [http://localhost:5000/](http://localhost:5000/):\n\n    honcho start auth\n\nSign in with the Twitter account you want to use and authorize the app.\nAdd the two lines provided to the end of your `.env` file:\n\n    ACCESS_TOKEN=XXX\n    ACCESS_TOKEN_SECRET=XXX\n\nYou can now stop the auth app running.\n\n\n## Refreshing the data\n\nThe database is not to be treated as the canonical source of data, it is just\nused for the ease of using django to build pages and to work with twitter\nduring the contest itself.\n\n    sh update.sh\n\n\n## Using the admin interface\n\n    honcho start web\n\nTo log into the admin interface, visit http://localhost:3876/ with the\nusername `norm` and password `norm`.\n\nThe admin navigation contains a link to the control panel that is used\nto tweet the drinking game during the grand final.\n\n## Website publication\n\n    # preview on http://localhost:37465/\n    honcho start static\n    make static\n\n    # copy when satisifed\n    make static\n    aws s3 sync site/. s3://eurovisiondrinking.com/.\n\n\n## Running the drinking game\n\nFirst, ensure this year's data is in `eurovision_data/`, even in draft. The\nperformances should have their data entered fully (artists, singers,\nlanguages), and double-checked they are in the correct running order,\nas this is relied upon for ease of navigating acts in the control panel.\n\n    sh update.sh\n    sh production.sh\n\nThe panel will present the first performance and all the possible incidents.\nWhen the performance is over, click \"Finished\", that performance is marked\nas having occurred, and the next will be presented.\n\nOnce all performances have finished, the panel will switch to the scoring\nround incidents. A list of all participants is presented. As each score is\nreported, click the country in question and the possible incidents will be\npresented. Once that participant's scores have been announced, click\n\"Finished\" and that participant is marked as having scored.\n\nOnce all participants have announced their scores, the panel will announce\nthat you are done.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnorm%2Feurodrink","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnorm%2Feurodrink","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnorm%2Feurodrink/lists"}