Closed vmariano closed 2 years ago
✅ lo pude agregar como calendario. ✅ pude crear un evento. ❌ el evento solo es visible con mi cuenta. Parece que para que sea publico los demas tienen que poder ver el calendario.
Hay un make it public que me dio miedito darle.
Ahi lo puse "make available to public" fijate si va.
El jue, 5 may 2022 a las 0:06, Mariano Vicente @.***>) escribió:
✅ lo pude agregar como calendario. ✅ pude crear un evento. ❌ el evento solo es visible con mi cuenta. Parece que para que sea publico los demas tienen que poder ver el calendario.
[image: Screen Shot 2022-05-05 at 00 05 53] https://user-images.githubusercontent.com/796960/166858155-16d2f55d-8fee-4dec-8006-57925cf65e36.png
Hay un make it public que me dio miedito darle.
— Reply to this email directly, view it on GitHub https://github.com/sysarmy/disneyland/issues/120#issuecomment-1118121019, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAGRIY72RCK2JZWMQOF4ZDDVIM3L5ANCNFSM5T42QM5A . You are receiving this because you were assigned.Message ID: @.***>
Perfectisimo!
estaba pensando como gestionar esto, tiene sentido pensar una integracion github - google calendar? tener un file en disneyland con el listado de eventos con un formato tipo markdown y que un github action actualize el calendar cuando alguien agrega via pull request el evento?
El lun, 9 may 2022 a las 9:47, Mariano Vicente @.***>) escribió:
Perfectisimo!
[image: Screen Shot 2022-05-09 at 09 46 59] https://user-images.githubusercontent.com/796960/167412795-a2c4b82c-57e3-44bc-84b0-546e80e6aaad.png
— Reply to this email directly, view it on GitHub https://github.com/sysarmy/disneyland/issues/120#issuecomment-1121055145, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAGRIY7UYAOEBEIBFR74BCDVJECOBANCNFSM5T42QM5A . You are receiving this because you were assigned.Message ID: @.***>
🤔 Se me ocurre alguna automation tipo iftt o zapier. Pero debe haber algo, al menos en gh actions
Buenas, overengineering 101, pero se me ocurre que se puede armar un action que on commit corra un script que screapee un listado/yaml/json y use la API de Calendar para crear/updatear eventos. El único impedimento puede ser permisos porque el calendar está creado con la account de @vmariano, pero se puede ir viendo. Si les copa la idea cuando tenga un rato puedo armar un PoC a ver si camina.
Hay un user admina adicionalmente al mio, estimo que se puede con alguna cuenta / user de gmail.
Si les copa la idea cuando tenga un rato puedo armar un PoC a ver si camina.
Dale nomas!
Buenas, mini update, probé la API con una service account y parece andar 10 points. Es un PoC medio cabeza igual, pero con muy poquito código se puede pegarle fácil al Calendar, después armo alguna logica para crear/updatear events sin duplicar leyendo desde un YAML de eventos que creo que sería un buen middle ground entre legible y parseable...
Ejemplo:
adminbirras_event = {
"summary": "#AdminBirras",
"location": "https://g.page/darsenabar?share",
"description": "Creado desde Adminbirrator :) \n Mas detalles en https://www.meetup.com/sysarmy/events/285768129/",
"start": {
"dateTime": "2022-05-12T19:00:00",
"timeZone": "America/Argentina/Buenos_Aires"
},
"end": {
"dateTime": "2022-05-12T23:00:00",
"timeZone": "America/Argentina/Buenos_Aires"
}
}
from googleapiclient.discovery import build
from google.oauth2 import service_account
def get_calendar_service():
creds = service_account.Credentials.from_service_account_file(
'credentials.json', # <- de la service account, se lo pasaríamos como secrets al Actions
scopes=['https://www.googleapis.com/auth/calendar'])
return build("calendar", "v3", credentials=creds)
def create_event(event):
try:
service = get_calendar_service()
response = service.events().insert(
calendarId="hrvaq70ep407avdc000hptkh40@group.calendar.google.com", # <- Acá iría el ID del calendario
body=event).execute()
return response
except Exception as e:
return e
create_event(adminbirras_event)
*drum roll*
El nombre está abierto a sugerencias :P
Buenas,
Bueno, la censista tardó mucho en pasar el miércoles así que me cebé un poco y Adminbirrator se convirtió en una fully-fledged automatic tool/ugly monster para gestionar los eventos con python y actions xD
Está codeada siguiendo estrictos estándares de la escuela latinoamericana así que seguramente tenga bugs por todos lados, pero bueno, es una primera versión que crea/updatea eventos... Está en la PR #123 si lo quieren revisar.
Como pendientes para que funcione, antes de aprobar la PR, serían:
Vamos hablando n.n
Buenas, ahi esta andando! agregue un evento de pruebas de la adminfest, mirenlo a ver si lo ven todo ok. Genial trabajo!!!
El lun, 23 may 2022 a las 18:41, Emilio @.***>) escribió:
Buenas,
Bueno, la censista tardó mucho en pasar el miércoles así que me cebé un poco y Adminbirrator se convirtió en una fully-fledged automatic tool/ugly monster para gestionar los eventos con python y actions xD
Está codeada siguiendo estrictos estándares de la escuela latinoamericana así que seguramente tenga bugs por todos lados, pero bueno, es una primera versión que crea/updatea eventos... Está en la PR #123 https://github.com/sysarmy/disneyland/pull/123 si lo quieren revisar.
Como pendientes para que funcione, antes de aprobar la PR, serían:
- Darle sudo a la service account ( @.***) al Calendar público (no sé al final quién tiene ownership).
- Agregar 2 secrets ($ADMINBIRRATOR_CREDENTIALS y $ADMINBIRRATOR_CALENDAR_ID) en las configs del repo, @edux https://github.com/edux help here?
Vamos hablando n.n
— Reply to this email directly, view it on GitHub https://github.com/sysarmy/disneyland/issues/120#issuecomment-1135162975, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAGRIYZALUW6SBF6UK7RQI3VLP3PJANCNFSM5T42QM5A . You are receiving this because you were mentioned.Message ID: @.***>
Muy bueno @Nachichuri ! laburazo!.
Visto y considerando que ahora se puede reemplazar por scripts , creo que no necesito mas permisos @edux
Hice un PoC que se puede agregar a google calendar a partir de esto necesitaria que alguien de sysarmy cree el calendar para que sea owner, y de permisos de escritura para ir cargando los eventos.