GSoC 2018: Week 4
It's been 26 days since Coding Period of Google Summer of Code 2018 started and 7 days since my last blog. Debian's GSoC admin have decided to ask for a weekly log from students working with Debian (every Friday). So here is what I did from 2nd June to 8th June.
This week, I worked on factur-x library and I can say it was the most exhilarating week to date since the commencement of coding period. I faced a few difficulties, discovered new facts and learned many things. I made three Pull Requests in week 3, but improved them this week and brought them to a level where they can be used. Manuel (my mentor), helped me with the designs of PRs and was very motivating. This is what I practically did this week:
|Issues I worked on in Factur-x|
- I worked on my three PRs from last week: Implementing JSON export, Adding preliminary Tests and Cleaning XML template files. We were finally able to merge all three PR. My initial JSON PR had about 130 lines of code but we reduced it to 19!
- I then implemented validation in form of is_valid() function. It validates against XSD and then checks the XML for required fields and values. PR-30
- We also had a discussion to solve an issue in invoice2data based on extracting payment mode form invoice. While having a discussing this issue, we realised that list needs to handled properly in invoice_template(). Hence, I fixed it with PR-142 and tested it against a sample invoice. I need to work on tesseract module to capture invoice from images like one provided in issue-141.
- Furthermore, I am currently researching on how to implement nested attributes for FacturX class (issue-7) and adding tests for JSON export.
|PRs merged this week to factur-x|
|Issue and PR respectively, invoice2data|
Here is what I intend to do in Week 5:
- Implement nested attributes for FacturX class and add tests to factur-x library like to check JSON export and any other feature I implement.
- Add command line option for factur-x
- And any other issue that comes up in invoice2data or factur-x
Some important links: