D19612: RFC port to bugzilla REST API

2019-06-20 Thread Aleix Pol Gonzalez
apol accepted this revision.
apol added a comment.
This revision is now accepted and ready to land.


  Looks good!

REPOSITORY
  R871 DrKonqi

BRANCH
  webservice

REVISION DETAIL
  https://phabricator.kde.org/D19612

To: sitter, apol
Cc: apol, plasma-devel, LeGast00n, jraleigh, fbampaloukas, GB_2, ragreen, 
Pitel, ZrenBot, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, 
sebas, mart


D19612: RFC port to bugzilla REST API

2019-06-19 Thread Harald Sitter
sitter updated this revision to Diff 60061.
sitter added a comment.


  cleanup try 3

REPOSITORY
  R871 DrKonqi

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D19612?vs=60060=60061

BRANCH
  webservice

REVISION DETAIL
  https://phabricator.kde.org/D19612

AFFECTED FILES
  CMakeLists.txt
  src/CMakeLists.txt
  src/bugzillaintegration/bugzillalib.cpp
  src/bugzillaintegration/bugzillalib.h
  src/bugzillaintegration/duplicatefinderjob.cpp
  src/bugzillaintegration/duplicatefinderjob.h
  src/bugzillaintegration/libbugzilla/CMakeLists.txt
  src/bugzillaintegration/libbugzilla/apijob.cpp
  src/bugzillaintegration/libbugzilla/apijob.h
  src/bugzillaintegration/libbugzilla/apireply.cpp
  src/bugzillaintegration/libbugzilla/apireply.h
  src/bugzillaintegration/libbugzilla/autotests/CMakeLists.txt
  src/bugzillaintegration/libbugzilla/autotests/attachmenttest.cpp
  src/bugzillaintegration/libbugzilla/autotests/bugtest.cpp
  src/bugzillaintegration/libbugzilla/autotests/bugzillatest.cpp
  src/bugzillaintegration/libbugzilla/autotests/commenttest.cpp
  src/bugzillaintegration/libbugzilla/autotests/connectiontest.cpp
  src/bugzillaintegration/libbugzilla/autotests/data/attachment.new.json
  src/bugzillaintegration/libbugzilla/autotests/data/bugs.dragonplayer.json
  src/bugzillaintegration/libbugzilla/autotests/data/bugs.new.json
  src/bugzillaintegration/libbugzilla/autotests/data/bugs.update.json
  src/bugzillaintegration/libbugzilla/autotests/data/bugzilla.login.json
  src/bugzillaintegration/libbugzilla/autotests/data/bugzilla.version.json
  src/bugzillaintegration/libbugzilla/autotests/data/comments.json
  src/bugzillaintegration/libbugzilla/autotests/data/error.http
  src/bugzillaintegration/libbugzilla/autotests/data/hi.http
  src/bugzillaintegration/libbugzilla/autotests/data/product.dragonplayer.json
  src/bugzillaintegration/libbugzilla/autotests/data/put.http
  src/bugzillaintegration/libbugzilla/autotests/producttest.cpp
  src/bugzillaintegration/libbugzilla/bugzilla.cpp
  src/bugzillaintegration/libbugzilla/bugzilla.h
  src/bugzillaintegration/libbugzilla/clients/attachmentclient.cpp
  src/bugzillaintegration/libbugzilla/clients/attachmentclient.h
  src/bugzillaintegration/libbugzilla/clients/bugclient.cpp
  src/bugzillaintegration/libbugzilla/clients/bugclient.h
  src/bugzillaintegration/libbugzilla/clients/clientbase.cpp
  src/bugzillaintegration/libbugzilla/clients/clientbase.h
  src/bugzillaintegration/libbugzilla/clients/commands/bugsearch.cpp
  src/bugzillaintegration/libbugzilla/clients/commands/bugsearch.h
  src/bugzillaintegration/libbugzilla/clients/commands/bugupdate.cpp
  src/bugzillaintegration/libbugzilla/clients/commands/bugupdate.h
  src/bugzillaintegration/libbugzilla/clients/commands/commandbase.h
  src/bugzillaintegration/libbugzilla/clients/commands/jsoncommand.cpp
  src/bugzillaintegration/libbugzilla/clients/commands/jsoncommand.h
  src/bugzillaintegration/libbugzilla/clients/commands/newattachment.cpp
  src/bugzillaintegration/libbugzilla/clients/commands/newattachment.h
  src/bugzillaintegration/libbugzilla/clients/commands/newbug.cpp
  src/bugzillaintegration/libbugzilla/clients/commands/newbug.h
  src/bugzillaintegration/libbugzilla/clients/commands/querycommand.cpp
  src/bugzillaintegration/libbugzilla/clients/commands/querycommand.h
  src/bugzillaintegration/libbugzilla/clients/commentclient.cpp
  src/bugzillaintegration/libbugzilla/clients/commentclient.h
  src/bugzillaintegration/libbugzilla/clients/productclient.cpp
  src/bugzillaintegration/libbugzilla/clients/productclient.h
  src/bugzillaintegration/libbugzilla/connection.cpp
  src/bugzillaintegration/libbugzilla/connection.h
  src/bugzillaintegration/libbugzilla/exceptions.cpp
  src/bugzillaintegration/libbugzilla/exceptions.h
  src/bugzillaintegration/libbugzilla/models/attachment.cpp
  src/bugzillaintegration/libbugzilla/models/attachment.h
  src/bugzillaintegration/libbugzilla/models/bug.cpp
  src/bugzillaintegration/libbugzilla/models/bug.h
  src/bugzillaintegration/libbugzilla/models/comment.cpp
  src/bugzillaintegration/libbugzilla/models/comment.h
  src/bugzillaintegration/libbugzilla/models/logindetails.cpp
  src/bugzillaintegration/libbugzilla/models/logindetails.h
  src/bugzillaintegration/libbugzilla/models/product.cpp
  src/bugzillaintegration/libbugzilla/models/product.h
  src/bugzillaintegration/parsebugbacktraces.cpp
  src/bugzillaintegration/parsebugbacktraces.h
  src/bugzillaintegration/productmapping.cpp
  src/bugzillaintegration/productmapping.h
  src/bugzillaintegration/reportassistantpages_base.cpp
  src/bugzillaintegration/reportassistantpages_bugzilla.cpp
  src/bugzillaintegration/reportassistantpages_bugzilla.h
  src/bugzillaintegration/reportassistantpages_bugzilla_duplicates.cpp
  src/bugzillaintegration/reportassistantpages_bugzilla_duplicates.h
  src/bugzillaintegration/reportinterface.cpp
  src/bugzillaintegration/reportinterface.h
  src/drkonqi.cpp

