stoneyjackson / scramblewords.py Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU General Public License v3.0
License: GNU General Public License v3.0
This was in v1.0. It was removed to simplify and focus the mission of scramble-words.py. However, I haven't been able to come up with an easy replacement using an external tool. So, maybe we should support this with a command-line option. For example
python scramble-words.py --yaml-report-file=filename < input-file
By default no report would be generated. But if specified it would write to filename, truncating it if it exists. If it cannot, it would print an error to standard error and exit with an error code.
The incident report lists each word that was scrambled, the new scrambling, and where it is located in the file. There are other tools that can produce this information (e.g., diff), so we should not produce this information. Drop this functionality.
Some of the longer words (especially in a legal document like a license) were hard to figure out.
We should follow the principle of doing one thing and doing it well. Let's drop the reporter functionality and move that to a separate project. From the perspective of this project, we just need to delete the reporter functionality.
This option would prevent two or more adjacent scrambled words. This would allow wdiff to produce better results. Right now wdiff groups adjacent scrambles as a single difference. If we prevent adjacent scrambles, wdiff will distinguish between them.
Brainstorm for new names:
Analysis
Used to make the current directory a python package so that modules can import other modules within that directory. Not needed since we only have one module.
Users may want to "Ignore" the repository on GitHub before running report.py. Ignoring will prevent the user from receiving a deluge of email notifications.
Also, when running the activity, the instructor may want to advise students to "Ignore" the repository. Or at least, not watch the entire repository. That way they only receive notifications about issues that they are involved with.
Notes to this this effect should be added to README.
Currently an input file is given as a command-line argument. It would be better if the primary input was given on stdin. This is more traditional in a pipes-and-filter architecture and improved interoperability between other command line applications.
Will twiddle.py
be run entirely on the local machine, and then the user creates a repository, commits, and pushed the twiddled file?
I think this makes the most sense, but I'm asking because I thinking of how this interfaces with report.py
. I guess the repository will already exist with the twiddled file in it when report.py
is run to insert all the incidents into the issue tracker.
These terms need to be made consistent with the new project name.
The current name is word-scrambler. But the command is scramble-word.py. Let's bring these into alignment. The command is probably better named. So let's make the project name the same as the command name.
I'm having problems with the GitHub API rate limit. Running it on LICENSE (GPL3) at 10% produces about 460 issues, and I can't get them all added before hitting the abuse limit. I'm going to try it on 5% next (about 230) and see if they get added...
Currently we create an output file based on the input filename. This is bad. The file might already exist. And our user may prefer to put the output someplace else, including piping the output into another command. So let's print the output to standard output.
So, here is how I am thinking that report.py
will work:
python report.py namespace/repositoryname github-username incident-file
The program will ask for the password interactively with no echo.
Comments? Other command line parameters?
Users should be aware that report.py might take a while.
Add a --probability=n parameter and set a default probability if not specified (.2?).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.