# Example Configuration for Meetup2xibo # Example keys and secrets are ficticious, but similar to real data. ##################################################### # Meetup API ##################################################### # URL name for Meetup group export MEETUP_GROUP_URL_NAME="NOVA-Makers" # Number of events to request from Meetup export MEETUP_EVENTS_WANTED=200 ##################################################### # Xibo API ##################################################### # XIBO host name and port export XIBO_HOST="xibo.nova-labs.org" export XIBO_PORT=443 # XIBO clent ID export XIBO_CLIENT_ID='4c13f92f59d7e41462f576bfd3036b' # XIBO client secret export XIBO_CLIENT_SECRET='324221d117874c96e76c446d6c9b9274561efa855ad892848159ab63afdc18a9bfbd3d08b025d05df19e936f10d2110a15bebf0cde563889cca28e782e179a00' ##################################################### # Xibo Event Dataset ##################################################### # Code name assigned to the event schedule dataset in Xibo export EVENT_DATASET_CODE=novalabsschedule # Event column names defined via the Xibo web interface export MEETUP_ID_COLUMN_NAME="Meetup ID" export NAME_COLUMN_NAME="Name" export LOCATION_COLUMN_NAME="Location" export START_TIME_COLUMN_NAME="ISO Start Time" export END_TIME_COLUMN_NAME="ISO End Time" # Column name for the internal ID number used by Xibo export XIBO_ID_COLUMN_NAME="id" ##################################################### # Xibo Site Certificate ##################################################### # Location of self-signed certificate, if needed #export SITE_CA_PATH=/etc/ssl/certs/apache-selfsigned.crt ##################################################### # Location Conversion ##################################################### # Default event location and corresponding places export DEFAULT_LOCATION="Nova Labs" export DEFAULT_PLACES='[]' # Phrases and corresponding places (rooms, studios, fields, etc.). # Matching will ignore exact spacing and letter case. export PLACE_PHRASES='[ {"phrase": "Blacksmithing", "place": "Blacksmithing Alley outside behind Nova Labs"}, {"phrase": "CAD Lab", "place": "CAD Lab"}, {"phrase": "Classroom A and B", "place": "Classroom A/B"}, {"phrase": "Classroom A", "place": "Classroom A"}, {"phrase": "Classroom A/B", "place": "Classroom A/B"}, {"phrase": "Classroom A, B", "place": "Classroom A/B"}, {"phrase": "Classroom B", "place": "Classroom B"}, {"phrase": "Classrooms A and B", "place": "Classroom A/B"}, {"phrase": "Computer Lab", "place": "Computer Lab"}, {"phrase": "Conf Rm 1", "place": "Conference Room 1"}, {"phrase": "Conf Rm 2", "place": "Conference Room 2"}, {"phrase": "Ccnf rm 2", "place": "Conference Room 2"}, {"phrase": "Conf Rm 3", "place": "Conference Room 3"}, {"phrase": "Conference rm 1", "place": "Conference Room 1"}, {"phrase": "Conference rm 2", "place": "Conference Room 2"}, {"phrase": "Conference rm 3", "place": "Conference Room 3"}, {"phrase": "Conference room 1", "place": "Conference Room 1"}, {"phrase": "Conference room 2", "place": "Conference Room 2"}, {"phrase": "Conference room 3", "place": "Conference Room 3"}, {"phrase": "Green Way", "place": "Green Way"}, {"phrase": "Greenway", "place": "Green Way"}, {"phrase": "Metal shop", "place": "Metal Shop"}, {"phrase": "Metalshop", "place": "Metal Shop"}, {"phrase": "Orange Bay", "place": "Orange Bay"}, {"phrase": "Orange room", "place": "Orange Bay"}, {"phrase": "out back", "place": "Blacksmithing Alley outside behind Nova Labs"}, {"phrase": "outback", "place": "Blacksmithing Alley outside behind Nova Labs"}, {"phrase": "Wood shop", "place": "Woodshop"}, {"phrase": "Woodshop", "place": "Woodshop"} ]' # More place phrases, used only when the first list fails export MORE_PLACE_PHRASES='[ {"phrase": "Nova Labs", "place": "Nova Labs"}, {"phrase": "TBD", "place": "TBD"} ]' # Special Locations # Some Meetup events have missing, intractable, or incorrect locations. List # the Meetup ID to suppress warnings about missing locations. A non-blank # location replaces the default location and can replace the computed location. # Any comment helps document this file. When true, the override flag forces a # non-blank location to replace the computed location. Provide a list of places # associated with the location for conflict resolution. # Template: # {"meetup_id": "", "location": "", "comment": "", "override": false, "places": []}, export SPECIAL_LOCATIONS='[ {"meetup_id": "259565142", "location": "Orange Bay", "comment": "Empower2Make", "override": false, "places": ["Orange Bay"]}, {"meetup_id": "lrzgqpyzfbhb", "location": "Private", "comment": "Private meeting", "override": true, "places": []}, {"meetup_id": "259083135", "location": "Conference Room 3", "comment": "Location in event name", "override": false, "places": ["Conference Room 3"]} ]' ##################################################### # Scheduling Conflicts ##################################################### # Check for scheduling conflicts at these places. export CONFLICT_PLACES='[ "Blacksmithing Alley outside behind Nova Labs", "CAD Lab", "Classroom A", "Classroom A/B", "Classroom B", "Computer Lab", "Conference Room 1", "Conference Room 2", "Conference Room 3", "Green Way", "Metal Shop", "Orange Bay", "Woodshop" ]' # These places contain other places when checking for scheduling conflicts. export CONTAINING_PLACES='[ {"place": "Classroom A/B", "contains": ["Classroom A", "Classroom B"]}, {"place": "Woodshop", "contains": ["Green Way"]} ]' ##################################################### # Suppressed events ##################################################### # Xibo will not display events with these Metup IDs. export SUPPRESS_MEETUP_IDS='[ "266192589", "tdwljryzqbjb" ]' ##################################################### # Timezone ##################################################### # Timezone for events in Xibo export TIMEZONE="America/New_York" ##################################################### # Date/Time Thresholds ##################################################### # Meetup sometimes fails to report current and very recent events while Xibo # still should display them. Do not delete Xibo events scheduled within this # window before and after the current time. # Do not delete an event unless it starts this number of hours in the future export DELETE_BEFORE_START_HOURS=2 # Do not delete an event until this number of hours after it ends export DELETE_AFTER_END_HOURS=192 # Meetup reports some fixed number (hundreds) of future events. As new near-term events are added to the calendar, # some previously reported far future events are bumped from the report. To avoid flapping, do not delete them. # Do not delete events that end more than this number of days in the future. export DELETE_UNTIL_FUTURE_DAYS=50 # Ignore cancelled events after this number of days, treating them as deleted. export IGNORE_CANCELLED_AFTER_DAYS=7