Package: grip-attendance
grip-attendance.py=========================Introduction / Description----------------------Grip QA's grip-attendance.py tool allows you to easily track and report onthe attendance at your event.The program matches individuals from the actual attendee report to theindividuals who registered for your event. It generates a new list, based onthe registration list, that shows which registrants attended the event,which ones did not attend and which attendees did not register (assumingthat you allow un-registered individuals to participate in your events.We've generally used this tool for tracking the engagement with ourwebcasts, but it should be applicable to any event that provides you with aregistration list and an attendee list, both in CSV format.Command Line Usage----------------------USAGE:  grip-attendance.py reg_list.csv attend_list.csv [config_file.cfg]or:  grip-attendance.py -[Hh][elp]or:  grip-attendance.py -[Gg][en] new_config_file.cfgHelp Text----------------------For normal operation, you must provide the relative pathnames for, atleast the two input data files (.csv):<reg_list.csv> - CSV file with registration data.<attend_list.csv> - CSV file containing actual attendee data.Optionally, you can also provide the path for a configuration file(.cfg). If you choose not to explicitly specify a config file, theprogram will look for the fixed default config file: "attendance.cfg",in the current working directory. If no default config file isavailable, the program uses pre-defined default values.The attendance file generated will have the same base name as the theregistration list file, with "_attendance" appended to the basename (ifthe registration file name is "reg_list.csv", the attendance report willbe named "reg_list_attendance.csv")- -[Hh][elp] - "-H" (in either case), optionally followed by "elp" (-help)will result in this message being displayed.- -[Gg][en] - "-G" (in either case), optionally followed by "en"accompanied by a mandatory pathname (-gen config-path.cfg) will causethe program to generate a template config file that you can customizefor your registration and attendee list formats.The configuration file provides a way to customize the execution of theprogram. The current version focuses on providing a way to identify thefield names in your data to the program.Configuration File----------------------We've made an attempt to provide reasonable defaults, but we recognizethat these will not apply to all situations, if the defaults don't workfor you, the configuration file will be your friendIn addition to the built-in defaults, there are two methods for you tospecify configuration information. You can create a file calledattendance.cfg and place it in the directory that you'll be working in.This is probably a good mechanism if you're generally working in asingle directory and if your input data files have stable columnheadings. You can also specify a configuration file pathname on thecommand line.There are two user "Sections" in the configuration file that you shouldbe aware of: [REGISTRANTS] and [ATTENDEES], the former specifies fieldnames for the registration data file, while the latter gives field namesfor the actual attendee data file (there's actually a third [DEFAULT]section, but you should really understand how configuration files areinterpreted before you mess with it.The most straight forward way to get a new configuration file is to runthis script as:grip-attendance.py -Gen new_config_file.cfgwhere "new_config_file.cfg" is the pathname for the generated configurationfile. This will create a new configuration file with all of the default valuesfilled in for each section. Customization is then a simple matter ofchanging the values on the right hand side of the = sign.Some things to note about configuration file values - these are alldriven by the environment's configuration processing capabilities:- Upper/Lower case is important- Changes made to a section will only apply to processing of thatsection's corresponding data file- Don't use quotes unless absolutely necessary to support trailingblanks in field names (I don't know why some systems generate fieldnames with trailing blanks, but they do). Spaces between words are fine,so values with intra-word blank spaces do not require quotes. If you usequotes, the quotes get included in the value string.If you absolutelyhave to use quotes, for the trailing blanks, make use of the followingdirectives in the config file (if you're using single quotes'). These allowthe program to trim the quotes, while maintaining the trailing blanks:TRIM_QUOTES = yesQUOTE_CHAR = 'Installation----------------------Grip Attendance currently supports [Python 3.x](https://www.python.org/downloads/).We recommend installing with pip, which should be bundled with Python3.However, if it's missing, pip can be installed from[pip](https://pip.pypa.io/en/latest/).The most straightforward install, if Python3 is your default environment is:pip install grip-attendanceIf you have multiple versions of Python on your machine, the above will useyour default Python version. If your default is not set to Python3, you mightwant to try:pip3 install grip-attendanceAnother alternative is to try:python3 -m pip install grip-attendanceIf you're upgrading:python3 -m pip install --upgrade grip-attendanceThis will install the `grip-attendance` executable on your search path,except for some MS-Windows installations.For MS-Windows, I had to manually add:;C:\Python34;C:\Python34\Scripts;to the PATH environment variable (before the corresponding entries forPython27) to get pip to work correctly.If you don't have pip, you can install the program  manually by cloningthe code and running the install script:git clone git@github.com:GripQA/grip-attendance.gitcd grip-attendancepython setup.py installOf course, you can always simply grab the 'grip-attendance.py' file (seebelow for a discussion of downloading single files from GitHub) andplace it in a directory that's on your search path.Important Files----------------------Many of the files in the repo are related to infrastructure and supportingthe pip distribution. The important files are:- grip-attendance.py - the program file- grip_registration.csv - sample event registration list- grip_attendees.csv - sample event attendee list- grip_sample.cfg - sample configuration file to support the above lists- README.md & README.txt - two versions of the README, one for GitHub and onefor easier reading in a local repo.- LICENSE - text of the Apache License used for this projectIf you're downloading the program with pip, the repo URL is:https://github.com/GripQA/grip-attendanceThe above mentioned files can be downloaded as part of a clone, or individualfiles can be downloaded by following the instructions at:http://stackoverflow.com/a/13593430/3363628  Note that different browsers andoperating systems may have different methods for downloading single files.Support----------------------If you have any questions, problems, or suggestions, please submit an issue athttps://github.com/GripQA/grip-attendance/issues or contact us at support@grip.qa.License & Copyright----------------------Copyright 2015 Grip QALicensed under the Apache License, Version 2.0 (the "License");you may not use this file except in compliance with the License.You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License.