Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Design discussion for Online Importer and Exporter #3

Open
sudo-panda opened this issue Jun 19, 2019 · 10 comments
Open

Design discussion for Online Importer and Exporter #3

sudo-panda opened this issue Jun 19, 2019 · 10 comments

Comments

@sudo-panda
Copy link
Collaborator

Week 4 discussion points:

  • Each behaviour needs two details
    • Name
    • Description
  • A snapshot would be added that could be auto generated or created by user of the root state
  • The repo will contain folders for each behaviour where the snapshot and xml file will be stored and another file at the root of the repo to store a list of the behaviours.
  • The exporter will create a pull request to the repo.
@sudo-panda
Copy link
Collaborator Author

Week 5 discussion:

  • PyGitHub library will be used to access the repository
  • It could be better to show the tree of states with the parameters instead of a snapshot, what do you think @pushkalkatara ?
  • There will be a main xml file in the repository containing the names, descriptions and the folder name in which the behaviour and the snapshot/tree of states is present
  • A demo repository will be created by me which will be used to create the online importer and exporter and once its complete we will shift to a jderobot repository.

@sudo-panda
Copy link
Collaborator Author

Do we put any restrictions on the name of the behaviour?

@pushkalkatara
Copy link
Member

Hi @sudo-panda,

  • Yes we can show the tree of states, but can you give an example how would we display the parameters alongside states in trees.
  • The XML can contain the names, description about the behavior, but do we need the folder, i think it would add an unnecessary dependency. If snapshot of the behavior is required, we can easily generate it through the states creating another temporary instance of VisualStates GUI.
  • Yes, you can create a demo repository for on-line importer and exporter.
  • We can choose guidelines and naming conventions for accessibility and ease like using snake_case for naming the XML files. We can further discuss upon this.

@sudo-panda
Copy link
Collaborator Author

sudo-panda commented Jun 28, 2019

I would like to suggest a naming guideline:
User would enter only lower case characters with spaces E.g. prius lane follower

  • The folder name will be the same i.e. prius lane follower
  • The branch name will be name with spaces replaced by dashes i.e prius-lane-follower
  • The file name will be the name entered by the user with the spaces replaced by underscores i.e. prius_lane_follower.xml

Any other suggestions?

@pushkalkatara
Copy link
Member

Yes, the naming guideline looks good.
I checked the current implementation. The exporter is not creating folders while making a PR.

@sudo-panda
Copy link
Collaborator Author

Sir @pushkalkatara, sorry I don't understand. I can see an ExportText folder being created on the PR could you elaborate or recheck.

@pushkalkatara
Copy link
Member

Oops. I rechecked. Yes, the folder exists. We'll keep it that way only.

@sudo-panda
Copy link
Collaborator Author

Sirs,
I can't find any workaround for the freezing up of the tool (VisualStates window turning black) while we are downloading files. Threading doesn't seem to work in this case as either we need to wait for the thread to finish or the Exporter window closes before it has finished exporting. In the case of Importer if we run the downloading and generating of the list in a different thread than the one used for drawing the window it is unable to display the list as the parent is in another thread. Any idea on how to tackle this problem?

@okanasik
Copy link
Collaborator

okanasik commented Jul 4, 2019

I have small suggestions for naming conventions. I think it is not a good practice to have space character in folder and file names. It is due to the inconvenience of command line operations.

@pushkalkatara
Copy link
Member

pushkalkatara commented Jul 9, 2019

Sirs,
I can't find any workaround for the freezing up of the tool (VisualStates window turning black) while we are downloading files. Threading doesn't seem to work in this case as either we need to wait for the thread to finish or the Exporter window closes before it has finished exporting. In the case of Importer if we run the downloading and generating of the list in a different thread than the one used for drawing the window it is unable to display the list as the parent is in another thread. Any idea on how to tackle this problem?

How did you implement threading, can you reference the source code? Did you try using QThreads?
Maybe this could help - https://stackoverflow.com/questions/6783194/background-thread-with-qthread-in-pyqt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants