GSoC/2018/StatusReports/AndreyCygankov

From KDE Community Wiki
< GSoC‎ | 2018‎ | StatusReports

LabPlot: support for import data from web-service

Currently, LabPlot has support for data sources, such as files, SQL databases, serial ports, etc. This project aims to expand this list with the feature to use JSON documents and web-services as data sources.

Mentors: Alexander Semke

Project goals

  • Support of import JSON documents.
  • Support of using web-services as a data source.
  • Support of using web-services as a live data source.
  • Creating and using settings for specific web-services.

Work report

Community Bonding Period

During the period I analyzed the code of already designed features - AsciiFilter, BinaryFilter, LiveDataSource and etc.

Coding Period - May 14th to June 11th

During these weeks I've been working on one of the main feature - importing files in the JSON format. What was developed:

  • Initial JsonFilter code for importing JSON data into LabPlot spreadsheets.
  • Tests for this filter features.
  • GUI for working with this filter, which was added to the current file import dialog.

Coding Period - June 12th to July 13th

Over this time the import of JSON files has been significantly improved. Was implemented the feature to overview the structure of JSON file and pick data for import by selecting an item in the file structure. How it is implemented: a QTreeView has been added to the ImportFileWidget and to fill ithas been used QJsonModel. QJsonModel has several differences from the original: display of icons for objects, arrays, root element of the document and more.

Coding Period - July 14th to August 14th

During this period, the code was added for the initial implementation of the features:

  • JsonFilter live data support.
  • A new live data source: a WebService (GET request).

There were some issues to fix: the AsciiFilter incorrect work with WebService, POST and PUT request type in WebService source, bugs in JsonFilter with live data reading types, and some else.

Branch where I am working

Project branch

My commits on LabPlot's master branch

Important Links

Blog Posts

Google Summer of Code with KDE

Proposal Link

Project proposal

Contacts

E-mail: [email protected]

IRC: andreyc

Telegram: @acygankov

Github: acygankov