Posts

Showing posts from June, 2018

GSoC 2018: Week 6

Image
It's been 40 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 16th June to 22ndJune.



This week, I was working on Graphical User Interface (GUI) for Factur-X. The work is done in invoicex-gui repository under invoice-x organisation. 

Earlier I had planned using Kivy as UI framework. But I dropped that idea because of Kivy's bug with default Debian 9 (Stretch) touchpad driver. So, now I am using PyQt5 as UI framework for this project. I spent a few days reading and using PyQt5. I have to admit the learning curve is very steep, due to unavailability of proper documentation. For most part I had to rely on Qt5's documentation in C++ and other sources such as StackOverflow and some personal blogs.

I have done the following things for GUI:

 Added basic layout for GUI, including Menubar, Toolbar, Right Si…

GSoC 2018: Week 5

Image
It's been 33 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 9th June to 15th June.




This week was more about planning GUI and I tried to add a few features to factur-x library. Here is what I did: I worked on the script for nested attributes (issue-7). I made a Pull Request for the same (PR-31). I guess, it will be reviewed soon.I read about argparse and obtparse in detail to implement command line options for factur-x library and chose argparse for this. We have planned to implement them as sub commands (issue-3). Then, I implemented command line options. The work is done in branch issue/3.I have been playing with tesseract module and tried tesseract 4.0 (alpha). It shows promising results.Apart from all this, we planned the work for GUI, including mock-ups, packaging, adding new features and choosing…

GSoC 2018: Week 4

Image
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:
 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 o…

GSoC 2018: Week 3

Image
It's been 19 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 26th May to 1st June.


This week, I worked on factur-x library, adding more features and resolving existing bugs/issues. I haven't mentioned how we keep track of our work. My mentor Manuel, created issues in factur-x repository with description to let me know what features should be added and the enhancements to be made.

Here is what I did this week:
I have cleaned XML templates to remove dummy data and replace them with empty tags. Issue:22We (Manuel and I), converted all markdown documents to reStructuredText format. This involved changing three to four files in invoice2data library and a README file in factur-x library. PR:25Enhancement: I added more tests to the tests added last week. For this I learned about lxml library, how to navig…