Browse Source

Add base.json as example base data

PTGbot needs to be bootstrapped using base data, but it was unclear
what that base data should contain. Rather than just providing a
pastebin link, add an example base data file.

Change-Id: I675717fee4f5c1eb48dc94aeb26d63a85c004fb1
Thierry Carrez 10 months ago
2 changed files with 650 additions and 2 deletions
  1. +7
  2. +643

+ 7
- 2
README.rst View File

@ -240,9 +240,14 @@ In one terminal, run the bot::
tox -evenv -- ptgbot -d config.json
Join that channel and give commands to the bot::
Join that channel and load base JSON data from a public URL (see base.json
for an example). You can use the pastebin service as a quick way to publish
that data::
Then you can give other commands to the bot, like::
#swift now discussing ring placement
(note, the bot currently only takes commands from Freenode identified users)

+ 643
- 0
base.json View File

@ -0,0 +1,643 @@
"eventid": "DEN-ptg",
"voice": 0,
"links": {
"venue map": "",
"complete index of team etherpads": "",
"local guide to sights, food and booze to consult and add to": ""
"slots": {
"Monday": [
"desc": "09:00-10:45",
"name": "MonA1"
"desc": "10:45-12:30",
"name": "MonA2"
"desc": "13:30-15:15",
"name": "MonP1"
"desc": "15:15-17:00",
"name": "MonP2"
"Tuesday": [
"desc": "09:00-10:45",
"name": "TueA1"
"desc": "10:45-12:30",
"name": "TueA2"
"desc": "13:30-15:15",
"name": "TueP1"
"desc": "15:15-17:00",
"name": "TueP2"
"Wednesday": [
"desc": "09:00-10:45",
"name": "WedA1"
"desc": "10:45-12:30",
"name": "WedA2"
"desc": "13:30-15:15",
"name": "WedP1"
"desc": "15:15-17:00",
"name": "WedP2"
"Thursday": [
"desc": "09:00-10:45",
"name": "ThuA1"
"desc": "10:45-12:30",
"name": "ThuA2"
"desc": "13:30-15:15",
"name": "ThuP1"
"desc": "15:15-17:00",
"name": "ThuP2"
"Friday": [
"desc": "09:00-10:45",
"name": "FriA1"
"desc": "10:45-12:30",
"name": "FriA2"
"desc": "13:30-15:15",
"name": "FriP1"
"desc": "15:15-17:00",
"name": "FriP2"
"tracks": [
"schedule": {
"Aspen": {
"cap_icon": "facetime-video",
"cap_desc": "Videoprojection available",
"FriA1": "",
"FriA2": "",
"FriP1": "",
"FriP2": "",
"MonA1": "ops-meetup",
"MonA2": "ops-meetup",
"MonP1": "ops-meetup",
"MonP2": "ops-meetup",
"ThuA1": "",
"ThuA2": "",
"ThuP1": "",
"ThuP2": "",
"TueA1": "ops-meetup",
"TueA2": "ops-meetup",
"TueP1": "ops-meetup",
"TueP2": "ops-meetup",
"WedA1": "",
"WedA2": "",
"WedP1": "",
"WedP2": ""
"Ballroom A": {
"FriA1": "nova",
"FriA2": "nova",
"FriP1": "nova",
"FriP2": "nova",
"MonA1": "k8s-sig",
"MonA2": "k8s-sig",
"MonP1": "k8s-sig",
"MonP2": "k8s-sig",
"ThuA1": "nova",
"ThuA2": "nova",
"ThuP1": "nova",
"ThuP2": "nova",
"TueA1": "edge",
"TueA2": "edge",
"TueP1": "edge",
"TueP2": "edge",
"WedA1": "nova",
"WedA2": "nova",
"WedP1": "nova",
"WedP2": "nova"
"Ballroom B": {
"FriA1": "tripleo",
"FriA2": "tripleo",
"FriP1": "tripleo",
"FriP2": "tripleo",
"MonA1": "helproom",
"MonA2": "helproom",
"MonP1": "helproom",
"MonP2": "helproom",
"ThuA1": "tripleo",
"ThuA2": "tripleo",
"ThuP1": "tripleo",
"ThuP2": "tripleo",
"TueA1": "helproom",
"TueA2": "helproom",
"TueP1": "helproom",
"TueP2": "helproom",
"WedA1": "tripleo",
"WedA2": "tripleo",
"WedP1": "tripleo",
"WedP2": "tripleo"
"Ballroom C": {
"FriA1": "",
"FriA2": "",
"FriP1": "",
"FriP2": "",
"MonA1": "swift",
"MonA2": "swift",
"MonP1": "upgrades",
"MonP2": "upgrades",
"ThuA1": "",
"ThuA2": "",
"ThuP1": "",
"ThuP2": "",
"TueA1": "swift",
"TueA2": "swift",
"TueP1": "",
"TueP2": "",
"WedA1": "",
"WedA2": "",
"WedP1": "",
"WedP2": ""
"Bennett Peak": {
"FriA1": "octavia",
"FriA2": "octavia",
"FriP1": "octavia",
"FriP2": "octavia",
"MonA1": "sahara",
"MonA2": "sahara",
"MonP1": "sahara",
"MonP2": "sahara",
"ThuA1": "octavia",
"ThuA2": "octavia",
"ThuP1": "octavia",
"ThuP2": "octavia",
"TueA1": "sahara",
"TueA2": "sahara",
"TueP1": "sahara",
"TueP2": "sahara",
"WedA1": "octavia",
"WedA2": "octavia",
"WedP1": "octavia",
"WedP2": "octavia"
"Big Thompson": {
"FriA1": "swift",
"FriA2": "swift",
"FriP1": "swift",
"FriP2": "swift",
"MonA1": "",
"MonA2": "",
"MonP1": "",
"MonP2": "",
"ThuA1": "swift",
"ThuA2": "swift",
"ThuP1": "swift",
"ThuP2": "swift",
"TueA1": "",
"TueA2": "",
"TueP1": "",
"TueP2": "",
"WedA1": "swift",
"WedA2": "swift",
"WedP1": "swift",
"WedP2": "swift"
"Blanca Peak": {
"MonA1": "",
"MonA2": "",
"MonP1": "",
"MonP2": "",
"ThuA1": "",
"ThuA2": "",
"ThuP1": "",
"ThuP2": "",
"TueA1": "first-contact",
"TueA2": "first-contact",
"TueP1": "first-contact",
"TueP2": "first-contact",
"WedA1": "uc",
"WedA2": "uc",
"WedP1": "uc",
"WedP2": "uc"
"Breckenridge": {
"FriA1": "",
"FriA2": "",
"FriP1": "",
"FriP2": "",
"MonA1": "keystone",
"MonA2": "keystone",
"MonP1": "keystone",
"MonP2": "keystone",
"ThuA1": "",
"ThuA2": "",
"ThuP1": "",
"ThuP2": "",
"TueA1": "oslo",
"TueA2": "oslo",
"TueP1": "oslo",
"TueP2": "oslo"
"Capital Peak": {
"FriA1": "heat",
"FriA2": "heat",
"FriP1": "heat",
"FriP2": "heat",
"MonA1": "blazar",
"MonA2": "blazar",
"MonP1": "blazar",
"MonP2": "blazar",
"ThuA1": "heat",
"ThuA2": "heat",
"ThuP1": "heat",
"ThuP2": "heat",
"TueA1": "blazar",
"TueA2": "blazar",
"TueP1": "blazar",
"TueP2": "blazar",
"WedA1": "heat",
"WedA2": "heat",
"WedP1": "heat",
"WedP2": "heat"
"Clear Creek": {
"FriA1": "tc",
"FriA2": "tc",
"FriP1": "tc",
"FriP2": "tc",
"MonA1": "airship",
"MonA2": "airship",
"MonP1": "airship",
"MonP2": "airship",
"ThuA1": "infra",
"ThuA2": "infra",
"ThuP1": "infra",
"ThuP2": "infra",
"TueA1": "airship",
"TueA2": "airship",
"TueP1": "airship",
"TueP2": "airship",
"WedA1": "infra",
"WedA2": "infra",
"WedP1": "infra",
"WedP2": "infra"
"Durango": {
"FriA1": "kolla",
"FriA2": "kolla",
"FriP1": "kolla",
"FriP2": "kolla",
"MonA1": "scientific-sig",
"MonA2": "scientific-sig",
"MonP1": "scientific-sig",
"MonP2": "scientific-sig",
"ThuA1": "kolla",
"ThuA2": "kolla",
"ThuP1": "kolla",
"ThuP2": "kolla",
"TueA1": "interop",
"TueA2": "interop",
"TueP1": "interop",
"TueP2": "interop",
"WedA1": "kolla",
"WedA2": "kolla",
"WedP1": "kolla",
"WedP2": "kolla"
"Grays Peak": {
"FriA1": "ansible",
"FriA2": "ansible",
"FriP1": "ansible",
"FriP2": "ansible",
"MonA1": "barbican",
"MonA2": "barbican",
"MonP1": "barbican",
"MonP2": "barbican",
"ThuA1": "ansible",
"ThuA2": "ansible",
"ThuP1": "ansible",
"ThuP2": "ansible",
"TueA1": "barbican",
"TueA2": "barbican",
"TueP1": "barbican",
"TueP2": "barbican",
"WedA1": "ansible",
"WedA2": "ansible",
"WedP1": "ansible",
"WedP2": "ansible"
"Kingston Peak": {
"FriA1": "glance",
"FriA2": "glance",
"FriP1": "glance",
"FriP2": "glance",
"MonA1": "monasca",
"MonA2": "monasca",
"MonP1": "monasca",
"MonP2": "monasca",
"ThuA1": "glance",
"ThuA2": "glance",
"ThuP1": "glance",
"ThuP2": "glance",
"TueA1": "monasca",
"TueA2": "monasca",
"TueP1": "monasca",
"TueP2": "monasca",
"WedA1": "glance",
"WedA2": "glance",
"WedP1": "glance",
"WedP2": "glance"
"Longs Peak": {
"FriA1": "",
"FriA2": "",
"MonA1": "",
"MonA2": "",
"MonP1": "",
"MonP2": "",
"ThuA1": "",
"ThuA2": "",
"ThuP1": "",
"ThuP2": "",
"TueA1": "kata-qemu",
"TueA2": "kata-qemu",
"TueP1": "kata-qemu",
"TueP2": "kata-qemu",
"WedA1": "",
"WedA2": "",
"WedP1": "",
"WedP2": ""
"Maroon Peak": {
"MonA1": "",
"MonA2": "",
"MonP1": "",
"MonP2": "",
"ThuA1": "qa",
"ThuA2": "qa",
"ThuP1": "qa",
"ThuP2": "qa",
"TueA1": "qa",
"TueA2": "qa",
"TueP1": "qa",
"TueP2": "qa",
"WedA1": "qa",
"WedA2": "qa",
"WedP1": "qa",
"WedP2": "qa"
"Pike's Peak": {
"FriA1": "charms",
"FriA2": "charms",
"FriP1": "charms",
"FriP2": "charms",
"MonA1": "",
"MonA2": "",
"MonP1": "",
"MonP2": "",
"ThuA1": "charms",
"ThuA2": "charms",
"ThuP1": "charms",
"ThuP2": "charms",
"TueA1": "publiccloud-wg",
"TueA2": "publiccloud-wg",
"TueP1": "publiccloud-wg",
"TueP2": "publiccloud-wg",
"WedA1": "publiccloud-wg",
"WedA2": "publiccloud-wg",
"WedP1": "publiccloud-wg",
"WedP2": "publiccloud-wg"
"Platte River": {
"FriA1": "",
"FriA2": "",
"FriP1": "",
"FriP2": "",
"MonA1": "cyborg",
"MonA2": "cyborg",
"MonP1": "cyborg",
"MonP2": "cyborg",
"ThuA1": "self-healing",
"ThuA2": "self-healing",
"ThuP1": "",
"ThuP2": "",
"TueA1": "cyborg",
"TueA2": "cyborg",
"TueP1": "cyborg",
"TueP2": "cyborg",
"WedA1": "",
"WedA2": "",
"WedP1": "",
"WedP2": ""
"Snowmass": {
"FriA1": "watcher",
"FriA2": "watcher",
"FriP1": "watcher",
"FriP2": "watcher",
"MonA1": "horizon",
"MonA2": "horizon",
"MonP1": "horizon",
"MonP2": "horizon",
"ThuA1": "watcher",
"ThuA2": "watcher",
"ThuP1": "watcher",
"ThuP2": "watcher",
"TueA1": "horizon",
"TueA2": "horizon",
"TueP1": "horizon",
"TueP2": "horizon",
"WedA1": "watcher",
"WedA2": "watcher",
"WedP1": "watcher",
"WedP2": "watcher"
"Steamboat": {
"FriA1": "ironic",
"FriA2": "ironic",
"FriP1": "ironic",
"FriP2": "",
"MonA1": "manila",
"MonA2": "manila",
"MonP1": "manila",
"MonP2": "manila",
"ThuA1": "ironic",
"ThuA2": "ironic",
"ThuP1": "ironic",
"ThuP2": "ironic",
"TueA1": "manila",
"TueA2": "manila",
"TueP1": "manila",
"TueP2": "manila",
"WedA1": "ironic",
"WedA2": "ironic",
"WedP1": "ironic",
"WedP2": "ironic"
"Telluride A": {
"FriA1": "cinder",
"FriA2": "cinder",
"FriP1": "cinder",
"FriP2": "cinder",
"MonA1": "api-sig",
"MonA2": "api-sig",
"MonP1": "api-sig",
"MonP2": "api-sig",
"ThuA1": "cinder",
"ThuA2": "cinder",
"ThuP1": "cinder",
"ThuP2": "cinder",
"TueA1": "masakari",
"TueA2": "masakari",
"TueP1": "masakari",
"TueP2": "masakari",
"WedA1": "cinder",
"WedA2": "cinder",
"WedP1": "cinder",
"WedP2": "cinder"
"Telluride B": {
"FriA1": "helm",
"FriA2": "helm",
"FriP1": "helm",
"FriP2": "helm",
"MonA1": "",
"MonA2": "",
"MonP1": "",
"MonP2": "",
"ThuA1": "helm",
"ThuA2": "helm",
"ThuP1": "helm",
"ThuP2": "helm",
"TueA1": "tungsten",
"TueA2": "tungsten",
"TueP1": "tungsten",
"TueP2": "tungsten",
"WedA1": "helm",
"WedA2": "helm",
"WedP1": "helm",
"WedP2": "helm"
"Vail": {
"FriA1": "neutron",
"FriA2": "neutron",
"FriP1": "neutron",
"FriP2": "neutron",
"MonA1": "",
"MonA2": "",
"MonP1": "",
"MonP2": "",
"ThuA1": "neutron",
"ThuA2": "neutron",
"ThuP1": "neutron",
"ThuP2": "neutron",
"TueA1": "",
"TueA2": "",
"TueP1": "",
"TueP2": "swift",
"WedA1": "neutron",
"WedA2": "neutron",
"WedP1": "neutron",
"WedP2": "neutron"
"Winter Park": {
"FriA1": "keystone",
"FriA2": "keystone",
"FriP1": "keystone",
"FriP2": "keystone",
"MonA1": "docs-i18n",
"MonA2": "docs-i18n",
"MonP1": "docs-i18n",
"MonP2": "docs-i18n",
"ThuA1": "keystone",
"ThuA2": "keystone",
"ThuP1": "keystone",
"ThuP2": "keystone",
"TueA1": "docs-i18n",
"TueA2": "docs-i18n",
"TueP1": "docs-i18n",
"TueP2": "docs-i18n",
"WedA1": "starlingx",
"WedA2": "starlingx",
"WedP1": "starlingx",
"WedP2": "starlingx"