Tomador de ramos UC automatico para Windows, Linux y macOS

Overview

auto-ramos v2.0

Tomador de ramos UC automatico para Windows, Linux y macOS

Funcion

Este script de Python tiene como principal objetivo hacer que la toma de ramos sea rapida y segura, donde el usuario solo debe ingresar sus credenciales UC y los NRC que quiere tomar, automaticamente se logeara y se tomaran los NRC a la hora que el usuario fije.

IMPORTANTE

  • Intentar no usar el computador a la hora de tomar ramos
  • Este programa toma solo el primer plan de estudios de la persona, osea, no utilizar si tienes más de un plan de estudios

Librerias/Paquetes/Programas requeridos

  • Python 3.8
  • twill
  • schedule

¿Como instalar?

  1. Instalar twill: pip install twill
  2. Instalar schedule: pip install schedule
  3. Clonar la libreria github clone https://github.com/open-source-uc/auto-ramos.git

¿Como ejecutar?

  1. Simplemente ejecutar con python twillmain.py
Comments
  • Login

    Login

    Este PR se enfoca en diferentes aspectos relacionados al inicio de sesión del usuario en banner. En particular, se soluciona el problema expuesto en la issue #12.

    Aportes principales:

    • Por seguridad, cuando el usuario ingresa su contraseña esta ya no se muestra en pantalla.
    • Se asegura de que, al momento de tomar ramos, haya ocurrido un inicio de sesión a lo más hace 10 minutos.

    Aportes secundarios:

    • Se adjunta un archivo requirements.txt para instalar todas las librerías necesarias con un solo comando.
    • Se ignoran algunos archivos comunes de macOS.

    Explicación solución a issue #12

    El problema ocurría porque el programa solo iniciaba sesión previo a reservar la hora de toma de ramos. Sin embargo las sesiones de Banner solo son válidas por 15 minutos, por lo que si se realizada una reserva con más de 15 minutos de anticipación, al intentar tomar ramos saltaba un error porque la sesión ya no era válida.

    Una posible solución habría sido iniciar sesión siempre al inicio de tomar_ramos, pero tenía 2 inconvenientes:

    1. Retrasaría un poco el acto mismo de tomar ramos, lo cual puede ser crucial para algunes usuaries.
    2. Cuando se intentaba iniciar sesión con una sesión ya activa, el HTML no era exáctamente igual, por lo que saltaba un error.

    Para solucionar el primer inconveniente establecí un segundo schedule que se ejecuta 5 minutos previo al original y se encarga de realizar un inicio de sesión. Esto solo ocurre en los casos en que la reserva se realiza con más de 10 minutos de anticipación¹. El código más importante relacionado con esta solución puede encontrarse al inicio de la función reservar.

    Para solucionar el segundo inconveniente, fue necesario notar que el único cambio en el HTML cuando la sesión ya estaba iniciada era que se agregaba un formulario adicional antes del formulario de inicio de sesión. Como la función verificar_sesion siempre intentaba rellenar los campos del primer formulario disponible, se producía un error al apuntar al formulario equivocado. Por lo tanto, solo fue necesario que la función verificar_sesion revise siempre el último formulario de la lista en showforms(), el cual en todos los casos es el formulario correcto.

    TL;DR: Con todo esto resuelto, esta PR permite repetir el inicio de sesión 5 minutos antes de la toma de ramos (en los casos donde sea necesario). Así, la toma de ramos sigue siendo instantánea y siempre redirigirá al menu de banner con la sesión ya iniciada.

    ¹ Las sesiones de banner duran 15 minutos, pero se prefirió renovar la sesión a los 10 minutos para dejar un margen de error ante posibles cambios.

    opened by fguinez 4
  • New functions

    New functions

    • Its has a new versions of getting errors
    • You can try it by running python functions.py and the idea its that it is call after the line save_html('pruebadetoma.html') in twillmain.py.
    opened by Baelfire18 3
  • Actualización Scraping

    Actualización Scraping

    Estuve intentando utilizadar esta herramienta para la primera fecha de toma de ramos, pero me topé con que banner había cambiado algunos nombres de elementos HTML. Esta PR actualiza el código según la versión actual de banner.

    Ya lo probé en mi segunda fecha de toma de ramos y funcionó correctamente.

    PD: No sé cual es su gitflow, así que de momento apunté el merge directo a main.

    opened by fguinez 1
  • Cambios en la Ventana Principal

    Cambios en la Ventana Principal

    Cambios en el aspecto de la ventana principal, principalmente cambio en el color de los botones, cambios en la posición de diversos elementos y cambio completo de la progress bar.

    opened by Maxi1805 1
  • [invalid] Selecciona el primer plan de estudios

    [invalid] Selecciona el primer plan de estudios

    Selecciona el primer plan de estudios

    Etiquetas sugeridas

    label: invalid, label: bug

    Sugerencia

    Podría pedir al usuario indicar el plan de estudios deseado si tiene más un plan de estudios.

    opened by eanorambuena 1
  • Reserva con más de 15 minutos de anticipación

    Reserva con más de 15 minutos de anticipación

    Intenté usar auto-ramos reservando con más de 15 minutos de anticipación y al cumplirse la hora indicada el programa se detuvo sin tomar ramos.

    Sospecho que puede ser por el periodo de inactividad de banner, luego del cual se pide iniciar sesión nuevamente. Según entiendo del código, solo se realiza un inicio de sesión al inicio, no en la ejecución de tomar_ramos.

    Tengo una posible solución implementada que quiero probar en la próxima toma de ramos, pero antes de enviar un PR me gustaría saber si alguien más tiene este problema. ¿Han probado utilizar la herramienta agendando la toma con harta anticipación? ¿o solo unos minutos antes?

    opened by fguinez 1
