https://github.com/coderefinery/indico-automation-cr
https://github.com/coderefinery/indico-automation-cr
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/coderefinery/indico-automation-cr
- Owner: coderefinery
- Created: 2022-02-21T14:56:35.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-02-21T15:11:40.000Z (over 4 years ago)
- Last Synced: 2025-09-10T04:47:03.691Z (9 months ago)
- Language: Python
- Size: 3.91 KB
- Stars: 0
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Automation for Indico
Indico doesn't have an API to update registrants to events, and when
you need to do mass updates this is annoying. This uses Selenium to
do these updates by scripting a web browser.
Currently little documentation, but the idea is:
- export participants to a spreadsheet
- update the spreadsheet, add a column for changes you want to make
- Open in IPython shell and copy-paste the relevant lines into it to
set up the environment. (`%load basic.py`)
- Load your modified spreadsheet in a pandas dataframe (variable name
`data` below)
- Run some of the lines you see below to update the registrations.
## Notes
```
%load basic.py
select_users(data[data.confirm=='y'].ID)
# Then you have to manually confirm yourself
# Set rooms
for idx, row in data[~data.new_room.isna()].iterrows():
print(row)
if update_person(row.ID, room=row.new_room) == 'break': break
for idx, row in data[~data.new_type.isna()].iterrows():
print(row)
if update_person(row.ID, type=row.new_type) == 'break': break
```