To: sitter
Cc: plasma-devel, 

D19612: RFC port to bugzilla REST API

2019-06-19 Thread Harald Sitter
sitter updated this revision to Diff 60060.
sitter added a comment.


  diff cleanup try 2

REPOSITORY
  R871 DrKonqi

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D19612?vs=60059=60060

BRANCH
  webservice

REVISION DETAIL
  https://phabricator.kde.org/D19612

AFFECTED FILES
  CMakeLists.txt
  src/CMakeLists.txt
  src/aboutbugreportingdialog.cpp
  src/backtracewidget.cpp
  src/backtracewidget.h
  src/bugzillaintegration/reportassistantpages_base.cpp
  src/bugzillaintegration/reportassistantpages_bugzilla_duplicates.cpp
  src/config-drkonqi.h.cmake
  src/data/debuggers/external.mac/lldbrc
  src/data/debuggers/external/cdbrc
  src/data/debuggers/external/lldbrc
  src/data/debuggers/internal/cdbrc
  src/data/debuggers/internal/lldbrc
  src/data/mappings
  src/debugger.cpp
  src/debuggerlaunchers.cpp
  src/debuggerlaunchers.h
  src/drkonqi.cpp
  src/drkonqibackends.cpp
  src/drkonqidialog.cpp
  src/kdbgwin/CMakeLists.txt
  src/kdbgwin/abstract_generator.h
  src/kdbgwin/kdbgwin_process.cpp
  src/kdbgwin/kdbgwin_process.h
  src/kdbgwin/main.cpp
  src/kdbgwin/mingw_generator.cpp
  src/kdbgwin/msvc_generator.cpp
  src/kdbgwin/process.cpp
  src/kdbgwin/process.h
  src/main.cpp
  src/org.kde.drkonqi.desktop.cmake
  src/parser/CMakeLists.txt
  src/parser/backtraceparser.cpp
  src/parser/backtraceparsercdb.cpp
  src/parser/backtraceparsercdb.h
  src/ptracer.cpp
  src/ptracer.h
  src/statusnotifier.cpp
  src/tests/crashtest/crashtest.cpp

To: sitter
Cc: plasma-devel, LeGast00n, jraleigh, fbampaloukas, GB_2, ragreen, Pitel, 
ZrenBot, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, 
apol, mart


D19612: RFC port to bugzilla REST API

2019-06-19 Thread Harald Sitter
sitter updated this revision to Diff 60059.
sitter added a comment.


  clean up diff maybe?

REPOSITORY
  R871 DrKonqi

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D19612?vs=60058=60059

BRANCH
  webservice

REVISION DETAIL
  https://phabricator.kde.org/D19612