Owner
Open Source eUC
Community of students, alumni and professors from the Catholic University of Chile working together to create and maintain awesome open-source projects.
Open Source eUC
Runs macOS on linux with qemu.

mac-on-linux-with-qemu Runs macOS on linux with qemu. Pre-requisites qemu-system-x86_64 dmg2img pulseaudio python[click] Usage After cloning the repos

Arindam Das 177 Dec 26, 2022
Mangá downloader (para leitura offline) voltado para sites e scans brasileiros.

yonde! yonde! (読んで!) é um mangá downloader (para leitura offline) voltado para sites e scans brasileiros. Também permite que você converta os capítulo

Yonde 8 Nov 28, 2021
Spyware baseado em Python para Windows que registra como atividades da janela em primeiro plano, entradas do teclado.

Spyware baseado em Python para Windows que registra como atividades da janela em primeiro plano, entradas do teclado. Além disso, é capaz de fazer capturas de tela e executar comandos do shell em segundo plano.

Tavares 1 Oct 29, 2021
Um Script De Mensagem anonimas Para linux e Termux Feito em python

Um Script De Mensagem anonimas Para linux e Termux Feito em python feito em um celular

null 6 Sep 9, 2021
Hook and simulate global keyboard events on Windows and Linux.

keyboard Take full control of your keyboard with this small Python library. Hook global events, register hotkeys, simulate key presses and much more.

BoppreH 3.2k Jan 1, 2023
A browser login credentials thief for windows and Linux

Thief ???? A browser login credentials thief for windows and Linux Python script to decrypt login credentials from browsers in windows or linux Decryp

Ash 1 Dec 13, 2021
Hashcrack - A non-object oriented open source, Software for Windows/Linux made in Python 3

Multi Force This project is a non-object oriented open source, Software for Wind

Radiationbolt 3 Jan 2, 2023
An unofficial opensource Pokemon cursor theme for Windows and Linux.

pokemon-cursor An unofficial opensource Pokemon cursor theme for Windows and Linux. Cursor Sizes 22 24 28 32 40 48 56 64 72 80 88 96 Colors Quick inst

Kaiz Khatri 72 Dec 26, 2022
LSO, also known as Linux Swap Operator, is a software with both GUI and terminal versions that you can manage the Swap area for Linux operating systems.

LSO - Linux Swap Operator Türkçe - LSO Nedir? LSO, diğer adıyla Linux Swap Operator Linux işletim sistemleri için Swap alanını yönetebileceğiniz hem G

Eren İnce 4 Feb 9, 2022
List of Linux Tools I put on almost every linux / Debian host

Linux-Tools List of Linux Tools I put on almost every Linux / Debian host Installed: geany --> GUI editor/ notepad++ like chkservice --> TUI Linux ser

Stew Alexander 20 Jan 2, 2023
Organize seu linux - organize your linux

OrganizeLinux Organize seu linux - organize your linux Organize seu linux Uma forma rápida de separar arquivos dispersos em pastas. formatos a serem c

Marcus Vinícius Ribeiro Andrade 1 Nov 30, 2021
Repo Home WPDrawBot - (Repo, Home, WP) A powerful programmatic 2D drawing application for MacOS X which generates graphics from Python scripts. (graphics, dev, mac)

DrawBot DrawBot is a powerful, free application for macOS that invites you to write Python scripts to generate two-dimensional graphics. The built-in

Frederik Berlaen 342 Dec 27, 2022
ColabFold / AlphaFold2_advanced on your local PC (or macOS)

LocalColabFold ColabFold / AlphaFold2_advanced on your local PC (or macOS) Installation For Linux Make sure curl and wget commands are already install

Yoshitaka Moriwaki 207 Dec 22, 2022
String Spy is a project aimed at improving MacOS defenses.

String Spy is a project aimed at improving MacOS defenses. It allows users to constantly monitor all running processes for user-defined strings, and if it detects a process with such a string it will log the PID, process path, and user running the process. It will also (optionally) kill the process. For certain default C2s and other malicious software, this tool can quickly log and stop malicious behavior that normal AV does not recognize, and allows for customization.

null 10 Dec 13, 2022
🍏 Make Thinc faster on macOS by calling into Apple's native Accelerate library

?? Make Thinc faster on macOS by calling into Apple's native Accelerate library

Explosion 81 Nov 26, 2022
Dump Data from FTDI Serial Port to Binary File on MacOS

Dump Data from FTDI Serial Port to Binary File on MacOS

pandy song 1 Nov 24, 2021
Simple macOS StatusBar app to remind you to unplug your laptop when sufficiently charged

ChargeMon Simple macOS StatusBar app to monitor battery charge status and remind you to unplug your Mac when the battery is sufficiently charged Overv

Rhet Turnbull 5 Jan 25, 2022
TinyBar - Tiny MacOS menu bar utility to track price dynamics for assets on TinyMan.org

?? About A simple MacOS menu bar app to display current coins from most popular Liquidity Pools on TinyMan.org

Al 8 Dec 23, 2022
Herramienta para pentesting web.

iTell ?? ¡Tool con herramientas para pentesting web! Metodos ❣ DDoS Attacks Recon Active Recon (Vulns) Extras (Bypass CF, FTP && SSH Bruter) Respons

null 1 Jul 28, 2022