Git Product home page Git Product logo

send_event_invites's Introduction

Send Event Invites

A CLI tool for sending event invitations to a large number of attendees.

The tool has been made in such a manner that it is very easy to add new calendar APIs and use them.

API support

Currently the client supports only Google Calendar.

Get CSV file from Google Group

To export your Groups list into a .csv file:

  • Sign-in to Google Groups
  • Click My Groups > check the name of the group
  • In the upper right corner, click Manage
  • Near the top right corner of the page, click Export Members

Using the client

  • To use the client, clone the repository.
    git clone https://github.com/thealphadollar/send_event_invites
  • cd send_event_invites
  • pip install pipenv && pipenv install
  • python3 -m src if "attendees.csv" in src directory
    python3 -m src -p=[path_to_csv_file] otherwise

Accepted arguments

Usage: main.py [OPTIONS]

  MEET MORE, LEARN MORE

  A CLI tool which sends email invites using the implemented API (currently
  GCalendar) to the address stored in attendees.csv or as path provided by
  --path param.

Options:
  --version                  Show the version and exit.
  --api [google]             API to use with the tool,
                             default is "google"
  -p, --path PATH            path to the csv file containing
                             email address of attendees, default is
                             "attendees.csv" in src directory
  -sd, --start-date TEXT     start date of the event, eg 2017-02-28 for
                             28 february 2017
  -st, --start-time TEXT     start time of the event. eg. 17:00
  -l, --location TEXT        location of the event
  -sum, --summary TEXT       summary of the event
  -ed, --end-date TEXT       end date of the event (same as start date, if not
                             provided), eg 2017-02-28 for 28 february 2017
  -et, --end-time TEXT       end time of the event. eg. 17:00
  -desc, --description TEXT  long description describing the event [optional]
  --help                     Show this message and exit.

Contributing

Contributions to the project are welcome; a couple of very easy issues are present in the issue tab.

Meet More, Learn More

send_event_invites's People

Contributors

thealphadollar avatar themousepotato avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

themousepotato

send_event_invites's Issues

Travis CI file

Create a .travis.yml file to implement Travis CI on the repository.

Write tests

Tests are required to be written using unittests and mock, both of which are inbuilt.

AutoDetect TimeZone

Currently, the timezone is fixed to Asia/Kolkata

Python offers to get system timezone in short form such as IST.
We can create a database linking timezones to their standard forms and then implement the features.

We can use pytz, and link all timezone function to list all timezones in long.

Notifications not being sent

Due to some bug with google calendar API, the notifications are not being sent.

The sendNotifications parameter has been included in both, body of request and calendar event to make sure it is not an issue on our side.

"sendNotifications": True

created_event = self.service.events().insert(sendNotifications=True, calendarId='primary',

An issue is to created in the Google API repository.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.