AFFECTED FILES
  CMakeLists.txt
  src/CMakeLists.txt
  src/aboutbugreportingdialog.cpp
  src/backtracewidget.cpp
  src/backtracewidget.h
  src/bugzillaintegration/bugzillalib.cpp
  src/bugzillaintegration/bugzillalib.h
  src/bugzillaintegration/duplicatefinderjob.cpp
  src/bugzillaintegration/duplicatefinderjob.h
  src/bugzillaintegration/libbugzilla/CMakeLists.txt
  src/bugzillaintegration/libbugzilla/apijob.cpp
  src/bugzillaintegration/libbugzilla/apijob.h
  src/bugzillaintegration/libbugzilla/apireply.cpp
  src/bugzillaintegration/libbugzilla/apireply.h
  src/bugzillaintegration/libbugzilla/autotests/CMakeLists.txt
  src/bugzillaintegration/libbugzilla/autotests/attachmenttest.cpp
  src/bugzillaintegration/libbugzilla/autotests/bugtest.cpp
  src/bugzillaintegration/libbugzilla/autotests/bugzillatest.cpp
  src/bugzillaintegration/libbugzilla/autotests/commenttest.cpp
  src/bugzillaintegration/libbugzilla/autotests/connectiontest.cpp
  src/bugzillaintegration/libbugzilla/autotests/data/attachment.new.json
  src/bugzillaintegration/libbugzilla/autotests/data/bugs.dragonplayer.json
  src/bugzillaintegration/libbugzilla/autotests/data/bugs.new.json
  src/bugzillaintegration/libbugzilla/autotests/data/bugs.update.json
  src/bugzillaintegration/libbugzilla/autotests/data/bugzilla.login.json
  src/bugzillaintegration/libbugzilla/autotests/data/bugzilla.version.json
  src/bugzillaintegration/libbugzilla/autotests/data/comments.json
  src/bugzillaintegration/libbugzilla/autotests/data/error.http
  src/bugzillaintegration/libbugzilla/autotests/data/hi.http
  src/bugzillaintegration/libbugzilla/autotests/data/product.dragonplayer.json
  src/bugzillaintegration/libbugzilla/autotests/data/put.http
  src/bugzillaintegration/libbugzilla/autotests/producttest.cpp
  src/bugzillaintegration/libbugzilla/bugzilla.cpp
  src/bugzillaintegration/libbugzilla/bugzilla.h
  src/bugzillaintegration/libbugzilla/clients/attachmentclient.cpp
  src/bugzillaintegration/libbugzilla/clients/attachmentclient.h
  src/bugzillaintegration/libbugzilla/clients/bugclient.cpp
  src/bugzillaintegration/libbugzilla/clients/bugclient.h
  src/bugzillaintegration/libbugzilla/clients/clientbase.cpp
  src/bugzillaintegration/libbugzilla/clients/clientbase.h
  src/bugzillaintegration/libbugzilla/clients/commands/bugsearch.cpp
  src/bugzillaintegration/libbugzilla/clients/commands/bugsearch.h
  src/bugzillaintegration/libbugzilla/clients/commands/bugupdate.cpp
  src/bugzillaintegration/libbugzilla/clients/commands/bugupdate.h
  src/bugzillaintegration/libbugzilla/clients/commands/commandbase.h
  src/bugzillaintegration/libbugzilla/clients/commands/jsoncommand.cpp
  src/bugzillaintegration/libbugzilla/clients/commands/jsoncommand.h
  src/bugzillaintegration/libbugzilla/clients/commands/newattachment.cpp
  src/bugzillaintegration/libbugzilla/clients/commands/newattachment.h
  src/bugzillaintegration/libbugzilla/clients/commands/newbug.cpp
  src/bugzillaintegration/libbugzilla/clients/commands/newbug.h
  src/bugzillaintegration/libbugzilla/clients/commands/querycommand.cpp
  src/bugzillaintegration/libbugzilla/clients/commands/querycommand.h
  src/bugzillaintegration/libbugzilla/clients/commentclient.cpp
  src/bugzillaintegration/libbugzilla/clients/commentclient.h
  src/bugzillaintegration/libbugzilla/clients/productclient.cpp
  src/bugzillaintegration/libbugzilla/clients/productclient.h
  src/bugzillaintegration/libbugzilla/connection.cpp
  src/bugzillaintegration/libbugzilla/connection.h
  src/bugzillaintegration/libbugzilla/exceptions.cpp
  src/bugzillaintegration/libbugzilla/exceptions.h
  src/bugzillaintegration/libbugzilla/models/attachment.cpp
  src/bugzillaintegration/libbugzilla/models/attachment.h
  src/bugzillaintegration/libbugzilla/models/bug.cpp
  src/bugzillaintegration/libbugzilla/models/bug.h
  src/bugzillaintegration/libbugzilla/models/comment.cpp
  src/bugzillaintegration/libbugzilla/models/comment.h
  src/bugzillaintegration/libbugzilla/models/logindetails.cpp
  src/bugzillaintegration/libbugzilla/models/logindetails.h
  src/bugzillaintegration/libbugzilla/models/product.cpp
  src/bugzillaintegration/libbugzilla/models/product.h
  src/bugzillaintegration/parsebugbacktraces.cpp
  src/bugzillaintegration/parsebugbacktraces.h
  src/bugzillaintegration/productmapping.cpp
  src/bugzillaintegration/productmapping.h
  src/bugzillaintegration/reportassistantpages_base.cpp
  src/bugzillaintegration/reportassistantpages_bugzilla.cpp
  src/bugzillaintegration/reportassistantpages_bugzilla.h
  src/bugzillaintegration/reportassistantpages_bugzilla_duplicates.cpp
  src/bugzillaintegration/reportassistantpages_bugzilla_duplicates.h
  src/bugzillaintegration/reportinterface.cpp
  

D19612: RFC port to bugzilla REST API

2019-06-19 Thread Harald Sitter
sitter updated this revision to Diff 60058.
sitter added a comment.


  - refactor
  - move clients to subdir
  - catch all exceptions
  - don't incorrectly init the static
  - cleanup includes
  - more tests and less asserts
  - litter--
  - split commands
  - throw out a whole bunch of warnings and bring up coverage

REPOSITORY
  R871 DrKonqi

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D19612?vs=53953=60058

BRANCH
  webservice

REVISION DETAIL
  https://phabricator.kde.org/D19612

