empobla / classRecorder

An OSX & Windows console-line application that allows users to automatically record their input Zoom classes.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Contributors Issues MIT License LinkedIn


classRecorder

An OSX & Windows console-line application that allows users to automatically record their input Zoom classes.
Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Abilities Mastered
  3. Dependency List
  4. Getting Started
  5. Making Changes to the Class Recorder Driver File
  6. Contributing
  7. License
  8. Contact
  9. Acknowledgments

About The Project

A cross-platform (OSX & Windows) console-line application that performs user open class, start record, stop record, and close class functions automatically and records input Zoom classes automatically.

(back to top)

Built With

Python

(back to top)

Abilities Mastered

  • Use of Python to read and write to and from an excel file
  • Usage of Python to run automated tasks with pyautogui
  • Usage of Python to log mouse coordinates with pynput
  • Manual implementation of mergesort algorithm
    • Object sorting with mergesort algorithm
  • Usage of os listdir and path functions to list files within a relative directory
  • Windows Python code bundling to an executable file with pyinstaller
  • OSX Python code bundling to an executable file with pyinstaller
  • Usage of .gitattributes file

(back to top)

Dependency List

  • Python v3.8.1
  • pynput v1.6.8
  • pyautogui
  • xlsxwriter
  • xlrd
  • pyinstaller

The recommended screen recording software for using with this project is screenrec.

(back to top)

Getting Started

To get a local copy up and running follow these simple example steps.

Prerequisites

In order to run this project, all the dependencies must be installed properly beforehand. Installing Python with pyenv for usage with pyinstaller requires the following command in the installation:

env PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install 3.8.1

And then installing dependencies with pip.

Installation

Guide for installation.

MacOS

  1. Clone the repository
    git clone https://github.com/empobla/classRecorder.git
  2. Run the classrecorder-mac file under ./dist directory

If classrecorder-mac does not run because of a dependency issue or a version issue, the dependencies can be manually installed through pip, and then bundled and compiled with pyinstaller with the following command:

pyinstaller -F --name classrecorder-mac index.py

Alternatively, the program can be run through terminal with the usage of the following command (after installing the dependencies):

python index.py

(back to top)

Windows

  1. Clone the repository
    git clone https://github.com/empobla/classRecorder.git
  2. Run the classrecorder-windows.exe file under ./dist directory

If classrecorder-windows.exe does not run because of a dependency issue or a version issue, the dependencies can manually be installed through pip, and then bundled and compiled with pyinstaller with the following command:

pyinstaller -F --name classrecorder-windows index.py

Alternatively, the program can be run through terminal with the usage of the following command (after installing the dependencies):

python index.py

Windows Automation Through Task Scheduler

To set up Windows Automation through Task Scheduler, edit the runscript.bat file under the ./winautomation directory and add a path to both the .exe file within the ./dist directory and index.py. After this, open Windows Task Scheduler, create a new task, schedule it to run whenever you need it to run, and target the ./winautomation/runscript.bat file and run the task in the project's directory.

Additionally, you can schedule another task to run the ./winautomation/sleep.bat file to sleep your computer after automation has ended.

(back to top)

Making Changes to the Class Recorder Driver File

If you want to make changes to the class recorder driver file, you can simply follow one of these options:

Option A

Delete or move the .xlsx file in the ./classrec directory, and re-run the program to create a new class recorder driver.

Option B

Edit the .xlsx file in the ./classrec directory following the same format as the header-row specifies in each of the excel sheets within the .xlsx file.

Note: This program will only read 1 .xlsx file within the ./classrec directory. If more than one file exists within that directory, it will pick one and run it. Make sure to only have 0 or 1 .xlsx file within the ./classrec directory at a time to ensure the program works the way you would expect it to work.

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Emilio Popovits Blake - Contact

Project Link: https://github.com/empobla/classRecorder

(back to top)

Acknowledgments

(back to top)

About

An OSX & Windows console-line application that allows users to automatically record their input Zoom classes.

License:MIT License


Languages

Language:HTML 59.3%Language:TeX 39.8%Language:Python 1.0%Language:Batchfile 0.0%