Please read this README carefully as it contains all the details you need to know.
To complete this test, you will need to write two python scripts, as detailed below.
This program imports the schedule of an event into a local SQLite database.
To complete this task, you will need to:
- Open an Agenda excel file
- Design a SQLite Database table schema allowing to store agenda information
- Parse the content of the excel file and store the content in the table you designed
We should be able to run your program as follow: $> ./import_agenda.py agenda.xls
Please note:
- The input file will always follow the same format as the one provided in this repository.
- We do not expect any specific output.
This program finds agenda sessions in the data you imported.
To complete this task, you will need to:
- Parse the command line arguments to retrieve the conditions that the sessions we are looking for must match.
- Lookup the data you imported for the matching records
- Print the result onto the screen
We should be able to run your program as follow: $> ./lookup_agenda.py column value
Where:
- column can be one of {date, time_start, time_end, title, location, description}
- value is the expected value for that field
Breakfast Lounge Fresh fruits and pastries Hangout Beach Have fun Lunch Price Center Junk food Dinner Mamma Linna's Italian handmade pasta Networking Lounge Let's meet
Then the expected behavior is as follow: $> ./lookup_agenda.py location lounge Breakfast Lounge Fresh fruits and pastries Networking Lounge Let's meet
Please note:
- We do not expect any specific output. We just want all the information about the right sessions.
- We are looking for an exact match
Along with this document, we do provide two important files:
- db_table.py
- agenda.xls
This file provides a basic wrapper around the SQLite3 database and provides features such as:
- create table
- select
- insert
- update
These operations should be enough for this assignment, but feel free to modify if you feel the need to.
This can be used as follow: from db_table import db_table users = db_table("users", { "id": "integer PRIMARY KEY", "name": "text", "email": "text NOT NULL UNIQUE" }) users.insert({"name": "Jean Dujardin", "email": "jean.dujardin@whova.com"}) users.insert({"name": "Rene Coti", "email": "rene.coti@whova.com"}) users.insert({"name": "Francis Lalane", "email": "francis.lalane@whova.com"}) users.select() users.update({'name': 'John'}, {'id':2}) users.select(['name', 'email'], {'id': 2}) users.close()
This file is very well documented, refer to it if you have any questions about how to use it.
This is the file you are supposed to import for the "Import Agenda" program. We will always use the same format as the one you can observe in this file. You may be interested to open this file and to read the instructions at the top of the excel sheet.
- Your code quality
- Your commits quality
- Your problem solving ability
- Your technical choices
- You can use libraries
- You can create as many database tables as you want
- You can modify the provided code
- You can do more than expected if you wish to
- You can create as many files, classes, functions, ... as you want
- ... You "can" does not mean you "must", nor does it mean we "expect". Do what you need to do to implement your solution as long as it is relevant. Use your own judgement.
- Commit locally
- Tar the code repository
- Send the tar as an email attachment to your contact at Whova