AFFECTED FILES
  CMakeLists.txt
  src/CMakeLists.txt
  src/aboutbugreportingdialog.cpp
  src/bugzillaintegration/bugzillalib.cpp
  src/bugzillaintegration/bugzillalib.h
  src/bugzillaintegration/duplicatefinderjob.cpp
  src/bugzillaintegration/duplicatefinderjob.h
  src/bugzillaintegration/libbugzilla/CMakeLists.txt
  src/bugzillaintegration/libbugzilla/apijob.cpp
  src/bugzillaintegration/libbugzilla/apijob.h
  src/bugzillaintegration/libbugzilla/apireply.cpp
  src/bugzillaintegration/libbugzilla/apireply.h
  src/bugzillaintegration/libbugzilla/autotests/CMakeLists.txt
  src/bugzillaintegration/libbugzilla/autotests/attachmenttest.cpp
  src/bugzillaintegration/libbugzilla/autotests/bugtest.cpp
  src/bugzillaintegration/libbugzilla/autotests/bugzillatest.cpp
  src/bugzillaintegration/libbugzilla/autotests/commenttest.cpp
  src/bugzillaintegration/libbugzilla/autotests/connectiontest.cpp
  src/bugzillaintegration/libbugzilla/autotests/data/attachment.new.json
  src/bugzillaintegration/libbugzilla/autotests/data/bugs.dragonplayer.json
  src/bugzillaintegration/libbugzilla/autotests/data/bugs.new.json
  src/bugzillaintegration/libbugzilla/autotests/data/bugs.update.json
  src/bugzillaintegration/libbugzilla/autotests/data/bugzilla.login.json
  src/bugzillaintegration/libbugzilla/autotests/data/bugzilla.version.json
  src/bugzillaintegration/libbugzilla/autotests/data/comments.json
  src/bugzillaintegration/libbugzilla/autotests/data/error.http
  src/bugzillaintegration/libbugzilla/autotests/data/hi.http
  src/bugzillaintegration/libbugzilla/autotests/data/product.dragonplayer.json
  src/bugzillaintegration/libbugzilla/autotests/data/put.http
  src/bugzillaintegration/libbugzilla/autotests/producttest.cpp
  src/bugzillaintegration/libbugzilla/bugzilla.cpp
  src/bugzillaintegration/libbugzilla/bugzilla.h
  src/bugzillaintegration/libbugzilla/clients/attachmentclient.cpp
  src/bugzillaintegration/libbugzilla/clients/attachmentclient.h
  src/bugzillaintegration/libbugzilla/clients/bugclient.cpp
  src/bugzillaintegration/libbugzilla/clients/bugclient.h
  src/bugzillaintegration/libbugzilla/clients/clientbase.cpp
  src/bugzillaintegration/libbugzilla/clients/clientbase.h
  src/bugzillaintegration/libbugzilla/clients/commands/bugsearch.cpp
  src/bugzillaintegration/libbugzilla/clients/commands/bugsearch.h
  src/bugzillaintegration/libbugzilla/clients/commands/bugupdate.cpp
  src/bugzillaintegration/libbugzilla/clients/commands/bugupdate.h
  src/bugzillaintegration/libbugzilla/clients/commands/commandbase.h
  src/bugzillaintegration/libbugzilla/clients/commands/jsoncommand.cpp
  src/bugzillaintegration/libbugzilla/clients/commands/jsoncommand.h
  src/bugzillaintegration/libbugzilla/clients/commands/newattachment.cpp
  src/bugzillaintegration/libbugzilla/clients/commands/newattachment.h
  src/bugzillaintegration/libbugzilla/clients/commands/newbug.cpp
  src/bugzillaintegration/libbugzilla/clients/commands/newbug.h
  src/bugzillaintegration/libbugzilla/clients/commands/querycommand.cpp
  src/bugzillaintegration/libbugzilla/clients/commands/querycommand.h
  src/bugzillaintegration/libbugzilla/clients/commentclient.cpp
  src/bugzillaintegration/libbugzilla/clients/commentclient.h
  src/bugzillaintegration/libbugzilla/clients/productclient.cpp
  src/bugzillaintegration/libbugzilla/clients/productclient.h
  src/bugzillaintegration/libbugzilla/connection.cpp
  src/bugzillaintegration/libbugzilla/connection.h
  src/bugzillaintegration/libbugzilla/exceptions.cpp
  src/bugzillaintegration/libbugzilla/exceptions.h
  src/bugzillaintegration/libbugzilla/models/attachment.cpp
  src/bugzillaintegration/libbugzilla/models/attachment.h
  src/bugzillaintegration/libbugzilla/models/bug.cpp
  src/bugzillaintegration/libbugzilla/models/bug.h
  src/bugzillaintegration/libbugzilla/models/comment.cpp
  src/bugzillaintegration/libbugzilla/models/comment.h
  src/bugzillaintegration/libbugzilla/models/logindetails.cpp
  src/bugzillaintegration/libbugzilla/models/logindetails.h
  src/bugzillaintegration/libbugzilla/models/product.cpp
  src/bugzillaintegration/libbugzilla/models/product.h
  src/bugzillaintegration/parsebugbacktraces.cpp
  src/bugzillaintegration/parsebugbacktraces.h
  src/bugzillaintegration/productmapping.cpp
  src/bugzillaintegration/productmapping.h
  src/bugzillaintegration/reportassistantpages_base.cpp
  src/bugzillaintegration/reportassistantpages_bugzilla.cpp
  src/bugzillaintegration/reportassistantpages_bugzilla.h
  

D19612: RFC port to bugzilla REST API

