Package: gateoverflow
Gateoverflow CLIopen / manage links with the question ids(which are right there, next to question title), create new lists of questions, update them etc.
The codebase isheavilyinspired bythisfizzbuzz implementation.Latest Release v0.5.3Available to install through pip(pypi).Readfull changelogTable of ContentsGateoverflow CLI-Latest Release v0.5.3Table of ContentsMotivationInstallationRequirementsChangelogv0.5.1v0.5.0UsageParser CommandsCommandsUsage ExamplesFutureRelease ChecklistMotivationScanning QR codes from the book is really inefficient, so is theListsfeature of Gateoverflow Website.
With this tool, one can open / manage those links with the question ids(which are right there, next to question title), create new lists (called astagshere cause it's one too many letters shorter thanlists) of questions.But this wasn't really the motivation, since it can be just done with a simple script, if I wanted to.
I just wanted to create this project to know how far I can push myself to do arealproject, which involves developing AND distributing a python project. Hope I live up to this.I think I'll write more about this later.InstallationInstallpython. You can skip this step if you already have python installed.Make sure you havepipinstalled by executing$python-mpip--versionIf it says something like "Module not found: pip", then you should install it.Open Command Prompt / Terminal, and execute$pipinstallgateoverflowDone! Now you can use this tool by opening a Command Prompt / Terminal and running$gateoverflowThe supported commands and howto's are inusagesection.Preview ReleaseNote- Try this only if you know what you're doing.If you want to install a super early alpha release, which will be ondevbranch.
You can do,$pipinstallgit+https://github.com/toxdes/gateoverflow-cli.git@devRequirementsDon't worry about this unless you are going to develop.python >= 3.6sqlite3python-dateutilrequeststabulatetomlsetuptools >= 38.6.0wheel >= 0.31.0twine 1.11.0Changelogv0.5.3Addedetacommand to show note of ETA from config file.Added functionality to keep track of time spent by the user on this tool.Added countdown in days, with two config optionsshow_eta_countdownandeta_date. If enabled, it shows days remaining untileta_date.createcommand was not implemented until now :)Added few aliases, bugfixes and polishing.v0.5.0Added option to hide the title block (the logo-ish box of text in green color that appears on the top.), by settingshow_titleto either true or false.Addedsample_config.tomlaspackage_data, which means, default config file is no longer read from a string constant. It's read from thedefault_config.tomlfile which will be included in the package.Refactoring, Polished UI and Bugfixes.Readfull changelogUsageParser CommandsAccording tothiscomment, it is just convinient to use the commands as following.If the input command is a list of comma/space separated integers, they are treated as question ids, and will be opened in the browser.If the input command is#ortags, all created tags are listed.If input command is mix of tags and question ids, then all of the questions are added to respective tags. If some of the mentioned tags do not exist, then the user is interactively prompted to create them.If input command only contains tags, then list of questions with repective tags are shown.CommandsCommandDescriptionStatus#Alias totags. Show list of tags.ImplementedqAlias toquit. Exit the program normally.ImplementedhAlias tohelp. Shows available commands.ImplementedlsAlias to list.ImplementedquitExit the program normally.ImplementedtagsShow list of tags.Implementeddebug-toggleEnable/Disable debug output.(Default is disabled,unlessthe program is executed with-dor--debug)ImplementedcrawlerUpdate questions database(title and description).ImplementedhelpShows available commands.ImplementedclearClear output screen.ImplementedUsage ExamplesSuppose the link to the question ishttps://gateoverflow.in/6969, then the question ID in this case is6969, wherever the wordQuestion IDis mentioned in this context.2345,2323,4344, #important- would add questions2345,2323,4344to#important.#wrongly-attempted- would list the questions in#wrongly-attempted, sorted with mostly visited.tagswould list all the available tags.#recentwould be a default tag, which would store all openedquestions.Questions could even be added to multiple tags at the same time by doing something like2424,23232,3234, #important, #good, #hardto add those questions to specified tags.createwould create a new tag. E.g.create #not-so-coolto create a tag namednot-so-cool.FutureI'm planning to add the following features, assuming I overcome the biggest challenge of not abandoning this.usage of arrow keys to select, make UX amazing.a "sync" mechanism that will be used to upload the db file to web, and will be shared across somehow.create a gui maybe a web app that starts a http browser locally and opens a link in browser, like expo does?maybe firebaseadd gifs of usageallow users to have a configuration file that allows them to change defaults e.g. shell-prefix-symbol etc.A documentation site.Travis CI?Currently PIP works, but create some standalone OS-specific releases?Release ChecklistDoes it work?Are latest changes fetched from remote?Ischangelog.mdupdated with changes?IsREADME.mdupdated with changes?Is Table Of Contents updated, if it is changed?make buildsucceeds without an error?Cool.