Giter Site home page Giter Site logo

floppy's People

Contributors

arrahed avatar fukatani avatar jluebben avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

floppy's Issues

Deleting nodes deletes conections

When I load a node setup and delete a node, sometimes this also deletes a seemingly arbitrary number of connections and the can not be re-established. In the node setup shown below, deleting the CreateString node reliable causes this problem but other nodes have done this as well but not reliable.
screen shot 2016-10-03 at 12 24 29
screen shot 2016-10-03 at 12 24 40

Feature request: EndNode

A node which kills the interpreter. The idea behind is to have an obvious ending point for the node setup.

How do you delete a node?

How do you delete a node once it is drawn out on the canvas? I see in the code (I'm not a Python expert..) where you have defined shortcuts like 'Ctrl-D', but selecting a node and hitting 'delete' key or Ctrl-D doesn't seem to delete the node. I'm on a Mac, Python 3.5, PyQt 5-5. The project is very awesome, thanks so much for sharing it. Tony.

Implement Sequential Nodes

Some nodes might require to be executed sequentially, not concurrently. Implementing an appropriate locking mechanism for each node individually is not reasonable. Instead an @sequentialNode(LockName) decorator will be implemented that will give all instances of that class a reference to a common lock. This way all locking logic can be implemented in the interpreter which will also have access to all locks.

Cosmetic Issue: List boxes text & selection offset

Text within the selection box has the wrong offset, red arrow.
The selection is also offsetted: When the mouse is at the yellow position, "True" is selected and a little bit below is "False" selected.

screen shot 2016-09-14 at 16 02 06

SwitchNode breaks down after extensive looping

Using an extensive loop over ~1000 elements (batch processing of multiple files) crashes the SwitchNode at seemingly random intervals.

Something bad happened in when executing Switch-5.
Input not set for node.

Timing problem?

[run] examples and tests

Hello,

this project seems quite interesting. However, I am unable to launch the test or run the examples.

Could you give me an insight on which dependencies are required (requirements.txt) and how to launch the examples and launch the tests etc. please?

Thanks in advance for your answer.

Set Parameters for Nodes Rather than Inputs and Outputs

Is there a way to set a parameter for a node that is not an input or an output? For example say I wanted to scale and shift my input value linearly in the form y = mx + b. My input is x and my output is y and m (slope) and b (y-intercept) would be parameters of the node. Is there a way to have a user set these parameters already or do nodes only have inputs and outputs?

Implement Node Class Reports

Currently, only instances of nodes generate report data that is rendered by the ReportWidget.
That means that reports are only available once a Node is instantiated on the interpreter side.

The Node Class Report feature will allow the ReportWidget to display information about a certain Node class object e.g. usage information, available inputs/outputs, etc.

List selecting/activating selects element below it

When having a node as shown in the first screenshot, selecting an item in the list will also activate the field below it, i.e. selecting an item in the upper bool input will activate the lower bool input (second screenshot, look closely, the "T" of "True" is barely visible). Likewise, selecting the lowest string input will activate the bool input above it, typing is possible.
screen shot 2016-09-28 at 09 08 45 screen shot 2016-09-28 at 09 17 05

Error when launching Floppy: Segmentation Fault

Hello,
I get a segmentation fault when I run floppy.py.
The error happens at the line:
import floppy.main

(flop) Djimes-MBP:bin djime$ python -Xfaulthandler Floppy.py
Fatal Python error: Segmentation fault

Current thread 0x00007fff7b8f2000 (most recent call first):
File "", line 321 in _call_with_frames_removed
File "", line 1715 in load_module
File "", line 539 in _check_name_wrapper
File "", line 1161 in _load_backward_compatible
File "", line 1191 in _load_unlocked
File "", line 2226 in _find_and_load_unlocked
File "", line 2237 in _find_and_load
File "", line 321 in _call_with_frames_removed
File "", line 2284 in _handle_fromlist
File "/Users/djime/Documents/Studium/Winter1819/Graphbased/Floppy/floppy/ressources/mainWindow.py", line 9 in
File "", line 321 in _call_with_frames_removed
File "", line 1471 in exec_module
File "", line 1129 in _exec
File "", line 1200 in _load_unlocked
File "", line 2226 in _find_and_load_unlocked
File "", line 2237 in _find_and_load
File "/Users/djime/Documents/Studium/Winter1819/Graphbased/Floppy/floppy/floppyUi.py", line 7 in
File "", line 321 in _call_with_frames_removed
File "", line 1471 in exec_module
File "", line 1129 in _exec
File "", line 1200 in _load_unlocked
File "", line 2226 in _find_and_load_unlocked
File "", line 2237 in _find_and_load
File "/Users/djime/Documents/Studium/Winter1819/Graphbased/Floppy/floppy/main.py", line 2 in
File "", line 321 in _call_with_frames_removed
File "", line 1471 in exec_module
File "", line 1129 in _exec
File "", line 1200 in _load_unlocked
File "", line 2226 in _find_and_load_unlocked
File "", line 2237 in _find_and_load
File "Floppy.py", line 5 in
Segmentation fault: 11

I tried debugging first manually and then with faulthandler but I don't know where to go from here.

Is there any way to move the canvas?

Thanks for giving us the excellent project at first.

I am using a Trackpad of Mac.I found that swiping up, left or right with two fingers would zoom out the screen and swiping down with two fingers would zoom in the screen. I have no way to move the canvas (background), which is very inconvenient.

Example: when I am trying to see the node which is not in the center of screen clearly, I have to zoom out my screen, drag the node to the center of screen and zoom in my screen.

It seems that the coordination (0, 0) of canvas is unchangeable? Is there any way to move the canvas?

Error when importing Node: "cannot import name ControlNode"

I did download the repo as zip, and added the path to the extracted folder as in the instructions, but when I try to import "Node", I get an error

from floppy.node import Node

I get

from floppy.node import ControlNode, Node, MetaNode, SubGraph
ImportError: cannot import name 'ControlNode'

How can I fix this? I am on OSX High Sierra.
Also is there any plan for tutorials about how to integrate the visual editor so nodes can be instantiated at runtime while the app is running? Thanks

feature request: int

It would be nice to have integers as pin types available.

edit: I forgot, decimal is an object, I can do that my self

Textboxes read control characters

when I entered some text into a text box, I hit the enter key out of a habit but it was transfered to the input:

Something bad happened in when executing ReadStructure-0.
[Errno 2] No such file or directory: 'cry.cif\r' # <-- here!

Is this desired?

Selection box offset & cosmetic issues

Using Mac OSX Yosemite, master branch from 06.09.16

Selection box:
When draw a selection box and start end end with the mouse at the positions indicated by the red arrows, the resulting box is offset. The effect is larger the further the mouse is away from my monitors center.

Cosmetic:
Node lines are a little bit too low, blue arrow (may requires something similar to the writing offset in the settings menu).
Descriptors of the input in the join node are also off, green arrow.

screen shot 2016-09-06 at 09 19 28 2

Error when launching Floppy : managedNodes.dat not found

Hello,

I have the following error when trying to launch the Floppy.py program under bin.

roba@roba-OptiPlex-7010:~/perso/github/Floppy/bin (master)*
13:23:48:$ python3 Floppy.py
Warning: error in custom node:
No module named 'lauescript'
Warning: error in custom node:
No module named 'lauescript'
Traceback (most recent call last):
File "Floppy.py", line 4, in
floppy.main.run()
File "/home/roba/perso/github/Floppy/floppy/main.py", line 22, in run
startUI(app, painter)
File "/home/roba/perso/github/Floppy/floppy/main.py", line 33, in startUI
win = MainWindow(painter=painter)
File "/home/roba/perso/github/Floppy/floppy/floppyUi.py", line 1801, in init
NodeWizardDialog.loadManagedNodes()
File "/home/roba/perso/github/Floppy/floppy/floppyUi.py", line 1747, in loadManagedNodes
with open(filePath, 'r') as fp:
FileNotFoundError: [Errno 2] No such file or directory: '/home/roba/perso/github/Floppy/floppy/CustomNodes/managedNodes.dat'

Is there something I'm doing wrong ?

Greyed out connectors

Sometimes, connector pins have a grey center. Does this mean anything or is it a bug?

screen shot 2016-09-28 at 09 12 00screen shot 2016-09-28 at 09 08 45

License missing

Hi,

this seems to be a really nice project. Sadly there is no license information. What kind of license do you have in mind for this project?

WaitAny node does not work if the second pin is triggered

The comments in the source code made clear that you think, that this is an unnecessary node but it is the only way I came up with to make an if-clause working properly. When the upper input pin is triggered, everything works fine, when the lower one is triggered, the console tells me "Input not set for node.", I could not identify the problem further :(
screen shot 2016-09-15 at 16 11 05
(I have a setup up like this in mind to filter out hydrogen atoms. The shown setup was for my testing purposes.)

Implement Macro system

Implement a system that allows to group nodes into a more readable and reusable sequence of nodes.

Delete Connection without deleting Node

Is there a way to delete a connection between two Nodes without deleting one of the Nodes?
I was not able to select a connection (for editing or deleting).

How can I run test on centos7?

I'm using centos7,
when I run TestFloppy.py,because there is no python.exe,so I change the first arg of popen(),like below:

p = Popen(['python', 'Floppy.py', '--test', '{}'.format(file)], stdin=PIPE, stdout=PIPE, stderr=PIPE)

then
r = eval(err.decode())
don't work,and this work well:
r = bytes.decode(err)
and I got this:

/root/anaconda3/bin/python3.7 /root/PycharmProjects/Floppy-master/bin/TestFloppy.py
Traceback (most recent call last):
File "Floppy.py", line 4, in
floppy.main.run()
File "/root/PycharmProjects/Floppy-master/floppy/main.py", line 22, in run
startUI(app, painter)
File "/root/PycharmProjects/Floppy-master/floppy/main.py", line 34, in startUI
win.setArgs(parseArgv())
File "/root/PycharmProjects/Floppy-master/floppy/floppyUi.py", line 1868, in setArgs
self.loadGraph(override=args.test[0], makeActive=True)
File "/root/PycharmProjects/Floppy-master/floppy/floppyUi.py", line 2271, in loadGraph
self.getGraph().load(fileName, callback=self.raiseErrorMessage)
File "/root/PycharmProjects/Floppy-master/floppy/graph.py", line 545, in load
saveState = json.loads(fp.read())
File "/root/anaconda3/lib/python3.7/json/init.py", line 348, in loads
return _default_decoder.decode(s)
File "/root/anaconda3/lib/python3.7/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/root/anaconda3/lib/python3.7/json/decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
[19167:19167:0100/000000.660661:ERROR:broker_posix.cc(41)] Invalid node channel message

Test Result:
Failed -- /root/PycharmProjects/Floppy-master/bin/TestFloppy.py r

Process finished with exit code 0

strings in object fields

When trying to write a string into an object field or bool field, makes the node crash and stuck in place and no values can be changed.
Sometimes, I'll get the following error on keyboard input for each pressed key:

Traceback (most recent call last):
  File "/Users/mydata/projects/Floppy_contribution/floppy/painter.py", line 195, in keyPressEvent
    self.relayTo.keyPressEvent(event)
  File "/Users/mydata/projects/Floppy_contribution/floppy/painter.py", line 1414, in keyPressEvent
    self.text += self.sanitizeInputString(event.text())
  File "/Users/mydata/projects/Floppy_contribution/floppy/painter.py", line 1422, in sanitizeInputString
    self.data.info.varType(string)
TypeError: object() takes no parameters

If you suspect this is an IPython bug, please report it at:
    https://github.com/ipython/ipython/issues
or send an email to the mailing list at [email protected]

You can print a more detailed traceback right now with "%tb", or use "%debug"
to interactively debug it.

Extra-detailed tracebacks for bug-reporting purposes can be enabled via:
    %config Application.verbose_crash=True

screen shot 2016-10-12 at 13 59 22

Getting Floppy to run for the first time

Greetings.

I have been trying to get Floppy to run for the first time on an Ubuntu 14.04
After trial and error i think i have installed the required packages, as i get no complains for missing packets but when i try to run Floppy from the bin dir i get the following error

~/projects/Floppy$ python3 bin/Floppy.py
Traceback (most recent call last):
File "bin/Floppy.py", line 4, in
floppy.main.run()
File "/home/stelios/projects/Floppy/floppy/main.py", line 22, in run
startUI(app, painter)
File "/home/stelios/projects/Floppy/floppy/main.py", line 33, in startUI
win = MainWindow(painter=painter)
File "/home/stelios/projects/Floppy/floppy/painter.py", line 785, in init
self.connectHint = self.settings.value('DefaultConnection', type=str)
TypeError: unable to convert a QVariant of type 0 to a QMetaType of type

Any idea what i am doing wrong ?

Feature request: Hint message

It would be nice if a node can have an optional "hint message" which will be displayed in the status bar (or so) on placement and every time it is selected.

Switch within a loop

The Switch node gets stuck after a loop cycle. It seems to me that the switch is waiting for something which is the reason it is not executed.
screen shot 2016-09-20 at 13 57 59
Console output:

Executing node ReadAtoms-0
Executing node CreateBool-5
Nothing to do here @ 1474372807.714685
File content not familiar. Relying of file name for file format.

1
Nothing to do here @ 1474372807.823233
2
Executing node ForEach-1
Executing node BreakAtom-2
Executing node Switch-4
Executing node FileWriter-3
Nothing to do here @ 1474372807.942647
Executing node WaitAny-6
Executing node Switch-4
Executing node ForEach-1
Executing node BreakAtom-2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.