2019-03-15 Thread Harald Sitter
sitter updated this revision to Diff 53953.
sitter added a comment.


  competing api design on commentsclient::getfrombug2
  
  this has some more cruft but looks nicer from a usage POV IMO
  
  it's basically lambda chaining originating in a signal...
  instead of return a kjob the getter returns an APIReply.
  APIReply is a templated, not-moc'd QObject which wraps an APIJob.
  it's a QObject so we can easily place it as a chield under the "context"
  object (i.e. the bugzillamanager instance).
  the api getter sets a constructor function which knows how to marshal
  kjob data into the intended return type, returns the reply to the
  consumer and the consumer sets a handler which will get the marshalled
  concrete data from the constructor.
  the APIReply then connects to the kjob as per usual.
  when the job finishes an internal lambda is called which calls the
  constructor to get the concrete type and then calls the handler with that
  
  while that looks lovely I am not sure this actually is going to work.
  specifically with how exception handling works this would currently issue
  the exception in the slot and that is not safe to do AFAIK

REPOSITORY
  R871 DrKonqi

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D19612?vs=53889=53953

BRANCH
  webservice

REVISION DETAIL
  https://phabricator.kde.org/D19612

AFFECTED FILES
  CMakeLists.txt
  src/CMakeLists.txt
  src/bugzillaintegration/bugzillalib.cpp
  src/bugzillaintegration/bugzillalib.h
  src/bugzillaintegration/duplicatefinderjob.cpp
  src/bugzillaintegration/duplicatefinderjob.h
  src/bugzillaintegration/libbugzilla/CMakeLists.txt
  src/bugzillaintegration/libbugzilla/attachment.cpp
  src/bugzillaintegration/libbugzilla/attachment.h
  src/bugzillaintegration/libbugzilla/autotests/CMakeLists.txt
  src/bugzillaintegration/libbugzilla/autotests/bugtest.cpp
  src/bugzillaintegration/libbugzilla/autotests/bugzillatest.cpp
  src/bugzillaintegration/libbugzilla/autotests/connectiontest.cpp
  src/bugzillaintegration/libbugzilla/autotests/data/bugs.dragonplayer.json
  src/bugzillaintegration/libbugzilla/autotests/data/error.http
  src/bugzillaintegration/libbugzilla/autotests/data/hi.http
  src/bugzillaintegration/libbugzilla/autotests/data/product.dragonplayer.json
  src/bugzillaintegration/libbugzilla/autotests/data/put.http
  src/bugzillaintegration/libbugzilla/autotests/producttest.cpp
  src/bugzillaintegration/libbugzilla/bug.cpp
  src/bugzillaintegration/libbugzilla/bug.h
  src/bugzillaintegration/libbugzilla/bugzilla.cpp
  src/bugzillaintegration/libbugzilla/bugzilla.h
  src/bugzillaintegration/libbugzilla/comment.cpp
  src/bugzillaintegration/libbugzilla/comment.h
  src/bugzillaintegration/libbugzilla/connection.cpp
  src/bugzillaintegration/libbugzilla/connection.h
  src/bugzillaintegration/libbugzilla/product.cpp
  src/bugzillaintegration/libbugzilla/product.h
  src/bugzillaintegration/parsebugbacktraces.cpp
  src/bugzillaintegration/parsebugbacktraces.h
  src/bugzillaintegration/productmapping.cpp
  src/bugzillaintegration/productmapping.h
  src/bugzillaintegration/reportassistantpages_base.cpp
  src/bugzillaintegration/reportassistantpages_bugzilla.cpp
  src/bugzillaintegration/reportassistantpages_bugzilla.h
  src/bugzillaintegration/reportassistantpages_bugzilla_duplicates.cpp
  src/bugzillaintegration/reportassistantpages_bugzilla_duplicates.h
  src/bugzillaintegration/reportinterface.cpp
  src/bugzillaintegration/reportinterface.h
  src/drkonqi.cpp

To: sitter
Cc: plasma-devel, jraleigh, GB_2, ragreen, Pitel, ZrenBot, lesliezhai, 
ali-mohamed, jensreuterberg, abetts, sebas, apol, mart


D19612: RFC port to bugzilla REST API

2019-03-14 Thread Harald Sitter
sitter updated this revision to Diff 53889.
sitter added a comment.


  redo diff so it maybe doesn't include nonesense

REPOSITORY
  R871 DrKonqi

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D19612?vs=53888=53889

BRANCH
  webservice

REVISION DETAIL
  https://phabricator.kde.org/D19612

