Code Monkey home page Code Monkey logo

hamstall's People

Contributors

hammy275 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Forkers

scottwedge

hamstall's Issues

Configure+

hamstall configuration should show what each setting is already set to and give feedback when settings are changed.

Some Programs Fail to Launch

Programs such as Teeworlds when installed with this fail to launch when installed because we aren't in its directory. This most likely applies to other programs and will most likely be fixed by changing directories into the program directory before running it.

More Unit Tests

The current unit test are incomplete and don't test many code paths. They need to be more thorough. Unit tests should also be isolated from each other instead of depending on the previous one succeeding.

New DB

The current database system is genuinely terrible; it needs to be reworked.

Cleanup

There may be some code in there from over half a year ago. I couldn't code as well back then, so that old code should probably be cleaned up.

Update Wiki and README

README needs a better hook and the Wiki needs to be updated for all of the new features added in 1.1

.desktop Important Stuff

I forgot to implement the removal of .desktop files. This should be supported.

There also needs to be a check to make sure we don't overwrite .desktop files that already exist.

1.1 Testing

Manual testing still needs to be done before 1.1 is rolled out. With the new database update out, things may still be broken. Upgrading from file_version 1 to 2 also still needs to be tested, and may be in a broken state at the moment due to a complete lack of testing in that area.

Zsh Support

hamstall relies off of .bashrc to store PATH/binlink information and to configure the hamstall alias. This needs to be adjusted for people using zsh as their interpreter instead of bash.

Auto Update Check

Make an option (disabled by default) where hamstall will check to see if it can be updated. If it can, check with the user if we should update.

Don't create config

The config file is still being created. This needs to stop, and the unit tests need to be adjusted accordingly.

Organize, organize, organize!

As per a suggestion on Reddit, separate the program into multiple different files and clean up the code. Should be completed before progress is made on 1.1

Command Run

Allow users to run a command inside the directory of a program. May be useful for people who want to "install" git repos or other sources of source code.

Verbosity Update

Only check verbosity once per program run then reference the result so we don't have to constantly open and close the verbosity file multiple times.

Update Package

Allow updating of a package where changes are merged in with the package instead of removing and reinstalling it

Lock File

Keep a lock file so hamstall doesn't do things when it's already performing an operation.

.desktop Creation

.desktop files should be created upon installation of a program (optionally of course), and should be addable/removable with --manage.

Don't CTRL+C

Users are prompted to CTRL+C when creating .desktop's and binlinks to exit the creation wizard. This needs to be changed because of the lock system.

Check for rsync

hamstall should check to see that it can access rsync before running commands with it.

Rename Program

Users should be able to rename an installed program. From there, hamstall should update PATH (if needed), any binlinks, and any .desktop files accordingly.

Go to directory

Have an option in --manage to jump to the program's directory.

Fix Unit Tests

A couple unit tests broke from the past couple updates. They need to be fixed to adjust for the new .desktop naming scheme and for the new config system.

Conflicting Filenames

Although I haven't tested this yet, odds are if you have two programs (say asdf and qwertyuiopasdfghjklzxcvbnm), removing asdf will also remove qwertyuiopasdfghjklzxcvbnm.

Feature Freeze/Bug Testing

No features will be added before the release of 1.0.0 unless critically necessary. Only bug testing will take place.

Support Changing to Stable-r Branches Stable-y

Right now, changing branches from beta to master doesn't do anything to make sure hamstall still works. This needs to be changed. Maybe run prog_manage.erase(), then get the hamstall files and re-install? The system just needs to continue working, not keep programs.

hamstall-gui

Make a simple GUI frontend for hamstall. It will be separate from hamstall.py. It should call hamstall.py directly instead of doing things itself will probably end up being a GUI rewrite of hamstall.py. Anything that asks for input (such as the binlink/PATH check) will have to be moved to hamstall.py so the GUI can handle that process separately.

Install git repos

Allow users to install remote Git repositories as programs. Probably won't be used often but still.

Catching Errors

With the lock system, we need to catch a ton more errors so hamstall doesn't crash as often as it probably will on 1.1's release.

Add Binlink/PATH

Allow users to add/remove from PATH and add/remove "binlinks" after installing a program

Docstrings

The docstrings are pretty bad (for the functions that even have them). They need to be updated.

Copy version file

version file needs to be copied to ~/.hamstall with the Python executable in first time setup.

Update Checks

Make sure we're updating the right hamstall.py when updating. Instead of updating the copy at ~/.hamstall/hamstall.py we should update whichever hamstall.py we're running.

Unit Testing

Should significantly increase the rate at which I can get updates out and hopefully help me focus on hamstall.

.desktop Extras

Things such as going to a program directory, icons, etc. are going to be added in 1.2. The goal with .desktop in 1.1 is to get the feature out.

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.