Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign upDo we need filename, directory, and output #47
Comments
ruebot
added
the
enhancement
label
Sep 2, 2018
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
ianmilligan1
Sep 3, 2018
Member
Just echoing that this would be a dramatic increase in usability. The standard job could then be something like:
./graphpass -gq /path/to/file.graphml /path/to/output.gexf
It would also prevent needing to remember the trailing /
in --output
, which I always forget.
Just echoing that this would be a dramatic increase in usability. The standard job could then be something like:
It would also prevent needing to remember the trailing |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Makes sense to me. Whatever approach works best works for me. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
greebie
Sep 5, 2018
Collaborator
After looking into it a bit, doing stdin stdout is possible, but requires some re-working of the existing code because of the way the filtering works.
It's not a big problem, but it means I will need to do some splitting of the FILEPATH to get at a filename (necessary for handling various ways of filtering the graph).
This does not mean much to the quickpass feature, but I'd like it to not break if someone uses it a different way.
After looking into it a bit, doing stdin stdout is possible, but requires some re-working of the existing code because of the way the filtering works. This does not mean much to the quickpass feature, but I'd like it to not break if someone uses it a different way. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
ianmilligan1
Sep 5, 2018
Member
Interesting! Could you walk me through this a bit.. what would we potentially lose by going to stdin stdout?
Interesting! Could you walk me through this a bit.. what would we potentially lose by going to stdin stdout? |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
greebie
Sep 5, 2018
Collaborator
I do not think we have to lose anything. It's just that I would have to do some additional work to keep things running the way they do now.
For example, if you do .graphpass -f {FILENAME} -m oidp -p 10
It would use FILENAME to create outputs for degree, indegree, outdegree and pagerank filtering with new filenames FILENAME10Degree.graphml
, FILENAME10Indegree.graphml
and so on.
If I just have a filepath (eg. /Users/username/bleh.graphml), I cannot do that. I have to retrieve "bleh.graphml." Similar for the outpath. This is not a major problem, but it means I have to refactor a range of things across the board.
With a low-level language like c, it's pretty important to not have anything break, even if it's not used.
Also, I think that once this bit is finished, we will need to push a 0.+1.0 release, since it's a significant change to the way the graphpass works.
I do not think we have to lose anything. It's just that I would have to do some additional work to keep things running the way they do now. For example, if you do It would use FILENAME to create outputs for degree, indegree, outdegree and pagerank filtering with new filenames If I just have a filepath (eg. /Users/username/bleh.graphml), I cannot do that. I have to retrieve "bleh.graphml." Similar for the outpath. This is not a major problem, but it means I have to refactor a range of things across the board. With a low-level language like c, it's pretty important to not have anything break, even if it's not used. Also, I think that once this bit is finished, we will need to push a 0.+1.0 release, since it's a significant change to the way the graphpass works. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
ianmilligan1
Sep 5, 2018
Member
|
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
ruebot
Sep 5, 2018
Member
Also, I think that once this bit is finished, we will need to push a 0.+1.0 release, since it's a significant change to the way the graphpass works.
We should probably push a release with the recent bugs that were fixed, and all the restructuring as soon as possible. If there is going to be a bit of time needed to implement this issue, then we can cut another one after that.
As for output, generally user has control over what to call the output and how to redirect it. stdout is generally printed -- streamed -- out to the console. From there, the user does whatever they want to do with it.
With a low-level language like c, it's pretty important to not have anything break, even if it's not used.
It's so early on here, I don't think it matters. We haven't cut a 1.0.0 were we've declared what the API(s) do. It's worth reading the semver manifesto if you haven't already.
We should probably push a release with the recent bugs that were fixed, and all the restructuring as soon as possible. If there is going to be a bit of time needed to implement this issue, then we can cut another one after that. As for output, generally user has control over what to call the output and how to redirect it. stdout is generally printed -- streamed -- out to the console. From there, the user does whatever they want to do with it.
It's so early on here, I don't think it matters. We haven't cut a 1.0.0 were we've declared what the API(s) do. It's worth reading the semver manifesto if you haven't already. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
greebie
Sep 10, 2018
Collaborator
Thanks @ruebot. Let's push a release after the next PR and then another that covers stdin stdout + documentation changes.
Thanks @ruebot. Let's push a release after the next PR and then another that covers stdin stdout + documentation changes. |
ruebot commentedSep 2, 2018
This is what we have currently:
This deviates from stdin/stdout. It's confusing and difficult to work with. When the output of the build is just
graphpass
. How and where is it going to look forassets
?GraphPass should just take an input, and then produce an output.