AFFECTED FILES
  CMakeLists.txt
  src/CMakeLists.txt
  src/bugzillaintegration/bugzillalib.cpp
  src/bugzillaintegration/bugzillalib.h
  src/bugzillaintegration/duplicatefinderjob.cpp
  src/bugzillaintegration/duplicatefinderjob.h
  src/bugzillaintegration/libbugzilla/CMakeLists.txt
  src/bugzillaintegration/libbugzilla/attachment.cpp
  src/bugzillaintegration/libbugzilla/attachment.h
  src/bugzillaintegration/libbugzilla/autotests/CMakeLists.txt
  src/bugzillaintegration/libbugzilla/autotests/bugtest.cpp
  src/bugzillaintegration/libbugzilla/autotests/bugzillatest.cpp
  src/bugzillaintegration/libbugzilla/autotests/connectiontest.cpp
  src/bugzillaintegration/libbugzilla/autotests/data/bugs.dragonplayer.json
  src/bugzillaintegration/libbugzilla/autotests/data/error.http
  src/bugzillaintegration/libbugzilla/autotests/data/hi.http
  src/bugzillaintegration/libbugzilla/autotests/data/product.dragonplayer.json
  src/bugzillaintegration/libbugzilla/autotests/data/put.http
  src/bugzillaintegration/libbugzilla/autotests/producttest.cpp
  src/bugzillaintegration/libbugzilla/bug.cpp
  src/bugzillaintegration/libbugzilla/bug.h
  src/bugzillaintegration/libbugzilla/bugzilla.cpp
  src/bugzillaintegration/libbugzilla/bugzilla.h
  src/bugzillaintegration/libbugzilla/comment.cpp
  src/bugzillaintegration/libbugzilla/comment.h
  src/bugzillaintegration/libbugzilla/connection.cpp
  src/bugzillaintegration/libbugzilla/connection.h
  src/bugzillaintegration/libbugzilla/product.cpp
  src/bugzillaintegration/libbugzilla/product.h
  src/bugzillaintegration/parsebugbacktraces.cpp
  src/bugzillaintegration/parsebugbacktraces.h
  src/bugzillaintegration/productmapping.cpp
  src/bugzillaintegration/productmapping.h
  src/bugzillaintegration/reportassistantpages_base.cpp
  src/bugzillaintegration/reportassistantpages_bugzilla.cpp
  src/bugzillaintegration/reportassistantpages_bugzilla.h
  src/bugzillaintegration/reportassistantpages_bugzilla_duplicates.cpp
  src/bugzillaintegration/reportassistantpages_bugzilla_duplicates.h
  src/bugzillaintegration/reportinterface.cpp
  src/bugzillaintegration/reportinterface.h
  src/drkonqi.cpp

To: sitter
Cc: plasma-devel, jraleigh, GB_2, ragreen, Pitel, ZrenBot, lesliezhai, 
ali-mohamed, jensreuterberg, abetts, sebas, apol, mart


D19612: RFC port to bugzilla REST API

2019-03-14 Thread Harald Sitter
sitter updated this revision to Diff 53888.
sitter added a comment.


  search now searches long description so only get somewhat pertinent bugs come 
back as results. also implement pagniation of results (ie. only 25 results at a 
time are queried, this is both much faster to query and to parse). boths 
somewhat reliant on undocumented features of the webservice api (they are 
however intentional features since they have explicit code in the webservice 
code)

REPOSITORY
  R871 DrKonqi

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D19612?vs=53669=53888

BRANCH
  webservice

REVISION DETAIL
  https://phabricator.kde.org/D19612

AFFECTED FILES
  CMakeLists.txt
  src/CMakeLists.txt
  src/bugzillaintegration/bugzillalib.cpp
  src/bugzillaintegration/bugzillalib.h
  src/bugzillaintegration/duplicatefinderjob.cpp
  src/bugzillaintegration/duplicatefinderjob.h
  src/bugzillaintegration/libbugzilla/CMakeLists.txt
  src/bugzillaintegration/libbugzilla/attachment.cpp
  src/bugzillaintegration/libbugzilla/attachment.h
  src/bugzillaintegration/libbugzilla/autotests/CMakeLists.txt
  src/bugzillaintegration/libbugzilla/autotests/bugtest.cpp
  src/bugzillaintegration/libbugzilla/autotests/bugzillatest.cpp
  src/bugzillaintegration/libbugzilla/autotests/connectiontest.cpp
  src/bugzillaintegration/libbugzilla/autotests/data/bugs.dragonplayer.json
  src/bugzillaintegration/libbugzilla/autotests/data/error.http
  src/bugzillaintegration/libbugzilla/autotests/data/hi.http
  src/bugzillaintegration/libbugzilla/autotests/data/product.dragonplayer.json
  src/bugzillaintegration/libbugzilla/autotests/data/put.http
  src/bugzillaintegration/libbugzilla/autotests/producttest.cpp
  src/bugzillaintegration/libbugzilla/bug.cpp
  src/bugzillaintegration/libbugzilla/bug.h
  src/bugzillaintegration/libbugzilla/bugzilla.cpp
  src/bugzillaintegration/libbugzilla/bugzilla.h
  src/bugzillaintegration/libbugzilla/comment.cpp
  src/bugzillaintegration/libbugzilla/comment.h
  src/bugzillaintegration/libbugzilla/connection.cpp
  src/bugzillaintegration/libbugzilla/connection.h
  src/bugzillaintegration/libbugzilla/product.cpp
  src/bugzillaintegration/libbugzilla/product.h
  src/bugzillaintegration/parsebugbacktraces.cpp
  src/bugzillaintegration/parsebugbacktraces.h
  src/bugzillaintegration/productmapping.cpp
  src/bugzillaintegration/productmapping.h
  src/bugzillaintegration/reportassistantpages_base.cpp
  src/bugzillaintegration/reportassistantpages_bugzilla.cpp
  src/bugzillaintegration/reportassistantpages_bugzilla.h
  src/bugzillaintegration/reportassistantpages_bugzilla_duplicates.cpp
  src/bugzillaintegration/reportassistantpages_bugzilla_duplicates.h
  src/bugzillaintegration/reportinterface.cpp
  src/bugzillaintegration/reportinterface.h
  src/config-drkonqi.h.cmake
  src/data/debuggers/external/cdbrc
  src/data/debuggers/internal/cdbrc
  src/data/mappings
  src/debuggerlaunchers.cpp
  src/debuggerlaunchers.h
  src/drkonqi.cpp
  src/drkonqibackends.cpp
  src/kdbgwin/CMakeLists.txt
  src/kdbgwin/abstract_generator.h
  src/kdbgwin/kdbgwin_process.cpp
  src/kdbgwin/kdbgwin_process.h
  src/kdbgwin/main.cpp
  src/kdbgwin/mingw_generator.cpp
  src/kdbgwin/msvc_generator.cpp
  src/kdbgwin/process.cpp
  src/kdbgwin/process.h
  src/main.cpp
  src/parser/CMakeLists.txt
  src/parser/backtraceparser.cpp
  src/parser/backtraceparsercdb.cpp
  src/parser/backtraceparsercdb.h
  src/ptracer.cpp
  src/ptracer.h
  src/tests/crashtest/crashtest.cpp

To: sitter
Cc: plasma-devel, jraleigh, GB_2, ragreen, Pitel, ZrenBot, lesliezhai, 
ali-mohamed, jensreuterberg, abetts, sebas, apol, mart


D19612: RFC port to bugzilla REST API

2019-03-11 Thread Harald Sitter
sitter updated this revision to Diff 53669.
sitter added a comment.


  - repair dupe detection - was running on empty list
  - refactor bug fetching to not include comment fetching and port all users of 
it
  - stop holding all comments of all bugs in memory. we have no use for like 
99% of them after parsing
  - rebase on master
  
  considering there's a default connection and the report dialog is bugzilla 
specific anyway I am kinda leaning towards doing away with bugzillalib 
entirely. we have little to no advantage from its singletonness

REPOSITORY
  R871 DrKonqi

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D19612?vs=53447=53669

BRANCH
  webservice

REVISION DETAIL
  https://phabricator.kde.org/D19612

AFFECTED FILES
  CMakeLists.txt
  src/CMakeLists.txt
  src/bugzillaintegration/bugzillalib.cpp
  src/bugzillaintegration/bugzillalib.h
  src/bugzillaintegration/duplicatefinderjob.cpp
  src/bugzillaintegration/duplicatefinderjob.h
  src/bugzillaintegration/libbugzilla/CMakeLists.txt
  src/bugzillaintegration/libbugzilla/attachment.cpp
  src/bugzillaintegration/libbugzilla/attachment.h
  src/bugzillaintegration/libbugzilla/autotests/CMakeLists.txt
  src/bugzillaintegration/libbugzilla/autotests/bugtest.cpp
  src/bugzillaintegration/libbugzilla/autotests/bugzillatest.cpp
  src/bugzillaintegration/libbugzilla/autotests/connectiontest.cpp
  src/bugzillaintegration/libbugzilla/autotests/data/bugs.dragonplayer.json
  src/bugzillaintegration/libbugzilla/autotests/data/error.http
  src/bugzillaintegration/libbugzilla/autotests/data/hi.http
  src/bugzillaintegration/libbugzilla/autotests/data/product.dragonplayer.json
  src/bugzillaintegration/libbugzilla/autotests/data/put.http
  src/bugzillaintegration/libbugzilla/autotests/producttest.cpp
  src/bugzillaintegration/libbugzilla/bug.cpp
  src/bugzillaintegration/libbugzilla/bug.h
  src/bugzillaintegration/libbugzilla/bugzilla.cpp
  src/bugzillaintegration/libbugzilla/bugzilla.h
  src/bugzillaintegration/libbugzilla/comment.cpp
  src/bugzillaintegration/libbugzilla/comment.h
  src/bugzillaintegration/libbugzilla/connection.cpp
  src/bugzillaintegration/libbugzilla/connection.h
  src/bugzillaintegration/libbugzilla/product.cpp
  src/bugzillaintegration/libbugzilla/product.h
  src/bugzillaintegration/parsebugbacktraces.cpp
  src/bugzillaintegration/parsebugbacktraces.h
  src/bugzillaintegration/productmapping.cpp
  src/bugzillaintegration/productmapping.h
  src/bugzillaintegration/reportassistantpages_base.cpp
  src/bugzillaintegration/reportassistantpages_bugzilla.cpp
  src/bugzillaintegration/reportassistantpages_bugzilla.h
  src/bugzillaintegration/reportassistantpages_bugzilla_duplicates.cpp
  src/bugzillaintegration/reportassistantpages_bugzilla_duplicates.h
  src/bugzillaintegration/reportinterface.cpp
  src/bugzillaintegration/reportinterface.h
  src/config-drkonqi.h.cmake
  src/data/debuggers/external/cdbrc
  src/data/debuggers/internal/cdbrc
  src/data/mappings
  src/debuggerlaunchers.cpp
  src/debuggerlaunchers.h
  src/drkonqi.cpp
  src/drkonqibackends.cpp
  src/kdbgwin/CMakeLists.txt
  src/kdbgwin/abstract_generator.h
  src/kdbgwin/kdbgwin_process.cpp
  src/kdbgwin/kdbgwin_process.h
  src/kdbgwin/main.cpp
  src/kdbgwin/mingw_generator.cpp
  src/kdbgwin/msvc_generator.cpp
  src/kdbgwin/process.cpp
  src/kdbgwin/process.h
  src/main.cpp
  src/parser/CMakeLists.txt
  src/parser/backtraceparser.cpp
  src/parser/backtraceparsercdb.cpp
  src/parser/backtraceparsercdb.h
  src/ptracer.cpp
  src/ptracer.h
  src/tests/crashtest/crashtest.cpp

To: sitter
Cc: plasma-devel, jraleigh, GB_2, ragreen, Pitel, ZrenBot, lesliezhai, 
ali-mohamed, jensreuterberg, abetts, sebas, apol, mart


D19612: RFC port to bugzilla REST API

2019-03-08 Thread Harald Sitter
sitter created this revision.
Herald added a project: Plasma.
Herald added a subscriber: plasma-devel.
sitter requested review of this revision.

REVISION SUMMARY
  I'd love some feedback on the lib api especially. this is the first REST
  wrapper I wrote using cpp, so it feels all a bit clunky to me.
  
  https://bugzilla.readthedocs.io/en/5.0/api/
  
  - new internal lib wrapping the REST API
  - some testing on the lib, should probably be a bit more comprehensive
  - xmlrpc use gone
  - BugzillaManager continues to be a singleton manager for the API
  - ancient cookie system for login is entirely gone, this has been deprecated 
(or perhaps even removed?) for years
  
  this is functional, but still requires todo cleanups at the very least.
  also duplicate querying is pretty inefficient, needs porting to pagination
  really.
  
  some of the files are also overloaded with stuff (connection.cpp brrr)
  
  the lib api is split in three pieces:
  
  1. the connection containing protocol logic
  2. the clients containing routing logic
  3. the models modeling the json blobs into cpp
  
  the clients especially feel a bit awkward, but I think separating endpoint
  handling from the models is a worthwhile thing.
  
  clients get a request, give back a job and the intended use is for
  the consumer to then connect to the finished signal of the job to then
  ask the clients for the final return value of the job.
  this is a bit 'meh'. what I really wanted was a Future to be returned
  and the caller to connect to the future. unfortunately qfuture is fairly
  limited and since qtbase has no Promise implementation I'm rather opting
  for the double-function-approach than doing it like we did in the previous
  decade and have a gazillion signals.
  this way the handling of the job is always uniform and all specific
  "handling code" is inside the connected slot rather than the actual
  connection.
  
  error handling has been put entirely into exceptions which get raised
  when trying to access a finished job. in BugzillaManager they get rescued
  and turned into the already existing signals. this simplifies error
  handling a fair amount and also makes the error handling code
  look uniform across the various API calls we have.

REPOSITORY
  R871 DrKonqi

BRANCH
  master

REVISION DETAIL
  https://phabricator.kde.org/D19612

AFFECTED FILES
  CMakeLists.txt
  src/CMakeLists.txt
  src/bugzillaintegration/bugzillalib.cpp
  src/bugzillaintegration/bugzillalib.h
  src/bugzillaintegration/duplicatefinderjob.cpp
  src/bugzillaintegration/duplicatefinderjob.h
  src/bugzillaintegration/libbugzilla/CMakeLists.txt
  src/bugzillaintegration/libbugzilla/attachment.cpp
  src/bugzillaintegration/libbugzilla/attachment.h
  src/bugzillaintegration/libbugzilla/autotests/CMakeLists.txt
  src/bugzillaintegration/libbugzilla/autotests/bugtest.cpp
  src/bugzillaintegration/libbugzilla/autotests/bugzillatest.cpp
  src/bugzillaintegration/libbugzilla/autotests/connectiontest.cpp
  src/bugzillaintegration/libbugzilla/autotests/data/bugs.dragonplayer.json
  src/bugzillaintegration/libbugzilla/autotests/data/error.http
  src/bugzillaintegration/libbugzilla/autotests/data/hi.http
  src/bugzillaintegration/libbugzilla/autotests/data/product.dragonplayer.json
  src/bugzillaintegration/libbugzilla/autotests/data/put.http
  src/bugzillaintegration/libbugzilla/autotests/producttest.cpp
  src/bugzillaintegration/libbugzilla/bug.cpp
  src/bugzillaintegration/libbugzilla/bug.h
  src/bugzillaintegration/libbugzilla/bugzilla.cpp
  src/bugzillaintegration/libbugzilla/bugzilla.h
  src/bugzillaintegration/libbugzilla/comment.cpp
  src/bugzillaintegration/libbugzilla/comment.h
  src/bugzillaintegration/libbugzilla/connection.cpp
  src/bugzillaintegration/libbugzilla/connection.h
  src/bugzillaintegration/libbugzilla/product.cpp
  src/bugzillaintegration/libbugzilla/product.h
  src/bugzillaintegration/parsebugbacktraces.cpp
  src/bugzillaintegration/parsebugbacktraces.h
  src/bugzillaintegration/productmapping.cpp
  src/bugzillaintegration/productmapping.h
  src/bugzillaintegration/reportassistantpages_base.cpp
  src/bugzillaintegration/reportassistantpages_bugzilla.cpp
  src/bugzillaintegration/reportassistantpages_bugzilla.h
  src/bugzillaintegration/reportassistantpages_bugzilla_duplicates.cpp
  src/bugzillaintegration/reportassistantpages_bugzilla_duplicates.h
  src/bugzillaintegration/reportinterface.cpp
  src/bugzillaintegration/reportinterface.h
  src/drkonqi.cpp

To: sitter
Cc: plasma-devel, jraleigh, GB_2, ragreen, Pitel, ZrenBot, lesliezhai, 
ali-mohamed, jensreuterberg, abetts, sebas, apol, mart